/* 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:=================================*/
.color-white{color: #fff!important; }
.cms-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) {
.cms-wrapper { padding-right: 40px; padding-left: 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 { padding-right: 80px; padding-left: 80px; 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:10%; bottom:30px; display: block; width: 1px; height: 25px; background:#0070bd; }
.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: 99; }
.cms-main-banner .slick-prev{left:85%;}
.cms-main-banner .slick-next{right:5%;}
.cms-main-banner .slick-dots{ position: absolute;  left: 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;  right:2%; top:30%;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: 2.75rem; line-height:2.75rem; font-weight:700;color:#0070bd; word-wrap:break-word;word-break:keep-all;}
.cms-main-banner .cms-sloga h3 {  width: auto; font-size:2.5rem; font-weight: 700; color:#0070bd; text-align: left; word-wrap:break-word;word-break:keep-all; }
.cms-main-banner .cms-sloga strong{color:#db0632;}
.cms-main-post-btn{margin: 20px auto;}
.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: 1980px) {
.cms-main-banner .cms-sloga { max-width: 660px; right:15%; top:34%; }   
.cms-main-banner .cms-sloga h2 { font-size: 3.5rem; line-height:3.5rem; }

}
@media (min-width: 2500px) {
.cms-main-banner .cms-sloga { max-width: 720px; right:15%; top:34%; }   
.cms-main-banner .cms-sloga h2 { font-size: 4rem; line-height:4.5rem; }

}
@media (max-width: 1199.98px) {
.cms-main-banner .cms-sloga { top:40%;}    
.cms-main-banner.slick-dotted.slick-slider { margin-bottom: 0px; }
}
@media (max-width: 768px) {
.cms-main-banner { width: 100%;} 
.cms-main-banner:after{display: none; }   
.cms-main-banner .imgSliderBox { width: 100%; height:500px; }
.cms-main-banner .cms-sloga h2 { margin-bottom: 5px;  height: auto;  }
.type { animation:none; }
.animated.type { animation:none;}
} 
 
@media (max-width: 767.98px) {
.cms-main-banner .cms-sloga { top:60%; right:6%; }   
.cms-main-banner .cms-sloga h2 {  font-size: 1.875rem;}
}


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

.in.fade-in { -webkit-transform: translate(0); -ms-transform: translate(0); transform: translate(0);  opacity: 1;}
.in { -webkit-transform: translateY(20px);  -ms-transform: translateY(20px);  transform: translateY(20px); opacity: 0; transition: all 0.8s ease-out;}

.banner-play { position: absolute; bottom:15vh; right: 200px; background: #2581c3; border-radius: 50%; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 100px; height: 100px; cursor: pointer;z-index:9;}

 
@media (max-width:1180px) {
.banner-play {  bottom: 20vh; }
}
@media (max-width:1024px) {
.banner-play {  bottom: 28vh; }
}
@media (max-width:920px) {
.banner-play {  bottom: auto; }
}


@media (max-width:820px) {
.banner-play {  bottom: auto;top:10vh; }
}
@media (max-width:767.98px) {
.banner-play {  bottom: auto;top:20vh;right: 0px; }
}

@media (min-width:1400px) {
.banner-play {   }
}
@media (min-width:1600px) {
.banner-play { right: 280px;}
}
.banner-play:hover .play-circle { transform: scale(1.2); } 
.banner-play .play-text { z-index: 1;  position: absolute; animation: PlayRotate 6s linear infinite normal;}
.banner-play .play-icon { width: 32px; height: 32px; z-index: 1;}
.banner-play .play-circle { background-color: #2581c3; width: 100%; height: 100%; border-radius: 50%;  transition-property: all;transition-duration: 0.7s; top: 0;position: absolute;transition-timing-function: cubic-bezier(0.745,0.065,0.17,1);}
@keyframes PlayRotate {
0% { transform: rotate(0deg)  }
to { transform: rotate(1turn) }
}
.video-view { display: none; position: fixed; left: 0; top: 0; width: 100%;  height: 100%; align-items: center; justify-content: center; background: rgba(255,255,255,0.95);z-index: 100;}
.video-close { position: fixed; top: 6vh; right: 5vw; width: 50px;  height: 50px; border-radius: 50%;  cursor: pointer;border: 1px solid #2180c2;}
.video-close span {  display: block; width: 20px;  height: 2px; background: #2180c2;}
.video-close span:first-of-type { transform: rotate(45deg);position: relative;left: 14px;top: 24px;}
.video-close span:last-of-type {transform: rotate(-45deg);top: 22px;left: 14px;position: relative;}
 .video-view iframe { display: none; width: 100%; width: 90vw; max-width: 1000px;  height: 66vh; -webkit-animation: fadeInUp 500ms ease; -moz-animation: fadeInUp 500ms ease; -ms-animation: fadeInUp 500ms ease;}
.video:hover { background: #2180c2;transition: .3s;}
.video:hover span {background: #fff;}
.mask-bg {position: fixed; top: 0;  left: 0;  width: 100%; height: 100%; z-index: 9999;display: none; background: rgba(255, 255, 255, 0.95); }
.video-close { top: 6vh;  }
@-webkit-keyframes fadeInUp {
    0% {  opacity: 0;  -webkit-transform: translate3d(0, 100%, 0);  transform: translate3d(0, 100%, 0)  }
    to {  opacity: 1; -webkit-transform: translateZ(0); transform: translateZ(0)     }
}
@keyframes fadeInUp {
0% { opacity: 0; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0) }
to { opacity: 1;  -webkit-transform: translateZ(0);  transform: translateZ(0)  }
}

.cms-main-wrap{ width: 100%; padding:0px; margin:0px auto; height: auto;  display: flex; flex-wrap: wrap;  }
.cms-main-about{position: relative; margin:0px auto; padding:80px 0px; width: 100%;display: flex; flex-wrap: wrap; z-index: 0; background-image:url("../images/index/item-1.png"), url("../images/index/item-bg.jpg");background-repeat: no-repeat; background-size:auto 75%, auto 100%; background-position: right bottom,left top;   }
.cms-block {width:50%; height: auto;margin: auto; padding:15px;  display: flex; flex-wrap: wrap; align-items: center; position: relative;z-index: 1 }

@media (max-width: 1024px) {
.cms-block {width:70%; }   
}

@media (max-width: 990px) {
.cms-block {width: 80%; margin: 0px auto; padding:0px 25px; }
}
@media (max-width:767.98px) {
.cms-main-about{ padding:40px 0px; }
.cms-main-about{  background-size:auto 45%, auto 100%; background-position: right bottom, left top;  }
.cms-block {width: 100%; margin: 0px auto; padding:0px 25px; }
}



.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-block p { width: 100%; font-size:1rem;  line-height:1.5rem; font-weight: 400;  padding:5px; margin-bottom: 20px;  color:#22314a; }
.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; }

.icon-list{width: 100%; margin:0px auto; padding:50px 0px; display: flex; flex-wrap: wrap;}
.icon-list li{width:calc(100%/3); margin:0px; display:flex; flex-wrap: wrap;  align-content: flex-start; transition: all 0s ease 0s;position: relative; } 
.icon-list li figure { width:64px; height: 64px; display:flex; flex-wrap: wrap; justify-content: center;  margin: 0px;padding: 0px; border-radius:15px;background-color: #ec9722;  }
.icon-list li figure img{width: 100%;  margin:0px auto; padding:10px;}
.icon-list li figcaption{width:calc(100% - 84px); margin:0px; padding:0px 0px 0px 10px; }
.icon-list li h3 { width: 100%; font-size:2.75rem; line-height: 2.75rem; font-weight:600;  color:#ec9722;overflow: hidden; word-break: normal; word-wrap: break-word; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; position: relative; }  
.icon-list li h3 span{font-size:1.5rem; position: absolute; top:-10px;}
.icon-list li p {  width: 100%; font-size: 1rem; line-height: 1.15rem; font-weight:700; color:#ec9722;overflow: hidden;  word-break: keep-all;  word-wrap: normal; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; position: relative; }  

@media (max-width:767.98px) {
.icon-list li{width:100%; margin:0px; display:flex; flex-wrap: wrap;  align-content: flex-start; transition: all 0s ease 0s;position: relative; } 

}
/*-------------------*/
/***** product  *****/
/*------------------*/
.cms-produt-wrap{width:100%; padding:50px 0px;margin:0px auto; }
.cms-slider-nav { width: 100%;  height: auto; margin:0px auto; padding:0px;order:1;  display: block; }
.slider-nav{margin: auto;padding: 0;}
.slider-nav .slick-slider{ width: 100%; margin:0px auto; padding:0px!important;  }
.slider-nav li { width: 100%; padding:10px; margin: auto; display: flex;flex-wrap: wrap; justify-content: center;   }
.nav-item { text-align: center; width: 100%; padding-bottom: 34px; position: relative}
.nav-item:hover .nav-img {background-color: #0070bd}
.nav-item:hover .nav-img img {  filter: invert(1);  opacity: 1}
.nav-item:hover .nav-img:before { border: dashed 1px #fff; filter: grayscale(1) brightness(1) opacity(1);}
.nav-item:hover p { color: #0070bd}
.nav-img {display: flex; flex-wrap: wrap; justify-content: center; align-items: center; margin:10px auto;width: 88px;height: 88px;border-radius: 50%;background-color: #eeeeee;position: relative;}
.nav-img:before { content: ""; width: calc(100% - 16px);  height: calc(100% - 16px); display: block;  border: dashed 1px #000; border-radius:99rem; position: absolute; filter: grayscale(1) brightness(0) opacity(0.3); animation: rotateIt 20s infinite linear; transform-origin: 50% 50%;}
.nav-img img {  margin: auto;display: block;  width: 52px; height: 52px; opacity: 0.7;  }
.nav-item p{ font-size:0.875rem; color: #000; font-weight: 700; line-height: 1rem; }
 
@media (max-width:768px) {
 .slider-nav li { padding:10px 5px; margin: auto; display: flex;flex-wrap: wrap; justify-content: center;   }
   
}




@keyframes rotate {
  0% { transform: rotate(0deg) }
  to { transform: rotate(360deg)  }
}
@keyframes rotate2 {
  0% { transform: rotate(0deg) scale(1) }
  to { transform: rotate(-359deg) scale(1)  }
}

@keyframes rotateIt {
  to { transform: rotate(-360deg); }
}

.cms-main-wrap{width: 100%;  display: flex; flex-wrap: wrap; }
/*----------------------------------------/
產品清單頁  cms-main-product-item  
----------------------------------------*/
.cms-product-item { width:100%;max-width: 960px;  margin:0px auto;  padding:0px 30px; }
.cms-product-item li { width: 100%; margin:0px auto;padding: 0px; position: relative; z-index: 1; list-style: none;  transition: all 0.3s linear 0s;  }
.cms-product-item li a{ display: flex; flex-wrap: wrap; }
.cms-product-item li:hover { box-shadow:0px 5px 8px rgba(0,0,0,.05);} 
.cms-product-item li figure{  width:45%; height: auto; margin-bottom:0px; overflow: hidden; background-color:transparent;   position: relative; order: 2;  }
.cms-product-item li figure img {  width: 100%; max-width: 100%; height: auto;transition: all 0.5s ease 0s;  }
.cms-product-item li figure:hover img { transform: scale(1.1);  opacity: .85; }
.cms-product-item li .cms-product-inner{width: 55%; margin: 0px; padding:5px 30px;  display: flex; flex-wrap: wrap; justify-content: flex-start; align-content:center; align-items: center; order: 1; } 
#cms-main .cms-product-item li h3{flex: 0 0 100%; padding:0px; margin:0px 0px 20px 0px;width: 100%; font-weight:700; font-size:2rem;  line-height:2rem; color:#0070bd;  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 p{ flex: 0 0 100%;   margin:5px 0px; padding: 0px;  font-size:1rem; line-height: 1.5rem;  font-weight: 400; 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 .slick-prev{left:-20px;}
.cms-product-item .slick-next{right:-20px;}
.cms-product-item .slick-prev, .cms-product-item .slick-next{ width: 50px; height: 50px;  border-radius:50%; border: solid 1px #0070bd;}
.cms-product-item .slick-prev:before,.cms-product-item .slick-next:before{ width: 25px; height: 15px;}
 
@media (max-width: 767.98px) {
.cms-product-item li figure{  width:100%;   }
.cms-product-item li .cms-product-inner{width: 100%; margin: 0px; padding:5px;  } 
}


.cms-investor{ width: 100%; padding:50px 40px 100px 40px; margin:0px auto; position: relative; z-index: 1; background: url("../images/index/bg-2.jpg") no-repeat right bottom #0072b8; background-size:auto 100%; }
.cms-investor-box{width: 50%; display: flex;flex-wrap: wrap; justify-content: flex-start; }
.cms-investor-box .cms-title-2{ padding:50px 50px 10px 50px;}
.cms-investor-box .cms-title-2 p{ padding:10px 40px; text-align: left;} 

.cms-investor-item  { width: 100%;margin:20px 0px; padding: 0px; position: relative;  display: flex; flex-wrap: wrap;  align-self: center; transition: all 0.5s;  border: solid 1px #fff;}
.cms-investor-item li{ width:calc(100%/2) ; margin:0px; padding: 20px; border: solid 1px #fff; list-style: none;  display: flex; flex-wrap: wrap; justify-content: center; align-self: center;flex-direction: column; color: #fff;text-align: center;}
.cms-investor-item li h3{ font-size: 1rem; font-weight:600;  }
.cms-investor-item li p{ margin:3px auto; font-size: 2.35rem; font-weight: 700; color: #fff;  }
.cms-investor-item li span{font-size: 1rem; font-weight: 700; }

.cms-investor-btn{ width: auto; margin: auto;padding: 20px; color: #fff; position: relative;  display: flex; flex-wrap: wrap; justify-content: center; align-self: center; flex-direction: column; transition: all 0.5s; }
.cms-investor-btn p{color: #fff; margin-bottom: 10px; font-weight: 700; }


@media (max-width: 1024px) {
.cms-investor-box .cms-title-2 p{ padding:10px 0px; }     
}
@media (max-width: 768px) {
.cms-investor-box{width:90%; }
}
@media (max-width: 767.98px) {
.cms-investor{ padding:50px 0px 100px 0px; background: url("../images/index/bg-2-m.jpg") no-repeat right bottom #218ac8; background-size: auto 50%;  }   
.cms-investor-box{width:100%; }
.cms-investor-box .cms-title-2{ padding: 10px 0px;}
.cms-investor-box .cms-title-2 p{ text-align: center; }     
.cms-investor-item li{ padding: 20px 10px; }
}
@media (max-width: 430px) {
.cms-investor-item li p{ font-size: 1.35rem;  }
}



 /* esg style */
.cms-main-choose{ width: 100%; padding:50px 0px; margin:0px auto; position: relative; background: url("../images/index/bg-1.jpg") no-repeat left bottom; background-size: 100% auto;  }
.choose-txt{width:40%; display: flex; flex-wrap: wrap; align-content: center; }
.choose-block{width:60%; }
.choose{ width: 100%; margin: 0px auto; padding: 0px; display: flex; flex-wrap: wrap; justify-content:flex-start;  align-content: flex-start; align-items: flex-start; list-style:none;   }
.choose li{width:279px; height:279px; margin: 10px; padding:0px; position: relative;}
.choose li:nth-child(1) {  margin-right: 40%;}
.choose li a{display: flex; flex-wrap: wrap;justify-content: flex-start; position: relative; }
.choose li figure { position: relative; overflow: hidden; margin: 0px; width: 100%; background: #0070bd; text-align: center; cursor: pointer;}
.choose li figure figcaption { 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%;  }
.choose li figure figcaption > a { z-index: 1000; text-indent: 200%; white-space: nowrap; opacity: 0;position: relative;}
.choose li figure p {letter-spacing: 1px;font-size: 68.5%; position: relative; z-index: 99;}
.choose li:hover figure::after{ opacity:0; } 
.choose li figure::after{ content: ''; position: absolute; bottom: 0px; left: 0px; width: 100%; height:279px;  z-index:1; opacity:.85; } 
.choose li:nth-child(1) figure::after{background:#0070bd;} 
.choose li:nth-child(2) figure::after{background:#f8992e;} 
.choose li:nth-child(3) figure::after{background:#0070bd;} 

@media (max-width: 1024px) {
.choose li{width:220px; height:220px; }
 }

@media (max-width: 768px) {
.choose-txt{width: 70%; }
.choose-block{width:100%; }
.cms-main-choose{ padding:50px 15px 50px 80px; background-size:auto 120% ; background-position: center bottom;  }
 }


@media (max-width: 767.98px) {
.choose-txt{width:100%; }
.choose-block{width:100%; }
.choose li:nth-child(1) {  margin-right: 0;}
.choose li{width:calc(50% - 30px); height:auto;margin:10px auto;  }
.cms-main-choose{ padding:50px 0px; background-size:auto 100% ; background-position: center top;  }
 }


 /*---------------*/
/***** Bubba *****/
/*---------------*/
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: 1;}
figure.effect-bubba h2 { font-size: 2.35rem; font-weight: 700; padding-top: 50%; word-break:keep-all; word-wrap: normal; 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:hover h2  { opacity: 1; -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0);}
figure.effect-bubba figcaption::before,figure.effect-bubba figcaption::after { position: absolute; z-index: 2; top: 10px; right: 10px; bottom: 10px; left: 10px; content: ''; opacity: 1; -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 rgba(255,255,255,.5); border-bottom: 1px solid rgba(255,255,255,.5);  -webkit-transform: scale(1); transform: scale(1);}
figure.effect-bubba figcaption::after { border-right: 1px solid rgba(255,255,255,.5); border-left: 1px solid rgba(255,255,255,.5); -webkit-transform: scale(1); transform: scale(1); }
figure.effect-bubba:hover figcaption::before{opacity: 1;  -webkit-transform: scale(0,1); transform: scale(0,1);}
figure.effect-bubba:hover figcaption::after {opacity: 1; -webkit-transform: scale(1,0); transform: scale(1,0);}
 
@media (max-width: 1024px) {
 figure.effect-bubba h2 { font-size: 1.875rem; }
}

 @media (max-width: 767.98px) {
 figure.effect-bubba h2 { font-size: 1.15rem; }
}
 
.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: 0 auto; font-size: 2.5rem; font-weight:700;text-align: center;  color:#0070bd;  }
.cms-title h2{  width: auto;  margin:auto; font-size: 1.75rem; color:#000; font-weight:600;   }
.cms-title h3{ margin:10px auto; font-weight: 700; color:#bea570;  }
.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; line-height: 3rem; font-weight: 700; text-align:center;color:#0070bd;  }
.cms-title-2 h3{ width: auto; margin:15px 20px; font-size: 1.15rem; font-weight: 600; text-align:center;color:#0070bd!important;  }
.cms-title-2 p{ width: auto; margin:0px auto; font-weight:700; color: #22314a; text-align:center;   }
@media (max-width: 1024px) {
.cms-title-2 h2,.cms-title-2 h3,.cms-title-2 p{text-align:left; margin:0px auto;}
}

@media (max-width: 767.98px) {
.cms-title-2 h2,.cms-title-2 h3,.cms-title-2 p{text-align:center;  }
}


/*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: #0070bd; position: relative; }
.cms-title-3 h2{ width: auto; margin:0px; font-size: 2.15rem; font-weight: 700; color:#0070bd!important;  }
.cms-title-3 p{ width: auto; margin:0px auto; font-size: .9rem; line-height: 1.35rem; font-weight: 700; color: #22314a;    }

/*---------------*/
/***** btn *****/
/*---------------*/
.cms-btn-btnbox {position: relative;z-index:9; display: flex;  justify-content: center;  width: 100%; height: auto; margin:0px auto;  transition: all 1s;}  
.cms-btnbox {position: relative;z-index:99; display: flex;  justify-content: center;  width: 100%; height: auto; margin:20px auto 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: -30px; right: 0; bottom: auto; left: 0; margin:auto; width :20px; height: 44px;z-index: 9;}
.mousey { width: 2px; padding: 5px 8px; height: 24px; border: 1px solid #0070bd; 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:#0070bd;}
.scroller { width: 2px; height: 8px; border-radius: 25%; background-color:#0070bd; 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 #0070bd;  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: #0070bd;  -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-txt { font-size: 14px; line-height: normal; letter-spacing: normal }
}


/*cms-btn Styles 1===*/
.cms-btn-01 { cursor: pointer; width:200px; height:2.75rem; padding:0px 30px; line-height:2.75rem; display: block; margin: 0; position: relative; box-shadow: 0px 0px 17px 1px rgba(0, 0, 0, 0.34); background:#0070bd;z-index: 1;  }
.cms-btn-01 span { display: block;  transform-origin: center left; transition: color 0.3s ease;position: relative;z-index:1; font-weight: 700; color: #fff;}
.cms-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;   }
.cms-btn-01:before,.cms-btn-01:after {content: '';background:#ec9722;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:translateX(20px);}

/*cms-btn Styles 2===*/
#cms-main a.cms-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 #0070bd; 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:#ec9722; }
.cms-btn-02:hover::before, .cms-btn-02:hover::after{border-color: #0070bd; -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;}
.cms-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;}
.cms-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;   }
.cms-btn-02:hover em{ transform:translateX(10px);}

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

 
