@font-face {
  font-family: AdobeFanHeitiSTDB;
  src: url(../font/AdobeFanHeitiStd-Bold.otf);
  font-display: swap;
}
@font-face {
  font-family: AdobeFanHeitiSTDR;
  src: url(../font/AdobeHeitiStd-Regular.otf);
  font-display: swap;
}
@font-face {
  font-family: BahnschriftSemiBold;
  src: url(../font/Bahnschrift_Regular.ttf);
  font-display: swap;
}

button:focus {
  outline: 0 !important;
}
#main-container {
  position: fixed;
  bottom: 0;
  width: 100vw;
  overflow: scroll;
  height: 87%;
}

#main-container section {
  min-height: 33vw;
}

#main-container section#news-update {
  min-height: inherit;
}

#main-container::-webkit-scrollbar,
section#product-cont .category-list::-webkit-scrollbar,
.list-article .article::-webkit-scrollbar {
  display: none;
}
.list-article::-webkit-scrollbar {
  background-color: transparent;
}
#main-container,
section#product-cont .category-list,
.list-article .article {
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
}

#main-container {
  overflow-x: hidden;
}

.main-nav {
  background-color: white !important;
}
.main-nav .ms-logo {
  width: 80%;
}
.main-nav .ms-logo img {
  max-width: 74%;
}

.main-nav .lg-logo {
  text-align: center !important;
}

.main-nav .lg-logo img {
  max-width: 90%;
}

.main-nav ul {
  width: 50%;
}

.main-nav ul > li {
  width: 33.33%;
  text-align: center;
  border-top: 1px solid #c5e0b4;
  border-bottom: 1px solid #c5e0b4;
}

.main-nav ul > li > a {
  font-family: AdobeFanHeitiSTDR;
}

section.carousel-set .btn-cont {
  width: 100%;
  position: absolute;
  bottom: 7%;
  padding-right: 18%;
}

section.carousel-set .carousel-inner {
  min-height: 17.77vh;
}

section.carousel-set .ca-button-b-n,
section#feature .ca-button-b-n {
  height: 2.5vw;
  width: 9vw;
  border: 2px solid #339966;
  border-radius: 50px;
  background: transparent;
  font-family: Calibri;
  font-size: 1.3vw;
}

section.carousel-set .ca-button-l-m,
section#feature .ca-button-l-m {
  height: 2.5vw;
  width: 9vw;
  border: 2px solid #339966;
  border-radius: 50px;
  background: #339966;
  font-family: Calibri;
  font-size: 1.3vw;
  color: white;
  margin-left: 2%;
}

.mini-view-mobile {
  height: 5vw !important;
  width: 18vw !important;
  font-size: 2.6vw !important;
}

section#hmihy,
section#feature {
  margin-top: 1.5%;
  position: relative;
}

section#hmihy .hmy-btn {
  position: absolute;
  top: 8%;
  width: 100%;
  padding-left: 5%;
  height: 10px;
}

.mini-hmy-btn {
  height: 5.12vw !important;
  width: 40vw !important;
  font-size: 2.6vw !important;
}

section#hmihy .tbf-hmihy-btn {
  font-size: 1.3vw;
  background: transparent;
  width: 21vw;
  height: 2.65vw;
  border: 2px solid #339966;
  border-radius: 50px;
  font-family: AdobeFanHeitiSTDR;
}

section#hmihy .tbf-categ-btn,
section#feature .tbf-categ-btn {
  position: absolute;
  width: 100%;
  bottom: 3%;
  padding-right: 2%;
}

section#feature .tbf-categ-btn {
  padding-right: 13%;
  bottom: 7%;
}

section#hmihy .tbf-categ-btn > button {
  background-color: #339966;
  color: white;
  border-radius: 50px;
  border: 2px solid #339966;
  font-size: 1.2vw;
  width: 12vw;
  margin-left: 13px;
  height: 2.55vw;
}

.mini-hmihy-view {
  font-size: 2.2vw !important;
  width: 15vw !important;
  height: 4.55vw !important;
}

.footer {
  background-image: linear-gradient(white, #ededed);
}
.footer .col-md-6 {
  padding: 20px;
}

.footer .with-border > .innerBox {
  border-left: 1px solid #a5c98d;
}
.footer .label > p {
  font-family: Calibri;
  color: #767497;
  line-height: 0.5;
  margin-left: 9%;
}

.footer .label {
  margin-top: 3%;
}
.footer-logo {
  max-width: 54%;
}
.footer .icon-set {
  position: absolute;
  bottom: 30px;
  margin-left: 2%;
}

.footer .icon-set-a {
  margin-left: 9%;
}

.footer .icon-set-a > a > img {
  max-width: 12%;
}

.footer .icon-set > a > img {
  max-width: 22%;
}

section#news-update {
  margin-top: 1%;
  position: relative;
}

section#news-update .floater-label-news {
  position: absolute;
  top: 30%;
  padding-left: 5%;
}

section#news-update .floater-label-news a {
  font-size: 3vw;
  font-family: BahnschriftSemiBold;
  color: #000;
  text-decoration: none;
}
section#news-update .floater-label-news p.desc-label {
  font-size: 2vw;
  font-family: Calibri;
  color: #000;
  width: 41%;
}

section#news-update .contact-us {
  position: absolute;
  bottom: 5px;
  height: 13%;
  width: 21.7%;
  background: #c3b835;
  display: table;
  text-align: center;
}
section#news-update .contact-us label {
  display: table-cell;
  vertical-align: middle;
  font-size: 1.7vw;
  color: white;
  font-family: BahnschriftSemiBold;
}

section#product-cont {
  position: relative;
  padding: 0 6%;
}

section#product-cont .category-btn {
  width: 100%;
  margin-bottom: 3%;
  height: 3em;
  margin-top: 1%;
}

section#product-cont .category-btn .categ-btn {
  background-color: #339966;
  color: white;
  border-radius: 50px;
  border: 2px solid #339966;
  font-size: 1.2vw;
  width: 12vw;
  height: 2.55vw;
}
section#product-cont .category-btn .all-btn {
  background-color: #339966;
  border: 2px solid #339966;
  color: white;
}

.non-active-categ {
  background-color: rgb(166, 166, 166) !important;
  border: 2px solid rgb(166, 166, 166) !important;
}

section#product-cont .category-btn .mini-categ-btn {
  height: 5.11vw;
  width: 24vw;
  font-size: 2.4vw;
}
section#product-cont .category-list {
  /*height: 53vh; */
  min-height: 53vh;
  /* overflow-y: scroll; */
  /* overflow-x: hidden; */
  height: max-content;
}
section#product-cont .category-list > .row {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
section#product-cont .category-list > .row > .col-lg-6 {
  /* margin: 1% auto; */
  /* text-align: center; */
  height: 8.5em;
}
section#product-cont .category-list > .row img {
  width: 7em;
  background: #e2f0d9;
  border-radius: 50%;
  position: relative;
}

.cate-li a {
  cursor: pointer;
}
section#product-cont .category-list > .row a {
  position: absolute;
  left: calc(50% - (20em / 2));
  width: 20em;
}
section#product-cont .category-list > .row .image-circle {
  height: 7em;
  width: 7em;
  position: relative;
}
section#product-cont .category-list > .row .label-cont {
  height: 3em;
  width: 20em;
  border: 1px solid #a9d18e;
  position: absolute;
  top: calc(50% - (3em / 2));
  border-radius: 50px;
  z-index: -1;
  text-align: right;
  padding-right: 1em;
}

section#product-cont .category-list > .row .label-cont label {
  height: 100%;
  font-size: 1.3em;
  line-height: 2;
  width: 9em;
  text-align: center;
}

section#product-tbfi-grid {
  overflow: hidden;
}

section#product-tbfi-grid .produt-box {
  text-align: center;
  padding: 1%;
  cursor: pointer;
}
section#product-tbfi-grid .button-set .col-12 {
  margin-top: 4%;
}
section#product-tbfi-grid .button-set {
  text-align: center;
}
section#product-tbfi-grid .button-set .buy-now {
  border: 1px solid #339966;
  width: 26%;
  padding: 1% 4%;
  border-radius: 50px;
  margin-top: 1vh;
  background-color: transparent;
  font-family: AdobeFanHeitiSTDB;
}

section#product-tbfi-grid .button-set .product-name {
  background: #339966;
  color: white;
  padding: 1% 4%;
  border-radius: 50px;
  font-family: AdobeFanHeitiSTDB;
  cursor: pointer;
}
.easyPaginateNav {
  text-align: center;
  height: 50px;
  width: 100% !important;
}

.easyPaginateNav a {
  padding: 10px;
  background-color: transparent;
  margin: 3px;
  color: black;
  border-radius: 2px;
  text-decoration: none;
  font-weight: bold;
  border: 1px solid #339966;
}

.easyPaginateNav a.current {
  background: #339966;
  color: white;
}

.product-info .product-name {
  font-size: 2.6vw;
  margin-top: 1%;
  font-family: AdobeFanHeitiSTDB;
}
.product-info .d-md-none .product-name {
  font-size: 5.2vw;
}

.product-info button {
  width: 252px;
  margin-top: 2%;
  font-family: Calibri;
  background: transparent;
  border: 1px solid green;
  border-radius: 50px;
  padding: 0.5% 4%;
  font-size: 1.3vw;
  font-weight: bold;
}
.input-grp select:focus {
  outline: 0;
}

.input-grp select {
  width: 128px;
  font-size: 1.1em;
  padding: 1%;
  border: 0;
  border-bottom: 1px solid black;
  margin-right: 2%;
}

.input-grp .price-c {
  font-size: 1.1em;
  font-family: AdobeFanHeitiSTDB;
  background: green;
  padding: 0.5% 2%;
  color: white;
  border-radius: 50px;
  margin-left: 4%;
}
.mini-product-button {
  font-size: 3vw !important;
  margin-left: calc(50% - (252px / 2));
}

.tbfi-product footer {
  position: relative;
  bottom: 0;
}
.prod-desc {
  padding: 1% 5%;
}

.product-info-a p.product-info-header {
  font-family: AdobeFanHeitiSTDB;
}

.product-info-a .content {
  font-family: Calibri;
}
.product-info-a .content table {
  width: 80% !important;
}

.product-info-a .content table tbody tr:first-child td p {
  font-weight: bold !important;
}

.product-info-a .content p {
  text-indent: 4em;
  text-align: justify;
  font-size: 1.2em;
}

.product-info-a .content table p {
  text-indent: 0em !important;
  text-align: center !important;
}

.hidden-content {
  height: 0 !important;
  display: none;
}

.tbfi-news-view .main-con {
  padding: 0 12vw;
  margin: 0 !important;
}

.header-news label {
  font-size: 3em;
  font-family: AdobeFanHeitiSTDB;
  border-bottom: 3px solid black;
  margin: 3% 0;
}

.article-media {
  text-align: center;
  height: 31vw;
  width: 100%;
  background: black;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.article-media video {
  width: inherit;
  height: inherit;
}

.info .header-title {
  margin-top: 3%;
  font-size: 1.6rem;
  font-family: AdobeFanHeitiSTDB;
}
.info .article-content {
  margin-top: 3%;
}
.info .article-content p {
  text-indent: 4em;
  text-align: justify;
}

.list-article {
  height: 800px;
  cursor: pointer;
  overflow-y: scroll;
}

.list-article .article {
  background: black;
  width: 100%;
  height: 200px;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  position: relative;
  margin: 0 0 1% 0;
  overflow-x: hidden;
  overflow-y: hidden;
  position: relative;
}

.list-article .article .inner-title {
  background-color: rgba(255, 255, 255, 0.2);
  position: absolute;
  bottom: 0;
  color: white;
  padding: 5px;
}

.tbfi-news-view footer {
  position: relative;
}

.contact-us-content {
  background-color: transparent !important;
  border: 0 !important;
}

.header-contact {
  color: white;
  font-family: AdobeFanHeitiSTDB;
  font-size: 1em;
}

.text-lab {
  color: white;
  font-family: Calibri;
  font-size: 1.1em;
}

.info-box {
  background-color: white;
  border-top-left-radius: 50px;
  border-bottom-right-radius: 50px;
  min-height: 100px;
  padding: 10%;
}
.contact-det input:focus,
textarea:focus {
  outline: 0;
}
textarea {
  resize: none;
  height: 5em !important;
}
.contact-det input,
textarea {
  width: 100%;
  height: 3em;
  border: 0;
  border-bottom: 1px solid #e6e6e6;
  margin-bottom: 4%;
}

.button-container-contact {
  text-align: right;
  padding-right: 17%;
  position: absolute;
  width: 100%;
  bottom: -6.5%;
}

#sendInquiry {
  height: 3em;
  padding: 0 6%;
  background: #3d9640;
  outline: 0px;
  border: 0;
  color: white;
  font-weight: bold;
  border-top-left-radius: 30px;
  border-bottom-right-radius: 30px;
}

.header-category-container {
  height: 7em;
  position: relative;
  width: 100%;
  padding-left: 5%;
  margin-top: 1%;
}

.categ-img-ctr {
  position: relative;
  height: 7em;
  width: 7em;
}

.categ-img-ctr img {
  width: inherit;
  height: inherit;
  background: #92d050;
  border-radius: 50%;
}

.categ-img-label {
  height: 3em;
  width: 20em;
  position: absolute;
  top: calc(50% - (3em / 2));
  border-radius: 50px;
  z-index: -1;
  background-color: rgb(51, 153, 102);
  padding-right: 2%;
}

.categ-img-label label {
  font-size: 1.3em;
  color: white;
  height: inherit;
  padding-top: 2.5%;
  text-align: center;
  width: 12em;
  margin-left: 4em;
}

.category-btn .category-dist {
  width: calc(100% / 4);
  float: left;
  text-align: center;
  height: 3em;
}

#loader {
  background-color: rgba(0, 0, 0, 0.2);
  height: 100%;
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 1000000001;
}
#loader .spinner-ic {
  position: absolute;
  top: 50%;
  left: 50%;
  color: #339966 !important;
}

.swiper {
  width: 100%;
  height: 80%;
}

.swiper-slide {
  text-align: center;
  font-size: 18px;
  background: #fff;

  /* Center slide text vertically */
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}

.swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#myVideo {
  position: fixed;
  right: 0;
  bottom: 0;
  min-width: 100%; 
  min-height: 100%;
}

@media (max-width: 992px) {
  .main-nav ul > li {
    width: 100%;
    text-align: left;
    border: 0 !important;
    margin-left: 15%;
  }
}

#cookieDiv {
  z-index: 1050;
}

.cookies-eu-banner {
  background: #444;
  color: #fff;
  padding: 6px;
  font-size: 13px;
  text-align: left;
  position: fixed;
  margin-right: -100 !important;
  bottom: 0;
  overflow: auto;
  width: 532px;
  max-width: 80%;
  max-height: 90%;
  z-index: 10;
  margin: 20px;
}



.cookies-eu-banner button {
  text-decoration: none;
  background: #222;
  color: #fff;
  border: 1px solid #000;
  cursor: pointer;
  padding: 4px 7px;
  margin: 2px 0;
  font-size: 13px;
  font-weight: 700;
  transition: background 0.07s, color 0.07s, border-color 0.07s;
}

.cookies-eu-banner button:hover {
  background: #fff;
  color: #222;
}

.cookie-button-div {
  flex-direction: row;
  margin-top: 10px;
  justify-content: center !important;
}

.cookie-button {
  width: 40%;
  height: 35px;
  background-color: #0E95FD !important;
  border-color: #0E95FD !important;
  margin: 10px 0 20px 20px !important;
}

.overlay {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 1000;
  top: 0px;
  left: 0px;
}

.closeBtn {
  color: white;
  background-color: #19417e;
  border-color: white;
  border-radius: 7px;
  -webkit-transition: all 0.35s;
  -moz-transition: all 0.35s;
  transition: all 0.35s;
  padding: 10px;
  width: 150px;
}

.bg-white{
  background-color: white;
  padding: 30px;
  border: 1px grey;
  border-radius: 20px;
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  font-size: 14px;
}

.overlay2 {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1000;
  top: 0px;
  left: 0px;
  pointer-events: none;
}