:root,
[data-bs-theme=light] {
    --bs-primary: var(--georama-green);
    --bs-secondary: var(--georama-yellow);
    --bs-success: var(--georama-green);
    --bs-warning: var(#ed7f2c);
    --bs-light: #e8e9e3;
    --bs-dark: #464744;
    
    --bs-primary-rgb: var(--georama-green-rgb);
    --bs-secondary-rgb: var(--georama-yellow-rgb);
    --bs-success-rgb: var(--georama-green-rgb);
    --bs-warning-rgb: 237, 127, 44;
    --bs-light-rgb: 232, 233, 227;
    --bs-dark-rgb: 70, 71, 68;
    
    --bs-primary-text-emphasis: var(--georama-green-dark);
    --bs-secondary-text-emphasis: var(--georama-yellow-dark);
    --bs-success-text-emphasis: var(--georama-green-dark);
    --bs-warning-text-emphasis: #663503;
    --bs-light-text-emphasis: #495057;
    --bs-dark-text-emphasis: #495057;
    
    --bs-primary-bg-subtle: #e6f0d9;
    --bs-primary-border-subtle: #cde1b3;
    /* TODO PI: Define more subtle colors */
    --bs-warning-bg-subtle: #ffe2cd;
    --bs-warning-border-subtle: #ffbf9c;

    --bs-font-sans-serif: "Georama", "Segoe UI", "Helvetica Neue", Arial, sans-serif;

    --bs-secondary-color: rgba(41, 39, 33, 0.75);
    --bs-secondary-color-rgb: 41, 39, 33;
    --bs-secondary-bg: #f2eee9;
    --bs-secondary-bg-rgb: 242, 238, 233;
    --bs-tertiary-color: rgba(41, 38, 33, 0.5);
    --bs-tertiary-color-rgb: 41, 38, 33;
    --bs-tertiary-bg: #faf9f8;
    --bs-tertiary-bg-rgb: 250, 249, 248;

    --bs-heading-color: var(--georama-green);
    --bs-link-color: var(--georama-green);
    --bs-link-color-rgb: var(--georama-green-rgb);
    --bs-link-hover-color: var(--georama-green);
    --bs-link-hover-color-rgb: var(--georama-green-rgb);
    --bs-code-color: var(--georama-gray);
    --bs-focus-ring-color: rgba(var(--georama-green-rgb), 0.25);
}

[data-bs-theme=dark] {
    --bs-light: #909289;
    --bs-light-rgb: 144, 146, 137;
    --bs-dark: #1a1b18;
    --bs-dark-rgb: 26, 27, 24;
    
    --bs-body-bg: #262626;
    --bs-body-bg-rgb: 38, 38, 38;
    --bs-body-color: #f1f1f1;
    --bs-body-color-rgb: 241, 241, 241;
    
    --bs-primary-text-emphasis: var(--georama-green-light);
    --bs-primary-bg-subtle: #1a240d;
    --bs-primary-border-subtle: var(--georama-green-dark);
    --bs-secondary-color: rgba(230, 228, 222, 0.75);
    --bs-secondary-color-rgb: 230, 228, 222;
    --bs-secondary-bg: #403c34;
    --bs-secondary-bg-rgb: 64, 60, 52;
    --bs-tertiary-color: rgba(230, 228, 222, 0.5);
    --bs-tertiary-color-rgb: 230, 228, 222;
    --bs-tertiary-bg: #2d2b29;
    --bs-tertiary-bg-rgb: 45, 43, 41;

    --bs-link-color: #b4d28c;
    --bs-link-color-rgb: 180, 210, 140;
    --bs-link-hover-color: #c3dba3;
    --bs-link-hover-color-rgb: 195, 219, 163;
    
    --bs-code-color: #c1daa0;
    --bs-focus-ring-color: rgba(var(--georama-green-rgb), 0.25);
}

.table-primary {
    --bs-table-color: #000;
    --bs-table-bg: var(--bs-primary-bg-subtle);
    --bs-table-border-color: #b8c0ae;
    --bs-table-striped-bg: #dbe4ce;
    --bs-table-active-bg: #cfd8c3;
    --bs-table-hover-bg: #d5dec9;
    color: var(--bs-table-color);
}

.form-select:focus {
    border-color: var(--georama-border-color);
    box-shadow: 0 0 0 .25rem rgba(var(--georama-green-rgb), 0.25)
}

.form-check-input:focus {
    border-color: var(--georama-border-color);
    box-shadow: 0 0 0 .25rem rgba(var(--georama-green-rgb), 0.25)
}

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

.form-check-input[type="checkbox"]:indeterminate {
    background-color: var(--georama-green);
    border-color: var(--georama-green);
}

.form-range:focus::-webkit-slider-thumb {
    box-shadow: 0 0 0 1px #fff, 0 0 0 .25rem rgba(var(--georama-green-rgb), 0.25)
}

.form-range:focus::-moz-range-thumb {
    box-shadow: 0 0 0 1px #fff, 0 0 0 .25rem rgba(var(--georama-green-rgb), 0.25)
}

.form-range::-webkit-slider-thumb {
    background-color: var(--georama-green);
}

.form-range::-webkit-slider-thumb:active {
    background-color: #dae9c6
}

.form-range::-moz-range-thumb {
    background-color: var(--georama-green);
}

.form-range::-moz-range-thumb:active {
    background-color: #dae9c6
}

.btn {
    --bs-btn-font-weight: 600;
}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--georama-green);
    --bs-btn-border-color: var(--georama-green);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-link-hover-color);
    --bs-btn-hover-border-color: #6b872f;
    --bs-btn-focus-shadow-rgb: 146, 188, 88;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #6D8831;
    --bs-btn-active-border-color: #69832e;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--georama-green-desat);
    --bs-btn-disabled-border-color: #79885d;
}

.btn-secondary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--georama-yellow);
    --bs-btn-border-color: var(--georama-yellow);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #c6993a;
    --bs-btn-hover-border-color: #c19437;
    --bs-btn-focus-shadow-rgb: 130, 138, 145;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #bd9031;
    --bs-btn-active-border-color: #b3882c;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--georama-yellow-desat);
    --bs-btn-disabled-border-color: #938465;
}

.btn-outline-primary {
    --bs-btn-color: var(--georama-green);
    --bs-btn-border-color: var(--georama-green);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--georama-green);
    --bs-btn-hover-border-color: var(--georama-green);
    --bs-btn-focus-shadow-rgb: var(--georama-green-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--georama-green);
    --bs-btn-active-border-color: var(--georama-green);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--georama-green);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--georama-green);
    --bs-gradient: none
}

.btn-outline-secondary {
    --bs-btn-color: var(--georama-yellow);
    --bs-btn-border-color: var(--georama-yellow);
    ---bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--georama-yellow);
    --bs-btn-hover-border-color: var(--georama-yellow);
    --bs-btn-focus-shadow-rgb: var(--georama-yellow-rgb);
    --bs-btn-hover-color: #fff;
    --bs-btn-active-bg: var(--georama-yellow);
    --bs-btn-active-border-color: var(--georama-yellow);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--georama-yellow);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--georama-yellow);
    --bs-gradient: none
}

.btn-link {
    --bs-btn-focus-shadow-rgb: var(--georama-green-rgb);
}

.breadcrumb {
    --bs-breadcrumb-margin-bottom: 0;
    align-items: center;
}

.breadcrumb-item+.breadcrumb-item::before {
    float: none;
}


.dropdown-menu {
    --bs-dropdown-link-active-bg: var(--georama-green);
}

.dropdown-menu-dark {
    --bs-dropdown-link-active-bg: var(--georama-green);
}

.navbar {
    --bs-navbar-hover-color: var(--bs-link-hover-color);
    --bs-navbar-active-color: var(--georama-green);
    --bs-navbar-brand-color: rgba(var(--georama-green-rgb), 1);
    --bs-navbar-brand-hover-color: rgba(var(--georama-green-rgb), 1);
    --bs-navbar-toggler-border-color: rgba(var(--georama-green-rgb), 0.15);
}

.nav-link:focus-visible {
    box-shadow: 0 0 0 .25rem rgba(var(--georama-green-rgb), 0.25)
}

.nav-pills {
    --bs-nav-pills-link-active-bg: var(--georama-green)
}

.accordion {
    --bs-accordion-btn-focus-border-color: var(--georama-border-color);
    --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--georama-green-rgb), 0.25);
}

.pagination {
    --bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(var(--georama-green-rgb), 0.25);
    --bs-pagination-active-bg: var(--georama-green);
    --bs-pagination-active-border-color: var(--georama-green);
}

.badge {
    --bs-badge-font-weight: 600;
}

.progress,
.progress-stacked {
    --bs-progress-bar-bg: var(--georama-green);
}


.list-group {
    --bs-list-group-action-color: var(--bs-secondary-color);
    --bs-list-group-action-hover-color: var(--bs-emphasis-color);
    --bs-list-group-action-hover-bg: var(--bs-tertiary-bg);
    --bs-list-group-action-active-color: var(--bs-body-color);
    --bs-list-group-action-active-bg: var(--bs-secondary-bg);
    --bs-list-group-active-bg: var(--georama-green);
    --bs-list-group-active-border-color: var(--georama-green);
    
}

.text-bg-warning {
    color: #fff !important;
}

.text-bg-light {
    color: var(--bs-dark) !important;
}

.text-bg-dark {
    color: var(--bs-light) !important;
}


.link-primary:hover, .link-primary:focus {
    color: RGBA(var(--bs-link-hover-color-rgb), var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(var(--bs-link-hover-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(var(--bs-link-hover-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}

.link-secondary:hover, .link-secondary:focus {
    color: RGBA(198, 153, 58, var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(198, 153, 58, var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(198, 153, 58, var(--bs-link-underline-opacity, 1)) !important;
}

