html {
  position: relative;
  min-height: 100%;
}

body {
  -webkit-font-smoothing: antialiased;
}

.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.field-validation-error {
  color: #dc2626;
  font-size: .75rem;
}

.input-validation-error {
  border-color: #dc2626 !important;
}

#viewer:fullscreen,
#viewer:-webkit-full-screen {
  border-radius: 0;
}

#viewer:fullscreen > div,
#viewer:-webkit-full-screen > div {
  min-height: 100vh !important;
  height: 100vh !important;
  width: 100%;
}

#viewer:fullscreen #pageImage,
#viewer:-webkit-full-screen #pageImage {
  max-height: 100vh !important;
  max-width: 100vw !important;
  height: 100vh !important;
  width: auto !important;
}

#fullscreenBtn {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 20;
  padding: 0.5rem;
  background-color: rgba(255, 255, 255, 0.9);
  color: #07122a;
  border-radius: 0.5rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  cursor: pointer;
  transition: background-color 0.2s ease-in-out;
}

#fullscreenBtn:hover {
  background-color: #ffffff;
}

#fullscreenBtn svg {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
}

#viewer:fullscreen #prevBtn,
#viewer:-webkit-full-screen #prevBtn,
#viewer:fullscreen #nextBtn,
#viewer:-webkit-full-screen #nextBtn {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  z-index: 100;
  background-color: rgba(255, 255, 255, 0.95);
  color: #07122a;
}

#viewer:fullscreen #prevBtn,
#viewer:-webkit-full-screen #prevBtn {
  left: 1rem;
  right: auto;
}

#viewer:fullscreen #nextBtn,
#viewer:-webkit-full-screen #nextBtn {
  right: 1rem;
  left: auto;
}

