:root {
    --factuzen-ink: #091738;
    --factuzen-brand: #4b2fd1;
    --factuzen-brand-dark: #2c197f;
    --factuzen-brand-pale: #ece9ff;
    --factuzen-accent: #00a7ad;
    --primary-color: var(--factuzen-brand);
    --bs-primary: var(--factuzen-brand);
    --bs-primary-rgb: 75, 47, 209;
    --bs-link-color: var(--factuzen-brand-dark);
    --bs-link-hover-color: #20105f;
    --bs-primary-bg-subtle: var(--factuzen-brand-pale);
    --bs-primary-border-subtle: #beb4f4;
}

.left-sidebar.bg-dark {
    background: var(--factuzen-ink) !important;
}

.brand-logo img {
    content: url("../Images/logo-white.svg");
    width: 64px;
    height: 64px;
    object-fit: contain;
}

.logo-text {
    color: var(--factuzen-ink) !important;
    font-weight: 800;
    letter-spacing: -.025em;
}

.btn-primary {
    --bs-btn-bg: var(--factuzen-brand);
    --bs-btn-border-color: var(--factuzen-brand);
    --bs-btn-hover-bg: var(--factuzen-brand-dark);
    --bs-btn-hover-border-color: var(--factuzen-brand-dark);
    --bs-btn-active-bg: var(--factuzen-brand-dark);
    --bs-btn-active-border-color: var(--factuzen-brand-dark);
}

.btn-outline-primary {
    --bs-btn-color: var(--factuzen-brand-dark);
    --bs-btn-border-color: var(--factuzen-brand);
    --bs-btn-hover-bg: var(--factuzen-brand);
    --bs-btn-hover-border-color: var(--factuzen-brand);
    --bs-btn-active-bg: var(--factuzen-brand-dark);
    --bs-btn-active-border-color: var(--factuzen-brand-dark);
}

.text-primary,
.nav-link.active,
.page-link {
    color: var(--factuzen-brand-dark) !important;
}

.bg-primary,
.page-item.active .page-link,
.form-check-input:checked {
    background-color: var(--factuzen-brand) !important;
    border-color: var(--factuzen-brand) !important;
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
    border-color: #8e7be2;
    box-shadow: 0 0 0 .2rem rgba(75, 47, 209, .18);
}

a {
    text-underline-offset: .15em;
}

body > .container .card {
    border: 0;
    border-radius: 1rem;
    box-shadow: 0 1rem 3rem rgba(16, 35, 63, .22);
    overflow: hidden;
}

body > .container .card-img-top {
    content: url("../Images/horizontal-logo-v2.png");
    display: block;
    width: min(100%, 360px);
    height: auto;
    margin: 1.25rem auto .25rem;
    object-fit: contain;
}

:focus-visible {
    outline: .18rem solid var(--factuzen-accent);
    outline-offset: .15rem;
}
