/* images */
.img-cover-center {
  object-fit: cover;
  object-position: center;
}

.img-contain-center {
  object-fit: contain;
  object-position: center;
}

/* button */

.btn-add {
  padding: 0.5rem 0.75rem;
  border-radius: 0.25rem;
  -webkit-border-radius: 0.25rem;
  -moz-border-radius: 0.25rem;
  -ms-border-radius: 0.25rem;
  -o-border-radius: 0.25rem;
}

.btn-back-gray {
  background-color: #f1f1f1;
  color: #6c757d;
}

.btn-back-gray:hover {
  background-color: #e9ecef;
  color: #6c757d;
}

.btn.is-loading:after {
  animation-duration: 0.75s !important;
}

/* typography */

.text-xs {
  font-size: 0.75rem !important;
}

.text-sm {
  font-size: 0.875rem !important;
}

.text-lg {
  font-size: 1.125rem !important;
}

.text-xl {
  font-size: 1.25rem !important;
}

.text-2xl {
  font-size: 1.5rem !important;
}

.text-3xl {
  font-size: 1.875rem !important;
}

.text-4xl {
  font-size: 2.25rem !important;
}

.text-5xl {
  font-size: 3rem !important;
}

.text-6xl {
  font-size: 4rem !important;
}

.text-7xl {
  font-size: 5rem !important;
}

.text-8xl {
  font-size: 6rem !important;
}

.text-9xl {
  font-size: 8rem !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

.text-ellipsis {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.line-clamp-1 {
  display: -webkit-box;
  line-clamp: 1;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.line-clamp-2 {
  display: -webkit-box;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.line-clamp-3 {
  display: -webkit-box;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* space */

.gap-4 {
  gap: 1rem;
}

/* display */

.d-hidden {
  visibility: hidden;
  opacity: 0;
  position: absolute !important;
  width: 0;
  height: 0;
}

/* select2 */

.select2-results__group {
  white-space: normal !important;
}

.select2-input .select2.select2-container.select2-container--bootstrap {
  margin-bottom: 0;
}

.form-group.form-show-validation.row.select2-form-input.has-error {
  margin-bottom: 20px;
}

.form-group.form-show-validation.row.select2-form-input.has-error label.error {
  margin-top: 0;
}

.form-group.form-show-validation.row.select2-form-input
  .select2.select2-container.select2-container--bootstrap {
  width: 100%;
}

.select2,
.select2-modals .select2-search.select2-search--inline,
.select2-modals .select2-search__field {
  width: 100% !important;
}

.select2-dropdown.select2-dropdown--below {
  z-index: 1102 !important;
}

.select2-results__option[role="treeitem"] {
  padding-right: 30px !important;
}

.select2-results__option[aria-selected="true"] {
  position: relative;
  background-color: #28a74613 !important;
}

.select2-results__option[aria-selected="true"]::after {
  content: "✔";
  position: absolute;
  top: 50%;
  right: 10px;
  color: #28a745;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}

.select2-results__option.select2-results__option--highlighted {
  background-color: #1572e8 !important;
}

.select2-results__option[aria-selected="true"].select2-results__option--highlighted {
  background-color: #f25961 !important;
}

.select2-search.select2-search--dropdown
  + .select2-results
  .select2-results__option[aria-selected="true"].select2-results__option--highlighted {
  background-color: #28a745 !important;
}

.select2-results__option[aria-selected="true"].select2-results__option--highlighted::after {
  content: "✖";
  color: #ffffff;
}

.select2-search.select2-search--dropdown
  + .select2-results
  .select2-results__option[aria-selected="true"].select2-results__option--highlighted::after {
  content: "✔";
  color: #ffffff;
}

.select2-input.select-filter-type-content .select2.select2-container {
  width: 10rem !important;
  height: 42.45px !important;
}

.select2-input.select-filter-type-content
  .select2.select2-container
  .selection
  .select2-selection.select2-selection--single {
  height: 42.5px !important;
}

/* table */

.table.table-list-stripe td,
.table.table-list-between td {
  height: auto;
  padding: 0.75rem !important;
}

.table.table-list-stripe td:first-child,
.table.table-list-between td:first-child {
  width: 14rem;
}

.table.table-list-stripe td.divider,
.table.table-list-between td.divider {
  width: 1rem;
  padding: 0 !important;
  text-align: center;
}

.table.table-list-between td.pt-2 {
  padding-top: 0.5rem !important;
}

.table.table-list-between td.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

/* image */

.figure-profile-wrap {
  display: block;
  width: 6rem;
  aspect-ratio: 1/1.05;
  overflow: hidden;
  border-radius: 0.25rem;
  -webkit-border-radius: 0.25rem;
  -moz-border-radius: 0.25rem;
  -ms-border-radius: 0.25rem;
  -o-border-radius: 0.25rem;
}

.figure-profile-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* form */

.form-group label.error {
  text-wrap: wrap !important;
}

/* input multiple and preview */

.input-file-multiple input.form-upload-multiple[type="file"] {
  width: 0.1px;
  height: 0.1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  z-index: -1;
}

.input-file-multiple .form-upload-multiple-label {
  border: 2px dashed #e7e7e7;
  color: #80868b !important;
  border-radius: 0.375rem;
  -webkit-border-radius: 0.375rem;
  -moz-border-radius: 0.375rem;
  -ms-border-radius: 0.375rem;
  -o-border-radius: 0.375rem;
}

.input-file-multiple .form-upload-multiple-label:hover {
  border-color: #d4d4d4;
  background: #f8f9fa;
}

.input-file-multiple .image-list-preview,
.input-file-multiple .image-list-current-preview {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 0.75rem;
}

.input-file-multiple .image-list-preview .image-list-preview-item,
.input-file-multiple .image-list-current-preview .image-list-preview-item {
  position: relative;
  width: 100%;
  aspect-ratio: 1/1.05;
  overflow: hidden;
  border-radius: 0.25rem;
  -webkit-border-radius: 0.25rem;
  -moz-border-radius: 0.25rem;
  -ms-border-radius: 0.25rem;
  -o-border-radius: 0.25rem;
  border: 1px solid #e7e7e7;
  margin-bottom: 5px !important;
}

.form-ratio-16-9
  .input-file-multiple
  .image-list-preview
  .image-list-preview-item,
.form-ratio-16-9
  .input-file-multiple
  .image-list-current-preview
  .image-list-preview-item {
  aspect-ratio: 16/9 !important;
}

.form-ratio-3-4
  .input-file-multiple
  .image-list-current-preview
  .image-list-preview-item,
.form-ratio-3-4
  .input-file-multiple
  .image-list-preview
  .image-list-preview-item {
  aspect-ratio: 3/4 !important;
}

.input-file-multiple .image-list-preview .image-list-preview-item img,
.input-file-multiple .image-list-current-preview .image-list-preview-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.input-file-multiple label.error {
  display: block;
}

/* input File and preview */

.input-file-file input.form-upload-file[type="file"] {
  width: 0.1px;
  height: 0.1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  z-index: -1;
}

.input-file-file .form-upload-file-label {
  border: 2px dashed #e7e7e7;
  color: #80868b !important;
  border-radius: 0.375rem;
  -webkit-border-radius: 0.375rem;
  -moz-border-radius: 0.375rem;
  -ms-border-radius: 0.375rem;
  -o-border-radius: 0.375rem;
}

.input-file-file .form-upload-file-label:hover {
  border-color: #d4d4d4;
  background: #f8f9fa;
}

.input-file-file .image-file-preview,
.input-file-file .image-list-current-preview {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 0.75rem;
}

.input-file-file .image-file-preview .image-file-preview-item,
.input-file-file .image-list-current-preview .image-file-preview-item {
  position: relative;
  width: 100%;
  aspect-ratio: 1/1.05;
  overflow: hidden;
  border-radius: 0.25rem;
  -webkit-border-radius: 0.25rem;
  -moz-border-radius: 0.25rem;
  -ms-border-radius: 0.25rem;
  -o-border-radius: 0.25rem;
  border: 1px solid #e7e7e7;
  margin-bottom: 5px !important;
}

.form-ratio-16-9 .input-file-file .image-file-preview .image-file-preview-item,
.form-ratio-16-9
  .input-file-file
  .image-list-current-preview
  .image-file-preview-item {
  aspect-ratio: 16/9 !important;
}

.form-ratio-3-4
  .input-file-file
  .image-list-current-preview
  .image-file-preview-item,
.form-ratio-3-4 .input-file-file .image-file-preview .image-file-preview-item {
  aspect-ratio: 3/4 !important;
}

.input-file-file .image-file-preview .image-file-preview-item img,
.input-file-file .image-list-current-preview .image-file-preview-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.input-file-file label.error {
  display: block;
}

/* gallery */

.image-gallery-wrap.image-gallery,
.image-gallery-wrap-check {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 0.75rem;
}

.image-gallery-wrap.image-gallery a {
  display: block;
  position: relative;
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 0.25rem;
  -webkit-border-radius: 0.25rem;
  -moz-border-radius: 0.25rem;
  -ms-border-radius: 0.25rem;
  -o-border-radius: 0.25rem;
  border: 1px solid #e7e7e7;
}

.image-gallery-wrap.image-gallery a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.image-gallery-wrap-check .imagecheck .imagecheck-image {
  aspect-ratio: 1/1 !important;
  object-fit: cover;
  object-position: center;
}

/* ratio */

.ratio-1-1 {
  aspect-ratio: 1/1 !important;
}

.ratio-4-3 {
  aspect-ratio: 4/3 !important;
}

.ratio-16-9 {
  aspect-ratio: 16/9 !important;
}

/* sweet alert */

.swal-modal .swal-text {
  text-align: center !important;
}
