﻿  /* 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; }
a:hover, a:active,  a:visited, a:focus {text-decoration: none;  }
 
/** font-family:=================================*/
.f-s{ font-size: 0.9rem;} 
.f-m{ font-size: 1.25rem;  font-size: min(max(3.5vw, 1rem), 1.25rem);} 
.f-l{ font-size: 1.875rem;} 
.f-400{font-weight: 400!important;}
.vText { -webkit-writing-mode: vertical-rl; writing-mode: vertical-rl; }
.color-bold{color: #4D4F50;}
.color-white{color: #fff!important; }
.color-red{color:#cb2520!important; }
.color-gray{color:#5a5a5a; }
.color-bk{color:#000!important; }
.txt-stork { -webkit-text-stroke: 1px #333;  -webkit-text-fill-color: transparent;}
.txt-just{text-align: justify!important; }
.txt-center{text-align: center!important; }
.text-stroke{ -webkit-text-stroke: 1px #a3d6bf;} 

.main-wrap{width: 100%;padding: 0px; display: flex; flex-wrap: wrap; align-content:flex-start;}

.wrapper { display: block; margin:0px auto; padding: 0px 20px; width: 100%;  max-width: calc((100% - 40px)/12*12 + 40px); }
@media (min-width: 1200px) {
.wrapper { width: 96%;}
}
@media (min-width: 1300px) {
.wrapper { width:92%;}
}
@media (min-width: 1600px) {
.wrapper {  width:90%;max-width: 1400px;}
}

/*----------------------------------------/
banner area
----------------------------------------*/
.main-banner { width:100%; height: 100%; padding: 0; margin:  auto;   z-index: 0; overflow: hidden; position: relative; background-color: #005639;   }
.main-banner::before{content: "" ; width: 100%; height: 100%; display: block; position: absolute; z-index: 9; left:0; top:0;  background-image: linear-gradient(to top, rgba(17,117,75,.75) 10%,rgba(0,0,0,.7) 50%,rgba(17,117,75,.1) 100%); }
.main-banner-img{display: flex;width:100%; max-width: 100%; margin:0; padding:0px;  background-repeat: no-repeat;  background-position: center top;  background-size: cover;object-fit: cover; position: relative; z-index: 0; }
.main-banner-img img{ width: 100%; max-width: 100%; height: auto; display: block; margin: auto; -o-object-fit: cover;   object-fit: cover; -webkit-backface-visibility: hidden;  backface-visibility: hidden; transition: all 0.3s; position: relative; z-index: 0;  }
.zoom-me img{ width: 100%; position: relative; margin-top: -50px; }
@media (max-width: 1280px) {
 .main-banner { width:100%; height:auto;   }
   
}
@media (max-width: 1024px) {
.main-banner { width:100%;}
.zoom-me img{ width: 100%;   margin-top: 0px; }
    
}
@media (max-width: 768px) {
.main-banner-img img{ width: 100%; max-width: 100%; height: auto; -webkit-clip-path:none;clip-path: none;}       
}
 @media (max-width: 767.98px) {
 .main-banner { margin-top: 60px; height: auto;}
     
.main-banner-img{position: absolute;top:0px;}

}


@media (min-width: 1921px) {
    .main-banner-img{display: flex;  flex-direction: column;}   
}
 /* Banner 內文字 =====================================================================*/
.main-banner-txt { position: absolute; top: 40%; left: 50%;  width: auto; padding: 20px; -webkit-transform: translate(-50%, -40%); transform: translate(-50%, -40%); -webkit-box-sizing: border-box;box-sizing: border-box;z-index: 99;}
.main-banner-txt:after{ content: "";width: 2px; height: 30vh; display: block; position: absolute; z-index: 99;  bottom: -50vh; left: 50%;   -webkit-transform: translate(-50%,0); transform: translate(-50%, 0); background: #fff;}  
.main-banner-txt h1 { width: auto; margin-bottom: 10px; font-size: 4.25rem; font-size: min(max(3vw, 2rem), 4.25rem); font-weight: 700;  text-align: center; letter-spacing: 2px; color:#fff; position: relative;  text-transform:uppercase}
.main-banner-txt h2 { width: 100%; margin: 0px 0px 30px 0px; font-size:2.5rem; font-size: min(max(3vw, 1.35rem), 2.5rem); font-weight:400;line-height: 3rem;text-align: center; letter-spacing:1px; color: #fff;  }
.main-banner-txt p {  width: 100%;margin:10px 0px; font-size:1.125rem;font-size: min(max(3vw, 1rem), 1.125rem);  font-weight:500; line-height: 1.875rem;  text-align: center;  color:rgba(255,255,255,1); letter-spacing: 1px;    }
@media (min-width:1600px) {
.main-banner-txt  { font-size:3.25rem;  }
}
@media (max-width: 1280px) {
.main-banner-txt {width: 100%; max-width: 800px; }
 }
@media (max-width: 1024px) {
.main-banner-txt {width: 100%; max-width: 720px; margin:0 1%; padding: 20px; }
 .main-banner-txt h2 {  line-height: 1.5rem;   }
 .main-banner-txt p {   line-height: 1.5rem;   }   
 }

 @media (max-width: 767.98px) {
 .main-banner-txt h1 { letter-spacing: 1px;  }
   .main-banner-txt { margin-top: 100%; height: auto; position:relative; z-index: 99;}
  
}

@media (max-width: 320px) {
.main-banner-txt h2 {  line-height: 1.35rem;   }
.main-banner-txt p {   letter-spacing: .5px;    } 
 
}

/*----------------------------------------/
  Default Typography
----------------------------------------*/
.edit h2 {font-size: 175%;  }
.edit h3 {font-size: 162.5%;   }
.edit h4 {font-size: 150%; }
.edit h5 {font-size: 135%; }
.edit h6 {font-size: 115%;  }

/*----------------------------------------/
  description Typography
----------------------------------------*/
.description{width: 100%;  max-width: calc((92% - 40px)/12*12 + 40px); display: block; margin:0px auto; padding:40px 0px 20px 0px; line-height: 1.875rem; position: relative;   }
.description h2 {font-size: 175%;  }
.description h3 {font-size: 162.5%;  }
.description h4 {font-size: 150%; }
.description h5 {font-size: 137.5%; }
.description h6 {font-size: 125%;  }
@media (max-width: 767.98px) {
.description{  width: 100%; margin:15px auto; padding:0px 0px 20px 0px;  } 
}
 

/*font-size*/
.title { font-size: 2rem; font-size: min(max(3.5vw, 1.75rem), 2rem);font-weight: 700;width: 90%; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow-wrap: break-word; transition: 375ms cubic-bezier(0.7, 0, 0.3, 1); }
@media (min-width: 1100px) {
.title {font-size: 1.75rem; }
}
@media (min-width: 1300px) {
.title {font-size: 1.875rem; }
}
@media (min-width: 1600px) {
.title {font-size: 2rem; }
}
 
.text-block{width:66.6667%; display: block; margin:0px auto; padding:20px; }
@media (max-width: 1180px) {
.text-block{width:100%;  }
}
@media (max-width: 767.98px) {
.text-block{width:100%;  margin:0px auto;  padding:20px 0px;}
}


.text-content{ width: 100%; font-weight: 700; margin-bottom: 10px;  }
.text-content:first-letter{color:#005639;}
 
.bg-content{background-color:rgba(0,86,57,1)!important;  }
.bg-inquiry{background-color:#d8e8e2;  }
.bg-content hr{border-top-color:rgba(255,255,255,.35);} 

.main-area{ width: 100%; padding: 0px; position: relative; background-image: linear-gradient(to bottom, #E9F1F2 0%, #fff 30%,rgba(255,255,255,1) 100%);  }
.top.main-area{ width: 100%; padding: 0px;margin-top:0; position: relative;  background-color: #fff;    }
 /*----------------------------------------/
cms-main-content
----------------------------------------*/
.main-content{position: relative; width: 100%; min-height: 50vh; margin:0 auto; padding:0px;  }
.decorate-end {width: 100%;  height: 100px;  position: absolute; z-index: 13; left: 0px;  }
/*----------------------------------------/
麵包屑 自訂顏色樣式
----------------------------------------*/
.main-breads{ width: 100%;  max-width: calc((92% - 40px)/12*12 + 40px); margin:0px auto auto auto; padding: 0px;  color:#4c4f54;}
.main-breads .breadcrumb{ width: auto; padding:10px 0px;  margin: 0px; background:none;  justify-content: flex-start;  }
.main-breads .breadcrumb li{ font-size:.9rem; max-width: 300px; overflow: hidden;  word-break: break-all; text-overflow: ellipsis;  display: -webkit-box;  -webkit-line-clamp: 1;  -webkit-box-orient: vertical; }
.main-breads .breadcrumb li a{ color:#4c4f54;   }
.main-breads .breadcrumb li a:hover{color:#ffc107}
/*.breadcrumb-item:first-child::before {content: ""; color:#312927 !important; position: absolute; left:0px;top:4px; width: 13px; height:13px;  background: url("../images/icon/home-b.svg") no-repeat left top; }
*/
.breadcrumb-item+.breadcrumb-item::before { content: " < "; margin-left: 5px;color:#4c4f54;}
.main-breads .breadcrumb li:first-child{ position: relative;   color:#eee;}
.main-breads .breadcrumb-item.active{color:#8cc24a;}

@media (max-width: 768px) {
.main-breads{ max-width: 100%;  margin:0px auto; border-top: solid 1px rgba(255,255,255,.35);}
.main-breads .breadcrumb{ padding:2px; justify-content: flex-start;  }
.main-breads .breadcrumb li:first-child{ padding-left: 0px;}
 }
 
 /* cms-title-block h1 =======================================================================	*/
.title-block{ width: 100%;  height: auto; margin:0px auto 30px auto;  display: flex; flex-wrap: wrap; justify-content:center; position: relative; }
.title-block h1 {width:100%; margin:0px auto; padding:20px 0px 0px 0px; font-size:1.5rem;  color:#000; font-weight:700;  text-align: center; position: relative;  }
.title-block p {width:100%; margin:0px auto; padding:20px 0px 0px 0px; font-size:1.25rem;  color:#000; font-weight:400;  text-align: center; position: relative;  }
@media (min-width: 1100px) {
.title-block h1 { font-size:2.5rem; }
 }
@media (min-width: 1600px) {
.title-block h1 { font-size:3rem; }
 }
@media (max-width: 1199.98px) {
.title-block h1{  font-size: 1.5rem; }
}
@media (max-width: 767.98px) {
.title-block {  margin: 15px auto;   }  
.title-block h1{  font-size: 1.5rem; padding-top: 0px; margin: 0px; text-align: left;}
}  
 
 /*cms-Title Styles 樣式
=================================*/
.title-style { width: 100%; margin:0px auto;padding: 0px;position: relative; text-align: center; } 
.title-style h1{ width: 100%;display: block;margin: 0 auto; font-size: 2.5rem; font-weight:700;   }
.title-style h2{ width: auto;margin:15px auto;  font-size: 2.35rem;    font-size: min(max(3.5vw, 1.5rem), 2.25rem);  font-weight:700;     }
.title-style h3{ margin:15px auto; font-size: 2rem; font-size: min(max(3.5vw, 1.25rem), 2rem);  line-height: 2.75rem;  font-weight:700;    }
.title-style p{ margin:10px auto;  font-weight: 400; line-height: 1.35rem;    }
.title-style strong{ color:#4D4F50; }
@media (max-width: 767.98px) {
 .title-style h3{ line-height: 1.875rem; }   
}

@media (max-width: 320px) {
 .title-style h3{ font-size: 1rem; line-height: 1.5rem; }   
}


.title-2 { width:100%; height: auto; padding-bottom: 10px; margin:0 auto 5% auto; position: relative;  border-bottom:1px solid #f1f1f1; }
.title-2::after { content: ""; position: absolute; left: 50%; margin-left: -4.5px; bottom: -5px;  width: 10px; height: 10px;  border: 1px solid #237f5f; background-color:#237f5f;  border-radius:99rem;   }
.title-2 h2{ font-size: 3rem;  font-size: min(max(3.5vw, 1.75rem), 3rem); line-height: 1.23;   font-weight: 700;  letter-spacing: normal; width: 100%;  height: auto; text-align: center; color: #005639;  }
.title-2 p{ width: 100%;  margin:0px auto;  font-size:1.15rem; font-weight:400; text-align: center; color:#000;  }




/*ms-title-3  樣式
=================================*/
.title-3 { width: 100%; height: auto; margin: 15px auto; padding: 0; display: flex;  flex-wrap: wrap;  justify-content: center; flex-direction: column; position: relative;}
.title-3:after { content: ""; width: 10%; height: 2px;  display: block;  margin: 10px auto;padding: 0;background: #005639;}
.title-3 h2 { width: auto;  margin: 0px auto; font-size: 2.75rem; font-weight: 700; }
.title-3 h3 { width: auto; margin: 0px auto;  font-size: 1.875rem; font-weight: 700; }
.title-3 p { width: auto;  margin: 0px auto; font-size: .9rem;  line-height: 1.35rem; color: #000; font-weight: bold;}
.title-3 h3::first-letter {color: #005639;}
    

/*ms-title-4  樣式
=================================*/
.title-4{width: 100%; height: auto;  position: relative;  color: #005639; margin-bottom: 30px;}
.title-4 h2{font-size: 3rem;  font-size: min(max(3.5vw, 1.75rem), 3rem); font-weight: 700; line-height: 1.23; letter-spacing: normal;}
 @media (max-width:767.98px) {
.title-4{ font-size: 36px;  }
}

.title-text{ position: relative;}
.title-text.ch { font-size: 32px; font-weight: bold; line-height: 1.5;  letter-spacing: 1px;}
.title-text:last-child.ch:before { bottom: 10px;}
.title-text:last-child:before { width: 6px;  height: 6px;  content: ""; position: absolute;  bottom: 18px; right: -15px; display: block; background-color:#4a8772; border-radius: 50%; -webkit-backface-visibility: hidden; backface-visibility: hidden;}
.title-text span{color: #f38054; font-size: 26px; font-weight: bold; top:-10px;  margin-right: 30px; position: absolute;}
.titles-subtitle { font-size: 26px; font-weight: bold; line-height: 1.5; letter-spacing: 1px; margin-top: 10px; color: #4a8772;}



.editor blockquote {width: 100%; display: block; font-size: 26px; font-weight: 400; line-height: 1.5; letter-spacing: normal;  position: relative; margin: 0; padding-left: 32px;  color: #4a8772;  -webkit-box-sizing: border-box;box-sizing: border-box;}
.editor blockquote:before { width: 8px; height: 100%; content: ""; position: absolute; top: 0; left: 0; display: block; background-color: #4a8772;}




/*----------------------------------------/
分頁 自訂顏色樣式
----------------------------------------*/
.pagination{ width: 100%; margin:50px auto 0px auto; padding-bottom: 30px; display: flex; justify-content: center;  }
.pagination .page-link { color:#31315e;  width:40px;height: 40px;text-align: center; background-color:transparent;; border-color:transparent; border-radius:99rem;}
.pagination .page-link:hover { color: #fff; background-color:#dcdddd; border-color:#dcdddd;}
.pagination .page-link:focus { box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);}
.pagination .page-item{ margin: 5px;  }
.pagination .page-item:first-child .page-link {  border-radius:99rem; background-color:transparent; border-color:#dcdddd;}
.pagination .page-item:last-child .page-link { border-radius:99rem;  background-color:transparent;  border-color:#dcdddd;}
.pagination .page-item.active .page-link { color: #fff!important;  background-color:#4D4F50
; border-color:#4D4F50
;}
.pagination .page-item.disabled .page-link { color: #6c757d;  background-color:transparent;  border-color:#dcdddd;  }
.pagination .page-link:hover span { color: #fff; }

/*---------------*/
/***** icon *****/
/*---------------*/
.icon-download{  background: url("../images/icon/icon-download.svg") no-repeat; }
.icon-next{background: url("../images/icon/arrow-right-2.svg") no-repeat left 0px;  background-size:auto;}
 
 .icon-clear{background: url("../images/icon/clear-w.svg") no-repeat center 4px; background-size:70% auto;}

/***** btn *****/
/*---------------*/
.btn { width: 100%;margin: 0px 5px 0px 0px;padding: 10px 0.75rem;font-size: 1.125rem ; line-height: 1.5; border-radius:0px; }
.btn i{ width:20px; height:20px;margin:0px 15px; display: inline-block;  }
.btn i.cicrcle{ width:26px; height:26px; border: solid 1px #fff; border-radius:99rem; }

.btn.btn-secondary { display: flex;  flex-wrap: wrap; justify-content: center; align-items: center;min-width: 200px; border-radius:30px;   color:#fff;  font-weight: 700; background:#1e1e1e; overflow: hidden;  }
.btn.btn-secondary:hover { color: #fff; background-color:#000;  }

.btn-submit{  font-weight: 400;  background:#000;border: solid 1px #000;  color: #fff!important; vertical-align: text-bottom; }
.btn-submit:hover { color: #fff;  background:#000; border: solid 1px #000; box-shadow: 0px 3px 10px #ed9823; }

.btn-reset{ font-weight: 400;  background: #555;border: solid 1px #555;  color: #fff!important; vertical-align: text-bottom; }
.btn-reset:hover { color: #fff;  background:#000;   box-shadow: 0px 3px 10px rgba(148,0,11,.5); }

 

/*---------------*/
/***** btn *****/
/*---------------*/
.btn-btnbox {position: relative;z-index:9; display: flex;  justify-content: center;  width: 100%; height: auto; margin:10px auto;  transition: all 1s;}  
.btnbox {position: relative;z-index:9; display: flex;  justify-content: center;  width: 100%; height: auto; margin:20px auto 0px auto;  transition: all 1s;}  
 
 
.arrow-w{background: url("../images/icon/arrow-left.svg") no-repeat left center;-webkit-filter: brightness(100);  } 
.icon-next{background: url("../images/icon/arrow-right-2.svg") no-repeat left 0px;  background-size:auto;}
 
a.btn-prev {color:#131212; font-weight: 700; text-align: center; transition: all 0.5s; position: relative;   }
a.btn-next {color:#131212; font-weight: 700;  text-align: center; transition: all 0.5s; position: relative;  }

a.btn-prev:before{content: "";  position: absolute;top:18px; left:8px;width:18px; height:12px; background: url("../images/icon/arrow-left-2.svg") no-repeat left top; transition: all 0.5s; filter: grayscale(1) brightness(1);}
a.btn-next:before{content: "";  position: absolute;top:18px; right:8px;width:18px; height:12px; background: url(../images/icon/arrow-right-2.svg) no-repeat left top; transition: all 0.5s; filter: grayscale(1) brightness(1);}
a.btn-prev:after,a.btn-next:after { display: block; content: ''; width: 0; height:1px; position: absolute; left:0px; bottom: 0px;  background:#4D4F50
; transition: all .3s ease;} 
 

a.btn-prev:hover:after,a.btn-next:hover:after{ width: 100%;  }
a.btn-prev:hover:before{  -webkit-transform: translateX(5px); transform: translateX(5px); filter: none; }
a.btn-next:hover:before{  -webkit-transform: translateX(-5px); transform: translateX(-5px);  filter: none;}
a.btn-prev:hover, a.btn-next:hover  { color:#4D4F50
!important;  }

 
 a.btn-back { width:auto; color:#000!important; padding: 10px; font-weight: 700; background-color:#f2f2f2;  display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-justify-content:center;  -ms-flex-pack: center; justify-content: center;  -webkit-align-items: center;  -ms-flex-align: center;  align-items: center;  }
.btn-back:before,.btn-back::after{ content: ''; width: 10px; height:1px; background:#797371;-moz-transition: ease 0.3s; -o-transition: ease 0.3s; -webkit-transition: ease 0.3s;  transition: ease 0.3s;  }
.btn-back:before { margin-right: 20px; margin-left: 5px;}
.btn-back:after { margin-left: 20px; margin-right: 5px;}
a.btn-back:hover {   color:#4D4F50
!important;  }
.btn-back:hover:before{   background:#4D4F50
; -moz-transform: translateX(20%); -ms-transform: translateX(20%); -webkit-transform: translateX(20%); transform: translateX(20%);  }
.btn-back:hover:after{  background:#4D4F50
;-moz-transform: translateX(-20%); -ms-transform: translateX(-20%); -webkit-transform: translateX(-20%); transform: translateX(-20%);  }
@media (max-width:1024px) {
 .btn-back:before,.btn-back::after{ display: none; }
 }

@media (max-width: 767.98px) {
.btn-back  { font-size:.875rem; padding:5px  10px;}  
 }
/*btn Styles 1
=================================*/
.btn-01 { cursor: pointer; width:200px; height:2.75rem; padding:0px 30px;margin: 0px; line-height:2.75rem; display: flex;justify-content: center; align-items: center;  position: relative; border-radius:30px; z-index: 1; overflow: hidden; border: solid 1px #fff; background-color: transparent;transition: all 0.3s ease;}
.btn-01 span { display: flex; transform-origin: center left; transition: color 0.3s ease;position: relative;z-index:1; font-size:1.25rem;    font-size: min(max(3.5vw, .875rem), 1.25rem);font-weight: 700; letter-spacing: 2px; color: #fff;  text-transform:uppercase}
.btn-01 em {position: absolute;width:60px; height:25px; right:20px;top: 20%; transition: all 0.3s ease; background: url("../images/icon/arrow-right-f.svg") no-repeat right top; z-index:1;   }
.btn-01:hover span{  color: #005639;}
.btn-01:hover { background: #fff; border: solid 1px #fff; transition: all 0.3s ease; }
.btn-01:hover em{ transform:translateX(20px);}

/*btn Styles 2===*/  
a.btn-02{width: 100%; height: auto; display: block; color: #fff!important;font-weight:700;  overflow: hidden; padding:10px 40px; text-align: center; text-transform: uppercase; border-radius:30px;   background-color: transparent;border:solid 1px #fff; cursor: pointer;  letter-spacing: 0.1rem; -webkit-transition: color 0.25s 0.0833333333s; transition: color 0.25s 0.0833333333s;  position: relative;}
.btn-02:hover { color: #fff; border:solid 1px transparent;}
@media (max-width: 991.98px) {
a.btn-02{  font-size:0.9rem;}
}

/*btn Styles 3===*/
a.btn-03{width: 100%; min-width: 200px; height: 50px;  padding:10px;  margin: 10px; display: flex;  flex-wrap: wrap; justify-content: center; align-items: center; color: #4D4F50;font-weight:bold;  overflow: hidden; text-align: center; background-color: transparent;border:solid 1px transparent; cursor: pointer;  letter-spacing: 0.1rem;  box-shadow: inset 0 0 0 1px #4D4F50
;-webkit-transition: color 0.25s 0.0833333333s; transition: color 0.25s 0.0833333333s;   position: relative;}
.btn-03::before, .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;}
.btn-03::before{border-bottom-width: 2px; border-left-width: 2px;}
.btn-03::after{border-top-width: 2px; border-right-width: 2px;}
a.btn-03:hover{color:#fff; background:#4D4F50;}
.btn-03:hover::before, .btn-03:hover::after{border-color:#fff; -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%;}
.btn-03:hover::before{-webkit-transition-delay: 0s, 0s, 0.25s; transition-delay: 0s, 0s, 0.25s;}
.btn-03:hover::after{-webkit-transition-delay: 0s, 0.25s, 0s; transition-delay: 0s, 0.25s, 0s;}
.btn-03:focus{outline: 1px inset #fff;}
.btn-03 span { display: block; padding-right:5px; transform-origin: center left; transition: color 0.3s ease;position: relative;z-index:1;font-size:1rem; font-weight: 700; color: #fff;}
.btn-03 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;  -webkit-filter:invert(1);  }
.btn-03:hover em{ transform:translateX(10px);}
.btn-03 i { display: inline-block; margin:0px auto;  width: 24px; height:24px; transition: all 0.3s ease;  z-index:1;   }
.btn-03:hover i{  filter:invert(1) brightness(200%); }
@media (max-width: 991.98px) {
a.btn-03{  font-size:0.9rem; height: auto; margin: 10px 0px; padding: 10px 5px; }
}


a.btn-04{width: 100%; max-width: 300px;  height: auto;   display: block; color: #fff!important;font-weight:700;  overflow: hidden; padding:10px 40px; text-align: center; border-radius:30px;   background-color: #005639;border:solid 1px #005639; cursor: pointer;  letter-spacing: 0.1rem; -webkit-transition: color 0.25s 0.0833333333s; transition: color 0.25s 0.0833333333s;  position: relative;}
.btn-04:hover { color: #fff; border:solid 1px transparent;}
 
/*----------------------------------------/
  ul style 自訂樣式
----------------------------------------*/
.cms-dot{ width: 100%;  display: block; margin:0px;padding: 0px;  }
.cms-dot li{ width: 100%; display: block; padding: 2px 0px 2px 15px; margin:0px; font-size:1.125rem; font-size: min(max(3.5vw, 1rem), 1.125rem); line-height: 1.5rem;  font-weight: 500; color:#fff; position: relative;  }
.cms-dot li:before{ content: ''; width:6px; height:6px; background-color:#fff; border-radius: 99rem; position: absolute; top: 10px; left: 0px;  transition: all 0.5s ease 0s;}
 
.check{ width: 100%;  display: block; margin:0px;padding: 0px; }
.check li{ width: 100%; display: block; padding: 0px 0px 0px 25px!important; margin:0px 0px 2px 0px; font-size:1.125rem;   font-weight:400; color: #131212; position: relative;}
.check li:before{ content: ''; width: 15px; height: 15px; background-color:#4D4F50
; border-radius: 99rem; position: absolute; top: 6px; left: 0px;  transition: all 0.5s ease 0s;}
.check li:after{ content: ''; width: 12px; height: 12px;  background: url("../images/icon/check.svg") no-repeat left top;position: absolute; top:8px; left: 2px;  transition: all 0.5s ease 0s;}

.arrow{ width: 100%; display: block; margin: 1.5% auto; }
.arrow li{ width: 100%; display: block; padding:1px 0 10px 15px; font-size:15px; line-height:1.4em; font-weight:400; background: url(../images/icon/arrow-right.svg) no-repeat left 8px; background-size:8px;}
.decimal { list-style-position: outside; list-style-type: decimal; padding-left: 15px;}
.decimal li{margin-bottom: 10px; font-size:1.125rem; line-height:1.5em; font-weight:400;  }
.tag{ padding: 5px 10px;  display: inline-block; width: auto; max-width: 100px; margin:  5px;font-size:15px; line-height:1.5em; font-weight:400; text-align: center;  border: solid 1px #eee; background: #eee;}



 /*----------------------------------------/
 aside cssmenu樣式
----------------------------------------*/
#cssmenu{width:100%; margin:0 auto;padding:10px 0px; list-style:none; display:block; -webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;  border-top: 1px solid #f1f1f1; border-bottom: 1px solid #f1f1f1;  }
#cssmenu #menu-button{margin:0px;padding:0;border:0;list-style:none; display:block;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;z-index:9999;background-color:#fff;  }
#cssmenu #menu-button{display:none;}
#cssmenu ul,#cssmenu ul li,#cssmenu ul li a{margin:0;padding:0; list-style:none; display:block;position:relative;z-index: 1; -webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;text-transform: uppercase; }
#cssmenu:after, #cssmenu > ul:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0;}
#menu-line{position:relative;top:0px; left:0px; right: 0px; margin-left: 2px; width: auto;height:2px;background:#db0632;-webkit-transition:all 0.25s ease-out;-moz-transition:all 0.25s ease-out;-ms-transition:all 0.25s ease-out;-o-transition:all 0.25s ease-out;transition:all 0.25s ease-out;}
#cssmenu > ul > li{float:left;  width: auto; position: relative;z-index: 1; margin:0px 15px; background-color:transparent;   -webkit-transition: all 0.3s; transition: all 0.3s;   }
#cssmenu.align-center > ul{font-size:0;text-align:center;  }
#cssmenu.align-center > ul > li{display:inline-block;float:none;}
#cssmenu.align-center ul ul{text-align:left;}
#cssmenu.align-right > ul > li{float:right;}
#cssmenu.align-right ul ul{text-align:right;}
 
#cssmenu > ul > li > a{font-size:1.25rem;  font-size: min(max(3.5vw, 1rem), 1.25rem);font-weight: 500; text-align:center;text-decoration:none; color:#4c4f54;/*-webkit-transition:color .2s ease;-moz-transition:color .2s ease;-ms-transition:color .2s ease;-o-transition:color .2s ease;transition:color .2s ease; */  transition: all .4s ease;
    }

#cssmenu > ul > li > a:after { opacity:0;  content: ""; display: block; width: 12px; height: 3px; background-color: #005639; border-radius: 3px; transition: all .4s ease; margin-top: 1px}
#cssmenu > ul > li > a:hover:after { width: 100%;opacity: 1}
#cssmenu > ul > li > .active a { color: #005639}
 
#cssmenu > ul > li.active a:after { background-color:#005639; width: 100%;opacity: 1; }
#cssmenu > ul > li:hover,#cssmenu > ul > li:hover > a,#cssmenu > ul > li.active{ border-color:#005639; border-radius:0px;   }  
#cssmenu > ul > li.active > a{color:#005639; font-weight: 700;   }  
#cssmenu > ul > li:hover > a {color:#005639;}   
#cssmenu > ul > li.has-sub > a{  padding:5px 15px !important; }
/*
#cssmenu > ul > li.has-sub > a::after{position:absolute;top:21px;right:10px;width:4px;height:4px;border-bottom:1px solid #000000;border-right:1px solid #000000;content:"";-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg);-webkit-transition:border-color 0.2s ease;-moz-transition:border-color 0.2s ease;-ms-transition:border-color 0.2s ease;-o-transition:border-color 0.2s ease;transition:border-color 0.2s ease;} */
#cssmenu > ul > li.has-sub:hover > a::after{border-color:#f6f2f0;}
#cssmenu ul ul{position:absolute;z-index: 9999; left:-9999px;  background:#f1f1f1; -webkit-transition:all 0.25s ease-out;-moz-transition:all 0.25s ease-out;-ms-transition:all 0.25s ease-out;-o-transition:all 0.25s ease-out;transition:all 0.25s ease-out;}
#cssmenu li:hover > ul{left:auto;}
#cssmenu.align-right li:hover > ul{right:0;}
#cssmenu.align-right ul ul ul{margin-left:0;margin-right:100%;}
#cssmenu ul ul li{  -webkit-transition:height .2s ease;-moz-transition:height .2s ease;-ms-transition:height .2s ease;-o-transition:height .2s ease;transition:height .2s ease;}
#cssmenu ul ul ul{margin-left:100%;top:0; background:#e3edef!important; -webkit-transition:all 0.25s ease-out;-moz-transition:all 0.25s ease-out;-ms-transition:all 0.25s ease-out;-o-transition:all 0.25s ease-out;transition:all 0.25s ease-out;}
#cssmenu ul li:hover > ul > li{ /* height: 40px; */ }
#cssmenu ul ul li a{ padding:15px 20px;  width:200px; font-size:1rem; font-weight: 700; line-height:1.5rem;text-align:left;text-decoration:none;color:#000;  -webkit-transition:color .2s ease;-moz-transition:color .2s ease;-ms-transition:color .2s ease;-o-transition:color .2s ease;transition:color .2s ease;}
#cssmenu ul ul li:hover > a,#cssmenu ul ul li a:hover{color:#fff; background: #db0632;}

#cssmenu ul ul li.has-sub > a::after{position:absolute;top:25px;right:10px;width:4px;height:4px;border-bottom:1px solid #000;border-right:1px solid #000;content:"";-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transition:border-color 0.2s ease;-moz-transition:border-color 0.2s ease;-ms-transition:border-color 0.2s ease;-o-transition:border-color 0.2s ease;transition:border-color 0.2s ease;}
#cssmenu ul ul li.has-sub:hover > a::after{border-color:#776b62;}
 @media (max-width:840px) {
#cssmenu{width:100%; margin:0 auto;padding: 0px; position: relative; z-index:9; }
#cssmenu ul{width:100%; margin: auto; display:none;  position: absolute;  background:#f5f5f5; /* border:1px solid rgba(120, 120, 120, 0.15);*/}
 #cssmenu > ul > li.active > a{color:#fff;    }  
/* #cssmenu > ul > li.active{background:#4D4F50;  }  
*/
 #cssmenu > ul > li:hover,#cssmenu > ul > li:hover > a,#cssmenu > ul > li.active{ background-color:#187B58;  color: #fff;  }  
    
#cssmenu ul ul ul{ background:#e7eaeb!important;  }   
#cssmenu.align-center > ul,#cssmenu.align-right ul ul{text-align:left;}
#cssmenu ul li,#cssmenu ul ul li,#cssmenu ul li:hover > ul > li{width:100%;height:auto;margin: 0px; border-top:1px solid rgba(120, 120, 120, 0.15);}
#cssmenu > ul > li{border: none; border-bottom: solid 1px #ddd; box-shadow: none;}
#cssmenu ul li a,#cssmenu ul ul li a{width:100%; padding: 10px 0px; }
#cssmenu > ul > li,#cssmenu.align-center > ul > li,#cssmenu.align-right > ul > li{float:none;display:block;}
#cssmenu ul ul li a{padding:10px 15px;font-size:12px;color:#000000;background:none;text-align:center;}
#cssmenu ul ul li:hover > a,#cssmenu ul ul li a:hover{color:#000000;}
#cssmenu ul ul ul li a{padding-left:40px;}
#cssmenu ul ul,#cssmenu ul ul ul{position:relative;left:0;right:auto;width:100%;margin:0; padding-bottom: 0px;}
#cssmenu > ul > li.has-sub > a::after,#cssmenu ul ul li.has-sub > a::after{display:none;}
#menu-line{display:none;}
#cssmenu #menu-button{display:block; padding:10px 20px; color:#000;cursor:pointer;font-size:1.15rem;font-weight: 700; text-align: center; letter-spacing: 3px; text-transform:uppercase; border-bottom:solid 2px  #005739;background-color:transparent;-webkit-border-radius:0px;-moz-border-radius:0px;border-radius:0px;}
#cssmenu #menu-button::after { display: block; content: ""; position: absolute; right:15px; top: 15px;  vertical-align: middle; width: 10px; height: 10px;  border-top: 2px solid #000;  border-right: 2px solid #000;  -moz-transform: rotate(135deg);  -ms-transform: rotate(135deg); -webkit-transform: rotate(135deg); transform: rotate(135deg); -webkit-transition: transform .5s;  transition: transform .5s; }
#cssmenu .submenu-button{position:absolute;z-index:10;right:0;top:0;display:block;border-left:1px solid rgba(120, 120, 120, 0.15);height:46px;width:46px;cursor:pointer;}
#cssmenu .submenu-button::after{content:'';position:absolute;top:17px;left:23px;display:block;width:1px;height:11px;background:#be892f;z-index:99;}
#cssmenu .submenu-button::before{content:'';position:absolute;left:18px;top:22px;display:block;width:11px;height:1px;background-color:#be892f;z-index:99;}
#cssmenu .submenu-button.submenu-opened:after{display:none;}
#cssmenu ul li span.submenu-button.submenu-opened::after{display:none;}
#cssmenu ul li  ul li span.submenu-button{display:none;} 
 
     
/* hover effect*/
#cssmenu > ul > li > a:after{display: none;} 
     
}
 
 
/*IE --*/ 
select::-ms-expand {display: none; }
select:focus{ box-shadow: 0 0 5px 2px #467BF4;    }
input, button, select, textarea { outline: none; }

@keyframes anim{
0%{  transform:rotate(0deg); }
100%{ transform:rotate(360deg);  }
}
@keyframes anim-1{
0%{  transform:rotate(0deg); }
100%{ transform:rotate(-360deg);  }
}


 
/*----------------------------------------/
產品清單頁  cms-product-cate  
----------------------------------------*/
.cate { width:100%; margin:0px;  padding:0px; display: flex; flex-wrap: wrap; position: relative;z-index: 0;}
.cate li {width:calc(100%/2);height: auto; margin:0px; padding:0px; position: relative; z-index: 1; list-style: none;  transition: all 0.3s linear 0s; overflow: hidden;}
.cate li img { transition: all 0.3s ease;overflow: hidden;  opacity:1;  }
.cate li:hover img {  transition: all 0.3s ease; }
.cate li figure {display: block; vertical-align: top;  width:100%; height:auto; margin: 0px; position: relative;z-index: 3; transition: all 0.3s linear 0s; overflow: hidden;} 
.cate li figure:before {  content: "";  width:calc(100% - 0px); background-image: linear-gradient(to bottom, rgba(17,117,75,.5) 20%, rgba(0,0,0,1)  100%);opacity: 0; position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 1; transition: all 0.3s ease;}
.cate li .inner-body {  position: absolute;z-index: 9; bottom: 20%; left: 50%;  padding: 20px; -webkit-transform: translate(-50%, 20%); transform: translate(-50%, 20%); -webkit-box-sizing: border-box;box-sizing: border-box;   transition: 375ms cubic-bezier(0.7, 0, 0.3, 1); text-align: center;  }
.cate li  h3 { width: 100%; margin-bottom: 20px; font-size:2.625rem;  font-size: min(max(3.5vw, 1.25rem),2.625rem);   line-height: 2rem; font-weight:700; color:#fff; word-wrap: normal; text-transform: uppercase; -webkit-text-stroke: 1px rgba(0,86,57,.75); text-shadow: 0px 2px 3px rgba(0,86,57,.5); }
/*.cate li:hover .inner-body { -webkit-transform: translate(-50%, -60%); transform: translate(-50%, -60%);}
*/@media (max-width: 767.98px) {
.cate li{width:100%;height: auto; margin:0px;}
.cate li a h3 { font-size:1.35rem; line-height: 1.75rem;}
}
.bg-cate{ background: -webkit-gradient(linear, left bottom, left top, color-stop(70%, #e7ecf0), color-stop(70%, #fff), to(#fff));  background: linear-gradient(0deg, #e7ecf0 70%, #fff 70%, #fff 100%); }

 /*----------------------------------------/
.contact-form
----------------------------------------*/
.main-contact{   margin:0px; padding:0px; overflow: hidden;position: relative;z-index: 0; }
.contact-wrap{width: 100%;  margin: auto; display: flex; flex-wrap: wrap; justify-content: space-between; position: relative; }
.contact-detail{width:40%; padding:50px 10px; margin:20px auto;   }
.contact-box{ width:calc(100% - 40%);   }

 @media (max-width:767.98px) {
.contact-detail{width:100%;  padding:30px 10px 0px 10px; margin:0px auto;  }
.contact-box{ width:100%;   }


}
/*----------------------------------------/
title樣式5
----------------------------------------*/
.title-h2-sub{  margin: auto;}
.title-h2-sub h2{ font-size: 2.75rem;  font-size: min(max(3.5vw, 1.75rem), 2.75rem);  line-height: 130%;font-weight: 700; letter-spacing: 3px;}
.title-h2-sub span{  font-size: 1.5rem;font-size: min(max(3.5vw, 1rem), 1.5rem); line-height: 130%;font-weight: 700; color: #005639  }
.title-h2-sub p{ font-size:1.125rem;  font-size: min(max(3.5vw, 1rem), 1.125rem); line-height:1.75rem; font-weight:400; }
 @media (max-width: 998px) {
.title-h2-sub{text-align: left; padding-left: 20px;} 
}

 @media (max-width:767.998px) {
.title-h2-sub{ padding-left: 0px;} 
}

.contact-form{width: 100%;margin: auto; padding:40px 20px 80px 20px;}
.contact-form input, .contact-form option, .contact-form select, .contact-form textarea { font-size: 1.15rem;background: #fff; border: 1px solid #d8d8d8;  border-radius: 3px;}
.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: 2% auto;  padding:20px 40px; display: flex; flex-wrap: wrap; list-style: none; }
.contact-form ul li { width: calc(100%/2 - 10px); margin: 15px 10px 15px 0px;}
.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:#01563a; 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: #01563a;}
.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% - 10px); 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; }
.contact-form .btn-01{border-color:#005639; }
.contact-form .btn-01:hover{border-color:#fff; }
.contact-form .btn-01 span{color:#005639; }

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

@media (max-width: 767.98px) {
 .contact-form{  padding:0px 0px 80px 0px;}   
.contact-form ul{ padding: 0px 10px; }
}
@media (max-width: 320px) {
.contact-form ul{ padding: 0px; }
}


 /* ==== hover style=== */
/* Bounce To Right */
.hvr-bounce-to-right { display: inline-block; vertical-align: middle; -webkit-transform: perspective(1px) translateZ(0); transform: perspective(1px) translateZ(0); box-shadow: 0 0 1px rgba(0, 0, 0, 0); position: relative; -webkit-transition-property: color;  transition-property: color; -webkit-transition-duration: 0.5s; transition-duration: 0.5s;}
.hvr-bounce-to-right:before { content: ""; position: absolute; z-index: -1; top: 0; left: 0; right: 0; bottom: 0;  background:#4D4F50
; -webkit-transform: scaleX(0);  transform: scaleX(0); -webkit-transform-origin: 0 50%; transform-origin: 0 50%; -webkit-transition-property: transform; transition-property: transform; -webkit-transition-duration: 0.5s; transition-duration: 0.5s;  -webkit-transition-timing-function: ease-out;  transition-timing-function: ease-out;}
.hvr-bounce-to-right:hover, .hvr-bounce-to-right:focus, .hvr-bounce-to-right:active {color: white;}
.hvr-bounce-to-right:hover:before, .hvr-bounce-to-right:focus:before, .hvr-bounce-to-right:active:before { -webkit-transform: scaleX(1); transform: scaleX(1);  -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66); transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);}
 
.transition-3d-hover { transition: all .2s ease-in-out}
.transition-3d-hover:focus, .transition-3d-hover:hover {-webkit-transform: translateY(-3px);transform: translateY(-3px)}

.hover-text { background: linear-gradient(to left, transparent 50%, #005639 50%); background-size: 201% 101%; background-position: right bottom;  -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;}
.hover-text:hover {  background-position: left bottom;  color: #ffffff; }

.hover-text:hover p,.hover-text:hover span{ color: #ffffff; }

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

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

 

