:root {
    --bs-primary: var(--app-primary-color);
    --bs-secondary: var(--app-secondary-color);
}

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

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

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

.badge-primary {
    background-color: var(--app-primary-color);
}

a {
    color: var(--app-primary-color);
}

a:hover {
    color: var(--app-primary-contrast-color);
    text-decoration: none;
}

a.text-muted:hover {
    color: var(--app-primary-color) !important;
}

.table .table {
    background-color: #fff;
}

td {
    white-space: nowrap;
}

.datatable td .btn {
    white-space: nowrap;
}

.datatable td:last-child .btn {
    margin-right: 3px;
}

.btn:focus,
.btn:hover {
    text-decoration: none;
}

.btn-primary {
    background-color: var(--app-primary-color);
    border-color: var(--app-primary-color);
}

.btn-primary:hover {
    background-color: var(--app-primary-contrast-color);
    border-color: var(--app-primary-contrast-color);
}

.btn-primary:focus,
.btn-primary.focus,
.btn-check:checked+.btn-primary {
    background-color: var(--app-primary-contrast-color);
    border-color: var(--app-primary-contrast-color);
    box-shadow: none;
}

.btn-primary.disabled,
.btn-primary:disabled {
    background-color: var(--app-primary-contrast-color);
    border-color: var(--app-primary-contrast-color);
}

.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show>.btn-primary.dropdown-toggle {
    background-color: var(--app-primary-contrast-color);
    border-color: var(--app-primary-contrast-color);
}

.btn-outline-primary {
    color: var(--app-primary-color);
    border-color: var(--app-primary-color);

    --bs-btn-color: var(--app-primary-color);
    --bs-btn-border-color: var(--app-primary-color);
    --bs-btn-hover-bg: var(--app-primary-color);
    --bs-btn-hover-border-color: var(--app-primary-color);
    --bs-btn-hover-color: #fff;
    --bs-btn-active-bg: var(--app-primary-color);
    --bs-btn-active-border-color: var(--app-primary-color);
}

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

.btn-outline-primary:focus,
.btn-outline-primary.focus,
.btn-check:checked+.btn-outline-primary {
    background-color: var(--app-primary-color);
    border-color: var(--app-primary-color);
    color: white;
    box-shadow: none;
}

.btn-outline-primary:disabled {
    color: var(--app-primary-contrast-color);
    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 {
    background-color: var(--app-primary-color);
    border-color: var(--app-primary-color);
    color: #fff;
}

.btn-secondary {
    background-color: var(--app-secondary-color);
    border-color: var(--app-secondary-color);

    --bs-btn-bg: var(--app-secondary-color);
    --bs-btn-border-color: var(--app-secondary-color);
    --bs-btn-hover-bg: var(--app-secondary-contrast-color);
    --bs-btn-hover-border-color: var(--app-secondary-contrast-color);
    --bs-btn-active-bg: var(--app-secondary-contrast-color);
    --bs-btn-active-border-color: var(--app-secondary-contrast-color);
}

.btn-secondary:hover {
    background-color: var(--app-secondary-contrast-color);
}

.btn-secondary.disabled,
.btn-secondary:disabled {
    background-color: var(--app-secondary-contrast-color);
    border-color: var(--app-secondary-contrast-color);
}

.btn-secondary:not(:disabled):not(.disabled):active,
.btn-secondary:not(:disabled):not(.disabled).active,
.show>.btn-secondary.dropdown-toggle {
    background-color: var(--app-secondary-contrast-color);
    border-color: var(--app-secondary-contrast-color);
}

.btn-outline-secondary {
    color: var(--app-secondary-contrast-color);
    border-color: var(--app-secondary-contrast-color);
}

.btn-outline-secondary:hover {
    background-color: var(--app-secondary-contrast-color);
    border-color: var(--app-secondary-contrast-color);
}

.btn-outline-secondary:disabled {
    color: var(--app-secondary-contrast-color);
    background-color: transparent;
}

.btn-outline-secondary:not(:disabled):not(.disabled):active,
.btn-outline-secondary:not(:disabled):not(.disabled).active,
.show>.btn-outline-secondary.dropdown-toggle {
    background-color: var(--app-secondary-contrast-color);
    border-color: var(--app-secondary-contrast-color);
    color: #fff;
}

.btn-group-xs>.btn,
.btn-xs {
    padding: 1px 5px;
    font-size: var(--font-sm);
    line-height: 1.5;
    border-radius: 3px;
    color: white
}

@media screen and (max-width : 500px) {

    .btn-group-xs>.btn,
    .btn-xs {
        padding: 1px 5px;
        font-size: var(--font-xs);
        line-height: 1.5;
        border-radius: 3px;
        color: white
    }
}

.btn-link {
    color: var(--app-primary-color);
}

.page-link {
    color: var(--app-primary-color);
}

.page-link:hover {
    background-color: var(--app-primary-color);
    border-color: var(--app-primary-color);
    color: #fff;
}

.page-item.active .page-link {
    background-color: var(--app-primary-color);
    border-color: var(--app-primary-color);
}

.progress {
    height: 10px;
    border-radius: 10px;
}

.progress-bar {
    border-radius: 10px;
    background-color: var(--app-primary-color);
    color: #fff;
}

.card-body {
    padding: 12px
}

.card-primary:not(.card-outline) .card-header {
    background-color: var(--app-primary-color);
    border-bottom: 0;
}

.card-primary.card-outline {
    border-top: 3px solid var(--app-primary-color);
}

.list-group-item.active {
    background-color: var(--app-primary-color);
    border-color: var(--app-primary-color);
}

.dropdown-item.active,
.dropdown-item:active {
    background-color: var(--app-primary-color);
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: var(--app-primary-color);
    color: #fff;
}

.modal-header .close,
.modal-header .mailbox-attachment-close {
    padding: 1rem;
    margin: -1rem -1rem -1rem auto
}

@media (max-width: 575.98px) {

    .modal-dialog {
        max-width: 90vw;
        margin: 1.75rem auto;
    }

    .modal-dialog-centered {
        min-height: calc(100% - (1.75rem * 2));
    }

    .modal-content {
        box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .5);
        padding-bottom: 10%;
    }

    .modal-sm {
        max-width: 300px;
    }
}

.bs-popover-auto[x-placement^=bottom] .popover-header::before,
.bs-popover-bottom .popover-header::before {
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    width: 1rem;
    margin-left: -.5rem;
    content: "";
    border-bottom: 1px solid #f7f7f7
}

caption {
    color: var(--gray);
}

.blockquote-footer {
    color: var(--gray);
}

.bg-success {
    background-color: var(--success) !important
}

.accordion .accordion-header {
    background-color: var(--app-primary-color);
}

.accordion .accordion-button {
    background-color: var(--app-primary-color);
    color: var(--app-secondary2-color);
}

.accordion .accordion-body {
    background-color: var(--app-secondary2-color);
}

.todo-list .primary {
    border-left-color: var(--app-primary-color);
}

.bg-primary-gradient {
    background: var(--app-primary-color);
    background: -webkit-gradient(linear, left bottom, left top, color-stop(0, var(--app-primary-color)), color-stop(1, #3395ff));
    background: -ms-linear-gradient(bottom, var(--app-primary-color), #3395ff);
    background: -moz-linear-gradient(center bottom, var(--app-primary-color) 0, #3395ff 100%);
    background: -o-linear-gradient(#3395ff, var(--app-primary-color));
    color: #fff;
}

.content-wrapper .row {
    margin-left: 0;
    margin-right: 0;
}

.content-wrapper {
    padding: 15px;
}

@media (min-width:768px) {

    .content-wrapper,
    .main-footer,
    .main-header {
        margin-left: 250px;
    }
}

.form-group.row {
    margin-bottom: 20px;
}

.form-group .required::after {
    content: " *";
    color: red;
}

.form-control:focus {
    border-color: var(--app-primary-color);
    box-shadow: none;
}

.form-control::placeholder {
    color: var(--gray);
}

.form-check-input:disabled~.form-check-label {
    color: var(--gray);
}

.form-check.is-invalid~.invalid-feedback {
    display: block;
}

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

.form-check {
    display: inline-flex;
    align-items: center;
}

.form-check-input {
    margin-top: 0;
    margin-right: 6px;
    flex-shrink: 0;
}

.form-check-input:focus {
    border-color: var(--app-primary-color);
    box-shadow: none;
}

.form-check-label {
    white-space: nowrap;
}

.form-select:focus {
    border-color: var(--app-primary-color);
    box-shadow: none;
}

.custom-control-input:checked~.custom-control-label::before {
    background-color: var(--app-primary-color);
    border-color: var(--app-primary-color);
}