﻿
body,
:root {
    --bs-body-font-weight: 300;
    font-family: var(--font-primary);
    font-display: block;
}

.bg-dark {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--theme-primary-rgb),var(--bs-bg-opacity, 1)) !important;
}

.text-bg-warning {
    color: var(--theme-black-hex) !important;
    background-color: rgba(var(--theme-yellow-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-info {
    color: var(--theme-black-hex) !important;
    background-color: rgba(var(--theme-cyan-rgb), var(--bs-bg-opacity, 1)) !important;
}

.navbar:not(.navbar-dark) {
    --bs-navbar-active-color: var(--theme-primary-hex);
    --bs-navbar-hover-color: var(--theme-primary-hex);
}

.btn {
    --bs-btn-border-radius: var(--border-radius);
}

.btn-cta {
    --bs-btn-color: var(--theme-white-hex);
    --bs-btn-bg: var(--theme-cta-hex);
    --bs-btn-border-color: var(--theme-cta-hex);
    --bs-btn-hover-color: var(--theme-white-hex);
    --bs-btn-hover-bg: var(--theme-cta-dark);
    --bs-btn-hover-border-color: var(--theme-cta-dark);
    --bs-btn-focus-shadow-rgb: var(--theme-cta-rgb);
    --bs-btn-active-color: var(--theme-white-hex);
    --bs-btn-active-bg: var(--theme-cta-dark);
    --bs-btn-active-border-color: var(--theme-cta-dark);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--theme-white-hex);
    --bs-btn-disabled-bg: var(--theme-cta-hex);
    --bs-btn-disabled-border-color: var(--theme-cta-hex);
}

.btn-primary {
    --bs-btn-color: var(--theme-white-hex);
    --bs-btn-bg: var(--theme-primary-hex);
    --bs-btn-border-color: var(--theme-primary-hex);
    --bs-btn-hover-color: var(--theme-white-hex);
    --bs-btn-hover-bg: var(--theme-primary-dark);
    --bs-btn-hover-border-color: var(--theme-primary-dark);
    --bs-btn-focus-shadow-rgb: var(--theme-primary-rgb);
    --bs-btn-active-color: var(--theme-white-hex);
    --bs-btn-active-bg: var(--theme-primary-dark);
    --bs-btn-active-border-color: var(--theme-primary-dark);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--theme-white-hex);
    --bs-btn-disabled-bg: var(--theme-primary-hex);
    --bs-btn-disabled-border-color: var(--theme-primary-hex);
}

.btn-success {
    --bs-btn-color: var(--theme-white-hex);
    --bs-btn-bg: var(--theme-green-hex);
    --bs-btn-border-color: var(--theme-green-hex);
    --bs-btn-hover-color: var(--theme-white-hex);
    --bs-btn-hover-bg: var(--theme-green-dark);
    --bs-btn-hover-border-color: var(--theme-green-dark);
    --bs-btn-focus-shadow-rgb: var(--theme-green-rgb);
    --bs-btn-active-color: var(--theme-white-hex);
    --bs-btn-active-bg: var(--theme-green-dark);
    --bs-btn-active-border-color: var(--theme-green-dark);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--theme-white-hex);
    --bs-btn-disabled-bg: var(--theme-green-hex);
    --bs-btn-disabled-border-color: var(--theme-green-hex);
}

.btn-danger {
    --bs-btn-color: var(--theme-white-hex);
    --bs-btn-bg: var(--theme-red-hex);
    --bs-btn-border-color: var(--theme-red-hex);
    --bs-btn-hover-color: var(--theme-white-hex);
    --bs-btn-hover-bg: var(--theme-red-dark);
    --bs-btn-hover-border-color: var(--theme-red-dark);
    --bs-btn-focus-shadow-rgb: var(--theme-red-rgb);
    --bs-btn-active-color: var(--theme-white-hex);
    --bs-btn-active-bg: var(--theme-red-dark);
    --bs-btn-active-border-color: var(--theme-red-dark);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--theme-white-hex);
    --bs-btn-disabled-bg: var(--theme-red-hex);
    --bs-btn-disabled-border-color: var(--theme-red-hex);
}

.btn-warning {
    --bs-btn-color: var(--theme-white-hex);
    --bs-btn-bg: var(--theme-yellow-hex);
    --bs-btn-border-color: var(--theme-yellow-hex);
    --bs-btn-hover-color: var(--theme-black-hex);
    --bs-btn-hover-bg: var(--theme-yellow-dark);
    --bs-btn-hover-border-color: var(--theme-yellow-dark);
    --bs-btn-focus-shadow-rgb: var(--theme-yellow-rgb);
    --bs-btn-active-color: var(--theme-black-hex);
    --bs-btn-active-bg: var(--theme-yellow-dark);
    --bs-btn-active-border-color: var(--theme-yellow-dark);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--theme-black-hex);
    --bs-btn-disabled-bg: var(--theme-yellow-hex);
    --bs-btn-disabled-border-color: var(--theme-yellow-hex);
}

.btn-info {
    --bs-btn-color: var(--theme-white-hex);
    --bs-btn-bg: var(--theme-cyan-hex);
    --bs-btn-border-color: var(--theme-cyan-hex);
    --bs-btn-hover-color: var(--theme-white-hex);
    --bs-btn-hover-bg: var(--theme-cyan-dark);
    --bs-btn-hover-border-color: var(--theme-cyan-dark);
    --bs-btn-focus-shadow-rgb: var(--theme-cyan-rgb);
    --bs-btn-active-color: var(--theme-white-hex);
    --bs-btn-active-bg: var(--theme-cyan-dark);
    --bs-btn-active-border-color: var(--theme-cyan-dark);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--theme-white-hex);
    --bs-btn-disabled-bg: var(--theme-cyan-hex);
    --bs-btn-disabled-border-color: var(--theme-cyan-hex);
}

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

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

.btn-outline-danger {
    --bs-btn-color: var(--theme-red-hex);
    --bs-btn-border-color: var(--theme-red-hex);
    --bs-btn-hover-color: var(--theme-white-hex);
    --bs-btn-hover-bg: var(--theme-red-hex);
    --bs-btn-hover-border-color: var(--theme-red-hex);
    --bs-btn-focus-shadow-rgb: var(--theme-red-rgb);
    --bs-btn-active-color: var(--theme-white-hex);
    --bs-btn-active-bg: var(--theme-red-hex);
    --bs-btn-active-border-color: var(--theme-red-hex);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--theme-red-hex);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--theme-red-hex);
    --bs-gradient: none;
}

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

.btn-outline-info {
    --bs-btn-color: var(--theme-cyan-hex);
    --bs-btn-border-color: var(--theme-cyan-hex);
    --bs-btn-hover-color: var(--theme-white-hex);
    --bs-btn-hover-bg: var(--theme-cyan-hex);
    --bs-btn-hover-border-color: var(--theme-cyan-hex);
    --bs-btn-focus-shadow-rgb: var(--theme-cyan-rgb);
    --bs-btn-active-color: var(--theme-white-hex);
    --bs-btn-active-bg: var(--theme-cyan-hex);
    --bs-btn-active-border-color: var(--theme-cyan-hex);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--theme-cyan-hex);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--theme-cyan-hex);
    --bs-gradient: none;
}

.btn-outline-cta {
    --bs-btn-color: var(--theme-cta-hex);
    --bs-btn-border-color: var(--theme-cta-hex);
    --bs-btn-hover-color: var(--theme-white-hex);
    --bs-btn-hover-bg: var(--theme-cta-hex);
    --bs-btn-hover-border-color: var(--theme-cta-hex);
    --bs-btn-focus-shadow-rgb: var(--theme-cyan-rgb);
    --bs-btn-active-color: var(--theme-white-hex);
    --bs-btn-active-bg: var(--theme-cta-hex);
    --bs-btn-active-border-color: var(--theme-cta-hex);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--theme-cta-hex);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--theme-cta-hex);
    --bs-gradient: none;
}

.dropdown-menu {
    --bs-dropdown-link-active-bg: var(--theme-primary-hex);
    --bs-dropdown-border-radius: var(--border-radius);
}

.pagination {
    --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(var(--theme-primary-rgb), 0.25);
    --bs-pagination-active-bg: var(--theme-primary-hex);
    --bs-pagination-active-border-color: var(--theme-primary-hex);
    --bs-pagination-border-radius: var(--border-radius);
}

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

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

.btn-warning:hover {
    color: var(--theme-white-hex);
}

.link-primary {
    color: var(--theme-primary-hex) !important;
}

.link-success {
    color: var(--theme-green-hex) !important;
}

.link-danger {
    color: var(--theme-red-hex) !important;
}

.link-warning {
    color: var(--theme-yellow-hex) !important;
}

.link-info {
    color: var(--theme-cyan-hex) !important;
}

.link-cta {
    color: var(--theme-cta-hex) !important;
}

.text-cta {
    color: var(--theme-cta-hex) !important;
}

.link-primary:focus, .link-primary:hover {
    color: var(--theme-primary-dark) !important;
}

.link-success:focus, .link-success:hover {
    color: var(--theme-green-dark) !important;
}

.link-danger:focus, .link-danger:hover {
    color: var(--theme-red-dark) !important;
}

.link-warning:focus, .link-warning:hover {
    color: var(--theme-yellow-dark) !important;
}

.link-info:focus, .link-info:hover {
    color: var(--theme-cyan-dark) !important;
}

.link-cta:focus, .link-cta:hover {
    color: var(--theme-cta-dark) !important;
}

.alert-primary {
    --bs-alert-color: var(--theme-primary-hex);
    --bs-alert-bg: var(--theme-primary-bg);
    --bs-alert-border-color: var(--theme-primary-bg);
}

    .alert-primary .alert-link {
        color: var(--theme-primary-hex);
    }

.alert-success {
    --bs-alert-color: var(--theme-green-dark);
    --bs-alert-bg: var(--theme-green-bg);
    --bs-alert-border-color: var(--theme-green-bg);
}

    .alert-success .alert-link {
        color: var(--theme-green-dark);
    }

.alert-danger {
    --bs-alert-color: var(--theme-red-dark);
    --bs-alert-bg: var(--theme-red-bg);
    --bs-alert-border-color: var(--theme-red-bg);
}

    .alert-danger .alert-link {
        color: var(--theme-red-dark);
    }

.alert-warning {
    --bs-alert-color: var(--theme-yellow-dark);
    --bs-alert-bg: var(--theme-yellow-bg);
    --bs-alert-border-color: var(--theme-yellow-bg);
}

    .alert-warning .alert-link {
        color: var(--theme-yellow-dark);
    }

.alert-info {
    --bs-alert-color: var(--theme-cyan-dark);
    --bs-alert-bg: var(--theme-cyan-bg);
    --bs-alert-border-color: var(--theme-cyan-bg);
}

    .alert-info .alert-link {
        color: var(--theme-cyan-dark);
    }

.accordion-button:not(.collapsed) {
    color: var(--theme-primary-hex);
    background-color: var(--theme-primary-bg);
}

.accordion-button:focus {
    border-color: var(--theme-primary-hex);
    box-shadow: none; /*0 0 0 0.25rem rgba(var(--theme-primary-rgb), 0.25);*/
}

.table-primary {
    --bs-table-bg: var(--theme-primary-bg);
    --bs-table-border-color: var(--theme-primary-bg);
    --bs-table-striped-bg: var(--theme-primary-bg);
    --bs-table-active-bg: var(--theme-primary-bg);
    --bs-table-hover-bg: var(--theme-primary-bg);
}

.table-success {
    --bs-table-bg: var(--theme-green-bg);
    --bs-table-border-color: var(--theme-green-bg);
    --bs-table-striped-bg: var(--theme-green-bg);
    --bs-table-active-bg: var(--theme-green-bg);
    --bs-table-hover-bg: var(--theme-green-bg);
}

.table-danger {
    --bs-table-bg: var(--theme-red-bg);
    --bs-table-border-color: var(--theme-red-bg);
    --bs-table-striped-bg: var(--theme-red-bg);
    --bs-table-active-bg: var(--theme-red-bg);
    --bs-table-hover-bg: var(--theme-red-bg);
}

.table-warning {
    --bs-table-bg: var(--theme-yellow-bg);
    --bs-table-border-color: var(--theme-yellow-bg);
    --bs-table-striped-bg: var(--theme-yellow-bg);
    --bs-table-active-bg: var(--theme-yellow-bg);
    --bs-table-hover-bg: var(--theme-yellow-bg);
}

.table-info {
    --bs-table-bg: var(--theme-cyan-bg);
    --bs-table-border-color: var(--theme-cyan-bg);
    --bs-table-striped-bg: var(--theme-cyan-bg);
    --bs-table-active-bg: var(--theme-cyan-bg);
    --bs-table-hover-bg: var(--theme-cyan-bg);
}

.form-control.is-valid,
.was-validated .form-control:valid {
    border-color: var(--theme-green-hex);
}

    .form-control.is-valid:focus,
    .was-validated .form-control:valid:focus {
        border-color: var(--theme-green-dark);
        box-shadow: 0 0 0 .25rem rgba(var(--theme-green-rgb), .25);
    }

.form-check-input.is-invalid ~ .form-check-label,
.was-validated .form-check-input:invalid ~ .form-check-label {
    color: var(--theme-red-dark);
}

.form-control.is-invalid,
.was-validated .form-control:invalid {
    border-color: var(--theme-red-dark);
}

@media (prefers-color-scheme: dark) {
}

.font-primary {
    font-family: var(--font-primary);
}

.font-secondary {
    font-family: var(--font-secondary);
}

.valid-feedback {
    color: var(--theme-green-dark);
}

.invalid-feedback {
    color: var(--theme-red-dark);
}

.list-group-item-primary {
    color: var(--theme-primary-hex);
    background-color: var(--theme-primary-bg);
}

.list-group-item-success {
    color: var(--theme-green-dark);
    background-color: var(--theme-green-bg);
}

.list-group-item-danger {
    color: var(--theme-red-dark);
    background-color: var(--theme-red-bg);
}

.list-group-item-warning {
    color: var(--theme-yellow-dark);
    background-color: var(--theme-yellow-bg);
}

.list-group-item-info {
    color: var(--theme-cyan-dark);
    background-color: var(--theme-cyan-bg);
}

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

.nav-tabs .nav-link.active {
    color: var(--theme-primary-hex);
}

.active > .page-link,
.page-link.active {
    background-color: var(--theme-primary-hex);
    border-color: var(--theme-primary-hex)
}

.list-group {
    --bs-list-group-border-radius: var(--border-radius);
    --bs-list-group-active-bg: var(--theme-primary-hex);
    --bs-list-group-active-border-color: var(--theme-primary-hex);
}

.card {
    --bs-card-border-radius: var(--border-radius);
}

.card-img, .card-img-top, .card-img-bottom {
    --bs-card-border-radius: var(--border-radius);
    --bs-card-inner-border-radius: var(--border-radius);
}

.badge {
    --bs-badge-border-radius: var(--border-radius);
}

.accordion {
    --bs-accordion-border-radius: var(--border-radius);
}

.progress {
    --bs-progress-border-radius: var(--border-radius);
}

.toast {
    --bs-toast-border-radius: var(--border-radius);
}

.accordion-item:first-of-type .accordion-button {
    border-top-left-radius: var(--border-radius);
    border-top-right-radius: var(--border-radius);
}

.alert {
    --bs-alert-border-radius: var(--border-radius);
}

.form-check-input[type="checkbox"],
.form-switch .form-check-input {
    border-radius: var(--border-radius);
}

body {
    scroll-behavior: smooth;
    font-weight: 400;
    font-family: var(--font-secondary);
    -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-primary);
}

.input-group-text,
.form-control {
    border-radius: var(--border-radius);
}

.input-group-text,
.form-control {
    border-radius: var(--border-radius);
}

.form-control-sm {
    border-radius: var(--border-radius);
}

.btn-link:focus,
.form-select:focus {
    border-color: rgba(var(--theme-primary-rgb), 0.5);
    box-shadow: 0 0 0 .25rem rgba(var(--theme-primary-rgb), 0.25);
}

.form-select-sm {
    border-radius: var(--border-radius);
}
