html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* Override Bootstrap theme colors */
:root {
    --bs-primary: #003366;
    --bs-primary-rgb: 0, 51, 102;
    --bs-secondary: #0047FF;
    --bs-secondary-rgb: 0, 71, 255;
}

/* Links */
a, .btn-link {
    color: var(--bs-primary);
}

/* Primary buttons */
.btn-primary {
    color: #fff;
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}
.btn-primary:hover {
    background-color: #002244;
    border-color: #001933;
}

/* Secondary buttons */
.btn-secondary {
    color: #fff;
    background-color: var(--bs-secondary);
    border-color: var(--bs-secondary);
}
.btn-secondary:hover {
    background-color: #0033CC;
    border-color: #0022AA;
}

/* Nav links and other Bootstrap components with primary color */
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
    background-color: var(--bs-primary);
}

/* Focus states */
.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 var(--bs-primary);
}

/* Form elements focus */
.form-control:focus, .form-check-input:focus {
    border-color: var(--bs-primary);
}

.form-check-input:checked {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

/* Background colors */
.bg-primary {
    background-color: var(--bs-primary) !important;
}

.bg-secondary {
    background-color: var(--bs-secondary) !important;
}

/* Text colors */
.text-primary {
    color: var(--bs-primary) !important;
}

.text-secondary {
    color: var(--bs-secondary) !important;
}

.content {
    padding-top: 1.1rem;
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: #6c757d;
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}