:root {
    --bs-gray-050: #fcfcfd;
    --bs-gray-150: #f0f2f4;
    --bs-gray-950: #15171a;
    --bs-success-100: #d1e7dd;
    --bs-success-200: #a3cfbb;
    --bs-success-300: #75b798;
    --bs-primary-100: #cfe2ff;
    --bs-primary-200: #9ec5fe;
    --bs-primary-300: #6ea8fe;
    --bs-secondary-100: #f8f9fa;
    --bs-secondary-200: #e9ecef;
    --bs-secondary-300: #dee2e6;
    --bs-warning-100: #fff3cd;
    --bs-warning-200: #ffe69c;
    --bs-warning-300: #ffda6a;
    --bs-danger-100: #f8d7da;
    --bs-danger-200: #f1aeb5;
    --bs-danger-300: #ea868f;
    --bs-purple-100: #e2d9f3;
    --bs-purple-200: #c5b3e6;
    --bs-purple-300: #a98eda;
    --bs-header-zindex: 1030;
    --bs-table-row-hover: #f1f1f2;
    --bs-table-lane-hover: #eaeaeb;
}

.bg-none {
    background: rgba(0, 0, 0, 0);
}

.bg-white {
    background-color: var(--bs-white) !important;
}

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

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

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

.bg-secondary-100 {
    background-color: var(--bs-secondary-100) !important;
}

.bg-secondary-200 {
    background-color: var(--bs-secondary-200) !important;
}

.bg-secondary-300 {
    background-color: var(--bs-secondary-300) !important;
}

.bg-purple-100 {
    background-color: var(--bs-purple-100) !important;
}

.bg-purple-200 {
    background-color: var(--bs-purple-200) !important;
}

.bg-purple-300 {
    background-color: var(--bs-purple-300) !important;
}

.text-purple {
    color: var(--bs-purple-300) !important;
}

.border-primary-100 {
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-primary-100)!important;
}

.border-primary-200 {
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-primary-200)!important;
}

.border-primary-300 {
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-primary-300)!important;
}

.border-purple-100 {
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-purple-100)!important;
}

.border-purple-200 {
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-purple-200)!important;
}

.border-purple-300 {
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-purple-300)!important;
}

.header {
    border-color: var(--bs-gray-800) !important;
    z-index: var(--bs-header-zindex) !important;
    max-height: 4.27rem;
}

.header img{
    height: 3.3rem;
    cursor: pointer;
    padding-bottom: 0.5rem;
    padding-right: 0.5rem;
}

.header img:hover {
    transform: scale(1.2);
}

.menu {
    height: calc(100vh - 4.27rem - 7rem);
    height: calc(100dvh - 4.27rem - 7rem);
    border-color: var(--bs-gray-800) !important;
    background-color: var(--bs-gray-950) !important;
}

.menu > .nav {
    max-height: 100%;
    overflow-y: auto;

    /* Hide scrollbar for IE, Edge and Firefox */
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}

/* Hide scrollbar for Chrome, Safari and Opera */
.menu > .nav::-webkit-scrollbar {
    display: none;
}

.menu li:hover {
    background-color: var(--bs-gray-800) !important;
    /* border-radius: var(--bs-nav-pills-border-radius) !important; */
}

.menu li:hover img {
    transform: scale(1.2);
}

.menu img {
    height: 3rem;
    width: 3rem;
}

.content_panel {
    position: relative;
    height: calc(100vh - 4.27rem - 7rem);
    height: calc(100dvh - 4.27rem - 7rem);
    overflow: auto;
}

.footer {
    border-color: var(--bs-gray-800) !important;
    bottom: 0;
    max-height: 7rem;
}

.footer-center {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.footer img {
    height: 5rem;
}

.hdr_collapse {
    cursor: pointer;
}

.hdr_collapse[aria-expanded=false] .icon_expanded {
    display: none;
}

.hdr_collapse[aria-expanded=true] .icon_collapsed {
    display: none;
}

.hdr_collapse .icon_expanded,
.hdr_collapse .icon_collapsed {
    opacity: 0.3;
}

.hdr_collapse:hover .icon_expanded,
.hdr_collapse:hover .icon_collapsed {
    color: var(--bs-primary) !important;
    opacity: 1.0;
}

.btn_icon {
    width: 17rem;
}

.btn_fit {
    width: fit-content;
}

.btn_lg {
    width: 19rem !important;
}

.btn_icon img {
    height: 3rem;
}

.btn_icon:hover img {
    transform: scale(1.2);
}

.login_form {
    width: 17rem;
}

.home_icon {
    width: 8rem;
}

#login_button i:hover {
    color: var(--bs-primary) !important;
}

.modal-backdrop {
    z-index: calc(var(--bs-header-zindex) - 1) !important;
}

.bg-gray-200 {
    background-color: var(--bs-gray-200) !important;
}

.login img {
    height: 6rem !important;
    cursor: auto;
}

.login img:hover {
    transform: scale(1.0);
}

.modal-body img {
    height: 4rem;
    cursor: auto;
}

@media (max-width: 1199.98px) {
    .modal-full-width-xl-down {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
}

@media (max-width: 991.98px) {
    .modal-full-width-lg-down {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
}

.modal_meta_grid {
    display: grid;
    grid-template-columns: max-content max-content;
    column-gap: 0.5rem;
    row-gap: 0.25rem;
}

.col-1-fixed {
    flex: 0 0 3rem;
    max-width: 3rem;
}

.col-4-grow {
    flex: 4 1 12rem;
    min-width: 0;
}

.col-3-grow {
    flex: 3 1 9rem;
    min-width: 0;
}

.modal-footer .btn-primary {
    width: auto;
}

.modal-footer .btn-secondary {
    width: auto;
}

.modal-footer .btn-warning {
    width: auto;
}

.modal-footer .btn-success {
    width: auto;
}

.modal-footer .btn-danger {
    width: auto;
}

.modal-footer .btn_icon img {
    height: 2rem;
}

.nav-link .badge {
    font-size: 0.6rem;
}

.impressum a:hover {
    color: var(--bs-primary) !important;
}

.nav li.toggle:hover {
    background-color: var(--bs-gray-950) !important;
}

.rounded-bottom-right {
    border-bottom-right-radius: 0.375rem !important;
}

.shadow {
    box-shadow: 0 .25rem 0.5rem rgba(0,0,0,.1) !important;
}

.card-header-collapsed {
    border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) !important;
    border-bottom: 0;
}

.tooltip-text-left > .tooltip-inner {
    text-align: start !important;
}

.card_table:nth-child(even) {
    background-color: var(--bs-gray-100) !important;
}

.card_table {
    background-color: var(--bs-white) !important;
}

.card_table:hover {
    background-color: var(--bs-table-row-hover) !important;
}
