/* 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;  }
.color-blue{color: #215285!important;  }
.color-orange{color: #ffa907!important;  }

.txt-stork { -webkit-text-stroke: 1px #c2c3c4;  -webkit-text-fill-color: transparent;}
.wrapper { position: relative; display: block; margin:0px auto; padding: 0px 20px; width: 100%;  max-width: calc((100% - 40px)/12*12 + 40px); }
@media (min-width:1025px) {
.wrapper { padding-right: 40px; padding-left: 40px;   }
}
@media (min-width: 1201px) and (max-width: 1400px) {
.wrapper { padding-right: 20px; padding-left: 20px; max-width: 100%;}
}
@media (min-width: 1401px) {
.wrapper { padding-right: 80px; padding-left: 80px; max-width: 1440px; }
}
.wrapper-full { position: relative; display: block; margin:0px auto; padding: 0px 20px; width: 100%;  max-width: calc((100% - 40px)/12*12 + 40px); }
@media (min-width:1025px) {
.wrapper-full { padding-right: 40px; padding-left: 40px;   }
}
@media (min-width: 1201px) and (max-width: 1400px) {
.wrapper-full { padding-right: 20px; padding-left: 20px; }
}
@media (min-width: 1401px) {
.wrapper-full { padding-right: 100px; padding-left: 100px;   }
}

.banner{background:#fff;  margin-top: 0px;position: relative; }

.main-slider .slick-dots{ position: absolute; bottom:0px;}
@media (max-width:767.98px) {
 
}
.banner .item { width: 100%; height:auto;position: relative; overflow: hidden;}
 /*mixin */
.slide-content-headings, .slick-slide::before, .slick-slide { -webkit-backface-visibility: hidden; backface-visibility: hidden;}

.main-slider { position: relative; width: 100%;  height:auto;  margin-bottom: 0; opacity: 0;  overflow: hidden;visibility: hidden; -webkit-transition: all 1.2s ease;  -moz-transition: all 1.2s ease; -o-transition: all 1.2s ease; -ms-transition: all 1.2s ease; transition: all 1.2s ease; }

.main-slider.slick-initialized { opacity: 1; visibility: visible;}
.main-slider .slick-dots li button:before{background-color:#ffa908 }

.slick-dotted.slick-slider { margin-bottom: 0;}
.slick-slide { position: relative;}
.slick-slide::before { background-color: #000000; opacity: 0.3; z-index: 1;}
.slick-slide video { display: block;  position: absolute; top: 50%; left: 50%; min-width: 100%; min-height: 100%; width: auto; height: auto;  -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -o-transform: translate(-50%, -50%); transform: translate(-50%, -50%);}
.slick-slide iframe { position: relative; pointer-events: none;}
.slick-slide figure { position: relative; height: 100%; margin: 0; overflow: hidden; }
 
.slick-slide .slide-image { opacity: 0; height: 100%; background-size:cover; background-position: center;  -webkit-transition: all 0.8s ease; -moz-transition: all 0.8s ease; -o-transition: all 0.8s ease; -ms-transition: all 0.8s ease; transition: all 0.8s ease;}
.slick-slide .slide-image.show {  opacity: 1;}
.slick-slide .image-entity { height:100vh; opacity: 0; overflow: hidden; visibility: hidden;}

.slick-slide .loading { position: absolute; top: 44%; left: 0; width: 100%;}
.slick-slide .slide-media { animation: slideOut 0.4s cubic-bezier(0.4, 0.29, 0.01, 1);}
.slick-slide.slick-active { z-index: 1;}
.slick-slide.slick-active .slide-media {  animation: slideIn 2.4s cubic-bezier(0.4, 0.29, 0.01, 1);}
.slick-slide.slick-active .slide-content-headings { opacity: 1;  -webkit-transform: translateY(0); -moz-transform: translateY(0); -ms-transform: translateY(0);  -o-transform: translateY(0); transform: translateY(0);  transition: all 0.7s cubic-bezier(0.32, 0.34, 0, 1.62) 0.6s;}

.slide-content-headings { position: relative; padding:0px 40px; border-left: 3px solid #fff; opacity: 0; z-index: 1; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; -ms-transition: all 0.3s ease; transition: all 0.3s ease;  -webkit-transform: translateY(100px); -moz-transform: translateY(100px); -ms-transform: translateY(100px); -o-transform: translateY(100px);  transform: translateY(100px);}
 
.slide-content { width: 55%; position: absolute; left: 20%; top:40%;text-transform: uppercase; transform: translate(-20%, -40%); z-index: 999;}
.slide-content-headings h2 { font-size: 4.5rem; font-weight:700; line-height:3.5rem; color:#fff; margin:0px 0px 10px 0;letter-spacing: 2px; word-wrap: normal; text-shadow: 1px 2px 2px rgba(0,0,0,.2) }
.slide-content-headings h3 { font-size: 1.75rem; font-weight:700; line-height:2rem; color:#cddc39;  margin:0px 0px 30px 0;letter-spacing: 2px;  word-wrap: normal; }
.slide-content-headings p { font-size:1.5rem; font-weight:700; line-height:2rem;color:#fff;  letter-spacing: 1px; word-wrap: normal; text-shadow: 1px 2px 2px rgba(0,0,0,.2)  } 
.slide-content-headings span { font-size:1.125rem; font-weight:400; line-height:1.375rem;color:#fff;  letter-spacing: 1px; word-wrap: normal; text-shadow: 1px 2px 2px rgba(0,0,0,.2)  } 

@media (max-width:1160px) {
.slide-content-headings h2 { font-size: 2rem; line-height:2.5rem;  margin-bottom: 20px; }
.slide-content-headings h3 { font-size: 2rem; line-height:2.5rem;}
.slide-content-headings p { font-size:1.15rem;  }
}
@media (max-width:840px) {
.slide-content { width: 90%;  top:45%;  left:30%; transform: translate(-30%, -75%);}
.slide-content-headings h2 { font-size: 2rem; margin-bottom: 20px; }
.slide-content-headings h3 { font-size: 2rem;  }
.slide-content-headings p { font-size:1.5rem;  }
}
@media (max-width:767.98px) {
.slide-content-headings { position: relative; padding:0px 20px;}	
.slide-content { top:65%;  left:30%; transform: translate(-30%, -65%);}
.slide-content-headings h2 { font-size: 1.5rem;  line-height:1.5rem;  margin-bottom: 10px; }
.slide-content-headings h3 { font-size: 1.15rem;  line-height:1.5rem;   }
.slide-content-headings p { font-size:1rem;line-height: 1.35rem;  }
}

@media (max-width:640px) {
.slide-content {top:45%;  left:30%; transform: translate(-30%, -65%);}
}


@media (max-width:320px) {
.slide-content {top:35%;  left:30%; transform: translate(-30%, -35%);}
.slide-content-headings { position: relative; padding:0px 0px 0px 20px; }
.slide-content-headings h2 { font-size: 1.375rem; line-height:1.375rem; margin: 10px 0px; }
.slide-content-headings span {display: none   } 
	
}




@keyframes slideIn {
  from {
    filter: url(blur.svg#blur);
    filter: blur(15px);
    -webkit-filter: blur(15px);
    filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius="10");
  }
  to {
    filter: url(blur.svg#blur);
    filter: blur(0);
    -webkit-filter: blur(0);
    filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius="10");
  }
}
@keyframes slideOut {
  from {
    filter: url(blur.svg#blur);
    filter: blur(0);
    -webkit-filter: blur(0);
    filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius="10");
  }
  to {
    filter: url(blur.svg#blur);
    filter: blur(15px);
    -webkit-filter: blur(15px);
    filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius="10");
  }
}
 
@-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); }
}

.text-content{ width: 100%; font-weight: 700; font-size:2rem!important; margin-bottom: 10px; color: #000!important; }
.text-content:first-letter{ color:#e60012;}
@media (max-width: 1199.98px) {
.text-content {  font-size:1.5rem!important;  }
}
@media (max-width:767.98px) {
.text-content{ font-size:1.25rem!important; margin-bottom: 5px;  }   
}
 
.title {  width: 100%; margin:0px   auto; padding: 0px;   position: relative;z-index: 9; } 
.title h1,.title h2{ font-size: 2.375rem; font-weight:700; color: #353333;   }
.title span{ font-size: 1.375rem; font-weight:700; color: #0b1f8f;   }

@media (max-width:1160px) {
.title {  width: 120%;   } 
.title h1,.title h2{ font-size: 2rem; line-height: 1.875rem;  }
}

@media (max-width:1024px) {
.title {  width: 100%; margin: auto;  } 
}

@media (max-width:767.98px) {
.title { margin:0px auto;  }  
.title h1,.title h2{  font-size: 1.5rem;   }    
}
@media (max-width:320px) {
.title h1,.title h2{  font-size: 1.175rem; line-height: 1.5rem;   }        
}

.main-about{ position: relative; margin:0px; padding:0px; background-color:#f8f8f8; }
.main-about .animated {  -webkit-animation-duration: 1.5s; animation-duration: 1.5s; transition: opacity 0.5s ease 0.3s;}

.about-wrap{ display: flex;flex-wrap: wrap; align-self: stretch;overflow: hidden}

.block {width:50%; height: auto;margin: 0; padding:0px;    }
@media (max-width:992px) {
.block {width:100%;margin: 0px; padding: 0px; }  
}
 
.block-pic {width:50%; height: auto;margin: 0; padding:0px; background-size: cover; object-fit: cover; position: relative;  }
@media (max-width: 992px) {
.block-pic {width:100%;  margin: 0; padding:0px;  }
}
 
 
.block-2col{width:100%;  position: relative }
.block-2col .title {  width:100%;   padding:0px 40px; margin:15% auto auto auto; }
.block-2col .block-blue{  width:100%; min-height:50vh;  padding:50px 40px; margin:0px;position: absolute; left:0px; top:20vh;}
@media (max-width:1366px) {
.block-2col .block-blue{  top:15vh;}
}

 @media (max-width: 1024px) {
.block-2col .block-blue{  padding:20px 40px;  }	 
}
 @media (max-width:840px) {
.block-2col .title { padding:0px 30px; margin:5% auto auto auto; }
}

 @media (max-width:767.98px) {
.block-2col .title { padding:0px 20px;   }
}



.block-2col .block-blue{background-color: #0b1f8f}
 @media (max-width:767.98px) {
.block-2col .block-blue{background-color:transparent}	 
}
.block-2col .block-blue p{color: #fff}

.block-txt{width:80%; margin: auto; padding:20px; word-wrap: normal; position: relative;z-index: 1;   }
.block-txt p { font-size:1rem;  line-height:1.5rem; font-weight: 400;  padding:5px; margin-bottom: 10px;  }
.block-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: #fff; }



 @media (max-width: 1280px) {
.block-txt{width:100%; padding:20px; margin:20% auto auto 10%; }
}
 @media (max-width: 1160px) {
.block-txt{ margin:20% auto auto auto;  }
}

 @media (max-width: 1024px) {
.block-txt{ margin:1% auto;}
.block-txt p { line-height: 1.375rem; padding:0px; margin-bottom: 10px;  }	 
}

@media (max-width:840px) {
.block-txt{ padding: 0px 30px 20px 30px;}   
}
@media (max-width:767.98px) {
.block-txt{ margin:20px 0px; padding: 0px 20px;}   
}
@media (max-width:320px) {
.block-txt p { font-size:.9rem;  line-height:1.375rem;   }
}
 .block-box{ width: 50%; margin:auto;  }
.post-btn{ margin-top:30px; }
 @media (max-width:840px) {
 .block-box{ width: 100%; }	 
}
 
/***** product  **** 
=================================*/
.produt-wrap{width:100%; padding:0px;margin:0px auto; }
@media (max-width: 1440px) {
.produt-wrap{ padding:20px 0px;  }
}
@media (max-width: 1024px) {
.produt-wrap{padding:30px 0px; }
}

.produt-wrap .title-2{ width: 60%; margin: auto; text-align: center}
@media (max-width: 767.98px) {
.produt-wrap .title-2{ width: 100%;  }
}
/*----------------------------------------/
產品總覽頁Product
---------------------------------------- */
.bg-product{padding:40px 30px; background: url("../images/index/bg-c.png")  no-repeat left top ; background-size:70% auto ; position: relative;z-index: 0; }
.bg-product:after{ content: "";width: 100%; height: 50vh;  left:0px; top:0px;background: url("../images/index/bg-line.png") repeat left top; background-size:70% auto; position: absolute;z-index: -1; }
 
@media (max-width: 767.98px) {
.bg-product{padding:40px 0px;}	
}


/*--分類new-tag --*/
.product-item .new-tag {  width: auto; padding:5px 14px; font-size: 1rem; color: #fff;  text-transform: capitalize;  word-break: keep-all;  position: absolute; z-index: 99;left:0px; top:0px;  background-image: linear-gradient(135deg, #1c73e8 10%, #215285 100%);border-radius:30px 0px 30px 0px;  }
.product-item .new-tag a{color:#fff;}
.product-item .new-tag-red {  background-image: linear-gradient(135deg, #E91E63 10%, #e91e1e 100%); }
@media (max-width:992px) {
.product-item .new-tag {  width: auto; padding:5px 14px; font-size: .75rem; left:auto; right:0px; top: 0px; border-radius:0px 20px 0px 20px;   }
}


.product-item { width:100%; margin:0px auto;  padding:20px 0px; display: flex; flex-wrap: wrap; position: relative; }
.product-item li { width: calc( 100%/3 - 20px); margin:40px 10px 40px 10px; padding:0px ; display: flex; flex-wrap: wrap;align-self: flex-start;  align-content: flex-start; align-items: flex-start; z-index: 1; list-style: none;  transition: all 0.3s linear 0s; position: relative;   }
.product-item li figure{  width: 100%; padding-bottom:100%; height: 0; overflow: hidden; position: relative; z-index: 1; transition: all 0.5s ease 0s;  border-radius:30px;  background-image: linear-gradient(to top, #d8e1e9 0%, #fff 100%);}
 @media (max-width:992px) {
.product-item li figure{ border-radius:20px;  }
}

 @media (max-width:767.98px) {
.product-item { width: calc( 100% + 40px); margin:0px -20px;   }	 
.product-item li figure{ border-radius:20px;  }
}


.product-item li figure::before { content: ""; position: absolute;  top: -50%; width: 100%; height: 100%; background:#b2bcc8; transform: skewY(345deg); transition: 0.5s;}
.product-item li figure:hover::before { top: -70%; transform: skewY(390deg);}
.product-item li figure::after { content: attr(data-content); position: absolute;  bottom: 0; left: 0; font-weight: 600; font-size: 3em; color: rgba(0, 0, 0, 0.1);}


/*--橫式樣式--*/
.product-item li.photo-v figure{  width: 100%; padding-bottom:50%; height: 0; overflow: hidden; position: relative; z-index: 1; transition: all 0.5s ease 0s;  }
.product-item li:hover img { transform: scale(1.05);  opacity: 1; }
.product-item li:hover figure{ background-image: linear-gradient(to bottom, #d8e1e9 0%, #fff 100%); }
.product-item .inner{  width: 100%;  padding: 10px 0px; position: relative;} 
.product-item .inner h3{ width: 100%;margin: 10px 0px; font-weight:700; font-size: 1.375rem;  color:#000; line-height:1.5rem;overflow: hidden;white-space: pre-line;word-break:normal; word-wrap:break-word; text-overflow: ellipsis;  display: -webkit-box;  -webkit-line-clamp: 3;  -webkit-box-orient: vertical; }
.product-item .inner a h3 {  color:#172987; }
.product-item .inner a p{ width: 100%; margin:5px 0px; font-size: 1rem; line-height: 1.375rem; font-weight: 400; color:#312927;  overflow: hidden; white-space:pre-wrap;word-break:normal; word-wrap:break-word; text-overflow: ellipsis;  display: -webkit-box;  -webkit-line-clamp: 3;  -webkit-box-orient: vertical;} 
.product-item .inner-txt{min-height: 68px;  font-size: .875rem;  line-height: 1.35rem;color:#312927; overflow: hidden;white-space: pre-line;word-break:normal; word-wrap:break-word; text-overflow: ellipsis;  display: -webkit-box;  -webkit-line-clamp: 3;  -webkit-box-orient: vertical; }
.product-item li:hover a h3,.product-item li:hover a p{color: #ffa908;}



.product-item .slick-prev{ top:20vh; left:-50px }
.product-item .slick-next{top:20vh; right:-50px}
.product-item .slick-dots{bottom:0px;}




 /*-------------------*/
/***** 最新消息 *****/
/*------------------*/
 
.news{  margin:  auto; padding: 50px 0px; position: relative;  background: #0b1f8f}
.news .title-2 span,.news .title-2 h2,.news .title-2 p{ color: #fff;  }
.news .title-2{text-align: center}

@media (max-width: 1024px) {
.news{    padding: 50px 0px 0px 0px;  }	
}
@media (max-width: 840px) {
.news{  margin:auto; padding: 20px 0px 20px 0px; }    
}
 


.news-wrap{padding: 0px 0px 50px 0px;}
@media (max-width: 1160px) {
 .news-wrap{padding: 50px 0px;}
}



.news-list{width: 100%; margin: 0px auto; padding:50px 0px 0px 0px; position: relative;z-index: 1  }
.news-list li{ width:calc(100% - 40px); margin:50px 20px; box-sizing: border-box; list-style: none; transition: all 0.5s ease 0s; }
.news-list figure  {width: 100%; padding-bottom: 100%; height: 0; margin-top: -50px; overflow: hidden; position: relative;  z-index: 1; transition: all 0.5s ease 0s; transition: all 0.5s ease-in-out;}
.news-list figure img { max-width:100%; height: auto; object-fit: cover; margin: auto; display: block; border-radius:30px;  transition: all 0.5s ease-in-out;}
.news-list .item  {width:100%; height: auto; padding:10px; background-color: #fff; border-radius:30px;position: relative;z-index: 1;}
.news-list .news-pic  {width:100%; height: auto; padding: 0px; position: relative; border-radius:30px; }
.news-list .news-box {position: relative;width: 100%; margin:0px;padding: 10px;  box-sizing: border-box;  }
.news-list .news-box .inner-txt h3 {position: relative;width: 100%;padding: 0px 0px 0px 6px;  margin:0px 0px 15px 0px; font-size:1.188rem; line-height:1.5rem; font-weight:400; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp:3; -webkit-box-orient: vertical; overflow-wrap: break-word; }
.news-list .news-box .inner-txt h3:after { content: ""; height: 20px; width: 2px; position: absolute; left:0px; top:3px; background-color:#0b1f8f }
.news-list .inner-box{ margin-top: 5px; text-align: right}
.news-list a h3 { color:#1f4788; }

.news-list .inner-box .new-tag { width:auto;; font-size: 0.875rem; font-weight:400;position: relative; }
.news-list .inner-box .new-tag a{color:#1e88c9; padding:5px 10px;  border: solid 1px #1e88c9; border-radius:15px;   }
.news-list .inner-box .new-tag a:hover {color:#fff; background:#1e88c9;}

@media (max-width: 768px) {
.new-tag {  font-size: 0.75rem; }  
.new-tag a{  padding:2px 10px;    }
	
}



 @media (max-width: 1024px) {
.news-list{ padding: 0px;   }
}
@media (max-width: 768px) {
.news-list .news-box{ padding:0px; }   
}
@media (max-width: 767.98px) {
.news-list li{ width:calc(100% - 20px); margin:50px 10px 10px 10px;  }	
.news-list .item  { border-radius:15px;}
.news-list .list-box{ height: 100px; margin:20px auto auto auto; padding:0px;  box-sizing: border-box;   cursor: pointer }  
.news-list .news-box .inner-txt h3  {  margin:0px; font-size:1rem; line-height: 1.275rem;}    
 }
 .view { width: 100%; display: flex; flex-wrap: wrap; justify-content: flex-end;  }
 .view span { display:flex; margin: 2px;  width:6px; height:6px; background-color:#0b1f8f;}

/*  hover*/
.news-list li:hover{  }
.news-list li:hover h3,.news-list li:hover p{ color:#ffa908; }
.news-list li:hover .new-tag a{ color:#fff; border: solid 1px #ffa908; background-color:#ffa908  }
.news-list li:hover .view span {background-color:#fff;}
.news-list li:hover .news-box .inner-txt h3:after {  background-color:#ffa908 }
.news-list .slick-dots li button:before{background-color:#ffa908 }


/* ==== 底圖 === */
.bg-background { width: 100%; background-image: attr(src url); background-repeat: no-repeat; background-size: 100% auto;background-position:left bottom; position: absolute;z-index: 0; top:0px; left: 0; right: 0; bottom: 0; line-height: 0;   }
 



.core{  margin:0px; padding:40px 0px; position: relative;  background-color:#f4f6ff  }
.core-wrap{ display: flex;flex-wrap: wrap; position: relative; z-index:2 }
.core-block {width:50%; height: auto;margin: 0; padding:30px 30px 50px 30px;    }
.core-block p{ margin-bottom:20px; line-height: 1.5rem; font-weight: 400;font-size: 1rem; font-size: min(max(3.5vw, .9rem), 1rem);}
.bg-core { width: 100%; background-image: attr(src url); background-repeat: no-repeat; background-size: 100% auto;background-position:right bottom; position: absolute;z-index: 1; top:0px; left: 0; right: 0; bottom: 0; line-height: 0;   }

@media (max-width:1024px) {
.core-block { padding:0px 30px; }
}
@media (max-width: 767.98px) {
.core-block {width:100%; padding:30px 0px; }
	
}

.icon-list{width: 100%; margin:auto; padding:40px 0px; display: flex; flex-wrap: wrap;  align-items: center; }
.icon-list li{width:calc(100%/2 - 10px); margin:30px 0px 30px 10px; display:flex; flex-wrap: wrap; align-items: center;  transition: all 0s ease 0s;position: relative; } 
.icon-list li figure{width: 25%}
.icon-list li .inner{width:calc(75% - 10px); padding-left: 10px}
.icon-list li h3 {  font-size:1.15rem; line-height: 1.75rem; font-weight:400;   }  
@media (max-width:840px) {
.icon-list{ padding:30px 0px 30px 30px; }
.icon-list li{width:100%; margin:0px 0px 15px 0px;  } 
}

@media (max-width:767.98px) {
.icon-list{ padding: 0px; }	
}



.main-contact{   margin:0px; padding:0px; overflow: hidden;position: relative;z-index: 0;background-color:#fff;  }
.contact-wrap{width: 100%;  margin: auto; display: flex; flex-wrap: wrap; justify-content: space-between; position: relative; }
.contact-detail{width:50%;  margin: auto; display: flex; flex-wrap: wrap; align-items: center   }
.contact-box{ width:calc(100% - 50%);align-items: center  }
 @media (max-width: 840px) {
.contact-detail{width:100%;  padding: 20px;  }
.contact-box{ width:100%; }
}
/* ==== 底圖 === */
.bg-contact { width: 50%;  background-image: attr(src url); background-repeat: no-repeat; background-size:cover; background-position:left bottom; position: absolute;z-index: -1; top:0px; left: 0; right: 0; bottom: 0; line-height: 0;  }
 
@media(max-width: 840px) {
.bg-contact {  width: 100%;  }
}
/*----------------------------------------/
title樣式5
----------------------------------------*/
.title-h2-sub{ width: 80%; margin: auto; padding: 0px 70px; }
.title-h2-sub h2{ margin-bottom: 30px; font-size: 2.75rem;  font-size: min(max(3.5vw, 1.75rem), 2.75rem);  line-height: 130%;font-weight: 700; letter-spacing: 3px; color: #fff; text-transform:uppercase}
.title-h2-sub span{  font-size: 1.375rem;font-size: min(max(3.5vw, 1rem), 1.375rem); line-height: 130%;font-weight: 400; color: #fff; text-transform:uppercase  }
.title-h2-sub p{ font-size:1.125rem;  font-size: min(max(3.5vw, 1rem), 1.125rem); line-height:1.5rem; font-weight:400;color: #fff; }
 @media (max-width: 998px) {
.title-h2-sub{text-align: left; padding-left: 20px;} 
}
 @media (max-width: 840px) {
.title-h2-sub{ width: 100%;  padding: 0px 20px; }	 
}
 @media (max-width: 640px) {
.title-h2-sub{  padding: 0px; }	 
.title-h2-sub p{ line-height:1.375rem; }
}

/*----------------------------------------/
form
----------------------------------------*/
.contact-form{width:100%;margin: auto; padding:50px 0px;}
.contact-form input, .contact-form option, .contact-form select, .contact-form textarea { font-size: 1.15rem;background: #fff; border: 1px solid #dfe0e8;  border-radius: 10px;}
.contact-form select, .contact-form input, .contact-form option, .contact-form textarea, .contact-form input[type=radio] + label, .contact-form input[type=checkbox] + label {font-size: 1.15rem;transition: all 0.5s; box-sizing: border-box;outline: none;}
.contact-form ul {width: 100%; margin: auto;  padding:0px 60px; display: flex; flex-wrap: wrap; list-style: none; }
.contact-form ul li { width: calc(100%/2 - 20px); margin: 15px 10px 15px 10px;}
.contact-form ul li input { padding: 0 10px;width: 100%;height: 46px;   }
.contact-form ul li input::placeholder, .contact-form ul li textarea::placeholder { color:#b8bac6; font-size: 1.15rem;  }
.contact-form ul li select {  padding: 0 0 0 5px;  width: 100%; height: 46px; line-height: 40px;font-weight:400; color: #b8bac6;}
.contact-form ul li select:focus option {color: #666;}
.contact-form ul li option { padding: 5px 10px;}
.contact-form ul li textarea { width: 100%;height: 100px;line-height: 20px; padding: 5px 10px;}
.contact-form ul li input:focus, .contact-form ul li textarea:focus {background: #fff8de;color: #000;}
.contact-form ul li input:focus::placeholder, .contact-form ul li textarea:focus::placeholder {  color: #000;}
.contact-form ul li.width-full {  width: calc(100% - 20px); margin-right: 0px !important;}

.red{position: relative}
.red:after{content:"*";color:#a01f35; font-size: 1.25rem; font-weight: 700; padding-right: 3px;position: absolute; left:0px; top:0px; }

.must{position: relative}
.must:after{content:"*";color:#a01f35; font-size: 1.25rem; font-weight: 700; padding-right: 3px;position: absolute; left:5px; top:5px; }
@media (max-width: 1280px) {
.contact-form ul {  padding:0px 20px;  }
}
@media (max-width: 840px) {
.contact-form{ padding: 0px;}
.contact-form ul {  padding:0px 40px;  }
}
@media (max-width: 768px) {
.contact-form ul  {width: 100%; margin: 15px 0px;padding: 0px 20px; }
.contact-form ul li {width: 100%; margin: 15px 0px;padding: 0px;}  
.contact-form ul li.width-full { width:100%;}
	
}

@media (max-width: 767.98px) {
.contact-form{ padding:0px 20px 80px 20px;}
.contact-form ul{ padding: 0px; }
.contact-form ul li {margin:5px 0px; }   
	
}
@media (max-width: 320px) {
.contact-form ul{ padding: 0px; }
}
/*ms-title-2  樣式
=================================*/
.title-2 { margin: 30px auto; padding:0px; }
.title-2 h2{ width: auto; margin:10px 0px;  font-size: 2.75rem;  font-size: min(max(3.5vw, 1.75rem), 2.75rem);   font-weight: 700; color:#2f2f2f; letter-spacing:1px;}
.title-2 p{ font-size:1rem; font-weight:400; line-height: 1.5rem; color: #888;   }
.title-2 span{ text-align: center;width: auto;font-size:1.125rem; font-weight:700; line-height: 1.5rem;  margin:0px auto;}

 
@media (max-width: 1280px) {
.title-2 {width:100%;   margin: 0px auto; padding:20px 0px;  }
.title-2 h2{font-size:2rem;}   
.title-2 p{font-size: 1rem;  line-height: 1.375rem;}   
.title-2 h2,.title-2 h3,.title-2 p{ margin:5px auto; }
}
 
@media (max-width: 768px) {
.title-2 p{ line-height: 1.35rem;}   
.title-2 span{  line-height: 1rem;   }    
}

@media (max-width: 767.98px) {
.title-2 { padding:0px; }
.title-2 h2{font-size:1.5rem;}   
.title-2 p{ font-size: .9rem; line-height: 1.15rem; }      
}
@media (max-width: 320px) {
.title-2 h2{font-size:1.35rem;}   
}

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

/*scroller mousey Styles====*/
.scroll-downs { position: absolute;  left: 40px; bottom: 40vh;  margin:0px auto; width :20px; height: auto;display: flex;  justify-content: center;transition: all 1s;z-index:8;}
.mousey { width: 2px; padding: 5px 8px; height: 24px; border: 2px solid #fff; border-radius: 25px; opacity: 0.75; box-sizing: content-box; position: relative; }
.mousey:before{content:attr(data-content)!important; padding: 5px 0px; font-size: 0.875rem; font-weight: 700; color: #fff; text-align: center; writing-mode: vertical-lr;
position: absolute;top:-100px; left:0px; height: 100px;}
.scroller { width:4px; height: 8px; border-radius: 25%; background-color:#f39800; animation-name: scroll; animation-duration: 2.2s; animation-timing-function: cubic-bezier(.15,.41,.69,.94); animation-iteration-count: infinite;}
 
@media (max-width:992px) {
.scroll-downs { display: none; }    
}
 

@keyframes scroll {
0% { opacity: 0; }
10% { transform: translateY(0); opacity: 1; }
100% { transform: translateY(15px); opacity: 0;}
}
/*cms-btn Styles 1
=================================*/
.btn-send {position:relative; border: none; cursor: pointer; margin: 20px auto; padding:10px 45px; background:#0b1f8f; border-radius:30px; overflow: hidden }
a.btn-send { color: #fff;}
.btn-send span{ font-size: 1.125rem; font-weight: 700; color:#fff; }
.btn-send:hover{background-color: #ffa907; box-shadow: 0px 10px 10px  rgba(237,109,52,.25);  }


/*cms-btn Styles 2
=================================*/
.btn-2 {position:relative;   cursor: pointer; margin: 20px auto; padding:10px 45px; background-color:transparent; border:solid 1px #fff;border-radius:30px; overflow: hidden }
a.btn-2 { color: #fff;}
.btn-2 span{ font-size: 1.125rem; font-weight: 700;}
.btn-2:hover{border-color: #ffa907; box-shadow: 0px 10px 10px  rgba(237,109,52,.25);  }
a.btn-2:hover span{ color: #ffa907;   }


.btn-play {  width: 116px; height: 116px;  z-index: 9999; position: absolute;  margin: auto; display: flex;  align-items: center;  justify-content: center;}
.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;}
.btn-play:hover .rotate2 {  -webkit-animation: rotate 1s linear infinite;animation: rotate 1s linear infinite;}
.btn-play .rotate1,.btn-play .rotate2 { -webkit-transform: translate(5px, 5px); -ms-transform: translate(5px, 5px);transform: translate(5px, 5px);}
.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);}
.btn-play-bg{width: 116px; height: 116px;}
.btn-play .bg {  opacity: .5;}

@media (max-width: 767.98px) {
.btn-play {transform: scale(.7)}
}
@-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);}
}

