
/* Products List ============================================================== */
.pro-list {
  text-align: center;
  border: 1px solid #eaeaea;
  margin-bottom: 100px;
  box-shadow: 2px 9px 10px -3px rgba(0, 0, 0, 0.2);
}
.pro-list * {
  transition: all 0.5s;
}
.pro-list .pro-img {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin: 0 auto;
  height: 0;
  padding-bottom: 75%;
}
.pro-list .pro-img img {
  max-height: 100%;
}
.pro-list .pro-img .img-center a {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.pro-list .pro-img:hover {
  cursor: pointer;
}
.pro-list .pro-img:hover:before, .pro-list .pro-img:hover:after {
  opacity: 0.7;
}
.pro-list .pro-img:before {
  width: 30px;
  height: 2px;
}
.pro-list .pro-img:after {
  width: 2px;
  height: 30px;
}
.pro-list .pro-img:before, .pro-list .pro-img:after {
  content: "";
  background-color: #fff;
  position: absolute;
  z-index: 77;
  top: 50%;
  left: 50%;
  opacity: 0;
  transition: all 0.5s ease-in-out;
  transform: translate(-50%, -50%);
}
.pro-list .pro-img .hover-mask {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.1) 100%);
  opacity: 0;
  z-index: 10;
  pointer-events: none;
}
.pro-list .pro-img:hover .hover-mask {
  opacity: 1;
}
.pro-list .pro-img:hover img {
  transform: scale(1.2);
}
.pro-list .pro-text {
  position: relative;
  line-height: 1.5rem;
  padding: 20px 0 40px 0;
  font-weight: bold;
}
.pro-list .pro-text .pro-text-icon {
  position: absolute;
  bottom: -30px;
  left: calc(50% - 25px);
  border-radius: 10%;
  background-color: #002d42;
  width: 50px;
  height: 50px;
}
.pro-list .pro-text .pro-text-icon:before {
  position: absolute;
  top: 16px;
  left: 16px;
  content: "";
  background: url(icons/icon-arrow.svg) no-repeat;
  padding: 9px;
}
.pro-list .pro-text:before {
  content: "";
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 0%;
  height: 3px;
  background-color: #42b035;
  transition: all 0.5s;
}
.pro-list:hover .pro-text:before {
  width: 100%;
}
.pro-list:hover .pro-text-icon {
  transform: rotate(90deg) scale(0.8); background: #42b035;
}

.pro-overview { display: flex; flex-wrap: wrap;}
.pro-overview .pro-ov-L,.pro-overview .pro-ov-R { width: 50%; padding: 0 15px; }
.pro-overview .pro-ov-L h2{ font-size: 30px; font-weight: 600; color: #FFF; background: #42b035; margin-bottom: 30px;text-align: center;}
.pro-overview .pro-ov-R h2{ font-size: 30px; font-weight: 600; color: #FFF; background: #002d42; margin-bottom: 30px;text-align: center;}
.pro-ov-list { display: flex; flex-wrap: wrap;} 
.ov-list-item { display: block; width: 50%; padding: 0 10px; margin: 0 0px 20px; position: relative;   }
.ov-list-item .ov-pic{ position: relative; box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2); background: #FFF; padding: 2px; overflow: hidden;   }
.ov-list-item .ov-pic::before,.ov-list-item .ov-pic::after { content: ''; position: absolute; background: #42b035;  transition: all 0.2s linear;}
.ov-list-item .ov-pic::before { right: 0; bottom: 0; width: 2px; height: 0; transition-property: height, width;  transition-delay: 0s, 0.2s; transition-delay: 0.6s, 0.4s;}
.ov-list-item .ov-pic::after { left: 0; top: 0; width: 2px; height: 0; transition-property: height, width; transition-delay: 0.4s, 0.6s; transition-delay: 0.2s, 0s;}
.ov-list-item:hover .ov-pic::before{ height: 100%; width: 100%; transition-delay: 0s, 0.2s;}
.ov-list-item:hover .ov-pic::after { height: 100%; width: 100%; transition-delay: 0.4s, 0.6s;}
.ov-list-item .ov-pic .ov-img{ position: relative; z-index: 2; background: #FFF;}
.ov-list-item .ov-pic .ov-icon{ position: absolute; bottom: 0px; right: 0;  background-color: #002d42; width: 35px;  height: 35px; z-index: 3; transition: all 0.2s linear; }
.ov-list-item:hover .ov-pic .ov-icon {  background: #42b035;}
.ov-list-item .ov-pic .ov-icon:before { position: absolute; top: 10px; left: 10px; content: ""; background: url(icons/icon-arrow.svg) no-repeat; padding: 10px; transform: rotate(90deg);}
.ov-list-item .ov-tit{ font-weight: 600; line-height: 1.5; text-align: center; padding: 5px 0;}
@media (max-width: 760px) {
  .ov-list-item {  width: 100%;  }
}
@media (max-width: 360px) {
  .pro-overview .pro-ov-L,.pro-overview .pro-ov-R { width: 100%; padding: 0 ; }
}



/* Product Detail ============================================================ */
.pro-detail-wrap {
  margin: 0 0 20px 0;
}
@media (max-width: 480px) {
  .pro-detail-wrap {
    margin: 0 0 20px 0;
  }
}

.pro-detail-left {
  width: 90%;
  margin: 2% auto 0 auto;
}
@media (max-width: 992px) {
  .pro-detail-left {
    margin: 2% auto 10% auto;
  }
}

.pro-detail {
  padding: 0;
}

.pro-detail-pic {
  position: relative;
  overflow: hidden;
  width: 95%;
  margin: 0 auto;
  margin-top: 10px;
  height: 0;
  padding-bottom: 65%;
}
.pro-detail-pic img {
  max-height: 100%;
}
.pro-detail-pic .img-center a {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.pro-detail-title h1 {
  font-weight: 600;
}

.pro-detail-info {
  padding: 1rem 0;
  border-bottom: 1px solid #d6d6d6;
}

.upload-file-zone {
  display: flex;
  flex-wrap: wrap;
  margin-top: 20px;
}
.upload-file {
  margin: 0 30px 10px 0;
}

ol.pro-detail-button {
  margin: 2rem 0 1rem 0;
  padding: 0;
}
ol.pro-detail-button li {
  display: inline-block;
  list-style-type: none;
  margin: 0 1px 10px 0;
  font-size: inherit;
  line-height: inherit;
}

.btn-basic {
  padding: 1px 13px;
  display: flex; flex-flow: row-reverse; align-items: center;
  border: 1px solid #d0d0d0;
  color: #999 !important;
  font-weight: 400;
  border-radius: 3px;
}
.btn-basic:hover {
  color: #fff !important;
  border: 1px solid #42b035;
}

.btn-hover {
  position: relative;
}
.btn-hover:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #42b035;
  transform: scaleX(0);
  transform-origin: 0 50%;
  transition: all 0.3s;
}
.btn-hover:hover:before {
  transform: scaleX(1);
}

.btn-inquiry {
  color: #fff !important;
  font-weight: 400;
  background: #002d42;
  padding: 2px 15px;
  border-radius: 3px;
  position: relative; display: flex; flex-flow: row-reverse; align-items: center;
}
.btn-inquiry:hover {
  color: #fff;
  background: #42b035;
}
.btn-inquiry:after {
  content: "";
  /*position: absolute;
  top: 9px;
  left: 20px;*/
  background: url(icons/icon-inquiry-2.svg) no-repeat;
  width: 15px;
  height: 15px;
  display: block; margin: 0 5px 0 0;
}

.btn-back {
  position: relative;
}
.btn-back:after {
  content: "";
  /*position: absolute;
  top: 7px;
  left: 20px;*/
  background: url(icons/icon-back.svg) no-repeat;
  width: 17px;
  height: 17px;
  transition: all 0.3s;
  display: block; margin: 0 5px 0 0;
}
.btn-back:hover:after {
  background: url(icons/icon-back-2.svg) no-repeat;
}

.btn-prev {
  position: relative;
}
.btn-prev:after {
  content: "";
  /*position: absolute;
  top: 7px;
  left: 20px;*/
  background: url(icons/icon-prev-2.svg) no-repeat;
  width: 17px;
  height: 17px;
  transition: all 0.3s;
  display: block; margin: 0 5px 0 0;
}
.btn-prev:hover:after {
  background: url(icons/icon-prev.svg) no-repeat;
}

.btn-next {
  position: relative;
}
.btn-next:after {
  content: "";
  /*position: absolute;
  top: 7px;
  left: 20px;*/
  background: url(icons/icon-next-2.svg) no-repeat;
  width: 17px;
  height: 17px;
  transition: all 0.3s;
  display: block; margin: 0 5px 0 0;
}
.btn-next:hover:after {
  background: url(icons/icon-next.svg) no-repeat;
}

.tab-list {
  text-align: center;
  background: #333;
  border-bottom: solid 1px rgba(255, 255, 255, 0.5);
  border-top: solid 1px rgba(255, 255, 255, 0.5);
  padding: 0;
  position: sticky; top: 70px; z-index: 100; overflow-x: auto; display: flex; flex-flow: row; justify-content: center;
}
.tab-list li {
  display: inline-block;
  padding: 3px 2em;
  margin: 0px 0px;
  border-left: solid 1px rgba(255, 255, 255, 0.3);
  list-style: none;
  text-align: center;
  font-weight: 400;
  font-size: 0.9rem;
  line-height: 2.5em;
  cursor: pointer;
  white-space:nowrap;
}
@media (max-width: 991px) {
  .tab-list {justify-content: flex-start;}
  .tab-list li {padding: 3px 20px;}
}
@media (max-width: 760px) {
  .pro-list {margin-bottom: 70px;}
  .tab-list li {
    /*display: block;
    border-bottom: solid 1px rgba(255, 255, 255, 0.2);*/
  }
}
.tab-list li:last-child {
  border-right: solid 1px rgba(255, 255, 255, 0.3);
}
.tab-list li a {
  color: #fff;
  transition: all 0.5s;
}
.tab-list li:hover {
  background: #42b035;
}
.tab-list li:hover a {
  color: #fff; 
}

.tab-list-content {
  padding: 30px;
  width: 100%;
  max-width: 1258px;
  margin: 2% auto;
}
.pro-detail-tab-title {
  margin: 2% 0;
  font-size: 2rem;
  font-weight: bold;
}
.pro-detail-tab-title:first-letter { color: #42b035;}

@media (max-width: 760px) {
    .tab-list-content {padding: 20px;}
}
@media (max-width: 460px) {
  .pro-detail-tab-title {
    font-size: 1.2rem;
  } 
}
.pro-detail-tab-title span {
  color: #002d42;
}

.related-pro {
  padding-left: 0 !important;
}
.related-pro li {
  text-align: center;
  padding: 0 20px;
}
.related-pro li figure {
  position: relative;
  overflow: hidden;
  padding-bottom: 60%;
}
.related-pro li figure .img-center a {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.related-pro li h3 {
  padding-top: 20px;
  font-size: 0.9rem;
  font-weight: 400;
  color: #000;
}
.related-pro li img {
  max-height: 100%;
}