﻿  /* 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; }
 
a{ text-decoration: none; color:#d7820e; }
a:active,  a:visited,  a:focus {text-decoration: none;  }
a:hover{color:#be7107;} 
/** font-family:=================================*/
 .f-400{font-weight: 400!important;}
.vText { -webkit-writing-mode: vertical-rl; writing-mode: vertical-rl;}
.txt-center{text-align: center}
.color-red{color: #9e2b2f;}
.color-white{color: #fff!important; }
.color-gray{color:#5a5a5a; }
.txt-stork { -webkit-text-stroke: 1px #333;  -webkit-text-fill-color: transparent;}

.wrapper { position: relative; display: block; margin:0px auto; padding: 0px 20px; width: 100%;  max-width: calc((100% - 40px)/12*12 + 40px); }
@media (min-width:1025px) {
.wrapper { padding-right: 40px; padding-left: 40px;   }
}
@media (min-width: 1201px) and (max-width: 1400px) {
.wrapper { padding-right: 20px; padding-left: 20px; max-width: 100%;}
}
@media (min-width: 1401px) {
.wrapper { padding-right: 80px; padding-left: 80px; max-width: 1440px; }
}

.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) {
.wrapper-full { padding-right: 10px; padding-left: 10px;   }
}
@media (min-width:768px) {
.wrapper-full { padding-right: 10px; padding-left: 10px;   }
}
@media (min-width:1920px) {
.wrapper-full{ padding-right: 40px; padding-left: 40px; }
}


/*  banner area*/
.banner { width:100%; height:auto; padding: 0; margin:0px auto 0px auto; display: flex; flex-wrap: wrap; justify-content: center; align-items: center;  z-index: 0; overflow: hidden;position: relative; background-color:transparent; }
.banner:before{ content: ""; display: block; position: absolute; left:0px; bottom:-2px;width:100%; height:100px;clip-path: polygon(30% 20%, 100% 100%, 0 100%, 0 62%);background:#fff; z-index: 3; } 
.banner-img img  { width: 100%; height: auto; -o-object-fit: cover;  object-fit: cover; -webkit-backface-visibility: hidden;  backface-visibility: hidden; transition: all 0.3s; position: relative; z-index: 0;}

/* Banner 內文字 =====================================================================*/
.banner-txt {position: absolute; width: auto;  padding: 20px; -webkit-box-sizing: border-box; box-sizing: border-box;  z-index: 5; }
.banner-txt h1  { width: auto; height: auto; margin:0px auto 10px auto; padding: 0px 0px 5px 0px;color: #fff; font-size: 2.75rem;text-align: left; font-weight: 700;position: relative; text-shadow: 0px 0px 20px rgba(0, 0, 0, .3); }
.banner-txt h1:before, .banner-txt h1:after { content: ''; position: absolute;}
.banner-txt h1:before { left: -17px; top: 12px;  width: 8px; height:8px; border-radius:99rem; background: #d7820e;  border-style: solid; border-width: 0 10px 10px 0; border-color: transparent #d7820e transparent transparent; }
.banner-txt p {width: 100%;margin:0px; padding: 0px;font-size:1.15rem; font-weight: 700;color:#fff; position: relative;z-index: 1;}
@media (max-width:1024px) {
.banner-txt { top:18%; }  
.banner-txt h1  { font-size: 2.125rem; margin:0px; padding: 0px; }      
}
@media (max-width:840px) {
.banner {  margin:0px auto; }
.banner-img{  width: 100%;  position: relative; }
.banner-txt h1  { font-size:2rem;   }         
.banner:before{  clip-path: polygon(10% 50%, 100% 100%, 0 100%, 0 62%);background:#fff; z-index: 3; } 
}
@media (max-width:767.98px) {
.banner { flex-direction: column-reverse;}
.banner-img{  width: 100%;  position: relative; order: 1; }
.banner-txt {  position: relative; margin: auto 0px; width: 100%;}
.banner-txt h1  { font-size: 1.5rem; line-height:2rem; color:#d7820e; text-shadow: none;}   
.banner-txt p { font-size:.875rem; margin: 0px; }  
.banner:before{  bottom: 0px;width:100%; height:60px;clip-path: polygon(73% 43%, 100% 100%, 0 100%, 0 82%);}     
}

/*----------------------------------------/
main-content
----------------------------------------*/
.main-content{position: relative; width: 100%; min-height: 50vh; margin:0 auto; padding:0px; }
.decorate-end {width: 100%;  height: 100px;  position: absolute; z-index: 13; left: 0px;  }
 
/*----------------------------------------/
麵包屑 自訂顏色樣式
----------------------------------------*/
.main-breads{ width: 100%;  max-width: calc((100% - 40px)/12*12 + 40px); margin:auto; padding:10px 0px; border-bottom: solid 1px #eee; position: relative; }
.pagination{justify-content: center }
.main-breads .breadcrumb{ width: auto; padding:0px; margin:2px auto; background:none;   }
.main-breads .breadcrumb li{ font-size:.75rem;  font-weight:500; overflow: hidden;  word-break: break-all; }
.main-breads .breadcrumb li a{color:#4f5d78;   }
.main-breads .breadcrumb li a:hover,.main-area.top .main-breads .breadcrumb li a:hover{color:#d7820e;}
.breadcrumb-item+.breadcrumb-item::before { content: " / "; margin-left: 5px;color:#4f5d78;}
.main-breads .breadcrumb li:first-child{ position: relative;  color:#edf1f7;}
.main-breads .breadcrumb-item.active{color:#d7820e;}
.main-area.top .main-breads{   padding:5px 0px; border-top:solid 1px #eee;border-bottom:solid 1px #eee;  }
.main-area.top .main-breads .breadcrumb{ }
.main-area.top .main-breads .breadcrumb li a,.main-area.top .breadcrumb-item+.breadcrumb-item::before{  color:#777; }
@media (max-width: 992px) {
.main-breads{ max-width: 100%;  margin:0px auto; border-top: solid 1px rgba(255,255,255,.35);}
.main-breads .breadcrumb{width: 100%; padding:2px 0px;   }
.main-breads .breadcrumb li{ font-size:.9rem;  }
.main-breads .breadcrumb li a{color:#a4a4a4;}
.breadcrumb-item+.breadcrumb-item::before {  margin-left:2px;color:#a4a4a4;}
.breadcrumb-item+.breadcrumb-item{padding-left: 0.1rem} 
.main-breads::after { display: none}
}

@media (max-width: 767.98px) {
.main-breads .breadcrumb li{ font-size:.55rem; line-height: 1rem; }
}



.main-wrap{width: 100%;padding:60px 0px; display: flex; flex-wrap: wrap; align-content:flex-start;}
 @media (max-width:767.98px) {
 .main-wrap{ padding:30px 0px; }
}


/* description =======================================================================	*/
.description{ width:calc(100% - 100px) ;  margin:35px auto; padding:20px;  }
.description h2{font-size: clamp(1.125rem, 2.3vw, 1.375rem); font-weight: 700; line-height:170%;  }
.description h3{font-size: clamp(1rem, 2.3vw, 1.175rem); font-weight: 700; line-height:170%;  }
.description p{font-size: clamp(0.9rem, 2.3vw, 1rem); font-weight: 500; line-height:170%; }
.description ul{margin: auto; padding:0px 0px 0px 10px;}
.description ul li{margin: auto;padding: 0px;font-size: clamp(0.9rem, 2.3vw, 1rem); font-weight: 500; line-height:170%; }
  @media (max-width: 840px) {
.description{ width:100%; margin:0px auto;   padding:20px 0px; } 
 }


.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; margin: 0px 15px; }
.title-wrapper .title { margin-right: initial;  margin-bottom: 16px; }
.title-wrapper .subtitle { border: none; }
}

.title-block{ width: 100%; margin:0px auto 30px auto;  display: flex; flex-wrap: wrap; justify-content:center;  }
.title-block h1 {width:100%; margin:0px auto; padding:20px 0px 0px 0px; font-size:2.25rem;  color:#000; font-weight:300;  text-align: center; position: relative;  }
@media (max-width: 1199.98px) {
.title-block h1{  font-size: 1.5rem; }
}
@media (max-width: 767.98px) {
.title-block {  margin: 15px auto; }  
}  
/*----------------------------------------/
  title樣式 cart
----------------------------------------*/
.title-style{  margin-bottom:60px;position: relative;width: auto;   font-size: 2.4rem; line-height: 130%;  }
.title-style:after { content: ""; width:50px;  height:75px; display: block; position: absolute; left: -60px; top:-24px; background: url(../images/index/dot.svg) no-repeat right top; background-size: auto;}
.title-span{ margin:0px; font-size: 0.9rem; text-align: left; text-transform: uppercase; letter-spacing: 1px;  font-weight: 400;color:#666;}
.title-style h2{ color:#0a326c; font-size: 2rem;  margin-bottom: 25px; font-weight: 700;  }
.title-style h3{ color:#b38f36;  font-size: 1.15rem!important; line-height: 130%;font-weight: 700;  }
  /*cms-Title Styles 樣式
=================================*/
.title { width: 100%; height: auto; margin:0px auto 30px auto;padding: 0px; display: flex;flex-wrap: wrap; justify-content: center; flex-direction:column; position: relative; } 
.title h1{  width: 100%;display: block;margin: 0 auto; font-size: 2.5rem; font-weight:700;text-align: center;  color:#d7820e;  }
.title h2{  width: auto;  margin:auto 0px; font-size: 2.875rem; color:#006fbb; font-weight:600;   }
.title h3{ margin:10px 0; font-weight: 600; color:#006fbb;  }
.title p{ margin:10px auto;  font-weight: 600; line-height: 1.35rem;  color:#fff; }
.title span{ width: auto; margin:10px auto; font-size:0.9375rem; letter-spacing:2px; font-weight:400; color: #333;   }
@media (max-width:767.98px) {
.title h2{   font-size: 2rem;  }
}
.series-name{ font-size:1.125rem; font-weight: 700; color: #fff; }
.series-name:before { content: "";  display: inline-block; vertical-align: middle;  width: 40px; height: 5px; background-color: #fff;  margin: -2px 20px 0 0;}
@media (max-width:1024px) {
.series-name{font-size:0.9rem;}
.series-name:before {  height: 3px; background-color: #fff;  margin: -2px 20px 0 0;}    
}
 /*ms-title-2  樣式
=================================*/
.title-2 { width:auto; height: auto;  margin:0px auto; padding: 0;  text-align: center; position: relative; }
.title-2.txt-left {  margin:0px; text-align: left;  }

.title-2 h2{ width: auto; margin:0px; font-size: 1.75rem; line-height: 3rem; font-weight: 700; color:#d7820e;  }

.title-2 h3{ width: auto; margin:15px 20px 20px 0px;  padding-left: 15px; font-size: 2.15rem; font-weight: 600; color:#d7820e;position: relative;}
.title-2 h3:after { content: "";left: 0px; top: 22px; width: 8px; height: 8px; position: absolute; background: #eb9924;border-radius:99rem;  }
.title-2 p{ width: auto; margin:0px auto; font-weight:700; color: #22314a; text-align:center;   }
.title-2 span{ color: #000}
@media (max-width:1024px) {
.title-2 h3{  font-size: 1.75rem; }
}


 /*ms-title-3  樣式
=================================*/
.title-3 { width:100%; height: auto;  margin:40px 0px;   padding: 0; display: flex;  flex-wrap: wrap;   flex-direction:column; position: relative; }
.title-3:after{ content: ""; width:80%; height: 2px;  margin:0px;   padding: 0; background: #d7820e; position: relative; }
.title-3 h2{ width: auto; margin:0px; font-size: 2.15rem; font-weight: 700; color:#d7820e!important;  }
.title-3 h3{ width: auto; margin:0px; font-size: 1.75rem; font-weight: 700; color:#d7820e!important;  }
.title-3 p{ width: auto; margin:0px auto; font-size: .9rem; line-height: 1.35rem; font-weight: 700; color: #22314a;    }
 /*----------------------------------------/
分頁 自訂顏色樣式
----------------------------------------*/
.pages .pagination{ margin:50px auto 30px auto;  display: flex; justify-content: center;  }
.pagination .page-link { color:#31315e; background-color:#fff; border-color:transparent; border-radius:10px;}
.pagination .page-link:hover { color: #fff; background-color:#dcdddd; border-color:#dcdddd;}
.pagination .page-link:focus { box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);}
.pagination .page-item{  margin: auto 5px; }
.pagination .page-item:first-child .page-link { }
.pagination .page-item:last-child .page-link { }
.pagination .page-item.active .page-link { color: #fff!important;  background-color:#333; border-color:#333;}
.pagination .page-item.disabled .page-link { color: #6c757d;  background-color: #fff; border-color:transparent;   }
/*---------------*/
/***** icon *****/
/*---------------*/
.icon-download{background: url("../images/icon/icon-download.svg") no-repeat; }
.icon-next{background: url("../images/icon/arrow-right-2.svg") no-repeat left 0px;  background-size:auto;}
.icon-shop{ background:url(../images/icon/shop-2.svg) no-repeat left top;background-size:auto; }
.icon-link{background: url("../images/icon/link.svg") no-repeat left 2px;  background-size:auto;}
.icon-check{background: url("../images/icon/check.svg") no-repeat center 4px; background-size:70% auto;}
.icon-clear{background: url("../images/icon/clear-w.svg") no-repeat center 4px; background-size:70% auto;}

.transition-3d-hover { transition: all .2s ease-in-out}
.transition-3d-hover:focus, .transition-3d-hover:hover {-webkit-transform: translateY(-3px);transform: translateY(-3px)}
  
 
/*---------------*/
/***** btn *****/
/*---------------*/
.btn-btnbox {position: relative;z-index:999; display: flex;  justify-content: center;  width: 100%; height: auto; margin:10px auto;  transition: all 1s;}  
.btnbox {position: relative;z-index:999; display: flex;  justify-content: center;  width: 100%; height: auto; margin:20px auto 0px auto;  transition: all 1s;}  

 
 .btn{ width: 100%;margin: 0px 5px; padding: 10px 0.75rem ; font-size: .95rem; line-height: 1.5; border-radius:0px; display: flex; flex-wrap: wrap;justify-content: center; align-self: center;    }
 .btn i{ width:26px; height:26px;margin:-5px 5px 0px 0px; display: inline-block;  }
 .btn i.circle-b{ width:26px; height:26px; border: solid 1px #fff; border-radius:99rem; }
@media(max-width:767.98px) {
 .btn{ margin: auto; text-align: center; justify-content: center;}
 .btn i.circle-b, .btn i{  display: block; margin: auto; } 
}
 .btn.btn-secondary { color:#fff; font-weight:500;   border-color:#d7820e; background:#d7820e;}
 .btn.btn-secondary:hover { color: #fff; background-color: #000;; border-color:#000;; }
.btn-submit{  font-weight: 400;   background:#d7820e;border: solid 1px #d7820e;  color: #fff!important; vertical-align: text-bottom; }
.btn-submit:hover { color: #fff;  background:#000; border: solid 1px #000; box-shadow: 0px 3px 10px #ed9823; }
.btn-reset{ font-weight: 400; background: #555;border: solid 1px #555;  color: #fff!important; vertical-align: text-bottom; }
.btn-reset:hover { color: #fff;  background:#000;   box-shadow: 0px 3px 10px rgba(148,0,11,.5); }
 
.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}
@media (hover: hover) {
.text-button:hover { color: currentColor; padding-left: 2.8125rem  }
.text-button:hover:before { width: 2.1875rem; color: currentColor  }
}
@media (max-width: 798px) {
.text-button { letter-spacing: 0rem; }  
 p a.text-button { font-size: 0.7rem; }    
}
 
.next-button {width:auto; height: 35px; 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}
.next-button:hover .next-button-circle, .next-button:hover i { -webkit-transform: scale(1.2); transform: scale(1.2)}
.next-button:hover .next-button-txt{ -webkit-transform: translateX(5px); transform: translateX(5px)}
.next-button-circle { width: 35px; height: 35px;  position: relative; display: block; margin-left: 40px; border: 1px solid #d7820e;  border-radius: 50%;  -webkit-transition: -webkit-transform .2s; transition: -webkit-transform .2s; transition: transform .2s; transition: transform .2s, -webkit-transform .2s}
.next-button i.arrow-r { width: 40px; height: 30px; top: 0; bottom: 0; right: 0; margin: 3px 10px auto auto ; position: absolute;background: url("../images/icon/arrow-right-w.svg") no-repeat right top;   -webkit-transition: -webkit-transform .2s;  transition: -webkit-transform .2s; transition: transform .2s; transition: transform .2s, -webkit-transform .2s}
.next-button-txt { font-size: 16px; font-weight: 400; line-height: 1.5; letter-spacing: 1px;  color: #d7820e;  -webkit-transition: -webkit-transform .2s; transition: -webkit-transform .2s; transition: transform .2s; transition: transform .2s, -webkit-transform .2s}

@media (max-width:767px) {
.next-button { width: auto; height: 24px }
.next-button-circle { width: 24px; height: 24px; margin-right: 15px}
.next-button i { width: 22px; height: 22px; margin: auto auto auto 10px}
.next-button-txt { font-size: 14px; line-height: normal; letter-spacing: normal }
}
a.btn-prev {color:#d7820e; font-weight: 700; text-align: center; transition: all 0.5s; position: relative;   }
a.btn-next {color:#d7820e; font-weight: 700;  text-align: center; transition: all 0.5s; position: relative;  }

a.btn-prev:before{content: "";   position: absolute;top:18px; left:8px;width:18px; height:12px; background: url(../images/icon/arrow-left-2.svg) no-repeat left top; transition: all 0.5s; -webkit-filter:invert(1);}
a.btn-next:before{content: "";   position: absolute;top:18px; right:8px;width:18px; height:12px; background: url(../images/icon/arrow-right-2.svg) no-repeat left top; transition: all 0.5s; -webkit-filter:invert(1)}
a.btn-prev:after,a.btn-next:after { display: block; content: ''; width: 0; height:1px;position: absolute; left:0px; bottom: 0px;   background:#d7820e; transition: all .3s ease;} 

a.btn-prev:hover:after,a.btn-next:hover:after{ width: 100%;  }
a.btn-prev:hover:before{  -webkit-transform: translateX(5px); transform: translateX(5px);}
a.btn-next:hover:before{  -webkit-transform: translateX(-5px); transform: translateX(-5px);;}
a.btn-prev, a.btn-next  { color:#000!important;  }
a.btn-prev:hover, a.btn-next:hover  { color:#d7820e!important;  }
 
a.btn-back { width:auto; color:#000!important; padding: 10px; font-weight: 700; background-color:#f2f2f2;  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;  }
.btn-back:before,.btn-back::after{content: ''; width:20px; height:1px; background:#797371;-moz-transition: ease 0.3s; -o-transition: ease 0.3s; -webkit-transition: ease 0.3s;  transition: ease 0.3s;  }
.btn-back:before { margin-right: 20px; margin-left: 5px;}
.btn-back:after { margin-left: 20px; margin-right: 5px;}
a.btn-back:hover {   color:#d7820e!important;  }
.btn-back:hover:before{   background:#d7820e; -moz-transform: translateX(20%); -ms-transform: translateX(20%); -webkit-transform: translateX(20%); transform: translateX(20%);  }
.btn-back:hover:after{  background:#d7820e;-moz-transform: translateX(-20%); -ms-transform: translateX(-20%); -webkit-transform: translateX(-20%); transform: translateX(-20%);  }
@media (max-width:1180px) {
.btn-back:before,.btn-back::after{  width: 20px; height:1px;  }
}
@media (max-width: 767.98px) {
.btn-back  { font-size:.875rem; padding:5px  10px;}  
.btn-back:before,.btn-back::after{ display: none; }
}
 
.back-button {width: auto; height: 35px; margin: 0; padding: 10px 20px 10px 1px; 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:18px;   background:#006fbc;}
.back-button:hover .back-button-circle { -webkit-transform: scale(1.2); transform: scale(1.2)}
.back-button:hover .back-button-txt, .back-button:hover i { -webkit-transform: translateX(-5px); transform: translateX(-5px)}
.back-button-circle { width: 35px; height: 35px;  position: relative; display: block; margin-right: 16px; border: 1px solid #fff;  border-radius: 50%;  -webkit-transition: -webkit-transform .2s; transition: -webkit-transform .2s; transition: transform .2s; transition: transform .2s, -webkit-transform .2s}
.back-button i.arrow-l { width: 31px; height: 31px; position: absolute;background: url("../images/icon/arrow-left-w.svg") no-repeat left 5px; top: 0; bottom: 0; left: 0; margin: auto auto auto 13px;   -webkit-transition: -webkit-transform .2s;  transition: -webkit-transform .2s; transition: transform .2s; transition: transform .2s, -webkit-transform .2s}
.back-button-txt { font-size: 16px; font-weight: 700; line-height: 1.5; letter-spacing: 1px; color: #fff;  -webkit-transition: -webkit-transform .2s; transition: -webkit-transform .2s; transition: transform .2s; transition: transform .2s, -webkit-transform .2s}

@media (max-width:767px) {
.back-button { width: auto; height: 30px;}
.back-button-circle { width: 24px; height: 24px; margin-right: 15px; }
.back-button i { width: 22px; height: 22px; margin: auto}
.back-button-txt { font-size: 14px; line-height: normal; letter-spacing: normal }
}

/*cms-btn Styles 1===*/
a.btn-01 {  color: #fff!important; }
a.btn-01:hover{ color: #fff!important;}

.btn-01 { cursor: pointer; width:auto; max-width: 100%; height:2.75rem; padding:0px 20px; line-height:2.75rem;text-align: left; display: block; margin: 0; position: relative; background:#d7820e;z-index: 1;  }
.btn-01 span { transform-origin: center left; transition: color 0.3s ease;position: relative;z-index:1; font-weight: 700; color: #fff;}
.btn-01 em {position: absolute;width:60px; height:25px; right:30px;top: 25%; transition: all 0.3s ease; background: url("../images/icon/arrow-right-f.svg") no-repeat right top; z-index:1;   }
.btn-01:before { top: 0; left: 0; right: auto; }
.btn-01:after { bottom: 0; right: 0; left: auto; }
.btn-01:hover:before { width: 100%; right: 0; left: auto;}
.btn-01:hover:after {  width: 100%; left: 0; right: auto;}
.btn-01:hover em{ transform:translateX(20px);}

.btn-01:before,.btn-01:after {content: '';background:#d7820e;height:100%; width: 0;position: absolute;transition: 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);}
 .btn-01:before { -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;}
.btn-01 a:hover:before,  .btn-01 a:focus:before,  .btn-01 a: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);}    
 

/*cms-btn Styles 2===*/
 a.btn-02{width: 100%; height: auto;   display: block; color: #fff!important;font-weight:700;  overflow: hidden; padding:10px 40px; text-align: center;  background-color: transparent;border:solid 1px #d7820e; 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;}
.btn-02::before, .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;}
.btn-02::before{border-bottom-width: 2px; border-left-width: 2px;}
.btn-02::after{border-top-width: 2px; border-right-width: 2px;}
 a.btn-02:hover{color:#016f89; background:#d7820e; }
.btn-02:hover::before, .btn-02:hover::after{border-color: #d7820e; -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%;}
.btn-02:hover::before{-webkit-transition-delay: 0s, 0s, 0.25s; transition-delay: 0s, 0s, 0.25s;}
.btn-02:hover::after{-webkit-transition-delay: 0s, 0.25s, 0s; transition-delay: 0s, 0.25s, 0s;}
.btn-02:focus{outline: 1px inset #fff;}
.btn-02 span { display: block; padding-right:5px; transform-origin: center left; transition: color 0.3s ease;position: relative;z-index:1; font-weight: 700; letter-spacing: 1px; color: #fff;}
.btn-02 em {position: absolute;width:60px; height:25px; right:10px;top: 25%; transition: all 0.3s ease; background: url("../images/icon/arrow-right-f.svg") no-repeat right top; z-index:1;   }
.btn-02:hover em{ transform:translateX(10px);}
@media (max-width: 991.98px) {
 a.btn-02{max-width: 100%;  font-size:0.9rem;   }
}
 a.btn-03{ display: block; color: #1fbaee!important; font-size:1rem; font-weight:700; height: auto; overflow: hidden; padding:15px 25px; text-align: center;  background-color: transparent;border:solid 1px #1fbaee; 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;}
.btn-03::before, .btn-03::after {border: 0 solid transparent; box-sizing: border-box; content: ''; pointer-events: none; position: absolute; width: 0; height: 0; bottom: 0; right: 0;}
.btn-03::before{border-bottom-width: 2px; border-left-width: 2px;}
.btn-03::after{border-top-width: 2px; border-right-width: 2px;}
 a.btn-03:hover{color:#1fbaee; background:rgba(31,186,238,.3); }
.btn-03:hover::before, .btn-03:hover::after{border-color: #1fbaee; -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%;}
.btn-03:hover::before{-webkit-transition-delay: 0s, 0s, 0.25s; transition-delay: 0s, 0s, 0.25s;}
.btn-03:hover::after{-webkit-transition-delay: 0s, 0.25s, 0s; transition-delay: 0s, 0.25s, 0s;}
.btn-03:focus{outline: 1px inset #fff;}

@media (max-width: 991.98px) {
 a.btn-03{max-width: 100%;  font-size:0.9rem;   }
}
 a.btn-04  { position: relative; margin:0px auto;padding: 0px 10px; width: 100%; display: flex; align-items: center; justify-content: space-around; background:#0070bc; font-size: 1rem;  color: #fff!important; font-weight: 700; line-height:2.75rem;   transform: scale(1);  transition: all 1s; }
.btn-04 em {position: absolute;width:30px; height:100%; right:0px;top: 0px; transition: all 0.3s ease; background:#d7820e; z-index:1;   }
.btn-04:hover em{ transform:translateX(10px);background:#0070bc; }
a.btn-04:hover { color:#fff!important;text-shadow:1px 1px  rgba(0,0,0,.5); background:#d7820e; transform: scale(1.01);}
@media (max-width: 820px) {
 a.btn-04  {  margin:10px auto; font-size: .9rem;}  
}
  

  

 /*----------------------------------------/
 aside cssmenu樣式
----------------------------------------*/
#cssmenu{width:100%; margin:0 auto 40px auto;padding:10px; list-style:none;  -webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;  }

#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{margin:0;padding:0; list-style:none; display:flex; flex-wrap: nowrap; justify-content: center;  -webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box; }
#cssmenu ul li,#cssmenu ul li a{margin:0;padding:0; list-style:none;  position:relative;z-index: 1; -webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box; }
 
#menu-line{position:relative;top:0px; left:0px; right: 0px; margin-left: 2px; width: auto;height:2px;background:#db0632;-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{ display: flex; width: auto; position: relative;z-index: 1; margin:0px; background:#f5f5f5; border-right: 1px solid rgba(0,0,0,.1); -webkit-transition: all 0.3s; transition: all 0.3s;}
#cssmenu > ul > li:last-child{border-right:none;}
#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.align-right li:hover > ul{right:0;}
#cssmenu.align-right ul ul ul{margin-left:0;margin-right:100%;}
 

#cssmenu > ul > li > a{ padding:15px; font-size:.95rem;font-weight: 700; line-height: 1.5rem; text-align:center;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 > li:hover > a,#cssmenu > ul > li.active{ border-color:#f6f2f0; border-radius:0px;   }  
#cssmenu > ul > li.active {  background:#d7820e;}  
#cssmenu > ul > li.active > a{color:#ecf3fe;  }  
#cssmenu > ul > li:hover {  background:#d7820e;}  
#cssmenu > ul > li:hover > a {color:#fff;  }   
#cssmenu > ul > li.active:after{content: ""; position: absolute; bottom: -13px; left: calc(50% - 7px); width: 0; height: 0; border-style: solid; border-width: 13px 7px 0 7px;  border-color: #d7820e transparent transparent transparent;  transition: all 0.4s ease-out 0s;}  


#cssmenu > ul > li: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;}
#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:#fff; background: #db0632;}
#cssmenu ul ul li > 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:hover > a::after{border-color:#776b62;}
 @media (max-width:840px) {
#cssmenu{width:100%;margin-top:0px !important; padding: 5px 0px; 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 > a::after,#cssmenu ul ul li > a::after{display:none;}
#menu-line{display:none;}
#cssmenu #menu-button{display:block; padding:10px 20px; color:#000;cursor:pointer;font-size:1rem;font-weight: 700;text-align: center;  text-transform:uppercase;  background-color:#eee;-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;}
#cssmenu #menu-button::after { left:5%; top: 8px;width: 24px; height: 24px;   }
}
 