/* input(146,18): run-time error CSS1030: Expected identifier, found '>'
input(146,44): run-time error CSS1025: Expected comma or open brace, found ')'
input(151,18): run-time error CSS1030: Expected identifier, found '>'
input(151,44): run-time error CSS1025: Expected comma or open brace, found ')'
input(154,18): run-time error CSS1030: Expected identifier, found '>'
input(154,44): run-time error CSS1025: Expected comma or open brace, found ')'
input(157,18): run-time error CSS1030: Expected identifier, found '>'
input(157,44): run-time error CSS1025: Expected comma or open brace, found ')'
input(160,18): run-time error CSS1030: Expected identifier, found '>'
input(160,44): run-time error CSS1025: Expected comma or open brace, found ')'
input(163,18): run-time error CSS1030: Expected identifier, found '>'
input(163,44): run-time error CSS1025: Expected comma or open brace, found ')'
input(169,34): run-time error CSS1030: Expected identifier, found '>'
input(169,46): run-time error CSS1025: Expected comma or open brace, found ')'
input(172,34): run-time error CSS1030: Expected identifier, found '>'
input(172,46): run-time error CSS1025: Expected comma or open brace, found ')'
input(332,10): run-time error CSS1030: Expected identifier, found '>'
input(332,24): run-time error CSS1025: Expected comma or open brace, found ')'
input(337,10): run-time error CSS1030: Expected identifier, found '>'
input(337,24): run-time error CSS1025: Expected comma or open brace, found ')' */
@charset "UTF-8";
@keyframes flipInX {
  0% {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transition-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transition-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  100% {
    transform: perspective(400px);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes shake {
  0% {
    transform: translate(2px, 1px) rotate(0deg);
  }
  10% {
    transform: translate(-1px, -2px) rotate(-2deg);
  }
  20% {
    transform: translate(-3px, 0) rotate(3deg);
  }
  30% {
    transform: translate(0, 2px) rotate(0deg);
  }
  40% {
    transform: translate(1px, -1px) rotate(1deg);
  }
  50% {
    transform: translate(-1px, 2px) rotate(-1deg);
  }
  60% {
    transform: translate(-3px, 1px) rotate(0deg);
  }
  70% {
    transform: translate(2px, 1px) rotate(-2deg);
  }
  80% {
    transform: translate(-1px, -1px) rotate(4deg);
  }
  90% {
    transform: translate(2px, 2px) rotate(0deg);
  }
  100% {
    transform: translate(1px, -2px) rotate(-1deg);
  }
}
@keyframes wobble {
  0% {
    transform: none;
  }
  15% {
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  100% {
    transform: none;
  }
}
.fa-spin-hover {
  /* animation: fa-spin 2s infinite linear; */
}
:hover > .fa-spin-hover {
  animation-name: fa-spin;
  animation-duration: var(--fa-animation-duration, 2s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, linear);
  animation-direction: var(--fa-animation-direction, normal);
  animation-delay: var(--fa-animation-delay, 0);
}

.fa-rotate-45 {
  transform: rotate(45deg);
}

.fa-rotate-135 {
  transform: rotate(135deg);
}

.gap-0 {
  gap: 0 !important;
}

.gap-1 {
  gap: 0.25rem !important;
}

.gap-2 {
  gap: 0.5rem !important;
}

.gap-3 {
  gap: 1rem !important;
}

.gap-4 {
  gap: 1.5rem !important;
}

.gap-5 {
  gap: 3rem !important;
}

.btn-toolbar .jsgrid-pager-container {
  height: calc(1.725rem + 2px);
}

/*#region Buttons*/
.btn-default:has(> i:first-child:last-child) {
  align-items: center;
  justify-content: center;
  padding: 0.375rem 0.5rem;
}
.btn-default:has(> i:first-child:last-child) i {
  font-size: 0.8125rem;
}
.btn-default:has(> i:first-child:last-child).btn-save, .btn-default:has(> i:first-child:last-child).jsgrid-btn-confirm {
  color: var(--success);
}
.btn-default:has(> i:first-child:last-child).btn-edit, .btn-default:has(> i:first-child:last-child).jsgrid-btn-edit {
  color: blue;
}
.btn-default:has(> i:first-child:last-child).btn-delete, .btn-default:has(> i:first-child:last-child).jsgrid-btn-delete {
  color: var(--danger);
}
.btn-default:has(> i:first-child:last-child).btn-create, .btn-default:has(> i:first-child:last-child).jsgrid-btn-create {
  color: var(--success);
}

/*#endregion Buttons*/
/*#region Tabs */
.card-tabs .card-header-tabs:has(> .admin-tab) {
  width: 100%;
}
.card-tabs .card-header-tabs:has(> .admin-tab) .admin-tab {
  background-color: var(--secondary);
  color: var(--light);
  margin-left: auto;
}

/*#endregion Tabs */
.input-group > :not(:first-child):not(.input-group-prepend) {
  margin-left: -1px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > :not(:last-child):not(.input-group-append) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group.vertical {
  flex-direction: column;
}
.input-group.vertical > :not(:first-child):not(.input-group-prepend):not(.select2-hidden-accessible) {
  margin-top: -1px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.input-group.vertical > :not(:first-child):not(.input-group-prepend):not(.select2-hidden-accessible) .select2-container--default, .input-group.vertical > :not(:first-child):not(.input-group-prepend):not(.select2-hidden-accessible) .select2-selection--multiple {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}
.input-group.vertical > :not(:last-child):not(.input-group-append):not(.select2-hidden-accessible) {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group.vertical > :not(:last-child):not(.input-group-append):not(.select2-hidden-accessible) .select2-container--default, .input-group.vertical > :not(:last-child):not(.input-group-append):not(.select2-hidden-accessible) .select2-selection--multiple {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}

.center-flex {
  display: flex;
  align-items: center;
  justify-content: center;
}

.center-grid {
  display: grid;
}
.center-grid > * {
  margin: auto;
}

.center {
  position: relative;
}
.center > * {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
}

#language-dropdown .dropdown-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row-reverse;
}

.jsgrid .jsgrid-row.gray {
  opacity: 0.5;
}

.user-panel {
  max-height: 51px;
  color: var(--dark);
  /* … */
}
.user-panel .icon {
  background: gray;
  border-radius: 50%;
  width: 2.1rem;
  height: 2.1rem;
}

.sidebar-custom {
  /* … */
}
.sidebar-collapse .sidebar-custom .hide-on-collapse {
  display: none !important;
}

.notification-center .dropdown-item:not(.dropdown-header) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  max-width: 60vw;
}
.notification-center .dropdown-item:not(.dropdown-header)[onclick] {
  cursor: pointer;
}
.notification-center .dropdown-item:not(.dropdown-header).old-notification {
  opacity: 0.5;
}

.form-checkbox {
  height: calc(1.725rem + 2px);
  width: calc(1.725rem + 2px);
  border: 1px solid #ced4da;
}

.row-same-height > .col {
  display: flex;
  flex-direction: column;
}
.row-same-height > .col > * {
  flex-grow: 1;
}
.row-same-height > .col > .collapsed-card {
  max-height: 32px;
}

.readonly-form:not(.ignore-readonly) :not(.ignore-readonly) .singlerow-groups:not(.ignore-readonly) {
  grid-row-gap: 0 !important;
}
.readonly-form:not(.ignore-readonly) :not(.ignore-readonly) .singlerow-groups:not(.ignore-readonly) label.form-column, .readonly-form:not(.ignore-readonly) :not(.ignore-readonly) .singlerow-groups:not(.ignore-readonly) .form-column .form-control, .readonly-form:not(.ignore-readonly) :not(.ignore-readonly) .singlerow-groups:not(.ignore-readonly) .form-column .select2-selection__rendered {
  padding-top: 0;
  padding-bottom: 0;
  margin-bottom: 0.25rem;
  height: initial;
}
.readonly-form:not(.ignore-readonly) :not(.ignore-readonly) .singlerow-groups:not(.ignore-readonly) .form-column .select2-container--bootstrap4 .select2-selection--single {
  height: fit-content !important;
}
.readonly-form:not(.ignore-readonly) :not(.ignore-readonly) .singlerow-groups:not(.ignore-readonly) .form-column .select2-container--bootstrap4 .select2-selection--single .select2-selection__rendered {
  line-height: initial;
}

.card > .card-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.card > .card-header > .card-title {
  flex: 1 1 auto;
}
.card > .card-header > .card-tools {
  flex: 0 0 auto;
  flex-shrink: 1;
  margin: 0;
}

.card > .card-footer {
  background-color: transparent;
}

form:has(> .btn-toolbar) {
  display: flex;
  flex-direction: column;
  height: 100%;
}
form:has(> .btn-toolbar) > .btn-toolbar:not(:first-child) {
  margin-top: auto;
}

body:not(.device-mobile) .select2-container .select2-results__options > li {
  padding-top: 0;
  padding-bottom: 0;
  min-height: 0.75rem;
}
body:not(.device-mobile) .select2-container .select2-selection__choice__remove {
  font-size: medium;
  margin-top: -5px;
  height: 10px;
}

.partial-source.loading {
  min-height: 25px;
}

.remaining-height {
  overflow-y: auto;
}

.fc-timeline-event:not(.fc-event-end):after, .fc-timeline-event:not(.fc-event-start):before {
  display: none;
}

.main-sidebar .brand-image {
  margin-top: -6px;
}

.main-header .nav-item i:not(.dropdown-menu i) {
  font-size: 1rem;
}

.loading-toast {
  padding: 1rem;
  position: absolute;
  z-index: 50000;
  right: 1rem;
  top: 1rem;
  background-color: rgba(10, 10, 250, 0.5);
  display: flex;
  font-size: 3rem;
  border-radius: 0.5rem;
  backdrop-filter: blur(3px);
}
.loading-toast i {
  height: 100%;
}