:root,
[data-bs-theme="light"] {
  --bs-root-font-size: 15px;
  --bs-font-sans: "Anuphan", "IBM Plex Sans Thai", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-sans-serif: var(--bs-font-sans);

  --bs-body-font-size: 1rem;
  --bs-body-font-letter-spacing: 0px;
  --bs-menu-width: 17rem;

  --ti-margin-top: -0.13em;
}


@media (max-width: 991.98px) {

  :root,
  [data-bs-theme="light"] {
    --bs-root-font-size: 14.5px;
  }
}

body {
  text-rendering: optimizeLegibility;
  -moz-font-feature-settings: "liga" on;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

.font-sans {
  font-family: var(--bs-font-sans);
}

body {
  background: linear-gradient(to right bottom, #f6fbff, #eff7fb);
}

.authentication-wrapper {
  --bs-auth-basic-inner-max-width: 460px;
  display: flex;
  flex-basis: 100%;
  inline-size: 100%;
  min-block-size: 100vh
}

.authentication-wrapper .authentication-bg {
  background-color: var(--bs-paper-bg)
}

@media(max-width: 1199.98px) {
  .authentication-wrapper:not(.authentication-basic) .authentication-inner {
    block-size: 100vh
  }
}

.authentication-wrapper .authentication-inner {
  block-size: 100%;
  inline-size: 100%;
  margin-block: auto;
  margin-inline: 0
}

.authentication-wrapper .authentication-inner .auth-cover-bg {
  position: relative;
  block-size: 100vh;
  inline-size: 100%
}

.authentication-wrapper .authentication-inner .auth-cover-bg .auth-illustration {
  z-index: 1;
  max-block-size: 65%;
  max-inline-size: 65%
}

.authentication-wrapper .authentication-inner .platform-bg {
  position: absolute;
  block-size: 35%;
  inline-size: 100%;
  inset-block-end: 0%;
  inset-inline-start: 0%
}

.authentication-wrapper .authentication-inner .auth-multisteps-bg-height {
  block-size: 100vh
}

.authentication-wrapper .authentication-inner .auth-multisteps-bg-height>img:first-child {
  z-index: 1
}

.authentication-wrapper.authentication-basic {
  align-items: center;
  justify-content: center
}

.authentication-wrapper.authentication-basic .authentication-inner {
  position: relative;
  max-inline-size: var(--bs-auth-basic-inner-max-width)
}

.authentication-wrapper.authentication-basic .authentication-inner::before {
  position: absolute;
  background: var(--bs-primary);
  block-size: 233px;
  content: " ";
  inline-size: 238px;
  inset-block-start: -35px;
  inset-inline-start: -45px;
  mask-image: url("data:image/svg+xml,%3Csvg width='238' height='233' viewBox='0 0 238 233' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='88.5605' y='0.700195' width='149' height='149' rx='19.5' stroke='%237367F0' stroke-opacity='0.16'/%3E%3Crect x='0.621094' y='33.761' width='200' height='200' rx='10' fill='%237367F0' fill-opacity='0.08'/%3E%3C/svg%3E%0A");
  mask-repeat: no-repeat;
  mask-size: 100% 100%
}

@media(max-width: 575.98px) {
  .authentication-wrapper.authentication-basic .authentication-inner::before {
    display: none
  }
}

:dir(rtl) .authentication-wrapper.authentication-basic .authentication-inner::before {
  inset-inline-start: -70px
}

.authentication-wrapper.authentication-basic .authentication-inner::after {
  position: absolute;
  z-index: -1;
  background: var(--bs-primary);
  block-size: 180px;
  content: " ";
  inline-size: 180px;
  inset-block-end: -30px;
  inset-inline-end: -56px;
  mask-image: url("data:image/svg+xml,%3Csvg width='180' height='180' viewBox='0 0 180 180' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1.30469' y='1.44312' width='178' height='178' rx='19' stroke='%237367F0' stroke-opacity='0.16' stroke-width='2' stroke-dasharray='8 8'/%3E%3Crect x='22.8047' y='22.9431' width='135' height='135' rx='10' fill='%237367F0' fill-opacity='0.08'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-size: 100% 100%
}

@media(max-width: 575.98px) {
  .authentication-wrapper.authentication-basic .authentication-inner::after {
    display: none
  }
}

.authentication-wrapper.authentication-basic .authentication-inner .card {
  z-index: 1
}

@media(min-width: 576px) {
  .authentication-wrapper.authentication-basic .authentication-inner .card {
    padding: 1.5rem
  }
}

.authentication-wrapper.authentication-basic .authentication-inner .card .app-brand {
  margin-block-end: 1.5rem
}

.authentication-wrapper .auth-input-wrapper .auth-input {
  font-size: 150%;
  max-inline-size: 50px;
  padding-inline: .4rem
}

@media(max-width: 575.98px) {
  .authentication-wrapper .auth-input-wrapper .auth-input {
    font-size: 1.125rem
  }
}

.auth-cover-brand {
  position: absolute;
  z-index: 1;
  inset-block-start: 2.5rem;
  inset-inline-start: 1.5rem
}

#twoStepsForm .fv-plugins-bootstrap5-row-invalid .form-control {
  border-width: 2px;
  border-color: #ff4c51;
  box-shadow: none
}

@media(max-width: 575.98px) {
  .numeral-mask-wrapper .numeral-mask {
    padding: 0
  }

  .numeral-mask {
    margin-inline: 1px
  }
}

.swal2-modal {
  font-family: var(--bs-font-sans) !important;
  justify-items: center;
}

.swal2-modal.swal2-popup .swal2-title {
  line-height: 1.7;
}

.swal2-title,
.swal2-confirm {
  max-width: 100% !important;
  font-size: 1.2rem !important;
  font-weight: 500 !important;
  line-height: 1.8 !important;
}

button.swal2-confirm {
  font-size: 1.1rem !important;
  font-weight: 400 !important;
}

.form-label {
  font-size: 1rem;
  font-weight: 500;
}

.form-control {
  font-size: 1rem;
}

.btn {
  --bs-btn-font-size: 1.08rem;
  --bs-btn-padding-y: .6rem;
}

.invalid-feedback {
  font-size: .9rem;
}

/* Password Strong
   ========================================================================== */
.list-pass-strong {
  font-size: .96rem;
  line-height: 1.7;
  margin-top: 10px;
  color: rgba(var(--bs-secondary-rgb), 1) !important;
}

.list-pass-strong>div {
  margin-bottom: .2rem !important;
}

.list-pass-strong li {
  position: relative;
  padding-left: 30px;
}

.list-pass-strong li::before {
  font-family: "tabler-icons" !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  color: #CFD8DC;
  font-size: 1.25rem;
  font-weight: 900;
  position: absolute;
  left: 1px;
  content: "\eb55";
  padding-top: .25rem;
}

.list-pass-strong li.valid::before {
  color: #008f00;
  content: "\ea5e";
}