:root {
    --ral6031: #495746;
    --ral6031-rgb: 73, 87, 70;

    --bs-primary: hsl(from var(--ral6031) h s calc(l + 10));
    --bs-primary-rgb: 97, 116, 93;
    --bs-dark: hsl(from var(--ral6031) h s 20);
    --bs-dark-rgb: 47, 57, 45;

    --bs-body-color: hsl(from var(--ral6031) h s 10);
    --bs-body-color-rgb: 23, 29, 22;

    --bs-primary-bg-subtle: hsl(from var(--ral6031) h s 90);
    --bs-primary-border-subtle: var(--ral6031);
    --bs-primary-text-emphasis: hsl(from var(--ral6031) h s 20);

    --bs-link-color: hsl(from var(--ral6031) h s 20);
    --bs-link-color-rgb: 47, 57, 45;
    --bs-link-hover-color: hsl(from var(--ral6031) h s 30);
}

:root[data-bs-theme=dark] {
    --bs-body-color: hsl(from var(--ral6031) h s 90);
    --bs-body-color-rgb: 227, 233, 226;
    --bs-body-bg: hsl(from var(--ral6031) h s 10);
    --bs-tertiary-bg: hsl(from var(--ral6031) h s 15);

    --bs-primary-bg-subtle: hsl(from var(--ral6031) h s 20);
    --bs-primary-text-emphasis: hsl(from var(--ral6031) h s 80);

    --bs-link-color: hsl(from var(--ral6031) h s 50);
    --bs-link-color-rgb: 119, 142, 113;
    --bs-link-hover-color: hsl(from var(--ral6031) h s 60);
}

.btn-primary {
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-btn-bg);
    --bs-btn-hover-bg: hsl(from var(--bs-btn-bg) h s calc(l + 10));
    --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
    --bs-btn-focus-shadow-rgb: 104, 130, 99;
    --bs-btn-active-bg: hsl(from var(--bs-btn-bg) h s calc(l - 10));
    --bs-btn-active-border-color: var(--bs-btn-active-bg);
    --bs-btn-disabled-bg: hsl(from var(--bs-btn-bg) h calc(s - 10) calc(l - 10));
    --bs-btn-disabled-border-color: var(--bs-btn-disabled-bg);
}

.btn-outline-primary {
    --bs-btn-color: var(--bs-primary);
    --bs-btn-border-color: var(--bs-btn-color);
    --bs-btn-hover-bg: hsl(from var(--bs-btn-color) h s calc(l + 10));
    --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
    --bs-btn-focus-shadow-rgb: 104, 130, 99;
    --bs-btn-active-bg: hsl(from var(--bs-btn-color) h s calc(l - 10));
    --bs-btn-active-border-color: var(--bs-btn-active-bg);
    --bs-btn-disabled-bg: hsl(from var(--bs-btn-color) h calc(s - 10) calc(l - 10));
    --bs-btn-disabled-border-color: var(--bs-btn-disabled-bg);
}

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

.accordion {
    --bs-accordion-icon-color: var(--bs-primary-border-subtle);
    --bs-accordion-icon-active-color: var(--bs-primary-border-subtle);
    --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--ral6031-rgb), 0.25);
}


.accordion-button::after {
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23495746' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23495746' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}
[data-bs-theme=dark]
.accordion-button::after {
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%2392a48e' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%2392a48e' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

.pagination {
    --bs-pagination-active-bg: var(--bs-primary);
    --bs-pagination-active-border-color: var(--bs-primary);
}

.nav-pills {
    --bs-nav-pills-link-active-bg: var(--bs-primary);
}

.form-control:focus {
    border-color: var(--ral6031);
    box-shadow: 0 0 0 .25rem rgba(var(--ral6031-rgb),.25);
}