.table-layout-fixed {
  table-layout: fixed;
}

.table-responsive.table-sticky-header {
  max-height: min(70vh, calc(100vh - 280px));
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.table-responsive.table-sticky-header thead th {
  position: sticky;
  top: -1px;
  z-index: 3;
  background-color: var(--theme-secondary-bg);
}

.table-responsive.table-sticky-header.is-scrolled thead th {
  box-shadow: inset 0 2px 0 var(--theme-table-border-color),
    inset 0 -1px 0 var(--theme-table-border-color);
}

.thead-sm > * > *:has(input[type="checkbox"]) {
  padding: 0 !important;
  padding-inline-start: 0 !important;
}

.table-custom thead > tr > th:first-child:has(input[type="checkbox"]),
.table-custom tr td:first-child:has(input[type="checkbox"]),
.table-custom tr th:first-child:has(input[type="checkbox"]) {
  padding-inline-start: 0 !important;
}

.table-custom tbody tr.table-row-selected > td {
  background-color: rgba(var(--theme-primary-rgb), 0.12) !important;
}

.select2-selection__rendered {
  font-size: 13px;
}

.select2-container .select2-selection--single {
  height: 36px;
}

.select2-container .select2-selection--single .select2-selection__arrow b {
  width: 14px;
  height: 10px;
  margin: 0;
  transform: translate(-50%, -50%);
  background-image: url("data:image/svg+xml;charset=utf-8,%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 5 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
}

.required {
  color: var(--theme-danger);
}

.needs-validation.was-validated .form-control:valid {
  border-color: var(--theme-border-color);
  box-shadow: none;
  background-image: none;
  padding-inline-end: 0.77rem;
}

.needs-validation.was-validated .form-select:valid,
.needs-validation.was-validated .form-select:valid:not([multiple]):not([size]),
.needs-validation.was-validated .form-select:valid:not([multiple])[size="1"] {
  border-color: var(--theme-border-color);
  box-shadow: none;
  --theme-form-select-bg-icon: none;
  padding-inline-end: 2.31rem;
  background-image: var(--theme-form-select-bg-img);
  background-position: right 0.77rem center;
  background-size: 14px 10px;
}

.needs-validation.was-validated .valid-feedback,
.needs-validation.was-validated .valid-tooltip {
  display: none !important;
}

.was-validated select.select2:invalid + .select2-container + .invalid-feedback,
select.select2.is-invalid + .select2-container + .invalid-feedback {
  display: block;
}

select.select2.is-invalid + .select2-container .select2-selection--single,
.was-validated
  select.select2:invalid
  + .select2-container
  .select2-selection--single {
  border-color: var(--theme-form-invalid-border-color);
}

/* CKEditor editable - Inspinia(app.min.css) 전역 스타일보다 우선 */
.ck-editor__editable.ck-content {
  min-height: 500px;
  font-size: 18px;
}

.ck-editor__editable.ck-content * {
  all: revert;
  font-size: revert;
  font-weight: revert;
  line-height: normal;
}

.ck-editor__editable.ck-content p {
  font-weight: initial;
  margin: 0;
}

.ck-editor__editable.ck-content b,
.ck-editor__editable.ck-content strong {
  font-weight: bold;
}
