﻿/* 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;  }
@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: 'Montserrat','Arial', "sans-serif"; }
.color-white{color: #fff!important; }
.color-blue{color: #016f89;}
.color-second-blue{color: #007aff;}
.color-three-blue{color: #42acdc;}
.color-green{color: #afd9d3;}
.color-red{color: #9e2b2f;}


.cms-wrapper {  margin: 0 auto 30px auto; background-color: #e3e3e3; padding-top: 0; padding-bottom: 0}
@media (max-width:767px) {
.cms-wrapper { width: 100% }
}
@media (min-width:768px) and (max-width:991px) {
.cms-wrapper{ width: 100% }
}
@media (min-width:992px) and (max-width:1199px) {
.cms-wrapper{  width: 992px }
}
@media (min-width:1200px) {
.cms-wrapper { width: 1200px }
}
@media (min-width:1440px) {
.cms-wrapper {  width: 1440px  }
}
.cms-wrapper.section-pad {padding-top: 35px;  padding-bottom: 35px}
@media (max-width:991px) {
.cms-wrapper.section-pad { padding-top: 25px; padding-bottom: 25px  }
}


 /*----------------------------------------/
cms-main-content
----------------------------------------*/
 .cms-main-content {  margin:0px auto 30px auto; background-color: #e3e3e3; padding: 35px 5px; position: relative; z-index: 0;}
@media (max-width:768px) {
.cms-main-content { width: 100%;padding:25px 0px; }
}
@media (min-width:769px) and (max-width:991px) {
.cms-main-content{ width: 100% ;padding-top:25px;  padding-bottom: 25px;}
}
@media (min-width:992px) and (max-width:1199px) {
.cms-main-content{  width: 992px }
}
@media (min-width:1200px) {
.cms-main-content { width: 1200px }
}
@media (min-width:1440px) {
.cms-main-content{  width: 1440px; }
}

/*
.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: 100%; padding:0px 30px 30px 30px;  margin:0px auto 30px auto; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: center; flex-direction: row; z-index: 0; line-height: 2.5em; vertical-align: top; position: relative; background-color: #e3e3e3;}
.cms-main-banner-img{width: 100%;  position: relative; margin-top: 0px; z-index: 0;}
.cms-main-banner-img img  { width: 100%; max-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: 1; }
.cms-main-banner.ins {  position: fixed; left: 0; top: 60px;  z-index: 0; width: 100%; height: 100%;}
@media (max-width: 1024px) {
.cms-main-banner { width:100%;   }
}
@media (max-width: 768px) {
.cms-main-banner-img img  { width: 100%; max-width: 100%; height: auto; -webkit-clip-path:none;clip-path: none;}       
}
/* Banner 內文字 =====================================================================*/
.cms-main-banner-txt {width: 100%; margin:auto auto 2% auto; padding: 20px 30px;  display: flex; flex-wrap: wrap;  justify-content:center; align-self: flex-end; position: absolute; z-index: 9999; }
#cms-main .cms-main-banner-txt h1 { width: 100%;  font-size: 64px; line-height: 64px; font-weight: 800; text-transform: uppercase; text-align: center; color:#fff; position: relative; text-shadow: 2px 1px 1px rgba(0,0,0,.5)  }
.cms-main-banner-txt h2 { width: 100%; margin: 0px auto; font-size:2.5rem; font-weight:400; text-align: center; letter-spacing:1px; color: #fff;  }
#cms-main .cms-main-banner-txt p {  width: 100%;margin:0px auto; font-size:1.125rem; font-weight: 700; text-align: center; color:rgba(255,255,255,1); letter-spacing: 1px; text-shadow: 2px 1px 1px rgba(0,0,0,.5)  }
.text-stroke{ -webkit-text-stroke: 1px #a3d6bf;} 


 @media (min-width:991px) and (max-width:1100px) {
.cms-main-banner {  padding:0px 25px 30px 25px;  }
} 
@media (max-width: 768px) {
.cms-main-banner { margin-top: 60px; padding:20px; } 
.cms-main-banner .imgSliderBox { width: 100%; height:auto; }
.slider-item-img { width:30%; left:auto;right: 0px; top:0;  }    
 } 
@media (min-width:1600px) {
#cms-main .cms-main-banner-txt  {  font-size:3.25rem;    }
#cms-main .cms-main-banner-txt h1 {  font-size:3.25rem;    }
}

@media (max-width: 1024px) {
.cms-main-banner-txt {width: 100%; max-width: 720px;   padding: 20px; }
#cms-main .cms-main-banner-txt h1 { font-size: 2.75rem;  margin-top: 0px; }
#cms-main .cms-main-banner-txt p { font-size:0.875rem;   }
 }
@media (max-width: 768px) {
.cms-main-banner-txt {    }   
}
@media (max-width: 767.98px) {
.cms-main-banner-txt {    }      
.cms-main-banner-txt h1 {  font-size: 1.25rem;  margin-top: 0px; }
.cms-main-banner-txt em { font-size: 1rem; margin-top: 0px; }
}
 
/* Dots */
.cms-main-banner .slick-dots{  bottom: 50px; }
.cms-main-banner .slick-dots li{ width: 40px; max-height: 2px!important;  }
.cms-main-banner .slick-dots li button {width:40px; height: 2px!important; max-height: 2px!important;  border: solid 1px none!important;background:rgba(254,254,254,0)!important;  border-radius:0!important; }
.cms-main-banner .slick-dots li button:hover,.cms-main-banner .slick-dots li button:focus{ outline: none;}
.cms-main-banner .slick-dots li button:hover:before,.cms-main-banner .slick-dots li button:focus:before{opacity: 1;}
.cms-main-banner .slick-dots li button:before{ font-size: 6px; line-height: 20px; position: absolute; top: 0; left: 0; width: 20px; height: 2px; content: '•'; text-align: center; opacity: .25; color: black;-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}
.cms-main-banner .slick-dots li.slick-active button:before{ opacity: .75;  color: black;}

/* Dots color */
.cms-main-banner .slick-dots li.slick-active button,.cms-main-banner .slick-dots li:hover button { height: 2px!important; background:#fff; border-radius:0!important; }
.cms-main-banner .slick-dots li button:before{  left: 3px; top:3px; width: 40px; height:2px; content: ''; background:rgba(254,254,254,1); border-radius:0!important; opacity:.75; }
.type { -webkit-animation-name: type; animation-name: type; -webkit-animation-timing-function:cubic-bezier(0.250, 0.460, 0.450, 0.940) ; animation-timing-function: cubic-bezier(0.250, 0.460, 0.450, 0.940) ;}
.animated.type { -webkit-animation-duration: 1.5s; animation-duration: 1.5s; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards;}
@-webkit-keyframes type {
0% { -webkit-transform: translateX(600px); transform: translateX(600px); opacity: 0; }
100% { -webkit-transform: translateX(0);  transform: translateX(0); opacity: 1; }
}
@keyframes type {
0% {-webkit-transform: translateX(600px); transform: translateX(600px); opacity: 0; }
100% { -webkit-transform: translateX(0); transform: translateX(0); opacity: 1; }
}



.cms-main-area{ width: 100%; padding: 0px; margin: 0px auto; flex: 1 1 100%; display: flex; flex-wrap: wrap; justify-content: center; position: relative; }
@media (max-width:767px) {
.cms-main-area { width: 100% }
}
@media (min-width:768px) and (max-width:991px) {
.cms-main-area{ width: 100% }
}
@media (min-width:992px) and (max-width:1199px) {
.cms-main-area{  width: 992px }
}
@media (min-width:1200px) {
.cms-main-area { width: 1200px }
}
@media (min-width:1440px) {
.cms-main-area {  width: 1440px  }
}
.cms-main-area.section-pad {padding-top: 35px;  padding-bottom: 35px}
@media (max-width:991px) {
.cms-main-area.section-pad { padding-top: 25px; padding-bottom: 25px  }
}

.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 15px auto; padding:0px;position: relative;z-index:0;  color:#000; border-bottom: solid 2px #000;}
.cms-main-breads .breadcrumb{ padding:0px ;color:#878787;  margin: 0 auto; background:none; justify-content: flex-end;  }
#cms-main .cms-main-breads .breadcrumb li{ font-size:12px;font-weight:600;  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:#000; ; }

#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 .breadcrumb{ padding:2px 0px; justify-content: flex-start;  }
}


.cms-main-wrap{ width: 100%;  margin: auto; padding:0px 30px; height: auto;  display: flex; flex-wrap: wrap;justify-content: center; position: relative; z-index:1; }
@media (min-width:991px) and (max-width:1100px) {
.cms-main-wrap{  padding:0px 15px; }
}
@media (max-width: 768px) {
.cms-main-wrap{  padding:0px 15px; }
}





/* description =======================================================================	*/
#cms-main .cms-description{ width: 100%; display: flex; flex-wrap: wrap; padding:0px; margin:0px 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.9375rem; line-height: 1.35rem;  margin-bottom: 20px; color:#000;  }
@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; }
}
.cms-title-block{ width: 100%; margin:0px auto 20px auto;  display: flex; flex-wrap: wrap; justify-content:flex-start;  }
.cms-title-block h1{ font-size: 46px; font-weight: 800; line-height: 46px; margin: 0; text-transform: uppercase; color: #000;}
.cms-title-block h2{ font-size: 46px; font-weight: 800; line-height: 46px; margin: 0; text-transform: uppercase; color: #000;}
.cms-title-block span{ width: auto; margin:0; font-size:0.9375rem; letter-spacing:2px; font-weight:300;text-shadow: 0px 0px rgba(255,255,255,1); }
.cms-title-block p{ margin:0px auto; text-align: center; font-weight: 700; color:#615f5e;}


@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: 400;color:#666;}
  
/*cms-Title Styles 樣式
=================================*/
.cms-title { width: auto; height: auto; margin:0px;  padding: 0px;  display: flex;  align-items: flex-start; flex-wrap: wrap; flex-direction:column; }
.cms-title h1{ font-size: 46px; font-weight: 800; line-height: 46px; margin: 0 0 20px 0; text-transform: uppercase; color: #000;   }
.cms-title h2{ font-size: 46px; font-weight: 800; line-height: 46px; margin: 0 0 20px 0; text-transform: uppercase; color: #000;   }
.cms-title span{ width: auto; margin:0; font-size:0.9375rem; letter-spacing:2px; font-weight:300;text-shadow: 0px 0px rgba(255,255,255,1); }
.cms-title p{ margin:0px auto; text-align: center; font-weight: 700; color:#615f5e;}
@media (max-width: 1024px) {
.cms-title-span{  font-size:0.875rem;  } 
.cms-title span{ color: #fff; }
}

@media (max-width: 767.98px) {
.cms-title span{  color: #fff;}
.cms-title h2{ font-size: 2rem; }    
}

.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-main-pages .cms-pagination{ margin:10px auto;  display: flex; justify-content: center;  }
.cms-pagination .page-link { color:#31315e; padding:5px 15px;font-weight: 600; background-color: transparent;border: 1px solid transparent;}
.cms-pagination .page-link:hover { color: #fff; background-color:#333; border-color:#333;}
.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:transparent;}
.cms-pagination .page-item.disabled .page-link { color: #6c757d;  background-color:transparent; border-color:transparent;}
.cms-pagination .page-link span{ font-size: 1rem; font-weight: 800;}


/*----------------------------------------/
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:#000; 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:140% top; }

a.cms-btn-next {color:#000; font-weight: 700;  text-align: center;   background: url(../images/icon/arrow-right-b.svg) no-repeat 110% 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: #776b62;   }
a.cms-btn-prev:hover,a.cms-btn-next:hover  { color: #776b62!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); }
 


/* 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: #444;
  -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:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: 100%;
  bottom: 0;
  background: #000;
  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-2.svg") no-repeat; }
.icon-talk{background: url("../images/icon/talk.svg") no-repeat; }
.icon-list{background: url("../images/icon/icon-nav.svg") no-repeat; }
.icon-download{background: url("../images/icon/icon-download.svg")  no-repeat; }

















  /*---------------*/
/***** btn *****/
/*---------------*/
.icon-next{background: url("../images/icon/arrow-right-2.svg"); }
.cms-btn { width: auto; height: 35px; 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-main a.cms-btn { color:#767676;font-weight: 400;  }
.cms-btn:hover {  border-color: rgba(255, 255, 255,.5);  box-shadow: 1px 1px 8px rgba(255, 255, 255, 0.4);}
a.cms-btn:hover {  color: #fff;}
.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:0px auto; 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)}
/*cms-btn-more =================================*/ 
.custom-btn-1{  width: auto; height: 35px; padding: 20px 40px;  font-weight: 500; 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:#006f8a; 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:#776b62; }

 




.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);}
 }
.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  }
}
.cms-btn-m{ width: 100%; max-width:180px;  }
 

 

.cms-back-button {  width: auto; height: 35px; margin: 0; 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}
@media (max-width:767px) {
.cms-back-button { width: auto; height: 24px }
}
.cms-back-button:hover .cms-back-button-circle { -webkit-transform: scale(1.2); transform: scale(1.2)
}
.cms-back-button:hover .cms-back-button-txt, .cms-back-button:hover i { -webkit-transform: translateX(-5px); transform: translateX(-5px)}




.cms-back-button-circle { width: 35px; height: 35px;  position: relative; display: block; margin-right: 20px; border: 1px solid #000;  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-back-button-circle { width: 24px; height: 24px; margin-right: 15px}
}


.cms-back-button i.arrow-l { width: 36px; height: 36px; position: absolute;background: url("../images/icon/arrow-left-b.svg") no-repeat -4px 2px; 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}

.cms-back-button i.arrow-r { width: 36px; height: 36px; position: absolute;background: url("../images/icon/arrow-right-b.svg") no-repeat left 2px; 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}

@media (max-width:767px) {
.cms-back-button i { width: 22px; height: 22px; margin: auto auto auto 10px}
}
.cms-back-button-txt { font-size: 16px; font-weight: 500; line-height: 1.5; letter-spacing: 1px; color: #000;  -webkit-transition: -webkit-transform .2s; transition: -webkit-transform .2s; transition: transform .2s; transition: transform .2s, -webkit-transform .2s}
@media (max-width:767px) {
  .cms-back-button-txt { font-size: 14px; line-height: normal; letter-spacing: normal }
}



.cms-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}
@media (max-width:767px) {
.cms-next-button { width: auto; height: 24px }
}
.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{ -webkit-transform: translateX(5px); transform: translateX(5px)}


.cms-next-button-circle { width: 35px; height: 35px;  position: relative; display: block; margin-left: 20px; border: 1px solid #e60013;  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.arrow-r { width: 31px; height: 31px; position: absolute;background: url("../images/icon/arrow-right.svg") no-repeat right top; top: 0; bottom: 0; left: auto; margin: auto auto auto 106px;   -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 i { width: 22px; height: 22px; margin: auto auto auto 10px}
}
.cms-next-button-txt { font-size: 16px; font-weight: 400; line-height: 1.5; letter-spacing: 1px;  color: #e60013;  -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 }
}


/*cms-btn-more =================================*/ 
a.custom-btn-bk{  width: auto;  padding:10px; font-weight: 500;text-transform: uppercase;  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; background:#000; color: #fff!important;  border-radius:0px;  border: solid 1px #000;background-size: 20px auto;  -webkit-transition: -webkit-transform .2s;  transition: -webkit-transform .2s; transition: transform .2s; transition: transform .2s, -webkit-transform .2s  }
a.custom-btn-bk:hover{background:#fff; color: #000!important; }
.custom-btn-bk i{ width: 19px; height: 15px;}
.custom-btn-bk:hover i{ -webkit-transform: translateX(5px); transform: translateX(5px)}
.custom-btn-bk:hover .icon-next{background: url("../images/icon/arrow-right-b.svg") no-repeat left 0px; }





a.cms-btn-next {color:#000; font-weight: 700;  text-align: center;   background: url(../images/icon/arrow-right-b.svg) no-repeat 110% 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: #776b62;   }
a.cms-btn-prev:hover,a.cms-btn-next:hover  { color: #776b62!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); }
 


















/*----------------------------------------/
  ul style 自訂樣式
----------------------------------------*/
.cms-dot{ width: 100%;  display: block; margin:0px;padding: 0px; }
.cms-dot li{ width: 100%; display: block; padding: 2px 0px 2px 15px; margin: 0px; font-size:0.875rem; line-height:1.5rem; font-weight:400; color: #000; word-break: normal;  background: url(../images/icon/dot.svg)  no-repeat left 12px; background-size:4px;}
.cms-arrow{ width: 100%; display: block; margin: 1.5% 0px; padding: 0px;}
.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 6px; background-size:12px;}
.cms-decimal { list-style-position: outside; list-style-type: decimal; padding-left: 15px;}
.cms-decimal li{margin-bottom: 10px; font-size:0.875rem; line-height:1.5rem; font-weight:400; color: #000; word-break: normal;  }
.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;}






 /*----------------------------------------/
 aside cssmenu樣式
---------------------------------------- */
.cssmenu{ width: 100%;  margin:2% auto 20px auto;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:9;}
.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;border:0;list-style:none; display:block;position:relative;z-index: 9999;   -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{ text-align:left; }
.cssmenu > ul > li{float:left;  width: auto; position: relative;z-index: 1; margin:5px 10px 0px 10px; border-radius:0px; border: none; border-bottom: none; background-color: transparent; -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;  margin:5px 5px 0px 5px;}
.cssmenu.align-center ul ul{text-align:left;}
.cssmenu.align-center > ul > li.has-sub > a{  padding:5px 10px !important; color: #fff!important; }
.cssmenu.align-center > ul > li.has-sub.active > a{color:#fff; border-bottom: solid 2px #fff;}  
.cssmenu.align-center  > ul > li a::after {  background-color: #fff; }
.cssmenu.align-right > ul > li{float:right;}
.cssmenu.align-right ul ul{text-align:right;}
.cssmenu > ul > li > a{font-size:0.9rem; text-align:center; font-weight: 600;   text-decoration:none;text-transform:uppercase;transition: all 0.5s ease 0s;}
.cssmenu > ul > li:hover,.cssmenu > ul > li:hover > a,.cssmenu > ul > li.active{ border-color:#000;}  
.cssmenu > ul > li.has-sub.active > a{color:#fff!important; background: #000; }  
.cssmenu > ul > li:hover > a {color:#fff;  }  
.cssmenu > ul > li.has-sub > a{  padding:5px 5px !important; color:#000!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:#000;}
.cssmenu ul ul{position:absolute;left:-9999px;padding-bottom: 10px; background:#000; -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.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:0.9rem; line-height:2rem;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:#776b62;}
.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:#776b62;}
.cssmenu > ul > li a:link, .cssmenu > ul > li a:visited {text-decoration:none; color:#fff; position: relative; transition: all 0.5s ease 0s;}
.cssmenu > ul > li:active, .cssmenu > ul > li a:hover {text-decoration:none; color:#fff; cursor:pointer; -moz-animation: text_shadow 5000ms infinite; -webkit-animation: text_shadow 5000ms infinite; -o-animation: text_shadow 5000ms infinite; -ms-animation: text_shadow 5000ms infinite; animation: text_shadow 5000ms infinite;}
.cssmenu > ul > li a::after {content: ''; background-color: #000; height: 2px; width: 0; position: absolute; bottom: 0px; left: 50%; transition: all 0.5s ease 0s;}
.cssmenu > ul > li a:hover::after, .cssmenu > ul > li.current a::after {width: 100%; left: 0%; transition: all 0.5s ease 0s;}
#menu-line{position:relative;bottom:-34px;left:0px; right: 0px; margin-left: 10px; width: auto;height:3px;background:#fff;-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;}

 @media (max-width:768px) {
.cms-main-banner-txt  .cssmenu{display: none;} 
.cssmenu{width:98%;margin-top:15px !important; }
.cssmenu ul{width:100%; margin: auto; display:none; background:#ededed; z-index:99999;   }
.cssmenu ul ul{ }
.cssmenu ul ul ul{ background:#e7eaeb!important;  }   
.cssmenu.align-center > ul,.cssmenu.align-right ul ul{text-align:left;position: absolute; z-index: 99999;}
.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, 1);}
.cssmenu > ul > li{border: none; border-bottom: solid 1px #000; box-shadow: none;  z-index:999; position: relative; }
.cssmenu ul li a,.cssmenu ul ul li a{width:100%; text-align: left;}
.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 10px 40px;margin-top: 15px; color:#000;cursor:pointer;font-size:1rem;font-weight: 700;text-align: left;  text-transform:uppercase; border-bottom:solid 1px #000;background-color:#e3e3e3;-webkit-border-radius:0px;-moz-border-radius:0px;border-radius:0px; position: relative;}
.cssmenu .menu-button::after { display: block; content: ""; position: absolute; left:0; top: 8px;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, 1);height:46px;width:46px;cursor:pointer;}
.cssmenu .submenu-button::after{content:'';position:absolute;top:17px;left:23px;display:block;width:1px;height:11px;background:#000;z-index:99;}
.cssmenu .submenu-button::before{content:'';position:absolute;left:18px;top:22px;display:block;width:11px;height:1px;background:#000;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 > ul > li.has-sub > a{  padding:5px 5px 5px 40px!important; }
 }

/*  @media (max-width:768px) {
.cssmenu .menu-button::after { left:5%; top: 8px;width: 24px; height: 24px;   }
}
*/ 
/*--------form style------------*/
#cms-main label{ font-size:.75rem; }
input, option, textarea, input[type="radio"]{ line-height:2rem;  padding-left:15px;  font-size:0.875rem; color: #000;background-color:#f7f7f7;border: 1px solid #f7f7f7;border-radius:5px;  }
input[type="radio"]+label, input[type="checkbox"]+label { width:auto; box-sizing: border-box; padding: 5px 5px 0px 5px; }
*:focus { outline: none; }
/* placeholder ---*/
input::placeholder {  font-size:0.875rem;  }
input:focus, textarea:focus { outline: none;  }
input:focus:placeholder { color: transparent;  }
input:focus::-webkit-input-placeholder { color: transparent; }
input:focus:-moz-placeholder { color: transparent; }
input:focus::-moz-placeholder { color: transparent; }
input:focus:-ms-input-placeholder { color: transparent; }
select{min-height:2rem; line-height:2rem;  padding-left:15px;  font-size:0.875rem; color: #000;background-color:#f7f7f7;border: 1px solid #f7f7f7;border-radius:0px;  }
/*IE --*/ 
select::-ms-expand {display: none; }
select:focus{ box-shadow: 0 0 5px 2px #467BF4;    }
input, button, select, textarea { outline: none; }
