:root {
    /* Official UC Berkeley Brand Colors */
    --berkeley-blue: #002676;
    --california-gold: #fdb515;

    --berkeley-blue-dark: #010133;
    --berkeley-gold-dark: #fc9313;
    --berkeley-green-dark: #00553a;
    --berkeley-rose-dark: #770747;
    --berkeley-purple-dark: #431170;

    /* Medium alternatives */
    --berkeley-blue-medium: #004aae;
    --berkeley-gold-medium: #ffc31b;
    --berkeley-green-medium: #018943;
    --berkeley-rose-medium: #e7115e;
    --berkeley-purple-medium: #8236c7;

    /* Light alternatives */
    --berkeley-blue-light: #9fd1ff;
    --berkeley-gold-light: #ffe88d;
    --berkeley-green-light: #b3e59a;
    --berkeley-rose-light: #ffcfe5;
    --berkeley-purple-light: #d9ceff;

    /* Black and grays */
    --berkeley-black: #000000;
    --berkeley-gray-medium: #808080;
    --berkeley-gray-light: #f2f2f2;
    --berkeley-white: #ffffff;

    /* Special colors */
    --berkeley-heritage-gold: #c09748;
}

/*------------------------------------
- COLOR primary (Updated to Berkeley Blue)
------------------------------------*/
.alert-primary {
    color: var(--berkeley-blue-dark);
    background-color: var(--berkeley-blue-light);
    border-color: var(--berkeley-blue-medium);
}

.alert-primary hr {
    border-top-color: var(--berkeley-blue-medium);
}

.alert-primary .alert-link {
    color: var(--berkeley-blue-dark);
}

.badge-primary {
    color: var(--berkeley-white);
    background-color: var(--berkeley-blue);
}

.badge-primary[href]:hover,
.badge-primary[href]:focus {
    color: var(--berkeley-white);
    background-color: var(--berkeley-blue-dark);
}

.bg-primary {
    background-color: var(--berkeley-blue) !important;
}

a.bg-primary:hover,
a.bg-primary:focus,
button.bg-primary:hover,
button.bg-primary:focus {
    background-color: var(--berkeley-blue-dark) !important;
}

.border-primary {
    border-color: var(--berkeley-blue) !important;
}

.btn-primary {
    color: var(--berkeley-white);
    background-color: var(--berkeley-blue);
    border-color: var(--berkeley-blue);
}

.btn-primary:hover {
    color: var(--berkeley-white);
    background-color: var(--berkeley-blue-medium);
    border-color: var(--berkeley-blue-dark);
}

.btn-primary:focus,
.btn-primary.focus {
    box-shadow: 0 0 0 0.2rem rgba(0, 38, 118, 0.5);
}

.btn-primary.disabled,
.btn-primary:disabled {
    color: var(--berkeley-white);
    background-color: var(--berkeley-blue);
    border-color: var(--berkeley-blue);
}

.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
    color: var(--berkeley-white);
    background-color: var(--berkeley-blue-dark);
    border-color: var(--berkeley-blue-dark);
}

.btn-primary:not(:disabled):not(.disabled):active:focus,
.btn-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-primary.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(0, 38, 118, 0.5);
}

.btn-outline-primary {
    color: var(--berkeley-blue);
    background-color: transparent;
    border-color: var(--berkeley-blue);
}

.btn-outline-primary:hover {
    color: var(--berkeley-white);
    background-color: var(--berkeley-blue);
    border-color: var(--berkeley-blue);
}

.btn-outline-primary:focus,
.btn-outline-primary.focus {
    box-shadow: 0 0 0 0.2rem rgba(0, 38, 118, 0.5);
}

.btn-outline-primary.disabled,
.btn-outline-primary:disabled {
    color: var(--berkeley-blue);
    background-color: transparent;
}

.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-primary:not(:disabled):not(.disabled).active,
.show > .btn-outline-primary.dropdown-toggle {
    color: var(--berkeley-white);
    background-color: var(--berkeley-blue);
    border-color: var(--berkeley-blue);
}

.btn-outline-primary:not(:disabled):not(.disabled):active:focus,
.btn-outline-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-primary.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(0, 38, 118, 0.5);
}

.list-group-item-primary {
    color: var(--berkeley-blue-dark);
    background-color: var(--berkeley-blue-light);
}

.list-group-item-primary.list-group-item-action:hover,
.list-group-item-primary.list-group-item-action:focus {
    color: var(--berkeley-blue-dark);
    background-color: var(--berkeley-blue-light);
}

.list-group-item-primary.list-group-item-action.active {
    color: var(--berkeley-white);
    background-color: var(--berkeley-blue-dark);
    border-color: var(--berkeley-blue-dark);
}

.table-primary,
.table-primary > th,
.table-primary > td {
    background-color: var(--berkeley-blue-light);
}

.table-hover .table-primary:hover {
    background-color: var(--berkeley-blue-light);
}

.table-hover .table-primary:hover > td,
.table-hover .table-primary:hover > th {
    background-color: var(--berkeley-blue-light);
}

.text-primary {
    color: var(--berkeley-blue) !important;
}

a.text-primary:hover,
a.text-primary:focus {
    color: var(--berkeley-blue-dark) !important;
}

.btn-outline-primary {
    --bs-btn-color: var(--berkeley-blue);
    --bs-btn-border-color: var(--berkeley-blue);
    --bs-btn-hover-color: var(--berkeley-white);
    --bs-btn-hover-bg: var(--berkeley-blue);
    --bs-btn-hover-border-color: var(--berkeley-blue);
    --bs-btn-focus-shadow-rgb: 0, 38, 118;
    --bs-btn-active-color: var(--berkeley-white);
    --bs-btn-active-bg: var(--berkeley-blue);
    --bs-btn-active-border-color: var(--berkeley-blue);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--berkeley-blue);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--berkeley-blue);
    --bs-gradient: none;
}
