:root {
  --nts-primary: #007bdb;
  --nts-primary-d: #0071ca;
  --nts-secondary: #2f2f2f;
  --nts-gray: #5d6d7e;
  --nts-gray-bright: #dddddd;
  --color-border: #e3e9ef;
  --color-bg: #f7f8fc;
  --color-black: #000;
  --color-white: #fff;
  --color-red: #ff0000;
  --font-primary: 'Sarabun', Sans-serif;
  --font-secondary: 'Kanit', Sans-serif;
  --font-size-15px: 0.938rem;
}
*::selection {
  background: #e1f1ff;
}
body {
  color: var(--nts-secondary);
  font-family: var(--font-primary);
  font-size: 1.125rem;
  line-height: 1.75;
}
:focus {
  outline: transparent;
}
img {
  max-width: 100%;
  height: auto;
}
a {
  text-decoration: none;
}
.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 576px) {
  .container,
  .container-sm {
    max-width: 100%;
  }
}
@media (min-width: 992px) {
  .container,
  .container-lg,
  .container-md,
  .container-sm {
    max-width: 1200px;
  }
}
@media (min-width: 1200px) {
  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl {
    max-width: 1200px;
  }
}
@media (min-width: 1400px) {
  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  .container-xxl {
    max-width: 1430px;
  }
}
.navbar-top {
  border-bottom: 1px solid var(--nts-gray-bright);
}
.navbar-top .desc,
.navbar-top a {
  color: var(--nts-gray);
  font-family: var(--font-secondary);
  font-size: var(--font-size-15px);
}
.navbar-top .list-item {
  white-space: nowrap;
}
.navbar-top .list-item:not(:first-child) {
  margin-left: 0.4rem;
}
.navbar-top .list-item:not(:last-child) {
  margin-right: 0.4rem;
}
.navbar-top a i,
.navbar-top a svg {
  color: var(--nts-gray-bright);
  font-size: 14px;
  margin-right: 0.4rem;
}
.navbar-middle {
  min-height: 6.125rem;
}
.navbar-middle i,
.navbar-middle svg {
  color: var(--nts-primary);
  font-size: 1.625rem;
  margin-right: 15px;
}
.navbar-middle .text {
  font-size: 14px;
  font-family: var(--font-secondary);
  margin-top: 0.75rem;
}
.navbar-middle .text.phone-tel strong {
  font-size: 1rem;
}
.navbar-menu {
  background-color: var(--nts-primary);
  position: relative;
  z-index: 99999;
}
.navbar-sticky {
  position: sticky;
  top: 0;
}
.navbar-menu .nav > .menu-item {
  padding: 11px 0 11px 0;
}
.navbar-menu .nav > .menu-item > a {
  color: var(--color-white);
  font-family: var(--font-secondary);
  font-size: 1.125rem;
}
.navbar-menu .nav > li.menu-item:not(:first-child) > a {
  margin-left: 15px;
}
.navbar-menu .nav > li.menu-item:not(:last-child) > a {
  margin-right: 15px;
}
.navbar-menu .nav > .menu-item .menu-item > a {
  display: block;
  width: 100%;
  color: var(--nts-secondary);
  font-family: var(--font-secondary);
  white-space: nowrap;
  padding: 0.375rem 1.25rem;
}
.navbar-menu .nav > .menu-item .menu-item:hover {
  background-color: var(--nts-primary);
}
.navbar-menu .nav > .menu-item .menu-item:hover > a {
  color: var(--color-white);
}
.navbar-menu
  .nav
  > .dropdown
  .dropdown-toggle[data-bs-toggle='dropdown']:not([data-hover='dropdown'])
  + .dropdown-menu,
.navbar-menu
  .nav
  > .dropdown
  .dropdown-toggle[data-hover='dropdown']
  + .dropdown-menu {
  display: block;
  inset: auto !important;
  visibility: hidden;
  opacity: 0;
  transform: translateY(-10px) !important;
  transition: all 0.15s ease-in;
}
.navbar-menu
  .nav
  > .dropdown:hover
  .dropdown-toggle[data-hover='dropdown']
  + .dropdown-menu {
  transform: scaleY(1) !important;
  opacity: 1;
  visibility: visible;
}
.dropdown-toggle::after {
  content: '\f078';
  font-size: 0;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900 !important;
  border-width: 0;
  vertical-align: 0;
}
.navbar-mobile {
  box-shadow: 0px 2px 4px 0px rgba(33, 51, 67, 0.12);
}
.navbar-menu-mobile {
  min-height: 4.375rem;
}
.navbar-menu-mobile .off-canvas-navigation-wrapper {
  padding: 5px;
}
.navbar-menu-mobile #menu_toggle {
  position: relative;
  cursor: pointer;
  width: 20px;
  height: 20px;
  padding: 10px 0;
}
.navbar-menu-mobile #menu_toggle button {
  position: absolute;
  margin: -2px 0 0;
  background: var(--nts-secondary);
  height: 3px;
  padding: 0;
  border: none;
  width: 100%;
  transition: 0.3s;
  outline: 0 !important;
  border-radius: 2px;
}
.navbar-menu-mobile #menu_toggle button:after,
.navbar-menu-mobile #menu_toggle button:before {
  position: absolute;
  left: 0;
  width: 20px;
  height: 3px;
  background: var(--nts-secondary);
  transform-origin: 1.5px center;
  transition: 0.3s;
  border-radius: 2px;
  content: '';
}
.navbar-menu-mobile #menu_toggle button:before {
  top: -6px;
}
.navbar-menu-mobile #menu_toggle button:after {
  bottom: -6px;
}
.navbar-menu-mobile #menu_toggle.open button {
  background: 0 0;
}
.navbar-menu-mobile #menu_toggle.open button:before {
  top: 0;
  transform: rotate3d(0, 0, 1, -45deg);
  transform-origin: 50% 50%;
}
.navbar-menu-mobile #menu_toggle.open button:after {
  bottom: 0;
  transform: rotate3d(0, 0, 1, 45deg);
  transform-origin: 50% 50%;
}
.hamburger-menu {
  display: none;
  position: absolute;
  background-color: var(--nts-primary);
  width: 100%;
  left: 0;
  padding: 1rem 0;
  z-index: 1020;
}
.hamburger-menu .nav > .menu-item a {
  color: var(--color-white);
  font-size: 1.125rem;
  font-family: var(--font-secondary);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.125rem 1.25rem;
}
.hamburger-menu .nav > .dropdown .dropdown-menu {
  position: relative !important;
  background-color: var(--nts-primary);
  border: none;
  padding: 0;
}
.hamburger-menu .nav > .dropdown .dropdown-menu a {
  border-left: 0.5rem solid var(--nts-primary);
  padding: 0.25rem 1.25rem;
}
.hamburger-menu .dropdown-toggle::after {
  font-size: 0.875rem;
}
.hamburger-menu .nav > .dropdown .dropdown-toggle + .dropdown-menu.show {
  transform: scaleY(1) !important;
  opacity: 1;
  visibility: visible;
}
.footer-widgets {
  color: var(--color-white);
  background-color: var(--nts-primary);
}
.footer-widgets .widget-title {
  font-size: 1.5rem;
  font-weight: 500;
  font-family: var(--font-secondary);
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--color-white);
}
.footer-widgets .footer-address {
  font-size: 0.875rem;
}
.footer-widgets ul li a,
.footer-widgets .widget-contact .widget-contact-tel {
  color: var(--color-white);
  font-size: 15px;
}
.footer-widgets .widget-contact .widget-contact-tel .text {
  font-family: var(--font-secondary);
}
.footer-widgets .footer-address h3,
.footer-widgets .widget-contact .widget-contact-tel .number {
  font-size: 1rem;
  font-family: var(--font-secondary);
  font-weight: 400;
  line-height: 1.75;
}
.footer-address span {
  white-space: nowrap;
}
.footer-widgets ul {
  list-style: none;
}
.footer-widgets .widget-item {
  padding-bottom: 5px;
}
.footer-widgets .widget-contact i {
  color: var(--color-white);
  font-size: 2.5rem;
  align-content: center;
}
.copyright-bar .copyright {
  color: var(--color-white);
  font-size: 0.875rem;
  padding-top: 0.375rem;
  padding-bottom: 15px;
}
.heading-title {
  font-size: 2.5rem;
  font-family: var(--font-secondary);
}
.striped {
  padding-bottom: 35px;
}
.striped::after {
  content: '';
  display: block;
  position: absolute;
  padding-top: 35px;
}
.stripe::after {
  width: 6.25rem;
  border-bottom: 5px solid #3e4b57;
}
.stripe-white::after {
  width: 6.25rem;
  border-bottom: 5px solid var(--color-white);
}
.stripe-rounded::after {
  width: 7.125rem;
  border: 2px solid var(--nts-secondary);
  border-radius: 1rem;
  padding-top: 0 !important;
  margin-top: 3.25rem;
}
.stripe-center {
  padding-bottom: 3.75rem;
}
.stripe-center::after {
  left: 50%;
  margin-left: -3.5625rem;
}
.sp-title {
  font-size: 1.75rem;
  font-family: var(--font-secondary);
}
.btn-nts {
  font-size: 1.125rem;
  font-family: var(--font-secondary);
  color: var(--color-white);
  background-color: var(--nts-primary);
  border: 3px solid var(--nts-primary);
}
.btn-nts:hover {
  color: var(--nts-primary);
  background-color: var(--color-white);
}
.btn-check:focus + .btn-nts,
.btn-nts:focus {
  color: var(--nts-primary);
  background-color: var(--color-white);
  box-shadow: none;
}
.btn-nts.disabled,
.btn-nts:disabled {
  color: var(--color-white);
  background-color: var(--nts-primary);
}
.btn-gradient {
  display: inline-block;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  border: none;
  padding: 0.25rem 0.75rem;
  font-size: 1.75rem;
  font-family: var(--font-secondary);
  border-radius: 15px;
  background-size: 300% 100%;
  moz-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}
.btn-gradient:hover {
  background-position: 100% 0;
  moz-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}
.btn-gradient-bp {
  color: var(--nts-secondary);
  background-image: rgb(166, 202, 252);
  background-image: linear-gradient(
    140deg,
    rgba(166, 202, 252, 1),
    rgba(222, 212, 252, 1),
    rgba(222, 212, 252, 1),
    rgba(166, 202, 252, 1)
  );
}
@media (max-width: 575px) {
  .btn-gradient {
    font-size: 1.5rem;
  }
}
.bg-payment {
  background-image: url('../images/bg-payment.webp');
  background-repeat: no-repeat;
  background-position-x: center;
}
@media (max-width: 575px) {
  .bg-payment {
    background-size: auto 620px;
  }
}
.content-payment {
  margin: 6.5rem auto 1rem auto;
  background-color: var(--color-white);
  border-radius: 10px;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.125);
}
.bg-quotation {
  background-image: url('../images/bg-quotation.webp');
  background-repeat: no-repeat;
  background-position-x: center;
}
.content-quotation {
  margin: 6.5rem auto 1rem auto;
  background-color: var(--color-bg);
  border-radius: 15px;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.125);
}
.content-quotation input,
.content-quotation textarea,
.content-quotation select {
  padding: 0.5rem 0.75rem;
  border-radius: 0.625rem;
}
.content-quotation .select2-container--default .select2-selection--single,
.content-quotation .select2-container--default .select2-selection--multiple {
  border-radius: 0.625rem;
}
.content-quotation
  .select2-container
  .select2-selection--single
  .select2-selection__rendered {
  padding: 0.5rem 0.75rem;
}
.is-invalid ~ .tab-upload,
.is-invalid ~ .select2-container--default .select2-selection--single {
  border-color: #dc3545 !important;
}
.is-invalid
  ~ .select2-container--default
  .select2-selection--single
  .select2-selection__arrow {
  padding-right: 4.125rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),
    url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.is-invalid ~ .select2-container--default .select2-selection--multiple {
  border-color: #dc3545;
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.select2-container .select2-search--inline .select2-search__field {
  height: 1.75rem !important;
}
.g-recaptcha {
  text-align: -webkit-center;
}
.form-check-input {
  margin-top: 0.5rem;
}
.vr {
  display: inline-block;
  align-self: stretch;
  width: 1px;
  min-height: 0.625rem;
  background-color: var(--nts-gray-bright);
}
.fs-smallest {
  font-size: 13px;
}
.text-red {
  color: var(--color-red) !important;
}
.w-60 {
  width: 60% !important;
}
.h-0 {
  height: 0 !important;
}
.py-65 {
  padding-top: 4rem !important;
  padding-bottom: 3rem !important;
}
.pt-6 {
  padding-top: 4rem !important;
}
.pt-7 {
  padding-top: 5rem !important;
}
.pb-6 {
  padding-bottom: 4rem !important;
}
@media (min-width: 576px) {
  .px-sm-6 {
    padding-right: 4rem !important;
    padding-left: 4rem !important;
  }
  .px-sm-8 {
    padding-right: 6rem !important;
    padding-left: 6rem !important;
  }
  .py-sm-6 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
}
@media (max-width: 767px) {
  .mw-md-100 {
    width: 100% !important;
  }
}
@media (min-width: 768px) {
  .w-md-75 {
    width: 75% !important;
  }
}
@media (min-width: 992px) {
  .w-lg-80 {
    width: 80% !important;
  }
  .px-lg-35 {
    padding-right: 1.25rem !important;
    padding-left: 1.25rem !important;
  }
  .px-lg-8 {
    padding-right: 6rem !important;
    padding-left: 6rem !important;
  }
  .py-lg-6 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
  .ps-lg-35 {
    padding-left: 1.25rem !important;
  }
}
@media (min-width: 1200px) {
  .w-xl-50 {
    width: 50% !important;
  }
}
