:root {
    --ras-red: #8f1820;
    --ras-red-dark: #651116;
    --ras-red-darker: #4f0d11;
    --ras-red-light: #f4d9dc;
    --ras-gray-dark: #252525;
    --ras-gray-border: #d7d7d7;
    --ras-white: #ffffff;
    --ras-focus-ring: rgba(143, 24, 32, 0.25);
}

body {
    background-color: #f5f5f5;
    color: var(--ras-gray-dark);
}

/* Basic links */
a {
    color: var(--ras-red);
}

a:hover {
    color: var(--ras-red-dark);
}

a:focus,
a:focus-visible {
    color: var(--ras-red-dark);
    outline: 3px solid var(--ras-focus-ring);
    outline-offset: 2px;
}

/* Logo/header */
.site-logo {
    height: 46px;
    width: auto;
}

.top-header {
    background: var(--ras-white);
    border-bottom: 4px solid var(--ras-red);
}

.top-header .fw-bold {
    color: var(--ras-gray-dark) !important;
}

/* Main navigation */
.main-nav {
    background: var(--ras-red);
    border-bottom: 1px solid var(--ras-red-dark);
}

.main-nav .navbar-toggler {
    border-color: rgba(255, 255, 255, 0.7);
}

.main-nav .navbar-toggler:focus {
    box-shadow: 0 0 0 0.25rem var(--ras-focus-ring);
}

.main-nav .navbar-toggler-icon {
    filter: invert(1);
}

.main-nav .nav-link {
    color: var(--ras-white);
    font-weight: 600;
    padding-left: 1rem;
    padding-right: 1rem;
}

.main-nav .nav-link:hover,
.main-nav .nav-link.active {
    background: var(--ras-red-dark);
    color: var(--ras-white);
}

.main-nav .nav-link:focus,
.main-nav .nav-link:focus-visible {
    background: var(--ras-red-darker);
    color: var(--ras-white);
    outline: 3px solid rgba(255, 255, 255, 0.35);
    outline-offset: -3px;
}

/* Bootstrap buttons */
.btn-primary {
    background-color: var(--ras-red);
    border-color: var(--ras-red);
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--ras-red-dark);
    border-color: var(--ras-red-dark);
}

.btn-primary:focus,
.btn-primary:focus-visible,
.btn-outline-primary:focus,
.btn-outline-primary:focus-visible,
.btn-outline-secondary:focus,
.btn-outline-secondary:focus-visible {
    box-shadow: 0 0 0 0.25rem var(--ras-focus-ring);
}

.btn-outline-primary {
    border-color: var(--ras-red);
    color: var(--ras-red);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background-color: var(--ras-red);
    border-color: var(--ras-red);
    color: var(--ras-white);
}

.btn-outline-secondary:hover,
.dropdown-item:active {
    background-color: var(--ras-red);
    border-color: var(--ras-red);
    color: var(--ras-white);
}

/* Dropdown links */
.dropdown-item {
    color: var(--ras-gray-dark);
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: var(--ras-red-light);
    color: var(--ras-red-dark);
}

.dropdown-item:focus-visible {
    outline: 3px solid var(--ras-focus-ring);
    outline-offset: -3px;
}

/* Forms */
.form-control:focus,
.form-select:focus {
    border-color: var(--ras-red);
    box-shadow: 0 0 0 0.25rem var(--ras-focus-ring);
}

/* Cards */
.card {
    border-top: 3px solid var(--ras-red);
}



/* Admin tabs */
.nav-tabs {
    border-bottom-color: var(--ras-gray-border);
}

.nav-tabs .nav-link {
    color: var(--ras-red);
}

.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus {
    color: var(--ras-red-dark);
    border-color: var(--ras-red-light) var(--ras-red-light) var(--ras-gray-border);
}

.nav-tabs .nav-link:focus,
.nav-tabs .nav-link:focus-visible {
    outline: 3px solid var(--ras-focus-ring);
    outline-offset: -3px;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    color: var(--ras-red-dark);
    background-color: var(--ras-white);
    border-color: var(--ras-gray-border) var(--ras-gray-border) var(--ras-white);
    border-top: 3px solid var(--ras-red);
    font-weight: 600;
}