body {
  margin: 0;
  border: 0;
  font-family: "Kanit", sans-serif;
  font-size: 18px;
  color: black;
  font-weight: 300;
  background-color: white;
}

img {
  width: 100%;
  /* height: 100%; */
}

a {
  text-decoration: none;
  color: black;
}
.PDPA .PDPA-container {
  display: flex;
  align-content: center;
  align-items: center;
  padding: 2rem 3rem 2rem 3rem;
  background:#00359f;
  color: #ffffff;
  position: fixed;
  z-index: 1000;
  bottom: 0;
  font-size: 16px;
  font-weight: 400;
  gap: 1rem;
  opacity: 1;
  visibility: visible;
  flex-wrap: wrap;
  text-align: center;
  width: 100%;
}
.PDPA .PDPA-container.hide {
  opacity: 0;
  visibility: hidden;
}
.PDPA .PDPA-container a {
  color: #ffc12b;
  font-size: 16px;
  font-weight: 400;
  text-decoration: underline;
}

.PDPA .PDPA-container a:hover {
text-decoration: none;
transition: 0.3s ease-in-out;
}
.PDPA .PDPA-container .PDPA-text {
  flex: 7 768px;
  color: white;
  font-size: 16px;
  margin: 0;
}
.PDPA .PDPA-container .agree {
  flex: 1 150px;
  text-align: center;
}
.PDPA .agree button {
  background: rgba(255, 255, 255, 0);
  color: white;
  border: 1px white solid;
  padding: 0.4rem 1.2rem;
  cursor: pointer;
  border-radius: 20px;
  font-size: 1rem;
  font-size: 16px;
}
.PDPA .agree button:hover {
  background: #ffffff;
  color: #00359f;
  transition: 0.3s ease-in-out;
}

.home-banner {
  padding: 86px 0 0 0;
}
.BG-home-intro {
  background-image: url("../img/BG-home-intro2.png");
}
.home-intro-pad {
  padding: 3vw 0 0 0;
}
.home-intro .img {
  border-radius: 0 135px 0 0;
}
.home-intro .intro-textbox {
  position: absolute;
  width: 50vw;
  top: 10%;
  left: 44%;
  background: white;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2rem;
  border-radius: 0 39px 0 39px;
  box-shadow: 0 4px 4px 0 #00000025;
}
.home-intro .intro-textbox .title {
  font-size: 1.57vw;
  display: flex;
  flex-direction: column;
}
.home-intro .intro-textbox .title span {
  font-size: 1.88vw;
  color: #ef3824;
  font-weight: 400;
}
.home-intro .intro-textbox .text {
  font-size: 1.05vw;
  line-height: 160%;
}
.home-intro .intro-textbox .text span {
  font-size: 1.05vw;
  font-weight: 400;
}
.home-intro .intro-textbox .text .blue {
  color: #00369f;
  font-size: 1.15vw;
  font-weight: 400;
}
.home-intro .intro-textbox .text .red {
  color: #ef3824;
  font-size: 1.05vw;
  font-weight: 400;
}

.BG-blue-intro {
  background-color: #00369f;
  height: 11.65vw;
  display: flex;
  align-items: center;
}
.stat .number {
  font-size: 3vw;
  font-weight: 400;
  color: #77f7ff;
  text-align: center;
}
.stat .text {
  font-size: 1.05vw;
  font-weight: 400;
  color: #ffffff;
  text-align: center;
}

.BG-home-service {
  background-image: url("../img/BG-home-service-v2.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: bottom;
}
.home-service {
  padding: 3% 0 5% 0;
}
.home-service .titlebox,
.home-product .titlebox {
  position: relative;
  text-align: center;
  padding: 0 0 4% 0;
}
.home-service .titlebox .title,
.home-product .titlebox .title,
.home-specialist .title {
  color: #00369f;
  font-size: 1.88vw;
  font-weight: 500;
}
.home-service .titlebox .subtitle,
.home-product .titlebox .subtitle,
.home-specialist .subtitle {
  font-size: 1.6vw;
}
.home-service .viewall {
  font-size: 0.94vw;
  color: #00369f;
  position: absolute;
  top: 25%;
  right: 0;
  width: 7.3vw;
  height: 2.35vw;
  border: 1px #00369f solid;
  border-radius: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.705);
}
.home-service .viewall i,
.home-service .viewall a {
  font-size: 0.94vw;
  color: #00369f;
}
.home-service .viewall:hover {
  transform: scale(1.05);
  transition: 0.3s ease-in-out;
  color: black;
}

.home-service .img {
  position: relative;
}

.home-service .gradientblue .text {
  position: absolute;
  bottom: 3%;
  width: 100%;
  text-align: center;
  color: white;
  font-size: 1.25vw;
  width: 17vw;
}
.home-service .gradientblue .text i {
  font-size: 0.94vw;
  color: #77f7ff;
}
.home-service .gradientblue .text span {
  width: 1vw;
  opacity: 0;
}
.home-service .gradientblue:hover .text span {
  opacity: 1;
  transition: all 0.3s ease-in-out;
}
.home-service .gradientblue:hover .bluebar {
  opacity: 1;
  transition: all 0.3s ease-in-out;
}
.home-service .gradientblue {
  background: rgb(0, 54, 159);
  background: linear-gradient(
    0deg,
    rgba(0, 54, 159, 1) 0%,
    rgba(87, 87, 87, 0) 40%
  );
  position: absolute;
  /* width: 95vw; */
  width: 100%;
  height: 100%;
  bottom: 0%;
  display: flex;
  justify-content: center;
}
.bluebar {
  position: absolute;
  bottom: 0;
  background-color: #8bcef3;
  height: 8px;
  width: 100%;
  opacity: 0;
}
.home-specialist .titlebox {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.home-specialist .video img {
  border-radius: 13px;
  box-shadow: 0 4px 4px 0 #00000025;
}

.home-product {
  padding: 5% 0;
}
.home-product .img,
.home-port .img {
  position: relative;
}

.home-product .img img,
.home-port .img img{
  border-radius: 5px;
}

.home-product .gradientblack .text {
  position: absolute;
  bottom: 3%;
  width: 100%;
  font-size: 1.28vw;
  font-weight: 400;
  color: white;
  display: flex;
  flex-direction: column;
  padding: 0 0 0 1rem;
}
.home-product .gradientblack .text span {
  font-size: 0.84vw;
  color: white;
}
.home-product .gradientblack {
  background: rgb(0, 0, 0);
  background: linear-gradient(0deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 34%);
  position: absolute;
  width: 100%;
  height: 100%;
  bottom: 0;
  border-radius: 5px;
}
.home-product .viewmore {
  font-size: 0.73vw;
  text-align: center;
  color: #8bcef3;
  height: 1rem;
  opacity: 0;
  transition: all 0.3s ease-in-out;
}
.home-product .gradientblack:hover .viewmore {
  opacity: 1;
  transition: all 0.3s ease-in-out;
  /* transition: 0.5s all; */
}

.home-port .showimg {
  height: 22.45vw;
}
.home-port .bigimg,
.home-port .smimg {
  height: 100%;
}

.slide-homeport1 .owl-nav {
  margin: 0;
  position: absolute;
  bottom: 0;
  right: 0;
}
.slide-homeport1 .item img {
  height: 22.45vw;
  object-fit: cover;
  border-radius: 5px 0 0 5px;
}
.homeport-prev i,
.homeport-next i {
  font-size: 2vw;
}
.homeport-prev:hover i,
.homeport-next:hover i {
  color: #00369f;
}
.homeport-prev,
.homeport-next {
  background: white;
  width: 3vw;
  height: 3vw;
  display: flex;
  align-items: center;
  justify-content: center;
}
.home-port .smimg {
  position: relative;
  opacity: 75%;
}
.home-port .smimg img {
  border-radius: 0 5px 5px 0;
  height: 22.45vw;
  object-fit: cover;
}
.home-port .gradientblue2 {
  background: rgb(0, 54, 159);
  background: -moz-linear-gradient(
    180deg,
    rgba(0, 54, 159, 0.8939950980392157) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  background: -webkit-linear-gradient(
    180deg,
    rgba(0, 54, 159, 0.8939950980392157) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  background: linear-gradient(
    180deg,
    rgba(0, 54, 159, 0.8939950980392157) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00369f",endColorstr="#ffffff",GradientType=1);
  position: absolute;
  width: 100%;
  height: 100%;
  bottom: 0;
  border-radius: 5px;
}
.home-port .bluebg {
  position: relative;
  background-color: #00369f;
  border-radius: 0 10px 10px 0;
  height: 22.45vw;
}
.home-port .bluebg .text {
  position: absolute;
  top: 0;
  left: 0;
  padding: 2vw;
  color: white;
  font-size: 1.25vw;
  display: flex;
  flex-direction: column;
  width: 100%;
}
.home-port .bluebg .text span {
  font-size: 1.88vw;
  font-weight: 400;
}
.home-port .viewall {
  font-size: 0.94vw;
  color: #ffffff;
  position: absolute;
  top: 15%;
  right: 5%;
  width: 7.3vw;
  height: 2.35vw;
  border: 1px #ffffff solid;
  border-radius: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.home-port .viewall a,
.home-port .viewall i {
  color: white;
}

.home-port .viewall:hover {
  transform: scale(1.05);
  transition: 0.3s ease-in-out;
  color: black;
}
.BG-home-contact {
  background-image: url(../img/BG-home-contact.png);
  /* height: 23.55vw; */
  background-repeat: no-repeat;
  background-position: bottom;
  background-size: contain;
}

.slide-homeport2 .gradientblack {
  background: rgb(0, 0, 0);
  background: linear-gradient(0deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 34%);
  position: absolute;
  width: 100%;
  height: 100%;
  bottom: 0;
  border-radius: 5px;
  opacity: 0;
}
.slide-homeport2 .gradientblack .text {
  font-size: 0.84vw;
  color: white;
  position: absolute;
  bottom: 3%;
  width: 100%;
  text-align: center;
}
.slide-homeport2 .img:hover .gradientblack {
  opacity: 1;
  transition: all 0.3s ease-in-out;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  border: 2px solid #00369f;
  cursor: pointer;
}

.home-contact {
  padding: 3% 0 5% 0;
}
.home-contact .contact {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  flex-direction: column;
}
.home-contact .box {
  display: flex;
  align-items: center;
  width: 14vw;
  margin: 1vw 0;
}
.home-contact .box:hover {
  transform: scale(1.05);
  transition: 0.3s ease-in-out;
}
.home-contact .box .icon {
  width: 3.65vw;
  margin: 0 1rem 0 0;
}
.home-contact .box .text {
  display: flex;
  flex-direction: column;
}
.home-contact .box a {
  font-size: 1.28vw;
  font-weight: 500;
  display: flex;
  flex-direction: row;
}
.home-contact .box .text span {
  font-size: 1.28vw;
  font-weight: 300;
}
.home-contact form {
  background: white;
  padding: 1vw;
  margin: 1rem;
  border-radius: 8px;
  box-shadow: 1px 0px 4px 1px #00000029;
}
.home-contact form input,
.home-contact form textarea {
  background-color: #f8f8f8;
  border: 1px #dedede solid;
}
.home-contact form textarea {
  height: 130px;
}
.home-contact form input::placeholder,
.home-contact form textarea::placeholder {
  font-size: 0.94vw;
}
.home-contact form .title {
  font-size: 1.25vw;
  font-weight: 500;
  color: #00369f;
}
.home-contact .button-center {
  display: flex;
  justify-content: center;
}
.home-contact form .button-center button {
  background: #00369f;
  font-size: 1.25vw;
  font-weight: 300;
  color: white;
  width: 8.97vw;
  height: 2.25vw;
  border-radius: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.home-contact form .modal-header .btn {
  background-color: unset;
  width: 2vw;
}
.home-contact form .modal-header .btn-close {
  font-size: 24px;
}
.home-contact form .modal-footer {
  justify-content: center !important;
}
.home-contact form .modal-footer button {
  background-color: #1867ff;
  width: 5vw;
  border: none;
  border-radius: 50px;
}
.show-pc {
  display: block;
}
.show-mobile {
  display: none;
}
/* .lb-dataContainer {
  position: relative;
}
.lb-data .lb-close {
  position: absolute;
  right: 0;
  top: -20vw;
} */
.modal-dialog {
  max-width: 800px;
}

@media (max-width: 991px) {
  .show-pc {
    display: none;
  }
  .show-mobile {
    display: block;
  }
  .PDPA .PDPA-container {
    padding: 1rem 3rem 5rem 3rem;
  }
  .PDPA .PDPA-container .PDPA-text ,
  .PDPA .PDPA-container a ,
  .PDPA .agree button {
    font-size: 14px;
  }
  .PDPA .PDPA-container {
    background: #00359fdb;
  }
  /* .lb-data .lb-close {
    position: absolute;
    right: 0;
    top: -47vw;
  } */
  .home-banner {
    padding: 55px 0 0 0;
  }
  .home-intro-pad {
    padding: 20px 0;
  }
  .home-intro .img {
    display: flex;
    height: 600px;
    justify-content: center;
    align-items: flex-start;
  }
  .home-intro .img img {
    width: 90%;
    height: auto;
  }
  .home-intro .intro-textbox {
    width: 85%;
    padding: 1rem 0.5rem 2rem 0.5rem;
    top: auto;
    left: auto;
    bottom: 2%;
    right: 3%;
  }
  .home-intro .intro-textbox .title span {
    font-size: 30px;
  }
  .home-intro .intro-textbox .title {
    font-size: 18px;
    padding: 0 0 1rem 0;
  }
  .home-intro .intro-textbox .text,
  .home-intro .intro-textbox .text span,
  .home-intro .intro-textbox .text .blue,
  .home-intro .intro-textbox .text .red {
    font-size: 14px;
  }
  .stat .number {
    font-size: 30px;
  }
  .stat .text {
    font-size: 14px;
  }
  .mb-border {
    border-right: 1px white solid;
    margin: 1rem 0;
  }
  .mb-nonborder {
    margin: 1rem 0;
  }
  .BG-blue-intro {
    height: auto;
    padding: 10px 0;
  }
  .BG-home-service {
    background-image: url(../img/BG-home-service-v2.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top;
  }
  .home-service {
    padding: 20px 0;
  }
  .home-service .titlebox .title,
  .home-product .titlebox .title,
  .home-specialist .title {
    font-size: 22px;
  }
  .home-service .titlebox .title {
    text-align: start;
  }
  .home-service .titlebox .subtitle{
    text-align: start;
  }
  .home-service .titlebox .subtitle,
  .home-product .titlebox .subtitle,
  .home-specialist .subtitle {
    font-size: 14px;
  }
  .home-service .titlebox,
  .home-product .titlebox {
    text-align: start;
  }
  .home-service .viewall i,
  .home-service .viewall a {
    font-size: 14px;
  }
  .home-service .viewall {
    top: 0;
    right: 0;
    width: 77px;
    height: 30px;
  }
  .home-service .gradientblue .text {
    width: 100%;
    font-size: 18px;
  }
  .home-service .img {
    display: flex;
    justify-content: center;
    margin: 0.5rem 1rem;
  }
  .home-service .img img {
    height: 75vw;
    /* width: 95vw; */
    object-fit: cover;
    object-position: center;
  }

  .home-specialist {
    padding: 20px 0;
  }
  .home-specialist .titlebox {
    align-items: center;
    padding: 0 0 1.5rem 0;
  }
  .home-service .titlebox,
  .home-product .titlebox {
    text-align: center;
    padding: 0 0 1.5rem 0;
  }
  .home-product {
    padding: 40px 0;
  }
  .home-product .card-img {
    position: relative;
  }
  .home-product .gradientblack {
    background: linear-gradient(
      0deg,
      rgb(0 0 0 / 60%) 0%,
      rgba(0, 0, 0, 0) 34%
    );
  }
  .home-product .card-img-top {
    width: 100%;
    height: 39vw;
    object-fit: cover;
  }
  .home-product .card-body {
    padding: 0.5rem;
  }
  .home-product .card-body .text {
    display: flex;
    flex-direction: column;
  }
  .home-product .card-body .text .title{
    font-size: 16px;
    font-weight: 400;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .home-product .card-body .text .detail {
    font-size: 10px;
    font-weight: 300;
    height: 2rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .home-port .bluebg {
    height: 100%;
    width: 100%;
    position: relative;
    border-radius: 10px 10px 0 0;
  }
  .home-port .smimg {
    border-radius: 10px 10px 0 0;
  }
  .home-port .smimg img {
    border-radius: 10px 10px 0 0;
    /* height: 186px; */
    height: 52vw;
    object-fit: cover;
    object-position: bottom;
  }
  .home-port .bluebg .text span {
    font-size: 22px;
  }
  .home-port .bluebg .text {
    font-size: 16px;
    top: 5%;
    padding: 0 24px;
  }
  .home-port .viewall a,
  .home-port .viewall i {
    font-size: 14px;
  }
  .home-port .viewall {
    width: auto;
    height: auto;
    border: none;
    top: 5%;
    right: 3%;
  }
  .mbhomeport-prev {
    position: absolute;
    left: 5%;
    top: 40%;
  }
  .mbhomeport-next {
    position: absolute;
    right: 5%;
    top: 40%;
  }
  .mbhomeport-prev i,
  .mbhomeport-next i {
    color: white;
    font-size: 16px;
  }
  .mbslide-homeport1 .owl-nav {
    margin: 0;
    height: 10px;
  }
  .mbslide-homeport1 .item img {
    height: 52vw;
    object-fit: cover;
    border-radius: 0 0 10px 10px;
  }
  .mbslide-homeport2 .owl-dots .owl-dot span {
    width: 5px;
    height: 5px;
    margin: 4px;
  }
  .mbslide-homeport2 .item img {
    border-radius: 3px;
  }
  .BG-home-contact {
    background-image: url("../img/BG-mbhome-contact800-v2.png");
    min-height: 644px;
    background-size: cover;
    background-position: top left;
  }
  .form-pad {
    height: 644px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }
  .home-contact {
    padding: 3% 0 0 0;
  }
  .home-contact form {
    height: 450px;
    padding: 1rem;
  }
  .home-contact .title {
    font-size: 24px;
    font-weight: 400;
    width: 100%;
    text-align: end;
    color: #00369f;
    padding: 0 3rem 0 0;
  }
  .home-contact form .button-center button {
    font-size: 24px;
    width: 150px;
    height: 40px;
  }
  .home-contact form input::placeholder,
  .home-contact form textarea::placeholder {
    font-size: 16px;
  }
  .home-contact form textarea {
    height: 80px;
  }
  .home-contact .form-check-label,
  .home-contact .form-check-label span {
    font-size: 16px;
  }
  .home-contact form .formcheck-pad {
    display: flex;
    justify-content: center;
  }
  .home-contact form .modal-footer button {
    width: 95px;
  }
}
