body {
    font-family: var(--font-family-primary);
    color: var(--p-color);
    background-color: var(--primary-bg-color);
}

h1,
h2,
h3,
h4,
h5 {
    font-family: var(--font-family-titles);
    color: var(--p-color);
}

p {
    color: var(--p-color);
}

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

a:hover,
a:focus,
a:active {
    color: var(--secondary-color)!important;
}

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

.card  {
    background-color: var(--card-background-color);
    border: none!important;
    box-shadow: 0 2px 15px -3px rgba(0,0,0, 0.07), 0 10px 20px -2px rgba(0,0,0, 0.04);
}

.hidden {
    display: none!important;
}

.modal-body,
.modal-footer,
.modal-header {
    background-color: var(--secondary-bg-color)!important;
}

.btn-close {
    border: none!important;
    outline: none!important;
    box-shadow: none!important;
}

.btn-light {
    background-color: var(--btn-light-background)!important;
    color: var(--p-color)!important;
    border:none!important;
}

.btn-light:hover {
    color: var(--primary-color)!important;
}

.btn-primary {
    background-color: var(--primary-color)!important;
    border-color: var(--primary-color)!important;
    outline: none!important;
    box-shadow: 0 4px 9px -4px var(--primary-color)!important;
    color:white!important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: var(--secondary-color)!important;
    border-color: var(--secondary-color)!important;
    outline: none!important;
    box-shadow: 0 4px 9px -4px var(--secondary-color)!important;
    color:white!important;
}

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

.not-found-container {
    width: 100%;
    min-height: 100vh;
    background-image: url("/assets/img/404_background_image.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 80% 60%;
}
.error-code {
    font-size:25vw;
    color:var(--primary-color);
}

@media (min-width: 768px) { 
    .error-code {
        font-size:15vw!important;
    }
}

@media (min-width: 1400px) { 
    .error-code {
        font-size:12vw!important;
    }
}

.login-container {
    min-height: 100vh;
    background:radial-gradient(#898989, black);
}

.login-image-container {
    background-image: url("/assets/img/login-image.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    border-top-right-radius: 0.375rem;
    border-bottom-right-radius: 0.375rem;
}

.login-left-card {
    border-top-left-radius: 0.375rem;
    border-bottom-left-radius: 0.375rem;
    background-color: var(--primary-bg-color);
}

.form-label, .form-check-label {
    margin-bottom: 0.2rem!important;
    color: var(--form-label-color);
}
.form-control,
.form-select {
    box-shadow: none!important;
    background-color: var(--input-background-color);
    border-color: var(--secondary-bg-color);
    color: var(--p-color);
}

.form-control:focus,
.form-select:focus {
    box-shadow: 0 2px 15px -3px rgba(var(--primary-color-rgb), 0.17),0 10px 20px -2px rgba(var(--primary-color-rgb), 0.08) !important;
    border-color: var(--primary-color);
    color: var(--primary-color);
    background-color: var(--secondary-bg-color);
}
.form-check-input {
    box-shadow: none!important;
    background-color: var(--secondary-bg-color);
}
.form-check-input:checked {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}
.form-check-input:focus {
    border-color: var(--primary-color);
}

/* Chrome, Safari, and newer versions of Edge */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px white inset !important;
}

/* Firefox */
input:-moz-placeholder {
    background-color: transparent !important;
}

/* Microsoft Edge */
input:-ms-input-placeholder {
    background-color: transparent !important;
}


.wrapper {
    width: 100%;
    height: 100%;
}

.sidebar {
    z-index: 1000;
    bottom: 0;
    top: 0;
    position: fixed;
    width: 250px;
    background: var(--secondary-bg-color);
    -webkit-box-shadow: 0px 0px 35px 0px rgba(0, 0, 0, 0.15);;
    box-shadow: 0px 0px 35px 0px rgba(0, 0, 0, 0.15);;
    -webkit-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}

.sidebar-opened {
    left: 0;
}
.sidebar-closed {
    left: -250px;
}

.lpnavbar {
    background-color: var(--secondary-bg-color)!important;
    box-shadow: 0 2px 6px -1px rgba(0,0,0, 0.16),0 6px 18px -1px rgba(0,0,0, 0.1) !important
}

.lpnavbar-opened {
    padding-left: 250px;
    transition: all .25s ease-in-out;
}

.lpnavbar-closed {
    padding-left: 10px;
    transition: all .25s ease-in-out;
}

.page-content {
    min-height: 100vh;
    background-color: var(--primary-bg-color);
    transition: all .25s ease-in-out;
    padding: 1.3rem 1rem;
    padding-top: 75px;
}

.page-content-opened {
    margin-left: 250px;
}

.page-content-closed {
    margin-left: 0px;
}

.sidebar-subtitle {
    text-transform: uppercase;
    pointer-events: none;
    cursor: default;
    white-space: nowrap;
    padding: 0px 20px;
    font-size: 0.75rem;
    color: var(--text-muted-color);
    font-weight: 500;
    letter-spacing: 0.1rem;
}

.sidebar-item {
    padding: 0px 20px!important;
    margin: 5px 0px;
}

.sidebar-link {
    background-color: transparent!important;
    border-radius: 0.4rem!important;
    color: var(--p-secondary-color)!important;
}

.sidebar-link.active,
.dropdown-item.active {
    background-color: rgb(var(--primary-color-rgb),0.2)!important;
    color: var(--primary-color)!important;
}

.sidebar-link:hover,
.sidebar-link:focus,
.sidebar-link:active,
.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item:active {
    background-color: rgb(var(--primary-color-rgb),0.075)!important;
    color: var(--primary-color)!important;
}

.dropdown-item {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    color: var(--p-secondary-color);
}

.dropdown-menu {
    padding: 0px!important;
    border-color: var(--secondary-bg-color)!important;
    background-color: var(--primary-bg-color);
    box-shadow: 0 2px 15px -3px rgba(0,0,0, 0.07), 0 10px 20px -2px rgba(0,0,0, 0.04);
}

.dropdown-divider {
    border-top: 1px solid grey!important;
}

.btn-sidebar-toggle {
    color: var(--p-secondary-color)!important;
    border:none!important;
    box-shadow: none!important;
    background-color: transparent!important;
}

.btn-sidebar-toggle:hover {
    color: var(--primary-color)!important;
}

.navbar-btn-link {
    color: var(--p-secondary-color)!important;
    padding: 0px 5px;
    font-size: 1.6rem;
}

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

.sidebar-logo-title {
    color: var(--logo-text-color)!important;
    padding-left: 0.75rem;
    margin: 0;
    padding-top: 0.5rem;
}

.table>:not(caption)>*>* {
    padding: .75rem .5rem!important;
}
.table-striped>tbody>tr:nth-of-type(odd)>* {
    --bs-table-bg-type: var(--table-striped-bg);
}
.table>:not(caption)>*>* {
    padding: .75rem .5rem;
    background-color: var(--table-background);
}

tbody, td, tfoot, th, thead, tr {
    border-color: var(--table-border-color);
}

tbody, td, tfoot, th, thead, tr:hover {
    cursor: pointer;
}

th {
    color: var(--p-color)!important;
    font-weight: 600;
}

.table-dropdown {
    padding: 0px!important;
    background-color: transparent!important;
    border: none!important;
    color: var(--p-color)!important;
    font-weight: 600;
    transition: all 0.15s!important;
}

.table-dropdown i {
    color: var(--p-secondary-color);
    transition: all 0.15s!important;
}

.table-dropdown:hover,
.table-dropdown:hover i {
    color: var(--primary-color)!important;
}


::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color: var(--p-color)!important;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
   color: var(--p-color)!important;
   opacity: 1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
   color: var(--p-color)!important;
   opacity: 1;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
   color: var(--p-color)!important;
}
::-ms-input-placeholder { /* Microsoft Edge */
   color: var(--p-color)!important;
}

::placeholder { /* Most modern browsers support this now. */
   color: var(--p-color)!important;
}

.page-link {
    color: var(--p-color)!important;
    background-color: var(--pagination-background-color)!important;
    border-color: var(--pagination-border-color)!important;
    box-shadow: none!important;
    outline: none!important;
}

.page-link:hover {
    color: var(--primary-color)!important;
}

.disabled>.page-link, .page-link.disabled {
    color: var(--text-muted-color)!important;
    pointer-events: none!important;
    background-color: var(--btn-light-background)!important;
    border-color: var(--pagination-border-color)!important;
}