/* CUSTOMIZE BOOTSTRAP */
.form-switch-success .form-check-input:checked {
  border-color: #198754;
  background-color: #198754;
}

.form-select:disabled,
.form-control:disabled,
.form-control[readonly] {
  background-color: #fff;
}

.form-check-input:disabled ~ .form-check-label,
.form-check-input[disabled] ~ .form-check-label,
.form-check-input:disabled {
  opacity: 1;
}

textarea {
  resize: none;
}

legend {
  font-size: 1rem;
  margin-bottom: 0;
}

form {
  margin-bottom: 4rem;
  font-size: 0.9rem;
}

label {
  margin-bottom: 0;
  line-height: 1.2rem;
}

input {
  min-width: 0;
}

.form-control {
  padding: 0.2rem;
  line-height: 1.3;
  font-size: 0.9rem;
}

.form-check {
  padding-left: 2rem;
}

.form-check-input {
  margin-left: -0.9rem;
}

.form-text-input {
  border-width: 0 0 1px;
  border-color: #333;
  border-radius: 0;
}

.bg-grey {
  background-color: rgb(230, 230, 230);
}

.divide-line {
  width: 100%;
  margin: 5px 0;
  height: 1px;
  background-color: rgb(230, 230, 230);
  display: block;
  padding: 0;
}

.outline-border,
.outline-border-print-none {
  border: 1px solid #777;
  border-radius: 10px;
  padding: 8px;
}

.outline-border-print-only {
  border: 0;
}

.display-print-only {
  display: none;
}

.display-print-none {
  display: block;
}

.font-12px {
  font-size: 12px;
}

.line-height-1 {
  line-height: 1.1;
}

.validateForm .row {
  --bs-gutter-x: 0.5rem;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

.float-right {
  float: right !important;
}

@media (min-width: 992px) {
  .text-lg-left {
    text-align: left !important;
  }

  .pr-lg-2,
  .px-lg-2 {
    padding-right: 0.5rem !important;
  }

  .pl-lg-2,
  .px-lg-2 {
    padding-left: 0.5rem !important;
  }

  .ml-md-2 {
    margin-left: 0.5rem !important;
  }
}

.tiny-text {
  font-size: 13px;
}

.tiny-text legend {
  font-size: 13px;
}

.tiny-text .form-check-inline {
  margin-right: 0.5rem;
}

/* LOADING OVERLAY */
.loading-overlay {
  z-index: 5000;
}

.loading-overlay-bg {
  background-color: rgba(0, 0, 0, 0.8);
  z-index: -1;
}

/* CUSTOMIZE DROPZONE */
.dropzone {
  border: 1px solid #ced4da;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.dropzone.dz-started {
  padding: 0;
}

.dz-message {
  text-align: center;
  order: 10;
}

.dz-button {
  background: #eee;
  border: none;
  width: 100%;
  padding: 1rem;
}

.dz-preview {
  display: flex;
  align-items: center;
  padding: 0.5rem 1rem;
}

.dz-preview:not(:last-child) {
  border-bottom: 1px solid #666;
}

.dz-preview:hover {
  background-color: #ddd;
}

.dz-details {
  flex: 1 0 auto;
  padding: 0 0.5rem;
}

.dz-progress {
  flex: 0 0 100px;
  text-align: center;
  padding: 0 0.5rem;
}

.dz-complete .dz-upload {
  width: 100%;
}

.dz-status {
  flex: 0 0 200px;
  padding: 0 0.5rem;
  text-align: center;
}

.dz-success-mark,
.dz-error-mark {
  display: none;
}

.dz-success .dz-success-mark,
.dz-complete .dz-success-mark {
  display: block;
}

.dz-error .dz-error-mark {
  display: block;
}

[data-mode='review'] .dz-button,
[data-mode='review'] .file-input-upload-delete {
  display: none;
}

.file-input-upload:nth-child(odd) {
  background-color: rgb(247, 247, 247);
}

/* CUSTOMIZE SWEETALERTS */
.swal2-popup {
  width: min(100%, 600px) !important;
}

/* TOASTS */
.toast-container {
  z-index: 2000;
}

/* SIGNATURE BOX */
.signature-box-container .modal-body::after {
  content: "";
  position: absolute;
  width: calc(100% - 2rem);
  bottom: calc(1rem + 30px);
  left: 1rem;
  border-bottom: 3px dotted #000;
}

.is-invalid ~ .signature-button {
  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);
}

/* DUPLICATE ELEMENTS */
[data-mode='review'] .add-duplicate,
[data-mode='review'] .remove-duplicate {
  display: none;
}

/* NHAN CUSTOM CSS */
.info-box {
  position: relative;
  border: 1px solid #333;
  padding: 0.5rem 1rem 0;
}

.info-box-title,
.section-box-title {
  font-size: 1rem;
  position: absolute;
  top: -0.75rem;
  left: 0.5rem 1rem;
  background-color: #fff;
  padding: 0 5px;
}

.section-box {
  position: relative;
  border-top: 1px solid #333;
  padding: 0.5rem 15px 0;
  margin-top: 1rem;
}

.border-left-dark {
  border-left: 1px solid #333;
}


/* GLOBAL PRINT CLASSES ARE IN /css/print.css */
