﻿/* 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:=================================*/
.f-s{ font-size: 0.9rem;} 
.f-400{font-weight: 400!important;}
.vText { -webkit-writing-mode: vertical-rl; writing-mode: vertical-rl; }
.color-bold{color: #c3112d;}
.color-white{color: #fff!important; }
.color-red{color:#c8102e!important; }
.color-gray{color:#5a5a5a; }
.color-bk{color:#000!important; }
.txt-stork { -webkit-text-stroke: 1px #fff;  -webkit-text-fill-color: transparent;}
.txt-just{text-align: justify!important; }
.txt-center{text-align: center!important; }
 .txt-gradient{ background-image: linear-gradient(45deg, #FFC107, #F44336); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}
/** bg-color:=================================*/
 
.bg-orange{background: #c3112d;  }
.bg-orange-line{background: #c3112d;  }

.main-wrap{width: 100%;padding: 0px; display: flex; flex-wrap: wrap; align-content:flex-start;}
  
.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: 30px; padding-left: 30px;   }
}
@media only screen and (min-width:1281px) {
.wrapper { padding-right:40px; padding-left: 40px; max-width: 100%;}
}
@media (min-width: 1401px) {
.wrapper { padding-right: 30px; padding-left: 30px;}
}
@media (min-width: 1441px) {
.wrapper { padding-left: 80px;  padding-right: 80px;   }
}
@media (min-width: 1920px) {
.wrapper { padding-left:6rem;  padding-right:6rem;   }
}
 
.main-banner-txt .txt-style { position: absolute; top:10%; left: 0px;  z-index: -1; color:transparent;  font-size: 120px;  font-weight:900; line-height: 1;  text-transform: uppercase;  -webkit-text-stroke: 1px #dfdfdf;}
.main-banner-txt .txt-style {color: #fff; opacity: .35; }
/*  banner area*/
.main-banner{width:100%;  height: auto; min-height: 200px; margin:0px; display: flex; flex-wrap: wrap;justify-content:flex-start; align-items: flex-start;   position: relative; overflow: hidden; background-image: linear-gradient(to top, #d8e1e9 0%, #fff 100%); }
.main-banner-img{width: 100%;  height: auto; margin:0; padding:0px;  position: relative;    }
.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;  }
.main-banner-txt {display: flex;flex-direction: column; justify-content:center; padding: 0 20px; z-index: 9;  width:100%; max-width: 60%; margin:auto 0px; position: absolute;  top: 0; left: 0; right: 0; bottom: 0;}
.main-banner-txt h1 { font-size:2.5rem;line-height: 3rem;font-weight: 700;  margin:10px auto; color: #fff; overflow-wrap: break-word;  position: relative;}
.main-banner-txt p{ margin-bottom: 15px;font-size:1.125rem;line-height: 1.75rem; font-weight:500;color: #fff; overflow: hidden;  text-transform: uppercase;   } 
 
.title-box { width: 100%;  border-top: 1px solid rgba(255, 255, 255, 1); position: relative }
.title-box::after { content:""; position: absolute; left: 0px; top:-2px; width: 55px; height: 3px; background:#c3112d;}
@media (max-width:1440px) {
.main-banner-txt h1 {  font-size:2.5rem;line-height: 2.125rem;  }
}

@media (max-width:1160px) {	
.main-banner-txt { max-width: 80%;  }
.main-banner-txt h1 { margin-bottom: 10px; font-size:2.125rem;line-height: 2.5rem;  }
.main-banner-txt p{ font-size:1.125rem;line-height: 1.5rem; } 
}

@media (max-width:992px) {
.main-banner{ box-shadow:none;background: none }   
.main-banner::after {display: none  }
.main-banner-txt {width: 100%;max-width: 100%;  position: relative; order: 2; padding: 0px;   left: auto;}
.main-banner-img{  width: 100%;  position: relative; order: 1; }
.main-banner-txt h1 { font-size:2rem; color:#000;  text-align: center;}
.main-banner-txt h1 span{ font-size:1rem;display: block;color:#000; } 
.main-banner-txt p {font-size:1rem; margin-bottom: 0px; text-align: center; color: #555; } 
.title-box {  border-bottom:none }	
.title-box::after {display: none; }
}
@media (max-width:767.98px) {
.main-banner{ margin-top: 0px; min-height: auto;}    
.main-banner-img{width: 100%;  position: relative; order: 1;}
.main-banner-txt {margin-top: 10px;  }
.main-banner-txt h1 { font-size:1.375rem; line-height: 1.75rem; margin-bottom: 5px;  }   
.main-banner-txt p { font-size:.75rem; line-height: 1.15rem;   }  
}
@media (max-width:320px) {
.main-banner-txt h1 { font-size:1.125rem;line-height: 1.5rem;  }   

}


/*----------------------------------------/
麵包屑 自訂顏色樣式
----------------------------------------*/
.main-breads{ width:100%; max-width: calc((100% - 40px)/12*12 + 40px); margin:auto; padding:5px 0px; border-bottom: solid 1px #eee;background-color: #fff;  position: relative; }
.main-breads .breadcrumb{ width: auto; padding:0px; margin:2px auto; background:none;   }
.main-breads .breadcrumb li{ font-size:.75rem;  font-weight:400; overflow: hidden;  word-break: break-all; }
.main-breads .breadcrumb li a{color:#000;   }
.main-breads .breadcrumb li a:hover,.main-area.top .main-breads .breadcrumb li a:hover{color:#035cd8;}
.breadcrumb-item+.breadcrumb-item::before { content: " | "; margin-left: 2px;color:#000;}
.main-breads .breadcrumb li:first-child{ position: relative;  color:#edf1f7;}
.main-breads .breadcrumb-item.active{color:#c3122e;}
.main-area.top .main-breads{   padding:5px 0px; border-top:solid 1px #eee;border-bottom:solid 1px #eee;  }
.main-area.top .main-breads .breadcrumb{ }
.main-area.top .main-breads .breadcrumb li a,.main-area.top .breadcrumb-item+.breadcrumb-item::before{  color:#777; }
@media (max-width: 992px) {
.main-breads{ max-width: 100%;  margin:0px auto; border-top: solid 1px rgba(255,255,255,.35); border-bottom: solid 1px rgba(255,255,255,.35);}
.main-breads .breadcrumb{width: 100%; padding:2px 0px; justify-content: center;  }
.main-breads .breadcrumb li{ font-size:.75rem;  }
.main-breads .breadcrumb li a{color:#a4a4a4;}
.breadcrumb-item+.breadcrumb-item::before {  margin-left:2px;color:#a4a4a4;}
.breadcrumb-item+.breadcrumb-item{padding-left: 0.1rem} 
.main-breads::after { display: none}
	
}
@media (max-width: 767.98px) {
.main-breads .breadcrumb li{ font-size:.55rem; line-height: 1rem; }
}
 
.main-content{position: relative;z-index: 1; width: 100%; min-height: 50vh; margin:0px auto; padding:40px 0px 0px 0px; overflow: hidden; }
 @media (max-width:1024px) {
.main-content{margin: auto;  padding:20px 0px 0px 0px;  }
}
 @media (max-width:840px) {
.main-content{  padding:0px;  }
}

 @media (max-width:767.98px) {
.main-content{margin: auto;  padding:0px;  }
}


.description{ margin: auto; padding:0px;}
.description p.font-size-m{font-size:1.125rem;  line-height:1.65rem; font-weight:500; margin-bottom: 15px; }
.description p.font-size-s{font-size:1rem;  line-height:1.65rem; font-weight:400; margin-bottom: 15px; }
.product-arera .description{ max-width: 100%; margin: auto; padding:0px;}
@media (max-width:1024px) {
.description{ max-width: 100%; }	 
}
@media (max-width:767.98px) {
.description p.font-size-m{font-size:0.9rem;line-height:1.5rem;}
.description p.font-size-s{font-size:0.875rem;  line-height:1.5rem;  }    
}

/* cms-title-block h2 =======================================================================	*/
.title-block{ width: 100%; height: auto; margin:0px auto 30px auto; text-align: center;  position: relative; }
.title-block h2 {width: auto; display: block; margin:0px auto; padding:20px 0px; font-size: 2.275rem;  color:#c3122e; font-weight:700;   position: relative;  }
.title-block h3 { font-size: 2rem; font-weight:500;    }
.title-block p { margin:0px auto; padding:20px 0px 0px 0px; font-size:1.125rem;  font-weight:400;  text-align: center; position: relative;  }

.title-block.subtitle {  display: inline-block; text-transform: uppercase;  font-size: 18px; font-weight: 700;  margin-bottom: 8px; color:#c3122e;}
.title-block.line .subtitle:before {  content: ""; position: absolute; top: calc(50% - 0.5px); right: 0;  width: 0; height: 1px; background-color: #0075af; transition: ease-out 0.5s 0.8s;}
@media (max-width: 1199.98px) {
.title-block h2{  font-size: 1.5rem; }
}
@media (max-width: 840px) {
.title-block{  margin:0px auto;}
}
@media (max-width: 767.98px) {
.title-block { margin: 15px auto;   }  
.title-block h2{  font-size: 1.275rem;  }
.title-block h2:before,.title-block h2::after{  display: none}    
}  

 /*cms-Title Styles 樣式
=================================*/
.title {  width: 100%; margin:0px auto 50px 0px; padding: 0px;} 
.title h1,.title h2{ margin:20px auto; font-size:2.5rem; font-weight:700;line-height: 2.875rem; color: #c3112d;  }
.title span{ font-size:1rem; font-weight:700;  }
.title strong{color:#c3112d;}

 @media (max-width:1160px) {
.title h1,.title h2{ font-size: 1.875rem;}
.title span{ font-size: 1.875rem; }	 
}

@media (max-width:840px) {
.title {width: 100%; margin: auto;}
.title h1,.title h2{font-size: 1.5rem; line-height: 2rem;}  
.title h2 span{margin-left: 10px;}
.title span{ font-size: 1rem;}       
}

@media (max-width:767.98px) {
.title { margin:0px auto;  }  
.title h2 span{ display: block; font-size: .875rem;margin-left: 0; }       
}
@media (max-width:320px) {
.title h1,.title h2{  font-size: 1.175rem;   }  
.title h3{ font-size: 1rem;   }   
}

 
/*title-left  樣式
=================================*/
.title-left { width:100%; height: auto; padding-bottom: 10px; margin:0 auto 30px auto; position: relative;  border-bottom:2px solid #dbdbdb; }
.title-left h2{ margin-bottom: 0px; font-size:2.5rem; font-weight: 500; line-height: 1.23;  color:#c3112d;  }
.title-left h3{ margin-bottom: 0px;font-size:2rem; font-size: calc(0.9rem + 1.0416666667vw); font-weight:600; line-height: 1.23; color:#c3112d;  }

.title-left p{ width: 100%;  margin:0px auto;  font-size:1.15rem; font-weight:400;   color:#000;  }
.title-left strong{  font-weight:700; color:#c3112d; }

@media (max-width: 1280px) {
.title-left p{font-size: 1rem;}   
.title-left h2,.title-left h3,.title-left p{ margin:15px auto; }
}

@media (max-width: 768px) {
.title-left p{ line-height: 1.35rem;}   
.title-left span{  line-height: 1rem;   }    
}

@media (max-width: 767.98px) {
.title-left { padding:0px; }
.title-left h2{font-size:1.5rem;}  
.title-left h3{font-size: 130%; line-height: 1.75rem; color: #c3112d }	
.title-left p{ font-size: .9rem; line-height: 1.15rem; }      
}
@media (max-width: 320px) {
.title-left h2{font-size:1.35rem;}   
.title-left h3{font-size: 1.275rem;  }	

}

 
.title-center { width: calc(100% - 100px);  margin: 0 auto 80px auto; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; ustify-content: center; position: relative;  z-index: 1;}
.title-center::before { content: ""; position: absolute; width: 100%; height: 5px; background: #c3122e; top: 50%; left: 0;  -webkit-transform: translateY(-50%);  transform: translateY(-50%);}
@media (max-width: 480px) {
.title-center {width: 100%; margin:20px 0px 0px 0px; }
}
.title-center .innerbox { background:#fff; padding: 0 10px; position: relative; z-index: 1; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal;  -webkit-box-direction: normal; -webkit-box-align: center; -ms-flex-align: center; align-items: center;  -webkit-box-pack: center;  -ms-flex-pack: center; justify-content: center;  flex-direction: column }
.title-center .innerbox .m-title { font-size: calc(1.5625rem + 1.0416666667vw); font-weight:700;line-height: 3rem;margin-bottom: 10px;}
@media (max-width: 768px) {
.title-center .innerbox .m-title { font-size:1.5rem; }
}
@media (max-width: 480px) {
.title-center .innerbox .m-title { font-size:1.35rem;line-height: 1.875rem; }
}
.title-center .innerbox .circle-dot {display: block; width: 22px; height: 22px; border: 2px solid #c3112d; border-radius: 50%; position: relative; top: unset; left: unset; right: unset; bottom: unset; z-index: 1; margin: 0 10px;  }
@media (max-width: 740px) {
.title-center .innerbox .circle-dot { display: none; }
}
.title-center .innerbox .circle-dot:before { content: ""; position: absolute; width: 6px; height: 6px; background:#555; border-radius: 50%; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);}
.title-center .innerbox .subtitle {  width: 100%; text-align: center;  font-weight: 700; margin:20px auto;  color:#c3112d;}
@media (max-width: 740px) {
.title-center .innerbox .subtitle { display: none; }
}
.title-center .innerbox .subtitle span { color:#c3112d; padding-left: 5px;}
.title-center .innerbox  p { font-size: calc(0.9rem + 1.0416666667vw); font-weight:500; color:#c3112d; }
.title-center .leftLine { width:5px; height: 50px; background:#c3122e; position: absolute; top:50%; left: 0; right: unset; bottom: unset; z-index: 1;}
.title-center .rightLine {  width:5px;  height: 50px;  background:#c3122e; position: absolute; top:50%; left: unset; right: 0; bottom: unset; z-index: 1;}
@media (max-width: 740px) {
.title-center .leftLine ,.title-center .rightLine{display: none}
}
 
.title-text span{color: #f38054; font-size: 26px; font-weight: bold; top:-10px;  margin-right: 30px; position: absolute;}


/*font-size*/
.text-card-h2-title { margin-bottom: 1.25rem !important;}
.text-card-h3-title { margin-bottom: 1.25rem;}
.title-h2 { font-size: 2.275rem; color: #c8102e; font-weight:700; font-family: "Montserrat"; line-height: 2.875rem; }
.title-h3 { font-size: 1.25rem; color:#c8102e;font-weight:700; font-family: "Montserrat";}
@media (max-width: 1160px) {
.title-h2 {font-size: 1.5rem; line-height: 2rem; }
}

@media (max-width: 767.98px) {
.title-h2 {font-size: 1.275rem; line-height: 1.75rem; }
}

/*----------------------------------------/
分頁 自訂顏色樣式
----------------------------------------*/
.pagination{ width: 100%; margin:50px auto 0px auto; padding-bottom: 30px; display: flex; justify-content: center;border-radius:0px;   }
.pagination .page-link { color:#000; font-weight: 700; width:40px;height: 40px;text-align: center;border:none;  background-color:transparent; border-color:transparent; }
.pagination .page-link:hover { color: #c3122e; background-color:transparent;   border-bottom: solid 1px #c3122e;}
.pagination .page-link:focus { box-shadow: none;}
.pagination .page-item{ margin: 5px;  }
.pagination .page-item:first-child .page-link {  border-color:transparent; filter: grayscale(100%); opacity: .7}
.pagination .page-item:last-child .page-link { color: #555; border-radius:0px;  }
.pagination .page-item:last-child .page-link:hover { filter: grayscale(100%); opacity: .7  }

.pagination .page-item.active .page-link { color: #c3122e!important; border-bottom: solid 1px #c3122e!important;   border-color:transparent; background-color:transparent;  }
.pagination .page-item.disabled .page-link { color: #000;   }
.pagination .page-link:hover span {   }

@media (max-width: 320px) {
.pagination .page-link {  padding: 3px;  width:30px;height: 30px; }    
}
 .editor blockquote {width: 100%; display: block; font-size: 26px; font-weight: 400; line-height: 1.5;  position: relative; margin: 0; padding-left: 32px;  color: #1e88c9;  -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: #1e88c9;}
/*---------------*/
/***** icon *****/
/*---------------*/
.icon-back{background: url("../images/icon/arrow-left-2.svg") no-repeat left center;  background-size:auto;}
.icon-shop{display: block;  margin: auto;background:url("../images/icon/shop-1.svg") no-repeat left top; }
.icon-next{background: url("../images/icon/arrow-right-2.svg") no-repeat left 0px;  background-size:auto;}
.icon-link{background: url("../images/icon/link.svg") no-repeat left center;  background-size:auto;}
.icon-check{background: url("../images/icon/check.svg") no-repeat center 4px; background-size:70% auto;}
.icon-clear{background: url("../images/icon/clear-w.svg") no-repeat center 4px; background-size:70% auto;}
.arrow-w{background: url("../images/icon/arrow-right-2.svg") no-repeat right top;  } 
 
 
/***** btn *****/
/*---------------*/
.btn { width: 100%;   margin: 0px 5px 0px 0px;padding: 10px;font-size: .95rem; line-height: 1.5;  border-radius:0px;  }
 

@media (max-width: 991.98px) {
.btn { font-size: .9rem;  }
}
@media (max-width: 797.98px) {
.btn { font-size: .875rem;  }
}
@media (max-width: 320px) {
.btn { font-size: .75rem;  }
}


.btn-more { opacity: 1; transform: none; margin: 0px;}
.btn-more a{color: #000; font-weight: 700;  font-size: 1.125rem;  display: flex; align-items: center; }
.btn-more a:hover{opacity: .5;}
 
.btn.btn-secondary { color:#fff; font-size: 1rem; font-weight: 700; background:#000; display: flex;  flex-wrap: wrap; justify-content: center; align-items: center;transition: all 1s;  }
.btn.btn-secondary:hover { color: #fff;   }
 
.btn-btnbox {position: relative;z-index:9; display: flex;  justify-content: center;  width: calc(100% - 80px); max-width:600px;  height: auto; margin:20px auto; transition: all 1s;  }    
 
.btn-submit{ font-weight: 700; background:#c3112d;  color: #fff!important; vertical-align: text-bottom; border-radius:10px;   }
.btn-submit:hover { color: #fff;  background-color:#555; box-shadow: 3px 8px 8px rgba(0,0,0,.3);  }

.btn-red{  border-radius:10px; border: solid 1px #c3112d; background-color:#fff; font-weight: 700;  color:#c3112d!important; vertical-align: text-bottom;     }
.btn-red:hover { color: #fff;  background-color:#ECECEC;  box-shadow: 3px 8px 8px rgba(0,0,0,.3);  }



.btn-reset{ font-weight: 700;  background:#c3122e; color: #fff!important; vertical-align: text-bottom; border-radius:10px; }
.btn-reset:hover { color: #fff;  background-color:#555; box-shadow: 3px 8px 8px rgba(0,0,0,.3); }
 
/*print
=================================*/
.btn.btn-print { color:#fff; font-size: 1rem; font-weight: 700; background-color:#c3112d; display: flex;  flex-wrap: wrap; justify-content: center; align-items: center; transition: all 1s; }
.btn.btn-print:hover { color: #fff;   }

/*---------------*/
/***** btn *****/
/*---------------*/
.btnbox {position: relative;z-index:9; display: flex;  justify-content: center;  width: 100%; height: auto; margin:20px auto 0px auto;  transition: all 1s;}   
.btn-back {  width:220px; height:3rem; padding:  15px; font-size: 0.95rem; color: #fff; font-weight: 700; text-align: center;  text-decoration: none; text-transform: uppercase;background-color:#c3112d;border-radius: 10px; transition: all .3s ease; }
.btn-back a{color: #fff;  }
.btn-back a:visited{color: #fff;  }
.btn-back:hover { background-color: #555 ;box-shadow: 0px 8px 8px rgba(0,0,0,.3);}
.btn-back:hover a{color:#fff!important;}
@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;}  
}

/*----------------------------------------/
ul style 自訂樣式
----------------------------------------*/
.check { list-style-position: outside; list-style-type: circle; padding-left: 15px; }
.check li{margin-bottom: 10px; font-size:1rem;font-size: min(max(3.5vw, .9rem), 1rem);line-height: 1.5rem;font-weight:400;  }

/*----------------------------------------/
aside cssmenu樣式
----------------------------------------*/
.main-area.top #cssmenu{margin:50px auto 10px auto;}
 /*----------------------------------------/
aside cssmenu樣式
----------------------------------------*/
#menu-line{position:relative;bottom:0px; left:0px;top:50px; right: 0px; margin-left: 5px; width: auto;height:3px;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 a { 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; }
#cssmenu{width:100%;margin:30px 0px 15px 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:9;}
#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;border:0;list-style:none; display:block;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
#cssmenu:after, #cssmenu > ul:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0;}
#cssmenu > ul > li{float:left;width: auto; position: relative;z-index: 1; margin:0px;border-radius:0px; background-color:transparent;-webkit-transition: all 0.3s;transition: all 0.3s;  }
#cssmenu.align-center{ text-align:center;   }
#cssmenu.align-center > ul{ display: flex;flex-wrap: wrap; justify-content: center; }
#cssmenu.align-center > ul > li{ width: calc(100%/6); margin:5px 15px 5px 0px; border: 1px solid rgba(17,17,17,0.2); border-radius: 10px;overflow: hidden  }
#cssmenu.align-center ul ul{text-align:left;}
#cssmenu.align-right > ul > li{float:right;}
#cssmenu.align-right ul ul{text-align:right;}
#cssmenu.align-right li:hover > ul{right:0;}
#cssmenu.align-right ul ul ul{margin-left:0;margin-right:100%;}
#cssmenu > ul > li > a{padding:10px 15px; font-size:0.9rem; font-weight: 600; line-height: 1.3rem;  text-align:center;text-decoration:none;text-transform:uppercase;color:#1e1e1e;-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 > li > a span{ margin: auto; width: 100%; max-width: 100px;font-size: 0.875rem; line-height: 1rem;}
#cssmenu ul ul{position:absolute;left:-9999px; background:#fff; -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; box-shadow: 0 5px 10px -6px rgba(0, 0, 0, 0.5);  }
#cssmenu li:hover > ul{left:auto;}
#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:#fff8f9!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 ul li a{ padding:8px 20px; width:200px; font-size:0.9rem;font-weight:400;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.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;}
#cssmenu .submenu-button{position:absolute;z-index:10;right:10px;top:0;display:block; height:100%;width:100%;cursor:pointer;}
#cssmenu .submenu-button::after{content:'';position:absolute;top:20px;right:10px;display:block;width:1px;height:14px;background:#000000;z-index:99;}
#cssmenu .submenu-button::before{content:'';position:absolute;right:3px;top:26px;display:block;width:14px;height:1px;background:#000000;z-index:99;}
#cssmenu .submenu-button.submenu-opened:after{display:none;}
#cssmenu li:hover .submenu-button{ }
#cssmenu li:hover .submenu-button::after,#cssmenu li:hover .submenu-button::before{ background:#fff; }
#cssmenu > ul > li:hover,#cssmenu > ul > li:hover > a,#cssmenu > ul > li.active{ border-color:#eee;}  
#cssmenu > ul > li:hover > a {color:#fff;}
#cssmenu ul ul li:hover > a,#cssmenu ul ul li a:hover{color:#c3122e;}
#cssmenu > ul > li.active:hover > a {color:#c3122e;}  
#cssmenu > ul > li.has-sub:hover > a::after{border-color:#eee;}
/*img*/
#cssmenu > ul > li:hover > a > figure{filter:invert(100%) brightness(5) grayscale(1);-webkit-transition: all 0.3s;transition: all 0.3s; }   
#cssmenu > ul > li:hover {border-color:transparent; background: #c3122e; -webkit-transition: all 0.3s;transition: all 0.3s;  }  
#cssmenu > ul > li > a > figure{width: 100%; max-width:42px; height: 42px; margin: auto;}
#cssmenu > ul > li > a span{font-size: 0.9rem; font-weight: 600; text-align: center; margin: 10px auto;}
#cssmenu > ul > li.active{ border: 1px solid #c3112d;  }  
#cssmenu > ul > li.active:hover > a {color:#c3112d;}  
#cssmenu > ul > li.active > a span{color:#c3112d; }  
#cssmenu > ul > li.active:hover > a span{color:#fff; } 


 
@media (max-width:999px) {
#cssmenu{width:100%;margin-top:0px !important; position: sticky; z-index:11; border-color: #c3122e;}
#cssmenu ul{width:100%;height: 100vh; overflow-y: scroll; margin: auto; display:none; background:#fff; position: absolute; box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2); }
#cssmenu ul ul{ height: auto; box-shadow: none;  background-color: #eaedf0}
#cssmenu ul ul ul{ background:#eee;  }   
#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{ width:100%;  border: none; border-bottom: solid 1px #ddd; box-shadow: none;}
#cssmenu ul li a,#cssmenu ul ul li a{width:100%; }
#cssmenu li:hover > ul{display: block}
#cssmenu > ul > li.active:hover > a {color:#fff;}  
#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; color:#000;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::after,#cssmenu ul ul li.has-sub > a::after{display:none;}
#cssmenu > ul > li > a{ height: auto}
#cssmenu > ul > li > a span{ margin: auto 0; }
#menu-line{display:none;}
#cssmenu #menu-button{display:block; padding:10px 20px; color:#c3122e;cursor:pointer;font-size:1rem;font-weight: 700;text-align: center; text-transform:uppercase; border-bottom:solid 1px #c3122e; background-color:#fff;-webkit-border-radius:0px;-moz-border-radius:0px;border-radius:0px;}
#cssmenu #menu-button::after {display: block; content: ""; position: absolute; left:3%; top: 10px;width: 24px; height: 24px;background: url("../images/icon/nav.svg") no-repeat left top;  }
#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:52px;width:100%;cursor:pointer;}
#cssmenu .submenu-button::after{content:'';position:absolute;top:21px;right:26px;display:block;width:1px;height:11px;background:#000000;z-index:99;}
#cssmenu .submenu-button::before{content:'';position:absolute;right:21px;top:26px;display:block;width:11px;height:1px;background:#000000;z-index:99;}
#cssmenu .submenu-button.submenu-opened:after{display:none;}
#cssmenu li:hover .submenu-button{display:block;}
#cssmenu.align-center > ul{ align-content: flex-start;}

#cssmenu.align-center > ul > li {width: 100%; border-radius:0px;margin: 0px;border-right:none;border-left:none;border-top:none;   }
#cssmenu > ul > li > a span{   max-width: 100%; }
 #cssmenu > ul > li > a > figure {display: none;} 
 }
@media (max-width:767.98px) {
#cssmenu li.brand ul.brand-list li{width:100%; margin:5px auto} 	
}
/* ==== 底圖 === */
.bg-background { background-image: attr(src url); background-repeat: no-repeat; background-size: 100% auto;background-position:left bottom; position: absolute;z-index: 1; bottom:0px; left: 0; right: 0;  line-height: 0;  width: 100%;  }
@media(max-width: 992px) {
.bg-background {background-position:center;}
}
  
/*----------------------------------------/
 leftMenu start 樣式
----------------------------------------*/
 @media only screen and (min-width:993px){
.leftMenuMobile {display: none;}
}
.leftMenu {  flex: 3; padding:40px 20px 20px 20px;  background-color: transparent; border-right:solid 1px #eee;    position: relative; z-index: 9;}
.leftMenu h2{ font-size: 1.5rem; font-weight: 700; margin-bottom: 30px;  } 
.leftMenu .subject { display: none; margin: 20px 0; font-size: 1.125rem; font-weight: 700; line-height: 1.2; text-transform: uppercase;}
.leftMenu .subject img { width: 24px;  margin-right: 12px;}
.leftMenu ul, .leftMenu ul li {list-style-type:none; margin: 0; padding: 0;}
.leftMenu ul {width: 100%; }
.leftMenu > ul ul { padding: 30px 0px; } 
.leftMenu ul li { margin:20px 0px 0px 0px; position: relative; z-index: 1; font-size: 1.375rem; font-weight: 700;  line-height:1.75rem;  transition: all .3s ease }
.leftMenu ul li:last-child {border-bottom: none;}
.leftMenu ul li a:hover { color:#c3122e!important; }
.leftMenu ul li a { transition: all .3s ease }
.leftMenu ul li:hover  { transition: all .3s ease }
 
.leftMenu ul li ul li.current a{ color:#c3122e;}
.leftMenu ul li ul li{ margin:0px; font-size:1rem; font-weight: 400; line-height:1.5rem;position: relative; border-bottom:none}
.leftMenu ul li ul li:hover:before{  background-color:#c3122e;  }
.leftMenu ul li ul li a.menu_arrow_open{background-color:#fff; color:#c3122e;}
.leftMenu ul li ul li a{ color:#555;}
.leftMenu ul li ul li ul li{padding-left: 0px;}
.leftMenu ul li ul li ul li a{ color:#615f5e;}
.leftMenu ul li ul li ul li:before{display: none}

.menu_dot {position: absolute; top: 10px; right: 0px; z-index: 99; width: 100%; height: 30px; cursor: pointer;}
.menu_dot::before {content: ''; width:20px; height: 20px; background: url("../images/icon/icon-up.svg")  no-repeat left top; position: absolute; top:5px; right: 7px; z-index: 99; transition: all 0.5s ease 0s;}
.leftMenu .menu_dot_open{  }
.leftMenu .menu_dot_open::before {transform: rotate(-90deg)}
.leftMenu .menu_dot_open::after { display: none;}
.leftMenu a:link, .leftMenu a:visited {text-decoration:none; color:#312927; background-color: transparent; padding: 10px 0px; display: block; position: relative; z-index: 1; transition: all 0.5s ease 0s;}
.leftMenu a:active, .leftMenu a:hover {text-decoration:none;  color:#c3122e!important; cursor:pointer; transition: all 0.5s ease 0s;} 
/*.leftMenu img style*/
.menu-img {width: 100%; display: flex;flex-wrap: wrap; align-items: center; }
.menu-img figure{width:20%; padding-right: 10px;}
.menu-img h3{width: calc(80% - 10px);}

.leftMenu ul li a.menu_arrow_open{ color:#c3122e;}
.leftMenu ul li ul li a.menu_arrow_open{background-color:#fff; color:#c3122e!important;}
.menu_arrow { display: none; position: absolute; top: 15px; left: 5px; width: 20px; height: 20px; -moz-transform:rotate(0deg); -webkit-transform:rotate(0deg); -o-transform:rotate(0deg); -ms-transform:rotate(0deg); transform:rotate(0deg); transition: all 0.5s ease 0s;}
.menu_arrow::before {content: ''; width: 7px; height: 2px; background-color: #172987; border-radius: 2px; position: absolute; top: 7px; left: 6px; -moz-transform:rotate(45deg); -webkit-transform:rotate(45deg); -o-transform:rotate(45deg); -ms-transform:rotate(45deg); transform:rotate(45deg); transition: all 0.5s ease 0s;}
.leftMenu a:hover .menu_arrow::before {background-color: #172987; transition: all 0.5s ease 0s;}
.menu_arrow::after {content: ''; width: 7px; height: 2px; background-color: #172987; border-radius: 2px; position: absolute; top: 11px; left: 6px; -moz-transform:rotate(-45deg); -webkit-transform:rotate(-45deg); -o-transform:rotate(-45deg); -ms-transform:rotate(-45deg); transform:rotate(-45deg); transition: all 0.5s ease 0s;}
.leftMenu ul li a.menu_arrow_open .menu_arrow::before,.leftMenu ul li a.menu_arrow_open .menu_arrow::after  {background-color:#172987; }
.leftMenu a:hover .menu_arrow::after {background-color: #172987; transition: all 0.5s ease 0s;}
.menu_arrow_open .menu_arrow {-moz-transform:rotate(90deg); -webkit-transform:rotate(90deg); -o-transform:rotate(90deg); -ms-transform:rotate(90deg); transform:rotate(90deg); transition: all 0.5s ease 0s; }
.leftMenu .check-list li{margin-bottom: 10px;}

@media only screen and (max-width:992px){
.leftMenu .subject { width: 100px; height: 50px; margin: 0px; font-size: 0; position: absolute; left:20px; top:6px; z-index: 10;}
.leftMenu { flex: 1 1 100%;margin-top: 20px; padding: 0px;  border-right:none;position: relative}    	
.leftMenu h2{ display:none}	
.leftMenu ul {width: 100%;}
.leftMenuMobile {width: 100%; height:40px; margin:10px auto; cursor: pointer; border-bottom: solid 1px #e7eef5;   position: relative; z-index: 9;  }
.leftMenuMobile > span:nth-child(1) {width: 30px; height: 2px; background-color: #000; position: absolute; top: 10px; right: 15px; transition: all 0.5s ease 0s;}
.leftMenu > div.show > span:nth-child(1) {top: 18px; transform: rotate(45deg);}
.leftMenuMobile > span:nth-child(2) {width: 30px; height: 2px; background-color: #000; position: absolute; top: 22px; right: 15px; transition: all 0.5s ease 0s;}
.leftMenu > div.show > span:nth-child(2) {top: 18px; transform: rotate(-45deg);}
.leftMenuMobile::before {content: attr(data-title); width: 200px; height: 40px; line-height: 40px; position: absolute; top:0px; left: 0px; text-align: left; font-size: 1.375rem; font-weight:400;  color: #000;}
.leftMenu > ul {  max-height: 0; overflow: hidden; transition: all 0.5s ease 0s; }
.leftMenu > ul.open {max-height: 500px; overflow: auto; padding-bottom: 10px; transition: all 1.5s ease 0s; position: absolute;z-index: 9; background: #fff;  box-shadow: 0 0 30px hsla(0,0%,46.7%,.2);   }
.leftMenu ul li { font-size: 0.9rem;  line-height:1.25rem;  word-break:normal; }	
.leftMenu ul li a{ font-size: 0.9rem;  line-height:1.25rem;  word-break:normal; }	
.leftMenu a:link, .leftMenu a:visited { padding: 10px;  }	
.leftMenu ul li ul li{padding-left:10px; }
.leftMenu ul li ul li:before{ left:10px; top:18px; }	
}
@media only screen and (max-width:767.98px){
.leftMenuMobile::before {font-size: 1.125rem;font-weight:700}
} 

 /*----------------------------------------/
  table_scroll
----------------------------------------*/
.table_scroll { overflow-x: auto;}
.table_scroll > table { min-width: 1000px; } 

/*table css*/
.table-wrapper { width: 100%; height: auto;  margin: 30px auto;  overflow: auto; }
@media (max-width:767.98px) {
.table-wrapper { margin:0px auto 30px auto;  overflow: auto; }
 }

.datatable { width: 100%; border-spacing: 0; margin: auto; background-color:#dadada;border-radius: 10px; border: 1px solid  #dadada; overflow: hidden;  }
@media (max-width: 991.98px) {
.datatable { width: 100%;}
}
.datatable.txt-center{text-align: center }
.datatable thead {  letter-spacing: 0.05em;  text-transform: uppercase;}
.datatable tbody { font-size: .9rem ;  }
.datatable th { font-size:1rem; font-weight: 700; color:#fff;  padding:5px; text-align: center; white-space: nowrap; border: 1px solid #dadada;  background-color: #989da0;    }
.datatable td { font-size:0.9rem; font-weight: 400;padding: 5px; white-space: nowrap; border: 1px solid #dadada;  }
.datatable thead td{ color: #000;  font-weight: 700; }
.datatable tr:nth-child(even) {background-color:#efefef; } 
.datatable tr:nth-child(odd) {background-color:#fff; } 
.datatable tr.sticky {color: #000; font-weight: 700; position: sticky;  top: 0;  z-index: 1;  background: #fff;box-shadow: 0 0 6px rgba(0,0,0,0.25);}
.datatable th.sticky,.datatable td.sticky {  color: #000; font-weight: 700;  position: sticky; left: 0; background: var(--stickyBackground);}
.datatable th.sticky::after,.datatable td.sticky::after {content: ""; position: absolute; right: -6px; top: 0; bottom: -1px;  width: 5px; border-left: 1px solid #dadada;  background: linear-gradient(90deg, rgba(0,0,0,0.08) 0%, rgba(0,0,0,0) 100%);}
.datatable th.sticky::before,.datatable td.sticky::before { content: ""; position: absolute; left: -6px; top: 0; bottom: -1px;  width: 5px; border-right: 1px solid #dadada; background: linear-gradient(90deg, rgba(0,0,0,.1) 0%, rgba(0,0,0,0.08) 100%);}
.datatable td .wrap { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center}
.datatable span.txt-r{ display: flex; flex-wrap: wrap;text-align: right}
.datatable span.txt-name{ display: flex; flex-wrap: wrap;flex-direction: column;  }
@media (max-width:320px) {
.datatable tr.sticky {   position: relative;  }
.datatable th.sticky,.datatable td.sticky {  position: relative; }
}

