label.required:after {
   content:" *";
   color: red;
}

.entry-name {
  font-size: 0.75rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.viewer-id {
  font-size: 0.65rem;
  color: #fff;
  padding: 0px 2px;
  width:15px;
  height:15px;
  /* display: none; */
}

.viewer-button {
  font-size: 0.75rem;
  padding: 0px 2px;
}

.entry-width {
    width: 200px;
}

.modal-body {
  overflow-x: auto;
}

.modal-default-content {
  min-height: 200px;
  display: block;
  align-items: center;
  justify-content: center;
}

#modal_content {
  position: relative;
}

#modal_content::after {
  content: "";
  position: absolute;
  inset: 0;
  display: none;
  background-color: rgba(255, 255, 255, 0.7);
  z-index: 10;
}

#modal_content::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2rem;
  height: 2rem;
  margin: -1rem 0 0 -1rem;
  display: none;
  border: 0.25rem solid;
  border-right-color: transparent;
  border-radius: 50%;
  animation: modal-spin 0.75s linear infinite;
  z-index: 11;
}

#modal_content[aria-busy="true"]::after,
#modal_content[aria-busy="true"]::before {
  display: block;
}

@keyframes modal-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 768px) {
  .entry-name {
    font-size: 0.70rem;
  }

  .entry-width {
    width: 80px;
  }  

  .viewer-button {
    font-size: 0.50rem;
    padding: 0px 2px;
  }

  .modal-dialog {
    margin: 1rem;
    max-width: calc(100vw - 2rem);
    width: calc(100vw - 2rem);
  }

  .modal-content {
    border-radius: 0.5rem;
  }

  .modal-body {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .viewer-id {
    width: 12px;
    height: 12px;
    /* display: none; */
  }
}