html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 3.5rem;
}

.field-validation-error {
    color: #dc3545;
}

.input-validation-error {
    border-color: #dc3545;
    /*background-color: #ffe6e6;*/
}

.table-last-child-sticky th:last-child,
.table-last-child-sticky td:last-child {
    position: sticky;
    right: 0;
}

.table-first-child-sticky th:first-child,
.table-first-child-sticky td:first-child {
    position: sticky;
    left: 0;
}

.table.no-border > thead > tr > th,
.table.no-border > tbody > tr > td
{
    border: none;
    border-style: none;
}


.blink {
    animation: blink 1s steps(5, start) infinite;
}

@keyframes blink {
    to {
        visibility: hidden;
    }
}

.blink-smooth {
    animation: blink-smooth 2s ease-in infinite;
}

@keyframes blink-smooth {
    from, to {
        opacity: 1
    }

    50% {
        opacity: 0
    }
}

[data-bs-theme="light"] {
    /*--bs-body-bg: #f2f2f2;*/
}

.dropdown-menu {
    overflow: hidden;
    overflow-y: auto;
    max-height: calc(100vh - 250px);
}

@media (max-width: 767.98px) {
    footer.footer {
        padding-top: 0.1rem !important;
        padding-bottom: 0.1rem !important;
    }
}

.navbar-elift .navbar-toggler--compact {
    --bs-navbar-toggler-font-size: 1rem;
    padding: 0.2rem 0.45rem;
}

.navbar-elift .navbar-toggler--compact:focus {
    box-shadow: none;
}

.navbar-elift .navbar-toggler--compact:focus-visible {
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.35);
}

.navbar-elift .min-w-0 {
    min-width: 0;
}

.navbar-nav-scroll {
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

.navbar-nav-scroll::-webkit-scrollbar {
    height: 4px;
}

.navbar-nav-scroll::-webkit-scrollbar-thumb {
    background-color: rgba(var(--bs-secondary-rgb, 108, 117, 125), 0.45);
    border-radius: 4px;
}

.nav-util-btn {
    min-height: calc(1.5em + .5rem + 2px);
    min-width: 2.125rem;
    padding-inline: .45rem !important;
}

.navbar-elift a.main-nav-link {
    color: var(--bs-emphasis-color);
    background-color: transparent;
}

.navbar-elift a.main-nav-link:hover,
.navbar-elift a.main-nav-link:focus-visible {
    color: var(--bs-emphasis-color);
    background-color: rgba(var(--bs-primary-rgb), 0.16);
}

.navbar-elift .nav-link.main-nav-link.active {
    color: #fff !important;
    background-color: var(--bs-primary) !important;
}

.navbar-elift .btn.nav-util-btn {
    color: var(--bs-emphasis-color);
    border-color: rgba(var(--bs-emphasis-color-rgb, 33, 37, 41), 0.45);
    background-color: rgba(var(--bs-emphasis-color-rgb, 33, 37, 41), 0.06);
}

.navbar-elift .btn.nav-util-btn:hover,
.navbar-elift .btn.nav-util-btn:focus-visible {
    color: var(--bs-emphasis-color);
    border-color: rgba(var(--bs-emphasis-color-rgb, 33, 37, 41), 0.65);
    background-color: rgba(var(--bs-emphasis-color-rgb, 33, 37, 41), 0.14);
}

[data-bs-theme="dark"] .navbar-elift a.main-nav-link:hover,
[data-bs-theme="dark"] .navbar-elift a.main-nav-link:focus-visible {
    background-color: rgba(var(--bs-primary-rgb), 0.3);
}

[data-bs-theme="dark"] .navbar-elift .btn.nav-util-btn {
    border-color: rgba(255, 255, 255, 0.45);
    background-color: rgba(255, 255, 255, 0.08);
}

[data-bs-theme="dark"] .navbar-elift .btn.nav-util-btn:hover,
[data-bs-theme="dark"] .navbar-elift .btn.nav-util-btn:focus-visible {
    border-color: rgba(255, 255, 255, 0.72);
    background-color: rgba(255, 255, 255, 0.16);
}

#bd-theme .theme-icon-active {
    width: 0.875rem;
    height: 0.875rem;
    flex-shrink: 0;
    display: block;
}

.nav-util-logout {
    max-width: min(14rem, 40vw);
    min-width: 0;
    justify-content: flex-start;
}

.nav-util-logout .text-truncate {
    min-width: 0;
}

.btn.dropdown-toggle-icon::after {
    display: none;
}

.dropdown-menu.navbar-dropdown-panel {
    margin-top: 0.375rem !important;
    padding: 0.35rem !important;
    border-radius: 0.625rem !important;
    border: 1px solid var(--bs-border-color);
    box-shadow: 0 0.375rem 1.25rem rgba(0, 0, 0, 0.12);
}

[data-bs-theme="dark"] .dropdown-menu.navbar-dropdown-panel {
    box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.45);
}

.navbar-dropdown-panel .dropdown-item {
    border-radius: 0.45rem;
    margin-inline: 0.15rem;
}

.navbar-elift-collapse .collapse .culture-dd-menu.dropdown-menu.navbar-dropdown-panel,
.culture-dd-menu.dropdown-menu.navbar-dropdown-panel {
    max-height: min(65vh, 18rem);
    overflow-x: hidden;
    overflow-y: auto;
}

a.main-nav-link.active,
.dropdown-item.main-nav-link.active {
    font-weight: 600;
}

.navbar-elift-utils {
    row-gap: 0.375rem !important;
    column-gap: 0.375rem !important;
    margin-top: 0.125rem;
    border-top: 1px solid var(--bs-border-color);
}

@media (min-width: 768px) {
    .navbar-elift-utils {
        border-top: none;
        margin-top: 0;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}

@media (max-width: 767.98px) {
    .navbar-elift-collapse.show {
        background-color: rgba(var(--bs-body-bg-rgb, 248, 249, 250), 0.98);
        border-radius: 0 0 0.625rem 0.625rem;
        padding-bottom: 0.5rem;
        box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.06);
        max-height: min(82vh, 100%);
        overflow-x: visible;
        overflow-y: auto;
    }

    [data-bs-theme="dark"] .navbar-elift-collapse.show {
        box-shadow: 0 0.65rem 1.25rem rgba(0, 0, 0, 0.35);
    }

    ul.navbar-hamburger-links {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.5rem;
    }

    ul.navbar-hamburger-links > li.navbar-hamburger-item:last-child:nth-child(odd):not(:only-child) {
        grid-column: 1 / -1;
    }

    .navbar-hamburger-item {
        min-width: 0;
        margin: 0;
    }

    .navbar-hamburger-btn {
        --bs-btn-padding-y: 0.5rem;
        line-height: 1.25;
        white-space: normal;
        text-decoration: none;
    }

    .navbar-hamburger-btn.main-nav-link.active {
        color: #fff !important;
        border-color: var(--bs-primary) !important;
        background-color: var(--bs-primary) !important;
    }
}

.login-page {
    min-height: 0;
}

.login-page .login-wrap {
    width: 100%;
    max-width: 34rem;
    margin-inline: auto;
}

.lift-toolbar {
    row-gap: 0.625rem !important;
}

.lift-toolbar-right {
    margin-left: auto;
}

.lift-filter-toggle .form-switch .form-check-input {
    margin-top: 0.08rem;
}

.lift-filter-toggle .form-check.form-switch {
    display: inline-flex;
    align-items: center;
    min-height: 0;
    padding-left: 2.2em;
}

.lift-quick-filters {
    row-gap: 0.35rem;
    column-gap: 0.35rem;
}

.lift-quick-filters .lift-quick-label {
    margin-right: 0.15rem !important;
}

@media (max-width: 991.98px) {
    .lift-toolbar-right {
        width: 100%;
        justify-content: flex-start !important;
        margin-left: 0;
    }
}

.login-page .login-card {
    border-radius: 1rem;
    background: linear-gradient(180deg, rgba(var(--bs-primary-rgb), 0.03) 0%, rgba(var(--bs-body-bg-rgb), 1) 22%);
}

[data-bs-theme="dark"] .login-page .login-card {
    background: linear-gradient(180deg, rgba(var(--bs-primary-rgb), 0.15) 0%, rgba(var(--bs-body-bg-rgb), 1) 28%);
}

.login-page .login-form .form-control {
    border-radius: 0.65rem;
}

.login-page .login-form .form-control:focus {
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.2);
}

.login-page .login-form .btn {
    border-radius: 0.65rem;
    font-weight: 600;
}

.access-denied-page .login-card {
    background: linear-gradient(180deg, rgba(var(--bs-danger-rgb), 0.08) 0%, rgba(var(--bs-body-bg-rgb), 1) 30%);
    box-shadow: 0 0.5rem 1.25rem rgba(var(--bs-danger-rgb), 0.14) !important;
}

[data-bs-theme="dark"] .access-denied-page .login-card {
    background: linear-gradient(180deg, rgba(var(--bs-danger-rgb), 0.22) 0%, rgba(var(--bs-body-bg-rgb), 1) 32%);
    box-shadow: 0 0.65rem 1.5rem rgba(var(--bs-danger-rgb), 0.25) !important;
}

@media (max-width: 575.98px) {
    .login-page {
        min-height: auto;
    }

    .login-page .login-wrap {
        max-width: 100%;
    }

    .login-page .login-card {
        border-radius: 0.8rem;
    }
}