/* 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; }
/** font-family:=================================*/
.txt-ch-title { font-family: 'Noto Sans TC', serif; font-size: 2.4rem; line-height: 130%;}
.color-white{color: #fff!important; }
.color-gray{color:#5a5a5a; }
.f-400{font-weight: 400!important;}
.vText { -webkit-writing-mode: vertical-rl; writing-mode: vertical-rl; }
.cms-wrapper { position: relative; display: block; margin:0px auto; padding: 0px 15px; width: 100%;  max-width: calc((100% - 40px)/12*12 + 40px); }
@media (min-width: 1201px) and (max-width: 1400px) {
.cms-wrapper { padding-right: 20px; padding-left: 20px; max-width: 100%;}
}
@media (min-width: 1401px) {
.cms-wrapper { max-width: 1440px; }
}
/**banner=================================*/
.cms-main-banner { width: 100%; height: auto; margin:0px auto; padding:0px; position: relative; z-index: 1;  }
.cms-main-banner::before{content: "";width: 40%; height: 100px; position: absolute; z-index: 999; right: 0px; bottom: 0px; background: #fff; clip-path: polygon(9% 0, 100% 0, 100% 100%, 0% 100%);}
.cms-main-banner:after{content:'';position: absolute;z-index: 9999;right:19.5%; bottom:30px; display: block; width: 1px; height: 25px; background: #000; }

.cms-main-banner .imgSliderBox { width: 100%; max-width: 100%; margin: 0px auto; padding:0px; display: flex; flex-wrap: wrap; justify-content: center; position: relative; z-index:0;; overflow: hidden;}
.slider-item { display: block; width: 100%; max-width: 100%; margin: auto; position: relative; z-index:2; }
.slider-item img { display: block;  width: 100%; max-width: 100%;  margin: auto; height: auto; position: relative; }
.cms-main-banner .slick-prev,.cms-main-banner .slick-next{position: absolute; top: auto!important; bottom:30px; z-index: 999; }
.cms-main-banner .slick-prev{left:73%;}
.cms-main-banner .slick-next{right:13%;}

.cms-main-banner .slick-dots{ position: absolute;  right: 10px!important; top:30%!important;    display: block; width: 50px; padding: 0; margin: 0; list-style: none; text-align: center;}
.cms-main-banner .slick-dots li{ position: relative; display: block; width: 10px; height: 10px; margin:10px 5px; padding: 0; cursor: pointer; border-radius:99rem; border: none;}
 
.cms-main-banner.slick-dotted.slick-slider{ margin-bottom: 0px!important; }
.cms-main-banner .cms-sloga {width: 80%; max-width: 600px; height: auto;  margin: auto;  left:8%; top:25%;position: absolute;  display: flex; flex-wrap: wrap;  flex-direction: column;  z-index: 9;}   
.cms-main-banner .cms-sloga h2 {  width: auto;  margin:0px; font-size: 4.5rem; line-height:5rem; font-weight:700;color:#fff; word-wrap:break-word;word-break:keep-all;}
.cms-main-banner .cms-sloga h3 {  width: auto; font-size:2.875rem; font-weight: 700; color: #fff; text-align: left; word-wrap:break-word;word-break:keep-all; }
.cms-main-banner .cms-sloga strong{color:#db0632;}
.zoom {-webkit-animation: zoom 2s ease-in-out; -moz-animation: zoom 2s ease-in-out; -o-animation: zoom 2s ease-in-out; -ms-animation: zoom 2s ease-in-out; animation: zoom 2s ease-in-out;}
.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;}
.animated.zoom { -webkit-animation-duration: 6s; animation-duration:6s; -webkit-animation-fill-mode: both; animation-fill-mode: both;}
@media (min-width: 1800px) {
 .cms-main-banner .cms-sloga h2 { font-size: 4.875rem; }
   
}
@media (max-width: 1199.98px) {
.cms-main-banner .cms-sloga { top:40%;}    
.cms-main-banner .cms-sloga h2 {  font-size:2.75rem; line-height: 2.75rem;   }
.cms-main-banner .cms-sloga p { font-size:0.875rem;  }
.cms-main-banner.slick-dotted.slick-slider { margin-bottom: 0px; }
}
@media (max-width: 767.98px) {
.cms-main-banner { width: 100%;} 
.cms-main-banner::before{ width:45%;  }
.cms-main-banner .imgSliderBox { width: 100%; height:534px; }
.slider-item-img { width:30%; left:auto;right: 0px; top:0;  }    
.cms-main-banner .cms-sloga { width:80%; max-width: 600px; position: absolute; left:5%; top:50%;  }    
.cms-main-banner .cms-sloga h2 { margin-bottom: 5px; width: 100%;height: auto; }
.cms-main-banner .cms-sloga h3 {font-size:2.15rem; }
.cms-main-banner .cms-sloga p { width: 100%; display: none;  }
.type { animation:none; }
.animated.type { animation:none;}
.cms-main-banner:after{bottom:50px; }
.cms-main-banner .slick-prev,.cms-main-banner .slick-next{ bottom:50px; }
.cms-main-banner .slick-prev{left:65%;}
.cms-main-banner .slick-next{right:7%;}
} 
 
.slide .slide__img img { max-width: 100%; height: auto; opacity: 1 !important; -webkit-animation-duration: 3s; animation-duration: 3s; transition: all 1s ease;}
.slide .slide__content--headings .animated {transition: all 0.5s ease;}
.slider [data-animation-in] {  opacity: 0;  -webkit-animation-duration: 1.5s; animation-duration: 1.5s;  transition: opacity 0.5s ease 0.3s;}
 
@keyframes zoom {
  0% { -webkit-transform: scale(1); transform: scale(1); opacity: .8; }
  100% { -webkit-transform: scale(1.05); transform: scale(1.05);  opacity: 1; }
 }
 
@-webkit-keyframes type {
  0% { -webkit-transform: translateX(300px); transform: translateX(300px); opacity: 0; }
  100% { -webkit-transform: translateX(0);  transform: translateX(0); opacity: 1; }
}
@keyframes type {
  0% {-webkit-transform: translateX(300px); transform: translateX(300px); opacity: 0; }
  100% { -webkit-transform: translateX(0); transform: translateX(0); opacity: 1; }
}

  
/* /////////// IMAGE ZOOM /////////// */
@-webkit-keyframes zoomInImage {
  from { transform: scale3d(1, 1, 1); }
  to { transform: scale3d(1.1, 1.1, 1.1); }
}
@keyframes zoomInImage {
  from { transform: scale3d(1, 1, 1); }
  to { transform: scale3d(1.1, 1.1, 1.1);}
}
.zoomInImage {  -webkit-animation-name: zoomInImage;  animation-name: zoomInImage;}
@-webkit-keyframes zoomOutImage {
  from { transform: scale3d(1.1, 1.1, 1.1); }
  to { transform: scale3d(1, 1, 1); }
}
@keyframes zoomOutImage {
  from { transform: scale3d(1.1, 1.1, 1.1); }
  to { transform: scale3d(1, 1, 1);  }
}
.zoomOutImage { -webkit-animation-name: zoomOutImage; animation-name: zoomOutImage;}

.cms-main-wrap{ width: 100%; padding:0px;  margin:0px auto; height: auto;  display: flex; flex-wrap: wrap;justify-content: center;  }
.cms-main-about{position: relative; margin:0px auto; padding:0px; width: 100%;display: flex; flex-wrap: wrap; z-index: 0;background:url("../images/index/bg-dot.svg") no-repeat 50% 30%; background-size:auto 100%;  }
.cms-block-wrap {width:100%; height: auto; padding:0px;  display: flex; flex-wrap: wrap;position: relative;  }
.cms-block {width:45%; height: auto; padding:0px 0px 50px 13%;  display: flex; flex-wrap: wrap; align-items: center; position: relative;z-index: 1 }
.cms-block-title{width:auto; margin:0; padding: 0px; display: flex; flex-wrap: wrap; position: relative; z-index: 1;}
.cms-block-txt{width:100%; margin:0; padding: 0px; display: flex; flex-wrap: wrap;align-content: center; position: relative; z-index: 1;}
#cms-main .cms-block p { width: 100%; font-size:1rem;  line-height:1.5rem; font-weight: 400;  padding:5px; margin-bottom: 20px;  color:#fff; }
#cms-main .cms-block p strong{  display: block;  width: 100%; font-size: 1.313rem; line-height: 2rem; letter-spacing: 1.2px; font-weight:400;  padding:5px; margin-bottom: 10px; color: #000; }
.cms-about-card { width:55%;  margin:-2% 0px 0px 0px; padding:0px; display: flex; flex-wrap: wrap;justify-content: flex-end; align-items: flex-start;position: relative;z-index:1; }
.cms-about-card .item-full{ width: 100%; max-width: 100%;height: auto ; margin:0px; padding:0px; position: relative;z-index: 1; clip-path: polygon(46% 1%, 100% 0, 100% 100%, 0% 100%);}
 .cms-about-card .item-1{ width: 60%; max-width: 100%;height: auto ; margin:0px; padding:0px; position: absolute; right:30%; top:25%;z-index: 99;  }
 @media (max-width: 990px) {
.cms-block {width: 100%; margin: 0px auto; padding:50px 25px; }
.cms-about-card {width: 100%; margin: 0px auto;  padding: 0px;}  
}
 
@media (max-width: 797.98px) {
}
/*-------------------*/
/***** product  *****/
/*------------------*/
.cms-produt-wrap{width:100%; padding:20px 0px 50px 0px;margin:0px auto; }
.cms-slider-for { width:70%;  margin: 0px; padding:0px!important; display: flex; justify-content: center; align-content: flex-start; flex-wrap: wrap;  order: 1;}
.cms-slider-nav { width: 30%; height: auto; margin:0px auto; padding:50px 50px 0px 50px;order: 2;  }
.cms-slider-nav h3{ font-size: 2rem; color: #202287;font-weight: 700; }
.slider-for{ width: 100%;  margin: 0px!important; padding:0px!important;   display: flex; justify-content: center; align-content: center; align-items:center; position: relative; z-index: 1;  }
.slider-for div { width: 100%; display: block;margin: auto; padding: 0px; cursor: pointer; position: relative; z-index: 1;}
.slider-nav { width: 100%; max-width:600px; margin:50px auto; padding:0px!important;     }
.slider-nav li { width: 100%; margin: auto; padding: 10px 10px 0px 10px; font-size:2.25rem; color: #999; font-weight: 700!important; cursor: pointer; position: relative;z-index: 0; }
.slider-nav li.slick-slide.slick-current{color: #202287; position: relative;}
.slider-nav li.slick-slide.slick-current:after{color: #202287; content: ""; position: absolute;z-index:9999!important;  left:-230px; bottom: 10px; width: 100%; height: 3px;background: #202287;  }
.nav-img{ display: inline-flex; margin:20px 10px 0px 0px;  padding: 0px; width:66px; height: 66px;}
.nav-txt{ display: inline-flex; width:calc(100% - 100px);  padding-top: 25px; padding-left: 50px; color:#fff; font-weight: 700;}
.icon-nav-1{ background: url("../images/icon/01-1.svg") no-repeat left top;}
.icon-nav-2{ background: url("../images/icon/02-1.svg") no-repeat left top;}
.icon-nav-3{ background: url("../images/icon/03-1.svg") no-repeat left top;}
@media (max-width:920px) {
.cms-produt-wrap{ padding:20px 0px; }
.cms-slider-nav h3{ font-size: 1.75rem; }
.cms-slider-nav {  padding:0px 0px 0px 0px;  }
.slider-nav { margin:10px auto; }   
.slider-nav li {padding: 10px 5px 0px 5px; font-size:1.75rem;}
}
@media (max-width:767.98px) {
.cms-slider-for { width:100%;   order: 2;}
.cms-slider-nav { width: 100%;  padding:50px 0px 0px 0px;order: 1;  }
.slider-nav li {  font-size:1.5rem;  }
.slider-nav li.slick-slide.slick-current:after{ bottom: 0px;  }
.cms-slider-nav .slick-prev:before,.cms-slider-nav .slick-next:before{ width: 40px; height: 20px; }
.cms-slider-nav .slick-prev,.cms-slider-nav .slick-next{bottom: auto; top:-40px; }   
.cms-slider-nav .slick-prev{left:68%;}
.cms-slider-nav .slick-next{right: 5%;}
}

/*----------------------------------------/
產品清單頁  cms-main-product-item  
----------------------------------------*/
.cms-product-item { width:100%; margin:0px auto;  padding:0px; display: flex; flex-wrap: wrap;  position: relative;}
.cms-product-item li { width: 100%; margin:0px; padding:0px; display: flex; flex-wrap: wrap; align-content: flex-start; align-items: flex-start; border-color:transparent;position: relative; z-index: 1; list-style: none;  transition: all 0.3s linear 0s;  }
.cms-product-item li:hover { box-shadow:0px 5px 8px rgba(0,0,0,.05);} 
.cms-product-item li figure{ position: relative; width:100%; height: auto; margin-bottom:0px; overflow: hidden; background-color:transparent;  transition: all 0.5s ease 0s; }
.cms-product-item li figure img {  width: 100%; max-width: 100%;  transition: all 0.3s;}
.cms-product-item li figure:hover img { transform: scale(1.1);  opacity: .85; }
.cms-product-item li .cms-product-inner{width: 100%;min-height:200px;  margin: 0px; padding:5px 20px; position: absolute;bottom:0px;  display: flex; flex-wrap: wrap; justify-content: flex-start; align-content: flex-end; align-items: center;background-image: linear-gradient(to bottom, rgba(255,255,255,.0) 0%,  #202287 70%); } 
  
#cms-main .cms-product-item li h3{flex: 0 0 100%; padding:0px; margin:0px;width: 100%; font-weight:400; font-size:2rem;  line-height:1.35rem; color:#221815;  word-break: normal; word-wrap: break-word; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
#cms-main .cms-product-item li h3 a{ color:#fff;  display: flex; flex-wrap: wrap;  }
#cms-main .cms-product-item li:hover h3 a,#cms-main .cms-product-item li:hover p{color:#fff; }
#cms-main .cms-product-item li .cms-product-inner p{ flex: 0 0 100%;   margin:5px 0px; padding: 0px;  font-size: 0.875rem; line-height: 1.5rem; text-align: left; font-weight: 300; overflow: hidden; word-break: normal; word-wrap: break-word; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;} 
.cms-product-item li .cms-product-note { position: absolute; top:0px; right: 0px; padding: 5px ; width:80px; height:30px; display: flex; flex-wrap: wrap; justify-content: flex-end; align-content: center; align-items: center;  font-size:0.875rem; text-align: center; line-height: 1.5em; text-shadow:none; z-index: 11;  -webkit-clip-path: polygon(0 0, 100% 0%, 100% 100%, 29% 100%);
clip-path: polygon(0 0, 100% 0%, 100% 100%, 29% 100%); }
.cms-product-note.cms-product-note-sale {  color: #fff; background:#c7a26d; }
.cms-product-note.cms-product-note-stock { color: #fff; background:#000; /*transform: rotate(5deg);*/}
 @media (max-width: 990px) {
.cms-product-item li { width: calc( 100% - 20px); margin:0px 20px 0px 0px;}
}
 
 /*---   共用 ---*/
 .section{ width: 100%; display: flex; flex-wrap: wrap;}

/*--分類new-tag --*/
.new-tag { display: flex; flex-wrap: wrap; align-items: flex-start; width: auto; padding:0px 4px; font-size: 0.75rem; color: #fff; transition: all 0.3s cubic-bezier(0.37, 0.75, 0.61, 1.05) 0s; overflow: hidden; text-transform: capitalize;  word-break: keep-all; z-index: 9;   }
.new-tag a{color:#a1a1a1;}
 

/*--分類小圖示icon--*/
.cms-news{ width: 100%; padding:80px 40px; margin:0px auto; position: relative; z-index: 1; background: url("../images/index/bg-dot.svg") no-repeat right top; background-size: auto 100%;}
.cms-awards{width: 30%; height: 500px; padding:30px;display:block; border: solid 2px #202287;}
.cms-awards h2{ width: auto; margin:0px auto 20px auto; font-size: 2.15rem; font-weight: 700; color:#202287!important;}
.cms-awards p{ width: auto; margin:0px auto; font-size: .9rem; line-height: 1.35rem; font-weight: 400; color: #403e3a;}
.awards{width: 100%; margin: 50px auto 10px auto; padding: 0px;}
.awards li{width: 100%; margin: auto;padding: 0px; display: flex; flex-wrap:wrap; }
.awards li figure{width: 100%; margin-bottom: 15px; }
.awards li p{width: 100%; font-size: 1rem;}
 @media (max-width: 920px) {
 .cms-awards{width: 40%; }     
}
 @media (max-width: 768px) {
.cms-news{ padding:80px 10px;}    
}
 @media (max-width: 767.98px) {
 .cms-awards{width: 100%; }     
}
 /*-------------------*/
/***** 最新消息 *****/
/*------------------*/
.cms-main-news{width: 70%; padding: 20px 40px 20px 100px; }
.cms-main-news-list {width: 100%; margin:0px 0px 25px 0px;  padding:10px 0px; display: flex;  flex-wrap: wrap; position: relative; z-index: 1; }
.cms-main-news-list li{display: flex;flex-direction: column;width: calc(100% - 60px); padding:10px 0px 0px 0px;margin:auto 0px; box-sizing: border-box;overflow: hidden;list-style: none;transition: all 0.5s ease 0s;  position: relative;  border-bottom: solid 1px #eee;}
.cms-main-news-list figure img {width: 100%; height: auto; margin: auto; position: relative; overflow: hidden; transition: all 0.5s ease-in-out;}
.cms-main-news-list figure:hover img { opacity: .5;border-color: #df7475;  transform: scale(1.15); }
.cms-main-news-list figure {  position: relative; overflow: hidden;}
.cms-main-news-list .news-box{position: relative;width: 100%; box-sizing: border-box;display: -ms-flexbox; display: flex; flex-wrap: wrap; margin: 0;padding: 5px;}
.listDateBox {width: auto; padding: 0px; margin:0px 5px 5px 0px; font-size:0.8rem; color: #000; display: flex;  flex-wrap: wrap; flex-direction: column;  }
.listBox{width:100%; display: flex; align-items: center; flex-wrap: wrap; flex-direction: column;padding:0px;position: relative; }
.cms-main-news-list h3 {position: relative;width: 100%; height: auto; min-height:52px; margin-bottom:5px; font-size:1.063rem; line-height:1.5rem; font-weight:600; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp:3; -webkit-box-orient: vertical; overflow-wrap: break-word; }
.cms-main-news-list h3 a{ color:#000; }
.cms-main-news-list h3 a:hover{ color:#1fbaee!important; }
.cms-main-news-list p{ width: 100%; font-size: 0.875rem; line-height: 1.15rem; color:#666; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: break-word; }
.cms-main-news-list p a{ color:#333;}
.cms-main-news-list .slick-prev,.cms-main-news-list .slick-next{position: absolute; top: auto!important; bottom:-20px;  }
.cms-main-news-list .slick-prev{left: 43%;}
.cms-main-news-list .slick-next{right:43%;}
@media (max-width: 920px) {
.cms-main-news{width: 60%;  padding: 20px 0px 20px 40px;}  
.cms-main-news-list li{ width: 100%; }
 .cms-main-news-list h3 {position: relative;width: 100%; height: auto; min-height:46px; margin-bottom:5px; font-size:1rem; line-height: 1.3rem; }
.listBox{ padding:5px 0px;}
}
@media (max-width: 767.98px) {
.cms-main-news{width: 100%;  padding: 20px 10px;}  
}

.cms-join{width:100%;padding:50px 40px 200px 40px; margin:0px auto; position: relative; z-index: 1;background: url("../images/index/join-us.jpg") no-repeat left bottom #dce5ea; background-size:100% auto; }
.cms-join-btn  { width:100%; max-width: 500px; margin: auto; position: relative;  display: flex; flex-wrap: wrap; justify-content: center; align-self: center; transition: all 0.5s;}
.cms-join-btn > div { cursor: pointer; width:calc(100%/2 - 30px) ; min-width: 180px; margin: 50px auto; }
  
@media (max-width: 767.98px) {
.cms-join{width:100%;padding:50px 10px 100px 10px; margin:0px auto; position: relative; z-index: 1;background: url("../images/index/join-us.jpg") no-repeat left bottom #dce5ea; background-size:100% auto; }
.cms-join-btn > div { width:calc(100%/2 - 30px) ; min-width: 150px; }
}

/* esg style */
.cms-main-choose{ width: 100%; padding:20px 0px; margin:0px auto; position: relative; z-index: 1;  }
.choose{ width: 100%; max-width: 1440px; margin: 0px auto; padding: 0px; display: flex; flex-wrap: wrap; justify-content:space-between; align-content: flex-start;align-items: flex-start; list-style:none; }
.choose li{width:calc(100%/3 - 30px);  height: auto; margin: 10px 15px; padding:0px; position: relative;}
.choose li a{display: flex; flex-wrap: wrap;justify-content: flex-start; position: relative; }
/* Common style */
.choose li figure { position: relative; overflow: hidden; margin: 0px; width: 100%; background: #202287; text-align: center; cursor: pointer;}
.choose li figure figcaption { padding: 1em; color: #fff;  -webkit-backface-visibility: hidden; backface-visibility: hidden;}
.choose li figure  figcaption::before,.choose li figure  figcaption::after { pointer-events: none;}
.choose li figure  figcaption, .choose li figure  figcaption > a { position: absolute; top: 0; left: 0; width: 100%; height: 100%;  }
/* Anchor will cover the whole item by default */
.choose li figure figcaption > a { z-index: 1000; text-indent: 200%; white-space: nowrap; opacity: 0;position: absolute;}
.choose li figure p {letter-spacing: 1px;font-size: 68.5%; position: relative; z-index: 99;}
.choose li figure::after{ content: ''; position: absolute; bottom: 0px; left: 0px; width: 100%; height: 200px; 
background-image: linear-gradient(to bottom, rgba(255,255,255,.0) 0%,  #202287 70%); z-index:1; } 
@media (max-width: 767.98px) {
.choose li{width:calc(100%/2 - 20px);  height: auto; margin: 10px 10px;  }
.choose li figure figcaption { padding: 1em; }
}
 /*---------------*/
/***** Bubba *****/
/*---------------*/
figure.effect-bubba {background: #9e5406;}
figure.effect-bubba img { position: relative; display: block;  max-width: 100%; opacity: 1; -webkit-transition: opacity 0.35s; transition: opacity 0.35s;}
figure.effect-bubba:hover img {opacity: 0.4;}
figure.effect-bubba figcaption::before,figure.effect-bubba figcaption::after { position: absolute; top: 30px; right: 30px; bottom: 30px; left: 30px; content: ''; opacity: 0; -webkit-transition: opacity 0.35s, -webkit-transform 0.35s; transition: opacity 0.35s, transform 0.35s;}
figure.effect-bubba figcaption::before { border-top: 1px solid #fff; border-bottom: 1px solid #fff; -webkit-transform: scale(0,1); transform: scale(0,1);}
figure.effect-bubba figcaption::after { border-right: 1px solid #fff; border-left: 1px solid #fff; -webkit-transform: scale(1,0); transform: scale(1,0);}
figure.effect-bubba h2 { padding-top: 100%; font-size: 2.3rem; letter-spacing: -1px;font-weight: 700;    position: relative; z-index: 99; -webkit-transition: -webkit-transform 0.35s; transition: transform 0.35s; -webkit-transform: translate3d(0,-20px,0); transform: translate3d(0,-20px,0);}
figure.effect-bubba p { padding: 20px 2.5em; opacity: 0; -webkit-transition: opacity 0.35s, -webkit-transform 0.35s; transition: opacity 0.35s, transform 0.35s; -webkit-transform: translate3d(0,20px,0); transform: translate3d(0,20px,0)}
figure.effect-bubba:hover figcaption::before,figure.effect-bubba:hover figcaption::after {opacity: 1; -webkit-transform: scale(1); transform: scale(1);}
figure.effect-bubba:hover h2,figure.effect-bubba:hover p { opacity: 1; -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0);}
@media (max-width: 1150px) {
 figure.effect-bubba h2 { font-size: 1.8rem;}
 figure.effect-bubba figcaption::before,figure.effect-bubba figcaption::after {top: 15px; right:15px; bottom: 15px; left: 15px; }
 }
@media (max-width: 992px) {
 figure.effect-bubba h2 { font-size: 1.5rem;}
 figure.effect-bubba figcaption::before,figure.effect-bubba figcaption::after {top: 15px; right:15px; bottom: 15px; left: 15px; }
 }
@media (max-width: 820px) {
 figure.effect-bubba h2 { font-size:1.3rem;}.
}
@media (max-width: 767.98px) {
 figure.effect-bubba h2{font-size: 1.8rem;} 
}
@media (max-width: 620px) {
 figure.effect-bubba h2{font-size: 1.3rem;} 
}
@media (max-width: 476px) {
 .choose li{width: 100%;}
 figure.effect-bubba h2{font-size: 2rem;} 
}
@media (max-width: 360px) {
 figure.effect-bubba h2{font-size: 1.8rem;} 
}
/* Sweep To Right */
.hvr-sweep-to-right { cursor: pointer; display: inline-block; position: relative; vertical-align: middle;  -webkit-transform: translateZ(0); transform: translateZ(0); box-shadow: 0 0 1px rgba(0, 0, 0, 0); -webkit-backface-visibility: hidden; backface-visibility: hidden; -moz-osx-font-smoothing: grayscale; -webkit-transition-property: color; transition-property: color; -webkit-transition-duration: 0.3s; transition-duration: 0.3s;}
.hvr-sweep-to-right:before { content: ""; position: absolute; z-index: -1; top: 0; left: 0; right: 0; bottom: 0; background: #000!important; -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.3s; transition-duration: 0.3s; -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out;}
.hvr-sweep-to-right:hover, .hvr-sweep-to-right:focus, .hvr-sweep-to-right:active { color: #fff!important;}
.hvr-sweep-to-right:hover:before, .hvr-sweep-to-right:focus:before, .hvr-sweep-to-right:active:before { -webkit-transform: scaleX(1); transform: scaleX(1);}
 
.cms-video{ width:100%; height:auto; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; position: relative;}
.cms-video h3{  position: absolute;  left: 50%;top:65%; color: #fff; font-size: 2.75rem; font-weight: 700; -moz-transform:translate(-50%, -50%); -webkit-transform:translate(-50%, -50%); -o-transform:translate(-50%, -50%); -ms-transform:translate(-50%, -50%); transform:translate(-50%, -50%); z-index: 999;}
.cms-video-pic img { -webkit-filter: blur(5px); /* Safari 6.0 - 9.0 */ filter: blur(5px); position: relative; } 

 @media (max-width: 820px) {
 .cms-video h3{  top:75%;}   
.fancybox-slide--iframe .fancybox-content { padding: 0px;  width: 100%!important; height: 40%!important;}
}

.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; }    
}

 /*cms-Title Styles 樣式
=================================*/
.cms-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; } 
.cms-title h1{  width: 100%;display: block;margin: 12px 0 ; font-size: 22px; font-weight:700;  color:#202287;  }
.cms-title h2{  width: auto;  margin:0px ; font-size: 2.5rem; color:#fff; font-weight:700; text-shadow: 0px 0px rgba(255,255,255,1); }
.cms-title h3{ margin:0px auto; font-weight: 700; color:#bea570;}
.cms-title h4{ font-weight: 700; color:#000;}
.cms-title p{ margin:10px auto;  font-weight: 400; line-height: 1.35rem;  color:#fff; }
.cms-title span{ width: auto; margin:10px auto; font-size:0.9375rem; letter-spacing:2px; font-weight:400; color: #333;   }


.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  樣式
=================================*/
.cms-title-2 { width:100%; height: auto;  margin:0px auto; padding: 0; position: relative; }
.cms-title-2 h2{ width: auto; margin:0px auto; font-size: 2.75rem; font-weight: 700; text-align:center;color:#202287!important;  }
.cms-title-2 p{ width: auto; margin:0px auto; font-size: .9rem; line-height: 1.35rem; font-weight: 400; color: #403e3a;    }
 /*ms-title-3  樣式
=================================*/
 .cms-title-3 { width:100%; height: auto;  margin:0px;   padding: 0; display: flex;  flex-wrap: wrap;   flex-direction:column; position: relative; }
.cms-title-3:after{ content: ""; width:80%; height: 2px;  margin:0px;   padding: 0; background: #202287; position: relative; }
.cms-title-3 h2{ width: auto; margin:0px; font-size: 2.15rem; font-weight: 700; color:#202287!important;  }
.cms-title-3 p{ width: auto; margin:0px auto; font-size: .9rem; line-height: 1.35rem; font-weight: 400; color: #403e3a;    }
 
/*---------------*/
/***** btn *****/
/*---------------*/
.cms-btn-btnbox {position: relative;z-index:999; display: flex;  justify-content: center;  width: 100%; height: auto; margin:-70px auto 70px auto;  transition: all 1s;}  


@media (max-width:768px) {
.cms-btn-btnbox { margin:-60px auto 70px auto;  }     
}
@media (max-width: 797.98px) {
.cms-btn-btnbox { margin:-120px auto 70px auto;  }     
}
.cms-btnbox {position: relative;z-index:999; display: flex;  justify-content: center;  width: 100%; height: auto; margin:0px auto;  transition: all 1s;}  
.icon-next{background: url("../images/icon/arrow-right-2.svg") no-repeat left 0px;  background-size:auto;}
 
/*mousey Styles====*/
.scroll-downs { position: absolute; top: 0px; right: 0; bottom: auto; left: 0; margin:auto; width :20px; height: 44px;z-index: 999;}
.mousey { width: 2px; padding: 5px 8px; height: 24px; border: 1px solid #fff; border-radius: 25px; opacity: 0.75; box-sizing: content-box; position: relative; }
.mousey:after{content: "";position: absolute;top:38px; left:8px;width: 1px; height:30px; background: #fff;}
.scroller { width: 2px; height: 8px; border-radius: 25%; background-color: #fff; animation-name: scroll; animation-duration: 2.2s; animation-timing-function: cubic-bezier(.15,.41,.69,.94); animation-iteration-count: infinite;}
@keyframes scroll {
0% { opacity: 0; }
10% { transform: translateY(0); opacity: 1; }
100% { transform: translateY(15px); opacity: 0;}
}




.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; border: solid 1px #000;}
.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 #e60013;  border-radius: 50%;  -webkit-transition: -webkit-transform .2s; transition: -webkit-transform .2s; transition: transform .2s; transition: transform .2s, -webkit-transform .2s}
.cms-back-button i.arrow-l { width: 31px; height: 31px; position: absolute;background: url("../images/icon/arrow-left-w.svg") no-repeat left top; 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-txt { font-size: 16px; font-weight: 500; 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-back-button { width: auto; height: 24px;}
.cms-back-button-circle { width: 24px; height: 24px; margin-right: 15px}
.cms-back-button i { width: 22px; height: 22px; margin: auto auto auto 10px}
.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}
.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: 40px; 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}
.cms-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}
.cms-next-button-txt { font-size: 16px; font-weight: 400; 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) {
.cms-next-button { width: auto; height: 24px }
.cms-next-button-circle { width: 24px; height: 24px; margin-right: 15px}
.cms-next-button i { width: 22px; height: 22px; margin: auto auto auto 10px}
.cms-next-button-txt { font-size: 14px; line-height: normal; letter-spacing: normal }
}


/*cms-btn Styles 1===*/
.cms-btn-01 { cursor: pointer; width:200px; height: 3rem; padding:0px 30px 15px 30px; line-height: 3rem; display: block; margin: 0; position: relative; box-shadow: 0px 0px 17px 1px rgba(0, 0, 0, 0.34); background:#202287;z-index: 1;  }
.cms-btn-01 span { display: block;padding-left:5px; transform-origin: center left; transition: color 0.3s ease;position: relative;z-index:1; font-weight: 700; letter-spacing: 1px; color: #fff;}
.cms-btn-01 em {position: absolute;width: 45%; height: 2px;right: 15px;top: 50%;transform: scaleX(0.25); transform-origin: center right; transition: all 0.3s ease; background: #fff;  z-index:1;   }
.cms-btn-01:before,.cms-btn-01:after {content: '';background:#1fbaee;height:100%; width: 0;position: absolute;transition: 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);}
.cms-btn-01:before { top: 0; left: 0; right: auto; }
.cms-btn-01:after { bottom: 0; right: 0; left: auto; }
.cms-btn-01:hover:before { width: 100%; right: 0; left: auto;}
.cms-btn-01:hover:after {  width: 100%; left: 0; right: auto;}
.cms-btn-01:hover span{ }
.cms-btn-01:hover em{ transform: scaleX(0.5);}

/*cms-btn Styles 2===*/
#cms-main a.cms-btn-02{width: 100%; max-width: 200px; height: auto; display: block; color: #202287!important; font-size:1rem; font-weight:700; overflow: hidden; padding:15px 25px; text-align: center;  background-color: transparent;border:solid 1px #202287; 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:#b7b8d8; }
.cms-btn-02:hover::before, .cms-btn-02:hover::after{border-color: #202287; -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;   }
}

/*cms-btn Styles 2===*/
#cms-main a.cms-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;}
.cms-btn-03::before, .cms-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;}
.cms-btn-03::before{border-bottom-width: 2px; border-left-width: 2px;}
.cms-btn-03::after{border-top-width: 2px; border-right-width: 2px;}
#cms-main a.cms-btn-03:hover{color:#1fbaee; background:rgba(31,186,238,.3); }
.cms-btn-03:hover::before, .cms-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%;}
.cms-btn-03:hover::before{-webkit-transition-delay: 0s, 0s, 0.25s; transition-delay: 0s, 0s, 0.25s;}
.cms-btn-03:hover::after{-webkit-transition-delay: 0s, 0.25s, 0s; transition-delay: 0s, 0.25s, 0s;}
.cms-btn-03:focus{outline: 1px inset #fff;}

@media (max-width: 991.98px) {
#cms-main a.cms-btn-03{max-width: 100%;  font-size:0.9rem;   }
}

 

 .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: .5;}

@-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);}
 }


