html {
    font-size: 20px;
}

/* Form labels: fixed width so all inputs align, no text wrapping */
.col-form-label {
    white-space: nowrap;
    width: 300px;
}

/* Form input columns: fixed pixel widths — don't scale with viewport */
.row.mb-2 > .col-sm-2 {
    flex: 0 0 auto;
    width: 700px;
}

.row.mb-2 > .col-sm-3 {
    flex: 0 0 auto;
    width: 500px;
}

@media (min-width: 768px) {
    html {
        font-size: 20px;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
    position: relative;
    min-height: 100vh;
    margin: 0;
    background-color: #d0dff0;
    color: #1a2a3a;
}

    body::before {
        content: "";
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url('/images/AskLogoBlack.png');
        background-size: 700px auto;
        background-repeat: no-repeat;
        background-position: center;
        background-attachment: fixed;
        opacity: 0.08;
        z-index: -1;
    }

.card {
    background-color: rgba(255, 255, 255, 0.25);
    border: 2px solid rgba(100, 130, 180, 0.3);
}

@media (min-width: 992px) {
    .card {
        width: fit-content;
    }
}

.card-header {
    color: #ffffff;
    background-color: rgba(26, 58, 92, 0.75);
    border-bottom: 1px solid rgba(20, 50, 80, 0.5);
}

/* Offcanvas menu – blue background */
#mainSidebar {
    background-color: #1a3a5c;
}

#mainSidebar .offcanvas-header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

#mainSidebar .offcanvas-title {
    color: #ffffff;
}

#mainSidebar .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

#mainSidebar .nav-link {
    color: rgba(255, 255, 255, 0.85);
}

#mainSidebar .nav-link:hover,
#mainSidebar .nav-link:focus {
    color: #ffffff;
}

#mainSidebar .sidebar-logo {
    text-align: center;
    padding: 1.5rem 0 0.5rem;
}

#mainSidebar .sidebar-logo img {
    max-width: 70%;
    height: auto;
    opacity: 0.6;
}

/* Modal dialogs – match the card / site style */
.modal-content {
    background-color: #d0dff0;
    border: 2px solid rgba(100, 130, 180, 0.3);
    color: #1a2a3a;
}

.modal-header {
    background-color: rgba(100, 130, 180, 0.15);
    border-bottom: 1px solid rgba(100, 130, 180, 0.25);
}

.modal-footer {
    background-color: rgba(100, 130, 180, 0.10);
    border-top: 1px solid rgba(100, 130, 180, 0.25);
}

.modal-content .list-group-item {
    background-color: rgba(255, 255, 255, 0.25);
    border-color: rgba(100, 130, 180, 0.25);
    color: #1a2a3a;
}

.modal-content .list-group-item.list-group-item-action:hover,
.modal-content .list-group-item.list-group-item-action:focus {
    background-color: rgba(100, 130, 180, 0.20);
    color: #1a2a3a;
}

.modal-content .list-group-item.active {
    background-color: rgba(37, 140, 251, 0.35);
    border-color: rgba(37, 140, 251, 0.5);
    color: #1a2a3a;
}

.modal-content .form-control {
    background-color: rgba(255, 255, 255, 0.5);
    border-color: rgba(100, 130, 180, 0.3);
    color: #1a2a3a;
}

.modal-content .form-control::placeholder {
    color: rgba(26, 42, 58, 0.5);
}

/* Sticky top toolbar (Menu + Logout) */
.top-toolbar {
    position: sticky;
    top: 0;
    z-index: 1030;
    background-color: #1a3a5c;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    margin-left: -1.5rem;
    margin-right: -1.5rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

/* Section dividers – twice the default Bootstrap thickness */
hr:not([size]) {
    height: 3px;
}

/* Timeline chart – hide middle year labels on small screens to prevent overlap */
@media (max-width: 767px) {
    .timeline-label-mid {
        display: none;
    }
}

