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



/** 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; }
 

/**banner=================================*/
.cms-main-banner {  max-width:100%; height: auto; margin:0px auto; padding:0px 40px 30px 40px; position: relative; z-index: 2;  }
.cms-main-banner .imgSliderBox { position: relative; z-index:0;width: 100%; display: flex; flex-wrap: wrap; }
.cms-main-banner img{ display: block; width: 100%; max-width: 100%;  height: auto; position: relative;  -webkit-animation: zoom 6s ease-in-out; -moz-animation: zoom 6s ease-in-out; -o-animation: zoom 3s ease-in-out; -ms-animation: zoom 6s ease-in-out; animation: zoom 6s ease-in-out;animation-iteration-count:infinite;}
.slider-item { width: 100%; position: relative; z-index:2; }
.slider-item-img img { display: block;  }
.cms-main-banner .cms-sloga {max-width: 710px;  position: absolute; z-index: 9; left: 100px; top: 200px; }   
.cms-main-banner .cms-sloga h2 {margin: 0 0 20px 0; display: block; font-size: 64px; max-width: 710px; line-height: 66px; text-transform: uppercase;   font-weight:700;color:#fff; word-wrap:normal;word-break:normal; }
.cms-main-banner .cms-sloga h3 { margin: 0;  display: block;  text-transform: uppercase; font-size: 24px;  line-height: 26px;color:#fff;  margin-bottom: 23px; }

@media (min-width:991px) and (max-width:1100px) {
.cms-main-banner {  padding:0px 25px 30px 25px;  }
}

@media (min-width:1200px) {
.cms-main-banner .cms-sloga {}    
}
@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;  }    
.cms-main-banner .cms-sloga { width:80%; max-width: 600px; position: absolute; left:20px; top:35%;  }    
.cms-main-banner .cms-sloga h2 { font-size:2.5rem;line-height:2.5rem; margin-bottom: 15px; width: 100%;height: auto;  }
.cms-main-banner .cms-sloga h3 {font-size:1.75rem; }
.cms-main-banner .cms-sloga p { width: 100%; display: none;  }
.type { animation:none; }
.animated.type { animation:none;}
} 
@media (max-width: 767px) {
.cms-main-banner .cms-sloga {left:20px; top:55%;  }    
.cms-main-banner .cms-sloga h2 { font-size:1.75rem;line-height:1.75rem;  margin-bottom: 5px; }
.cms-main-banner .cms-sloga h3 {font-size:1.063rem; }
}
 
/* 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-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 10px; }
}
.cms-main-about-item {width:100%; height: auto; margin-top:0px;  padding:0px 10px;  display: flex; flex-wrap: wrap; align-content: flex-start; align-items: flex-start; }
.cms-main-txt{width: 100%; margin:0 auto; padding: 0px 20px 0px 0px; display: flex; flex-wrap: wrap; position: relative; z-index: 1;}
#cms-main .cms-main-txt p { width: 100%; font-size:0.9375rem; font-weight:400; line-height: 1.5rem;  margin-bottom: 26px;  }
#cms-main .cms-main-txt 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-main-about-card { width:100%;  margin:0px; padding:0px; display: flex; flex-wrap: wrap; align-items: center;position: relative; }
.cms-main-about-card .item{ width: 100%; max-width: 100%; margin:0px; padding: 30px 0px 0px 0px ; height: auto }
.cms-main-about-card .item img{ margin: 0px;  padding:10px; }

@media (max-width: 768px) {
 .cms-main-txt{ padding:0px; }
}




 /*----------------------------------------/
產品清單頁 .cms-item 
----------------------------------------*/


 .item-tag { display: flex; flex-wrap: wrap; flex-direction: row; bottom:0px; left: 0px;  width: auto;padding: 0px 10px; font-size: 0.875rem; 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;  position: absolute;opacity: 0; }
.item-tag-01{ background:#000;}
.item-tag-02{ background:#999;}

.cms-item {width: 100%;  margin:0px auto;  padding:0px; display: flex;  flex-wrap: wrap; position: relative; z-index: 1; }
.cms-item li{ display: flex; flex-direction: column;  width: calc(100%/3 - 30px); padding:0px; margin:20px 15px ; box-sizing: border-box;  overflow: hidden; list-style: none;  transition: all 0.5s ease 0s; position: relative; }
.cms-item li:hover .item-tag {opacity: 1; }
.cms-item figure img {width: 100%; position: relative; overflow: hidden;  background-color:#f5ecec; transition: all 0.5s ease-in-out;}
.cms-item figure:hover img { opacity: .5;border-color: #df7475;  transform: scale(1.15); }
.cms-item figure {background: #333;  position: relative; overflow: hidden;  }
.cms-item-box { display: flex; align-items: center; flex-wrap: wrap;  }
.cms-item-box .date,.cms-item-box.category { font-size: 12px; letter-spacing: 0.06em; color: #000; }
.cms-item-box .category {  position: relative;  margin-left: 5px; padding-left: 5px; text-transform: uppercase;}
.cms-item-box .category::before {  content: "";  position: absolute; left: 0; margin-top: 10px;  width: 1px; height: 12px; background-color: #aaa;}

 
.cms-item-inner {position: relative;  width: 100%; margin: 0;  padding:20px 30px; box-sizing: border-box;display: -ms-flexbox; display: flex; flex-wrap: wrap;    color: #4c4c4c; font-size: 14px; font-weight: 400;   }
.cms-item-inner h3 {position: relative;width: 100%; height:50px; font-size:0.9375rem; font-weight:500; line-height: 1.5rem; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: break-word;}
.cms-item-inner h3 a{ color:#000; }


.cms-product-inner{width: 100%;padding: 10px 22px; margin: 0px; display: flex; flex-wrap: wrap;align-content: center; align-items: center; transition: all 0.3s linear 0s; } 
#cms-main .cms-product-inner h3{flex: 0 0 100%; margin:5px 0px; min-height: 43px; font-size:1.313rem; line-height:1.5rem; font-weight:700;  color:#000; overflow: hidden; word-break:normal;  word-wrap:normal;text-overflow: ellipsis; display: -webkit-box;  -webkit-line-clamp: 2;  -webkit-box-orient: vertical; }
#cms-main .cms-product-inner p{ flex: 0 0 100%; margin: 10px 0px;  padding: 0px; font-size:0.9rem; line-height: 20px; font-weight: 400;  color:#000;  overflow: hidden;word-break: keep-all;   word-wrap: normal; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;} 

@media (max-width: 768px) {
.cms-product-inner{ padding: 10px 15px;  } 
.cms-item-inner { padding: 10px 15px;  }
#cms-main .cms-product-inner h3{ font-size: 115%;  line-height:115%;  }
    
}


@media (max-width: 767px) {
 .cms-item li{ display: flex; flex-direction: column;  width: calc(100%/2 - 10px); padding:0px; margin:20px 5px ; box-sizing: border-box;  overflow: hidden; list-style: none;  transition: all 0.5s ease 0s; position: relative; }   
.cms-product-inner{ padding: 10px 0px;  } 
.cms-item-inner { padding: 10px 0px;  }
 #cms-main .cms-product-inner p{ font-size:0.875rem; } 
}


.cms-item li figure > * {  -webkit-transform: translate(0%); -ms-transform: translate(0%);  transform: translate(0%); -webkit-transition: 1s; -o-transition: 1s; transition: 1s; }
.cms-item li figure div {position: absolute;top: 0;left: 0;width: 100%;height: 100%;background: rgba(0, 0, 0, 0.7);opacity: 0;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;  -webkit-box-align: center; -ms-flex-align: center; align-items: center;}
.cms-item li figure div span { height: 60px; width: 60px; border: 4px solid #fff; border-radius:99rem; display: inline-block; position: relative;}
.cms-item li figure div span:before, .cms-item li figure div span:after { position: absolute;  content: '';  width: 60%; height: 4px; left: 50%; top: 50%; background:#fff; -webkit-transition: .5s; -o-transition: .5s; transition: .5s; -webkit-transform-origin: 50% 50%; -ms-transform-origin: 50% 50%; transform-origin: 50% 50%;  -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%);
}
.cms-item li figure div span:after { -webkit-transform: translate(-50%, -50%) rotate(90deg); -ms-transform: translate(-50%, -50%) rotate(90deg); transform: translate(-50%, -50%) rotate(90deg); }
.cms-item li figure:hover div { opacity: 1; }
.cms-item li figure:hover div span:before { -webkit-transform: translate(-50%, -50%) rotate(90deg);  -ms-transform: translate(-50%, -50%) rotate(90deg); transform: translate(-50%, -50%) rotate(90deg); }
.cms-item li figure:hover div span:after {  -webkit-transform: translate(-50%, -50%) rotate(180deg); -ms-transform: translate(-50%, -50%) rotate(180deg); transform: translate(-50%, -50%) rotate(180deg); }

 /*----------------------------------------/
圖片斜邊
----------------------------------------*/
/*.cms-item li figure:after{ content: ''; right: 0; bottom: -1px; left: auto; bottom: 0; position: absolute; width: 0; height: 0;  border-style: solid; border-width: 0 0 50px 50px; border-color: transparent transparent #fff transparent;}*/

 /*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;}

}

 /*---------------*/
/***** btn *****/
/*---------------*/
.icon-next{background: url("../images/icon/arrow-right-2.svg") no-repeat left 0px;  background-size:100% auto;}
.icon-next-bk{background: url("../images/icon/arrow-right-b.svg") no-repeat left 0px;  background-size:100% auto;}

.cms-btn { width: auto; height: 28px; padding: 10px 40px; font-weight: 500; text-decoration: none; border: 1px solid #fff; 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;  }
a.cms-btn { color: #000;  }
.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-left: 10px; width:30px; height: 20px; -webkit-transition: -webkit-transform .2s;  transition: -webkit-transform .2s; transition: transform .2s; transition: transform .2s, -webkit-transform .2s}
.cms-btn:hover i{ -webkit-transform: translateX(15px); transform: translateX(15px)}

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

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




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

/*cms-btn Styles 4====*/
.cms-btn-btnbox {position: relative;z-index:1; display: flex;  justify-content: flex-start;  width: 100%; height: auto; margin:20px 0px;  transition: all 1s;}
