body {
  font-family: Arial, sans-serif;
  background-color: #e0e0e0;
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0;
  font-size: 1.1rem;
}
main {
  flex: 1;
}
input:not(footer input), a:not(footer a) {
  font-size: 1.1rem;
}
.navbar + main {
  padding-top: 4.5rem;
}
#userDropdown {
  min-width: 5rem;
}
.navbar {
    position: fixed;
    top: 0;
    width: 100%;
    margin-bottom: 20px;
    background-color: #343a40;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1000;
    will-change: transform; /* Hint to browser for optimization */
}
.navbar-hidden {
    transform: translateY(-100%);
}

.navbar-dark .nav-brand {
  color: #fff;
}
.field_invalid {
  background-color: #ffafaf;
}
.nav-pills .nav-link {
    /*padding: 0.75rem 1.5rem;*/
    font-weight: 500;
    color: #6c757d;
    transition: all 0.2s ease-in-out;
}
.nav-pills .nav-link:not(.active):hover {
    background-color: #e9ecef;
}
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label {
  color: #0d6efd;
}

.footer {
  background-color: #1d3557; /* Dark blue color */
  color: white;
  padding: 20px;
  text-align: center;
  font-size: 0.8rem; /* Smaller font size for footer text */
}
.footer p {
  margin-bottom: 5px; /* Tighter gap between footer texts */
}

.profile-icon {
  display: inline-block;
  width: 30px;
  height: 30px;
  background-color: #007bff;
  color: white;
  text-align: center;
  line-height: 30px;
  border-radius: 50%;
  margin-right: 5px;
}
/* Remove caret for dropdown items */
.nav-link.dropdown-toggle::after {
  display: none;
}
.navbar a.live {
    background-color: #666;
}
.iframe-container {
    height: 120vh;
    width: 100%;
    position: relative;
    overflow-y: hidden;
}
#pdfContainer {
  position: absolute;
  width: 100%;
  height: 100%;
  border: none;
}
.btn.disabled {
  background-color: #cccccc; /* Light gray background */
  color: white; /* White text color */
  cursor: not-allowed; /* Change cursor to indicate it's disabled */
  opacity: 0.6; /* Slightly transparent to indicate it's disabled */
}
.modal {
  color: #000;
  font-size: 0.9rem;
}
.badge {
  font-size: 0.8rem;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
/* CSS-only loading spinner */
.loading-spinner {
    border: 4px solid #f3f3f3; /* Light grey for the spinner background */
    border-top: 4px solid #1e5cb2; /* Blue for the spinner foreground */
    border-radius: 50%; /* Make it a circle */
    width: 30px;
    height: 30px;
    animation: spin 2s linear infinite; /* Spin animation */
}
