/* Dashboard info boxes – ensure colored icons show correctly */
.info-box .info-box-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
.info-box .info-box-icon i {
  font-size: 1.75rem;
  line-height: 1;
}
.info-box .info-box-icon.bg-success {
  background-color: #28a745 !important;
  color: #fff;
}

/* Fix success buttons (theme had invalid --success color #673DE65) */
a.btn-success,
button.btn-success,
.btn-success {
  background-color: #28a745 !important;
  border-color: #1e7e34 !important;
  color: #fff !important;
}
a.btn-success:hover,
button.btn-success:hover,
.btn-success:hover {
  background-color: #218838 !important;
  border-color: #1c7430 !important;
  color: #fff !important;
}
.info-box .info-box-icon.bg-info {
  background-color: #17a2b8 !important;
  color: #fff;
}
.info-box .info-box-icon.bg-warning {
  background-color: #ffc107 !important;
  color: #1f2d3d;
}
.info-box .info-box-icon.bg-primary {
  background-color: #007bff !important;
  color: #fff;
}

/* Buttons with Font Awesome – prevent oversized / missing glyphs */
.btn .fas, .btn .far, .btn .fab, .btn .fa {
  font-size: 1em;
  line-height: 1;
  vertical-align: middle;
  pointer-events: none;
}
.btn-lg .fas, .btn-lg .far, .btn-lg .fa {
  font-size: 1.125rem;
}

/* SweetAlert2 toast success / error visibility */
.swal2-popup.swal2-toast .swal2-icon.swal2-success {
  border-color: #28a745;
  color: #28a745;
}
.swal2-popup.swal2-toast .swal2-icon.swal2-error {
  border-color: #dc3545;
  color: #dc3545;
}

.toast{
  display: none;
  min-width: 20vw
}
.toast.show {
    display: block;
    opacity: 1;
    position: fixed;
    z-index: 99999999;
    margin: 20px;
    right: 0;
    top: 3.5rem;
}
.swal2-container{
    z-index: 99999999;
}
#preloader2 {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  overflow: hidden;
  background: #ffffff82;
}

#preloader2:before {
  content: "";
  position: fixed;
  top: calc(50% - 30px);
  left: calc(50% - 30px);
  border: 6px solid #1977cc;
  border-top-color: #d1e6f9;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  -webkit-animation: animate-preloader 1s linear infinite;
  animation: animate-preloader 1s linear infinite;
}
@-webkit-keyframes animate-preloader {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes animate-preloader {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    font-size: smaller;
    color: #000000cf;
    font-style: italic;
}
 .modal-dialog.large {
    width: 80% !important;
    max-width: unset;
  }
  .modal-dialog.mid-large {
    width: 50% !important;
    max-width: unset;
  }
  #viewer_modal .btn-close {
    position: absolute;
    z-index: 999999;
    /*right: -4.5em;*/
    background: unset;
    color: white;
    border: unset;
    font-size: 27px;
    top: 0;
}
#viewer_modal .modal-dialog {
        width: 80%;
    max-width: unset;
    height: calc(90%);
    max-height: unset;
}
  #viewer_modal .modal-content {
       background: black;
    border: unset;
    height: calc(100%);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #viewer_modal img,#viewer_modal video{
    max-height: calc(100%);
    max-width: calc(100%);
  }