:root {
    --bb-primary-color: #005187;
    --bb-primary-color-rgb: 64, 158, 255;
    --bb-border-focus-color: #86b7fe;
    --bb-border-hover-color: #86b7fe;
    --bb-height: 35px;
    --bb-dropdown-max-height: 274px;
    --bb-shadow: 0 0 8px 0 rgba(232, 237, 250, 0.6), 0 2px 4px 0 rgba(232, 237, 250, 0.5019607843);
    --bb-hover-shadow: 0 1px 7px 0 rgba(0, 0, 0, 0.0509803922), 0 2px 8px 0 rgba(0, 0, 0, 0.0705882353), 0 3px 9px 0 rgba(0, 0, 0, 0.0588235294), 0 5px 10px 0 rgba(0, 0, 0, 0.031372549);
    --bb-font-size: 0.8rem
}

body, .form-control, .dropdown-menu, .form-select, .input-group-text {
    font-size: var(--bb-font-size)
}

a, [for] {
    cursor: pointer
}

    a, a:hover, a:focus {
        text-decoration: none
    }

[disabled], :disabled, .disabled, .disabled > * {
    cursor: not-allowed !important
}

    .disabled .range-separator, :disabled {
        background-color: var(--bs-secondary-bg);
        opacity: 1
    }

:focus-visible, :focus {
    outline: none
}

.input-group > .datetime-picker:not(:last-child) .form-control, .input-group > .select:not(:last-child) .form-control, .input-group > .switch:not(:last-child), .input-group > .multi-select:not(:last-child) .dropdown-toggle, .input-group > [data-bs-toggle]:not(:last-child) > .form-control, .input-group > .auto-complete:not(:last-child) .form-control {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

.input-group > .datetime-picker:not(:first-child) .form-control, .input-group > .select:not(:first-child) .form-control, .input-group > .switch:not(:first-child), .input-group > .multi-select:not(:first-child) .dropdown-toggle, .input-group > [data-bs-toggle]:not(:first-child) > .form-control, .input-group > .auto-complete:not(:first-child) .form-control {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0
}

.btn-group > .datetime-picker:not(:last-child) .form-control, .btn-group > .select:not(:last-child) .form-control, .btn-group > .switch:not(:last-child), .btn-group > .multi-select:not(:last-child) .dropdown-toggle, .btn-group > [data-bs-toggle]:not(:last-child) > .form-control, .btn-group > .auto-complete:not(:last-child) .form-control {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

.btn-group > .datetime-picker:not(:first-child) .form-control, .btn-group > .select:not(:first-child) .form-control, .btn-group > .switch:not(:first-child), .btn-group > .multi-select:not(:first-child) .dropdown-toggle, .btn-group > [data-bs-toggle]:not(:first-child) > .form-control, .btn-group > .auto-complete:not(:first-child) .form-control {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0
}

.popover.popover-table-column-toolbox {
    --bs-popover-min-width: 120px;
    --bs-popover-header-font-size: 12px;
    --bs-popover-header-padding-x: 0.5rem;
    --bs-popover-header-padding-y: 0.5rem;
    --bs-popover-body-padding-x: 0.5rem;
    --bs-popover-body-padding-y: 0.5rem
}

.modal-backdrop.show + .modal-backdrop.show {
    display: none
}

::view-transition-old(*) {
    mix-blend-mode: normal;
    animation: none;
    z-index: 1
}

::view-transition-new(*) {
    mix-blend-mode: normal;
    animation: clip .3s ease-in-out;
    z-index: 9999
}

@keyframes clip {
    from {
        clip-path: circle(0% at var(--bb-theme-x) var(--bb-theme-y))
    }

    to {
        clip-path: circle(100% at var(--bb-theme-x) var(--bb-theme-y))
    }
}

[data-bs-theme=dark]::view-transition-old(*) {
    animation: clip2 .3s ease-in-out;
    z-index: 9999
}

[data-bs-theme=dark]::view-transition-new(*) {
    animation: none;
    z-index: 1
}

@keyframes clip2 {
    from {
        clip-path: circle(100% at var(--bb-theme-x) var(--bb-theme-y))
    }

    to {
        clip-path: circle(0% at var(--bb-theme-x) var(--bb-theme-y))
    }
}

[data-bb-theme=memorial]:root {
    --bs-body-bg: #000;
    --bs-body-color: #b5b5c3;
    filter: grayscale(100%)
}

body:before {
    content: "extraExtraSmall";
    display: none
}

@media(min-width: 375px) {
    body:before {
        content: "extraSmall"
    }
}

@media(min-width: 576px) {
    body:before {
        content: "small"
    }
}

@media(min-width: 768px) {
    body:before {
        content: "medium"
    }
}

@media(min-width: 992px) {
    body:before {
        content: "large"
    }
}

@media(min-width: 1200px) {
    body:before {
        content: "extraLarge"
    }
}

@media(min-width: 1400px) {
    body:before {
        content: "extraExtraLarge"
    }
}

.bb-affix {
    background-color: var(--bs-body-bg)
}

.alert {
    --bb-alert-icon-margin-right: 0.5rem;
    --bb-alert-bar-width: 4px
}

    .alert.alert-bar.alert-info {
        border-left: var(--bb-alert-bar-width) solid var(--bs-info)
    }

    .alert.alert-bar.alert-success {
        border-left: var(--bb-alert-bar-width) solid var(--bs-success)
    }

    .alert.alert-bar.alert-primary {
        border-left: var(--bb-alert-bar-width) solid var(--bs-primary)
    }

    .alert.alert-bar.alert-warning {
        border-left: var(--bb-alert-bar-width) solid var(--bs-warning)
    }

    .alert.alert-bar.alert-danger {
        border-left: var(--bb-alert-bar-width) solid var(--bs-danger)
    }

    .alert .alert-icon {
        margin-inline-end: var(--bb-alert-icon-margin-right)
    }

.anchor-link {
    --bb-anchor-link-margin-left: 0.5rem;
    --bb-anchor-link-opacity: 0;
    --bb-anchor-link-opacity-hover: 1;
    --bb-anchor-link-opacity-transition: opacity 0.3s linear;
    cursor: pointer;
    display: inline-block
}

    .anchor-link:hover .anchor-link-icon {
        opacity: var(--bb-anchor-link-opacity-hover)
    }

.anchor-link-icon {
    opacity: var(--bb-anchor-link-opacity);
    margin-inline-start: var(--bb-anchor-link-margin-left);
    color: var(--bs-primary);
    transition: var(--bb-anchor-link-opacity-transition)
}

.auto-complete {
    --bb-ac-padding-right: 30px;
    --bb-select-append-width: 30px;
    --bb-select-append-color: #c0c4cc;
    position: relative
}

    .auto-complete .form-control {
        background-image: none;
        padding-right: var(--bb-ac-padding-right)
    }

    .auto-complete .dropdown-menu {
        width: 100%
    }

    .auto-complete .ac-loading {
        display: none
    }

    .auto-complete.is-loading .ac-loading {
        display: flex
    }

    .auto-complete.is-loading .form-select-append:not(.ac-loading) {
        display: none
    }

.auto-fill {
    --bb-dropdown-max-height: 330px
}

.avatar {
    --bb-avatar-width: 50px;
    --bb-avatar-height: 50px;
    --bb-avatar-border-radius: 0.25rem;
    --bb-avatar-bg: #c0c4cc;
    --bb-avatar-color: #fff;
    --bb-avatar-icon-font-size: 1.4rem;
    border-radius: var(--bb-avatar-border-radius);
    width: var(--bb-avatar-width);
    height: var(--bb-avatar-height);
    background-color: var(--bb-avatar-bg);
    color: var(--bb-avatar-color);
    overflow: hidden;
    display: inline-flex;
    justify-content: center;
    align-items: center
}

    .avatar img {
        width: 100%;
        object-fit: cover
    }

    .avatar > i {
        font-size: var(--bb-avatar-icon-font-size)
    }

.avatar-circle {
    --bb-avatar-border-radius: 50%
}

.avatar-xs {
    --bb-avatar-width: 30px;
    --bb-avatar-height: 30px
}

.avatar-sm {
    --bb-avatar-width: 40px;
    --bb-avatar-height: 40px
}

.avatar-lg {
    --bb-avatar-width: 60px;
    --bb-avatar-height: 60px
}

.avatar-xl {
    --bb-avatar-width: 70px;
    --bb-avatar-height: 70px
}

.avatar-xxl {
    --bb-avatar-width: 80px;
    --bb-avatar-height: 80px
}

.badge.bg-secondary, .badge.bg-light {
    --bs-badge-color: #212529
}

.shield-badge {
    --bb-shield-badge-icon-color: #fff;
    --bb-shield-badge-label-color: #fff;
    --bb-shield-badge-label-bg: #5e5e5e;
    --bb-shield-badge-text-color: #fff;
    --bb-shield-badge-text-bg: #005187;
    --bb-shield-badge-radius: 3px;
    --bb-shield-badge-font-size: 12px;
    --bb-shield-badge-padding: 1px 6px;
    display: inline-flex;
    flex-wrap: nowrap;
    font-size: var(--bb-shield-badge-font-size)
}

    .shield-badge .shield-badge-label {
        background-color: var(--bb-shield-badge-label-bg);
        color: var(--bb-shield-badge-label-color);
        padding: var(--bb-shield-badge-padding);
        border-top-left-radius: var(--bb-shield-badge-radius);
        border-bottom-left-radius: var(--bb-shield-badge-radius)
    }

        .shield-badge .shield-badge-label .shield-badge-icon {
            color: var(--bb-shield-badge-icon-color);
            margin-inline-end: 4px;
            font-size: 95%
        }

    .shield-badge .shield-badge-text {
        background-color: var(--bb-shield-badge-text-bg);
        color: var(--bb-shield-badge-text-color);
        padding: var(--bb-shield-badge-padding);
        border-top-right-radius: var(--bb-shield-badge-radius);
        border-bottom-right-radius: var(--bb-shield-badge-radius)
    }

.btn {
    --bs-btn-font-size: 0.725rem;
    --bs-btn-focus-box-shadow: none;
    --bb-btn-label-margin-left: 4px;
    --bs-btn-active-border-color: transparent;
    --bs-btn-hover-border-color: transparent;
    --bs-btn-border-radius: var(--bs-border-radius);
    --bs-btn-xs-padding-x: 0.3125rem;
    --bs-btn-xs-padding-y: 0.0625rem;
    --bs-btn-xs-font-size: 0.75rem;
    --bs-btn-xl-padding-x: 1.25rem;
    --bs-btn-xl-padding-y: 0.8rem;
    --bs-btn-xl-font-size: 1.25rem;
    --bs-btn-xxl-padding-x: 1.25rem;
    --bs-btn-xxl-padding-y: 0.8rem;
    --bs-btn-xxl-font-size: 1.5rem
}

.btn-xs, .btn-group-xs > .btn {
    --bs-btn-padding-x: var(--bs-btn-xs-padding-x);
    --bs-btn-padding-y: var(--bs-btn-xs-padding-y);
    --bs-btn-font-size: var(--bs-btn-xs-font-size)
}

.btn-xl, .btn-group-xl > .btn {
    --bs-btn-padding-x: var(--bs-btn-xl-padding-x);
    --bs-btn-padding-y: var(--bs-btn-xl-padding-y);
    --bs-btn-font-size: var(--bs-btn-xl-font-size)
}

.btn-xxl, .btn-group-xxl > .btn {
    --bs-btn-padding-x: var(--bs-btn-xxl-padding-x);
    --bs-btn-padding-y: var(--bs-btn-xxl-padding-y);
    --bs-btn-font-size: var(--bs-btn-xxl-font-size)
}

.btn .badge, .btn i + span, .badge i + span, .link-button i + span {
    margin-inline-start: var(--bb-btn-label-margin-left)
}

.btn-circle {
    --bs-btn-border-radius: 50%;
    --bb-button-circle-width: 45px;
    --bb-button-circle-height: 45px;
    width: var(--bb-button-circle-width);
    height: var(--bb-button-circle-height)
}

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

.btn-block {
    width: 100%
}

.btn-vertical {
    --bb-btn-label-margin-left: 0;
    display: flex;
    flex-direction: column;
    align-items: center
}

.btn-close:focus {
    box-shadow: none
}

.link-button {
    --bs-btn-bg: transparent;
    border: none;
    padding: 0;
    background-color: var(--bs-btn-bg)
}

    .link-button:disabled img {
        opacity: var(--bs-btn-disabled-opacity)
    }

.btn-group > .upload button {
    display: block
}

.dial-button {
    --bb-dial-list-zindex: 5;
    --bb-dial-item-padding: 0;
    --bb-dial-item-hover-bg: #e9ecef;
    --bb-dial-item-margin: 6px;
    --bb-dial-item-width: 40px;
    --bb-dial-item-height: 40px;
    --bb-dial-item-radius: 50%;
    --bb-dial-item-shadow: 0 1px 6px var(--bs-border-color);
    --bb-dial-list-radial-offset: 8px;
    position: relative;
    display: inline-flex
}

    .dial-button .dial-list {
        overflow: hidden;
        position: absolute;
        z-index: var(--bb-dial-list-zindex);
        pointer-events: none;
        display: flex
    }

        .dial-button .dial-list .dial-list-content {
            display: flex;
            flex-wrap: nowrap
        }

        .dial-button .dial-list .dial-item {
            pointer-events: auto;
            margin: var(--bb-dial-item-margin);
            padding: var(--bb-dial-item-padding);
            cursor: pointer;
            white-space: nowrap;
            overflow: hidden;
            background-color: var(--bs-body-bg);
            border: var(--bs-border-width) solid var(--bs-border-color);
            width: var(--bb-dial-item-width);
            height: var(--bb-dial-item-height);
            border-radius: var(--bb-dial-item-radius);
            display: inline-flex;
            justify-content: center;
            align-items: center;
            box-shadow: var(--bb-dial-item-shadow);
            transition: background-color .3s linear,border-color .3s linear
        }

            .dial-button .dial-list .dial-item:hover {
                background-color: var(--bb-dial-item-hover-bg)
            }

        .dial-button .dial-list:not(.show) {
            visibility: hidden
        }

    .dial-button[data-bb-placement*=top] .dial-list {
        top: var(--bb-dial-list-vertical-offset);
        left: var(--bb-dial-list-horizontal-offset)
    }

    .dial-button[data-bb-placement*=bottom] .dial-list {
        bottom: var(--bb-dial-list-vertical-offset);
        left: var(--bb-dial-list-horizontal-offset)
    }

    .dial-button[data-bb-placement=middle-end] .dial-list {
        top: var(--bb-dial-list-vertical-offset);
        right: var(--bb-dial-list-horizontal-offset)
    }

    .dial-button[data-bb-placement=middle-center] .dial-list {
        top: var(--bb-dial-list-vertical-offset);
        left: var(--bb-dial-list-horizontal-offset)
    }

    .dial-button[data-bb-placement=middle-start] .dial-list {
        top: var(--bb-dial-list-vertical-offset);
        left: var(--bb-dial-list-horizontal-offset)
    }

    .dial-button[data-bb-placement*=top] .dial-list-content {
        flex-direction: column;
        height: var(--bs-dial-list-height)
    }

    .dial-button[data-bb-placement*=bottom] .dial-list-content {
        flex-direction: column;
        height: var(--bs-dial-list-height);
        flex-direction: column-reverse
    }

    .dial-button[data-bb-placement=middle-end] .dial-list-content {
        flex-direction: row-reverse
    }

    .dial-button.is-radial .dial-list {
        width: calc(var(--bb-dial-radial-radius) + 1.5*var(--bb-dial-item-width));
        height: calc(var(--bb-dial-radial-radius) + 1.5*var(--bb-dial-item-height));
        --bb-dial-item-margin: 2px
    }

        .dial-button.is-radial .dial-list .dial-list-content {
            position: relative;
            height: inherit;
            width: inherit;
            border-radius: 100%
        }

            .dial-button.is-radial .dial-list .dial-list-content .dial-item {
                position: absolute;
                transform: rotate(var(--bb-dial-item-angle)) translate(var(--bb-dial-radial-radius)) rotate(calc(-1 * var(--bb-dial-item-angle)))
            }

    .dial-button.is-radial[data-bb-placement=top-start] .dial-list {
        border-bottom-right-radius: 100%
    }

    .dial-button.is-radial[data-bb-placement=top-center] .dial-list {
        border-bottom-left-radius: 100%;
        border-bottom-right-radius: 100%;
        width: calc(2*(var(--bb-dial-radial-radius) + 1.5*var(--bb-dial-item-width)));
        left: var(--bb-dial-list-horizontal-offset)
    }

    .dial-button.is-radial[data-bb-placement=top-center] .dial-item {
        left: calc(0px - 2*var(--bb-dial-item-margin) - var(--bb-dial-list-horizontal-offset))
    }

    .dial-button.is-radial[data-bb-placement=top-end] .dial-list {
        border-bottom-left-radius: 100%;
        right: 0
    }

    .dial-button.is-radial[data-bb-placement=top-end] .dial-item {
        right: 0
    }

    .dial-button.is-radial[data-bb-placement=middle-start] .dial-list {
        border-top-right-radius: 100%;
        border-bottom-right-radius: 100%;
        height: calc(2*(var(--bb-dial-radial-radius) + 1.5*var(--bb-dial-item-height)));
        top: var(--bb-dial-list-vertical-offset)
    }

    .dial-button.is-radial[data-bb-placement=middle-start] .dial-item {
        top: calc(0px - 2*var(--bb-dial-item-margin) - var(--bb-dial-list-vertical-offset))
    }

    .dial-button.is-radial[data-bb-placement=middle-center] .dial-list {
        border-radius: 50%;
        width: calc(2*(var(--bb-dial-radial-radius) + 1.5*var(--bb-dial-item-width)));
        height: calc(2*(var(--bb-dial-radial-radius) + 1.5*var(--bb-dial-item-height)));
        top: var(--bb-dial-list-vertical-offset);
        left: var(--bb-dial-list-horizontal-offset)
    }

    .dial-button.is-radial[data-bb-placement=middle-center] .dial-item {
        top: calc(0px - 2*var(--bb-dial-item-margin) - var(--bb-dial-list-vertical-offset));
        left: calc(0px - 2*var(--bb-dial-item-margin) - var(--bb-dial-list-horizontal-offset))
    }

    .dial-button.is-radial[data-bb-placement=middle-end] .dial-list {
        border-top-left-radius: 100%;
        border-bottom-left-radius: 100%;
        height: calc(2*(var(--bb-dial-radial-radius) + 1.5*var(--bb-dial-item-height)));
        top: var(--bb-dial-list-vertical-offset);
        right: 0
    }

    .dial-button.is-radial[data-bb-placement=middle-end] .dial-item {
        top: calc(0px - 2*var(--bb-dial-item-margin) - var(--bb-dial-list-vertical-offset))
    }

    .dial-button.is-radial[data-bb-placement=bottom-start] .dial-list {
        border-top-right-radius: 100%;
        bottom: 0;
        left: 0
    }

    .dial-button.is-radial[data-bb-placement=bottom-start] .dial-item {
        bottom: 0;
        left: 0
    }

    .dial-button.is-radial[data-bb-placement=bottom-center] .dial-list {
        border-top-left-radius: 100%;
        border-top-right-radius: 100%;
        width: calc(2*(var(--bb-dial-radial-radius) + 1.5*var(--bb-dial-item-width)));
        bottom: 0;
        left: var(--bb-dial-list-horizontal-offset)
    }

    .dial-button.is-radial[data-bb-placement=bottom-center] .dial-item {
        bottom: 0;
        left: calc(0px - 2*var(--bb-dial-item-margin) - var(--bb-dial-list-horizontal-offset))
    }

    .dial-button.is-radial[data-bb-placement=bottom-end] .dial-list {
        border-top-left-radius: 100%;
        bottom: 0;
        right: 0
    }

    .dial-button.is-radial[data-bb-placement=bottom-end] .dial-item {
        bottom: 0;
        right: 0
    }

.bb-animation-fadein {
    animation: .2s cubic-bezier(0.42, 0, 1, 1) 0s 1 normal none running FadeIn
}

.bb-animation-fadeout {
    animation: .2s cubic-bezier(0, 0, 0.58, 1) 0s 1 normal none running FadeOut
}

[data-bs-theme=dark] .dial-button {
    --bb-dial-item-hover-bg: #313131
}

@keyframes FadeIn {
    0% {
        filter: alpha(opacity=0);
        opacity: 0
    }

    100% {
        filter: alpha(opacity=100);
        opacity: 1
    }
}

@keyframes FadeOut {
    from {
        filter: alpha(opacity=100);
        opacity: 1
    }

    to {
        filter: alpha(opacity=0);
        opacity: 0
    }
}

.popover {
    --bs-popover-min-width: 240px;
    --bb-popover-buttons-justify-content: flex-end;
    --bb-popover-buttons-margin: 1rem 0 0 0;
    --bb-popover-buttons-padding: 0.25rem 1rem;
    --bb-popover-buttons-button-margin-left: 0.5rem;
    --bb-popover-body-span-margin-left: 0.25rem;
    min-width: var(--bs-popover-min-width)
}

.popover-confirm-body i + span {
    margin-left: var(--bb-popover-body-span-margin-left)
}

.popover-confirm-buttons {
    display: flex;
    justify-content: var(--bb-popover-buttons-justify-content);
    margin: var(--bb-popover-buttons-margin)
}

    .popover-confirm-buttons .btn {
        padding: var(--bb-popover-buttons-padding)
    }

        .popover-confirm-buttons .btn:last-child {
            margin-left: var(--bb-popover-buttons-button-margin-left)
        }

[data-bb-toggle=confirm] {
    display: none
}

.btn-pulse {
    --bs-border-width: 3px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center
}

    .btn-pulse .pulse-ring {
        display: block;
        border-radius: 50%;
        animation: animation-pulse 3.5s ease-out;
        animation-iteration-count: infinite;
        opacity: 0;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0
    }

@keyframes animation-pulse {
    0% {
        transform: scale(0.1, 0.1);
        opacity: 0
    }

    60% {
        transform: scale(0.1, 0.1);
        opacity: 0
    }

    65% {
        opacity: 1
    }

    100% {
        transform: scale(1.2, 1.2);
        opacity: 0
    }
}

.slide-button {
    --bb-slide-list-bg: #fff;
    --bb-slide-list-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    --bb-slide-list-border: var(--bs-border-width) solid var(--bs-border-color-translucent);
    --bb-slide-list-width: 260px;
    --bb-slide-list-height: 306px;
    --bb-slide-item-header-bg: var(--bs-primary);
    --bb-slide-item-header-color: #fff;
    --bb-slide-item-header-padding: 0.75rem 1rem;
    --bb-slide-item-header-border-radius: 5px 5px 0 0;
    --bb-slide-item-body-padding: 0.25rem 0;
    --bb-slide-item-padding: 0.25rem 1rem;
    --bb-slide-item-active-bg: #005187;
    --bb-slide-item-active-color: #fff;
    --bb-slide-item-hover-bg: var(--bs-tertiary-bg);
    --bb-slide-item-hover-color: var(--bs-body-color);
    position: relative;
    display: inline-flex
}

    .slide-button .slide-list {
        background: var(--bb-slide-list-bg);
        border-radius: var(--bs-border-radius);
        box-shadow: var(--bb-slide-list-shadow);
        overflow: hidden;
        white-space: nowrap;
        position: absolute;
        z-index: 5;
        display: flex;
        flex-direction: column
    }

        .slide-button .slide-list:not(.is-horizontal) {
            height: var(--bb-slide-list-height-collapsed);
            width: var(--bb-slide-list-width)
        }

            .slide-button .slide-list:not(.is-horizontal).show {
                height: var(--bb-slide-list-height)
            }

        .slide-button .slide-list.is-horizontal {
            height: var(--bb-slide-list-height);
            width: var(--bb-slide-list-width-collapsed)
        }

            .slide-button .slide-list.is-horizontal.show {
                width: var(--bb-slide-list-width)
            }

        .slide-button .slide-list .slide-header {
            padding: var(--bb-slide-item-header-padding);
            background-color: var(--bb-slide-item-header-bg);
            color: var(--bb-slide-item-header-color);
            border-radius: var(--bb-slide-item-header-border-radius);
            display: flex
        }

            .slide-button .slide-list .slide-header + .slide-body {
                border-radius: 0 0 var(--bs-border-radius) var(--bs-border-radius)
            }

        .slide-button .slide-list .slide-body {
            padding: var(--bb-slide-item-body-padding);
            border-radius: var(--bs-border-radius);
            border: var(--bb-slide-list-border)
        }

        .slide-button .slide-list .btn-close {
            transition: opacity .3s linear
        }

            .slide-button .slide-list .btn-close:hover {
                opacity: 1
            }

        .slide-button .slide-list .slide-item {
            padding: var(--bb-slide-item-padding);
            cursor: pointer;
            white-space: nowrap;
            transition: background-color .3s linear
        }

            .slide-button .slide-list .slide-item.active {
                background-color: var(--bb-slide-item-active-bg);
                color: var(--bb-slide-item-active-color)
            }

            .slide-button .slide-list .slide-item:hover {
                background-color: var(--bb-slide-item-hover-bg);
                color: var(--bb-slide-item-hover-color)
            }

.input-group > :not(:first-child) > .btn-slide > .btn {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0
}

.input-group > :not(:last-child) > .btn-slide > .btn {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

.input-group > :not(:first-child).dropdown > .btn {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0
}

.input-group > :not(:last-child).dropdown > .btn {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

.calendar {
    --bb-calendar-padding: 12px 20px;
    --bb-calendar-header-border-bottom: var(--bs-border-width) solid var(--bs-border-color);
    --bb-calendar-title-color: var(--bs-body-color);
    --bb-calendar-title-font-size: 1rem;
    --bb-calendar-toolbar-border: 1px solid var(--bs-border-color);
    --bb-calendar-toolbar-font-size: 0.75rem;
    --bb-calendar-toolbar-padding: 7px 15px;
    --bb-calendar-toolbar-hover-bg: rgba(var(--bs-body-color-rgb), 0.08);
    --bb-calendar-toolbar-hover-color: #005187;
    --bb-calendar-toolbar-hover-border-color: var(--bs-border-color);
    --bb-calendar-toolbar-focus-bg: rgba(var(--bs-body-color-rgb), 0.1);
    --bb-calendar-toolbar-focus-color: #005187;
    --bb-calendar-toolbar-focus-border-color: var(--bs-border-color);
    --bb-calendar-toolbar-active-color: #005187;
    --bb-calendar-toolbar-active-border-color: var(--bs-border-color);
    --bb-calendar-cell-padding: 8px;
    --bb-calendar-cell-height: 85px;
    --bb-calendar-cell-hover-bg: rgba(var(--bs-body-color-rgb), 0.08);
    --bb-calendar-header-padding: 12px 0;
    --bb-calendar-today-color: #005187;
    --bb-calendar-selected-color: #005187;
    --bb-calendar-selected-bg: rgba(var(--bs-body-color-rgb), 0.12);
    --bb-calendar-week-header-border-bottom: 2px solid var(--bs-border-color);
    --bb-calendar-week-header-min-width: 52px;
    --bb-calendar-week-header-padding: 4px;
    --bb-calendar-week-today-color: #005187;
    --bb-calendar-week-today-border-color: #005187;
    --bb-calendar-week-cell-padding: 1rem 0
}

    .calendar .calendar-header {
        display: flex;
        justify-content: space-between;
        padding: var(--bb-calendar-padding);
        border-bottom: var(--bb-calendar-header-border-bottom)
    }

    .calendar .calendar-title {
        color: var(--bb-calendar-title-color);
        align-self: center;
        font-size: var(--bb-calendar-title-font-size)
    }

    .calendar .calendar-button-group .btn {
        line-height: 1;
        white-space: nowrap;
        cursor: pointer;
        border: var(--bb-calendar-toolbar-border);
        outline: none;
        margin: 0;
        transition: .3s;
        padding: var(--bb-calendar-toolbar-padding);
        font-size: var(--bb-calendar-toolbar-font-size)
    }

        .calendar .calendar-button-group .btn:focus {
            color: var(--bb-calendar-toolbar-focus-color);
            border-color: var(--bb-calendar-toolbar-focus-border-color);
            background-color: var(--bb-calendar-toolbar-focus-bg)
        }

        .calendar .calendar-button-group .btn:hover {
            color: var(--bb-calendar-toolbar-hover-color);
            border-color: var(--bb-calendar-toolbar-hover-border-color);
            background-color: var(--bb-calendar-toolbar-hover-bg)
        }

        .calendar .calendar-button-group .btn:not(:focus):not(:hover):active {
            color: var(--bb-calendar-toolbar-active-color);
            border-color: var(--bb-calendar-toolbar-active-border-color);
            outline: none
        }

    .calendar .calendar-table {
        table-layout: fixed;
        width: 100%
    }

        .calendar .calendar-table .calendar-day {
            padding: var(--bb-calendar-cell-padding);
            height: var(--bb-calendar-cell-height)
        }

            .calendar .calendar-table .calendar-day:hover {
                cursor: pointer;
                background-color: var(--bb-calendar-cell-hover-bg)
            }

        .calendar .calendar-table thead th {
            padding: var(--bb-calendar-header-padding);
            font-weight: 400;
            text-align: center
        }

        .calendar .calendar-table tr td {
            border-bottom: var(--bs-border-width) solid var(--bs-border-color);
            border-right: var(--bs-border-width) solid var(--bs-border-color);
            vertical-align: top;
            transition: background-color .2s ease;
            cursor: pointer
        }

            .calendar .calendar-table tr td:first-child {
                border-left: var(--bs-border-width) solid var(--bs-border-color)
            }

            .calendar .calendar-table tr td.is-today {
                color: var(--bb-calendar-today-color)
            }

            .calendar .calendar-table tr td.is-selected {
                background-color: var(--bb-calendar-selected-bg);
                color: var(--bb-calendar-selected-color)
            }

        .calendar .calendar-table tr:first-child td {
            border-top: var(--bs-border-width) solid var(--bs-border-color)
        }

        .calendar .calendar-table tr:not(.is-range) td.next, .calendar .calendar-table tr:not(.is-range) td.prev {
            color: rgba(var(--bs-body-color-rgb), 0.5)
        }

    .calendar .table-week thead tr:last-child {
        border-bottom: var(--bb-calendar-week-header-border-bottom)
    }

    .calendar .table-week tbody tr {
        text-align: center
    }

    .calendar .table-week tbody td {
        padding: var(--bb-calendar-week-cell-padding);
        border-right: 0;
        border-left: 0;
        position: relative
    }

    .calendar .table-week .week-header {
        display: inline-block;
        border-radius: 50%;
        border: 1px solid rgba(0,0,0,0);
        padding: var(--bb-calendar-week-header-padding);
        min-width: var(--bb-calendar-week-header-min-width)
    }

        .calendar .table-week .week-header.is-today {
            border: 1px solid var(--bb-calendar-week-today-border-color);
            color: var(--bb-calendar-week-today-color)
        }

.bb-camera {
    --bb-camera-border: 1px solid var(--bs-border-color)
}

    .bb-camera .bb-camera-header {
        border: var(--bb-camera-border);
        border-radius: var(--bs-border-radius)
    }

    .bb-camera canvas {
        display: none
    }

.captcha {
    --bb-captcha-refresh-padding-left: 0.5rem;
    --bb-captcha-radius: 2px;
    --bb-captcha-footer-bg: rgba(var(--bs-body-color-rgb), 0.03);
    --bb-captcha-footer-color: var(--bs-body-color);
    --bb-captcha-footer-margin-top: 0.5rem;
    --bb-captcha-footer-height: 40px;
    --bb-captcha-bar-border: var(--bs-border-width) solid var(--bs-border-color);
    --bb-captcha-bar-bg: var(--bs-body-bg);
    --bb-captcha-bar-color: var(--bs-body-color);
    --bb-captcha-bar-shadow: 0 0 3px rgba(var(--bs-body-color-rgb), 0.3);
    --bb-captcha-bar-invalid-border: var(--bs-border-width) solid var(--bs-danger);
    --bb-captcha-bar-invalid-bg: #982323;
    --bb-captcha-bar-invalid-mask-bg: #fce1e1;
    --bb-captcha-bar-valid-border: var(--bs-border-width) solid var(--bs-success);
    --bb-captcha-bar-valid-bg: #1C8051;
    --bb-captcha-bar-valid-mask-bg: #D2F4EF;
    border-radius: var(--bs-border-radius)
}

    .captcha .captcha-refresh {
        float: right;
        cursor: pointer;
        padding-left: var(--bb-captcha-refresh-padding-left)
    }

    .captcha .captcha-body {
        position: relative
    }

        .captcha .captcha-body .captcha-load {
            display: flex;
            align-items: center;
            justify-content: center
        }

        .captcha .captcha-body .captcha-body-bg, .captcha .captcha-body .captcha-body-bar {
            position: absolute;
            border-radius: var(--bb-captcha-radius);
            top: 0;
            left: 0
        }

    .captcha .captcha-footer {
        text-align: center;
        background: var(--bb-captcha-footer-bg);
        color: var(--bb-captcha-footer-color);
        border-radius: var(--bb-captcha-radius);
        margin-block-start: var(--bb-captcha-footer-margin-top);
        height: var(--bb-captcha-footer-height);
        position: relative
    }

        .captcha .captcha-footer .captcha-bar-mask {
            line-height: var(--bb-captcha-footer-height);
            height: var(--bb-captcha-footer-height)
        }

        .captcha .captcha-footer.is-move .captcha-bar-text {
            display: none
        }

        .captcha .captcha-footer.is-move .captcha-bar-mask {
            border: var(--bb-captcha-bar-border);
            background-color: var(--bb-captcha-bar-bg)
        }

        .captcha .captcha-footer.is-invalid .captcha-bar {
            border: var(--bb-captcha-bar-invalid-border);
            background-color: var(--bb-captcha-bar-invalid-bg)
        }

        .captcha .captcha-footer.is-invalid .captcha-bar-mask {
            border: var(--bb-captcha-bar-invalid-border);
            background-color: var(--bb-captcha-bar-invalid-mask-bg);
            border-width: 1px 0 1px 1px
        }

        .captcha .captcha-footer.is-valid .captcha-bar {
            border: var(--bb-captcha-bar-valid-border);
            background-color: var(--bb-captcha-bar-valid-bg)
        }

        .captcha .captcha-footer.is-valid .captcha-bar-mask {
            border: var(--bb-captcha-bar-valid-border);
            border-width: 1px 0 1px 1px;
            background-color: var(--bb-captcha-bar-valid-mask-bg)
        }

        .captcha .captcha-footer .captcha-bar {
            position: absolute;
            top: 0;
            left: 0;
            width: var(--bb-captcha-footer-height);
            height: var(--bb-captcha-footer-height);
            background: var(--bb-captcha-bar-bg);
            color: var(---bb-captcha-bar-color);
            box-shadow: var(--bb-captcha-bar-shadow);
            cursor: pointer;
            border-radius: var(--bb-captcha-radius);
            display: flex;
            align-items: center;
            justify-content: center
        }

        .captcha .captcha-footer .captcha-bar-mask {
            position: absolute;
            border-radius: var(--bb-captcha-radius)
        }

        .captcha .captcha-footer .captcha-bar-text {
            line-height: var(--bb-captcha-footer-height)
        }

.card {
    --bb-card-shadow: var(--bb-shadow);
    --bb-card-hover-shadow: var(--bb-hover-shadow);
    --bb-card-title-margin-left: 0.5rem;
    --bb-card-header-tag-height: 21px;
    --bs-card-title-spacer-y: 0
}

.card-header {
    border-bottom-width: 0;
    display: flex;
    align-items: center
}

    .card-header .card-collapse-arrow {
        transition: transform .3s linear
    }

    .card-header .card-collapse-bar {
        cursor: pointer;
        flex: 1
    }

        .card-header .card-collapse-bar .card-title {
            margin-inline-start: var(--bb-card-title-margin-left)
        }

    .card-header .card-title {
        flex: 1
    }

    .card-header .tag {
        line-height: var(--bb-card-header-tag-height)
    }

    .card-header + .card-body {
        border-top: var(--bs-card-border-width) solid var(--bs-card-border-color)
    }

.card-shadow {
    box-shadow: var(--bb-card-shadow);
    transition: box-shadow .3s linear
}

    .card-shadow:hover {
        box-shadow: var(--bb-card-hover-shadow)
    }

[aria-expanded=true] > .card-collapse-arrow {
    transform: rotate(90deg)
}

.is-collapsible > .card-body {
    padding: 0
}

    .is-collapsible > .card-body > .card-body-wrapper {
        padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x)
    }

.carousel {
    --bb-carousel-slide-margin: 0 0.5rem;
    --bb-carousel-slide-padding: 0;
    --bb-carousel-slide-width: 36px;
    --bb-carousel-slide-height: 36px;
    --bb-carousel-slide-border-radisu: 50%;
    --bb-carousel-slide-border: solid 1px #e9ecef;
    --bb-carousel-slide-bg: rgba(31, 45, 61, 0.5);
    --bb-carousel-slide-color: #fff;
    overflow: hidden
}

    .carousel [data-bs-slide] {
        outline: none;
        padding: var(--bb-carousel-slide-padding);
        margin: var(--bb-carousel-slide-margin);
        height: var(--bb-carousel-slide-height);
        width: var(--bb-carousel-slide-width);
        cursor: pointer;
        transition: .3s;
        border-radius: var(--bb-carousel-slide-border-radisu);
        border: var(--bb-carousel-slide-border);
        background-color: var(--bb-carousel-slide-bg);
        color: var(--bb-carousel-slide-color);
        top: 50%;
        transform: translateY(-50%);
        text-align: center
    }

    .carousel:not(.hover) .carousel-control-prev {
        opacity: 0;
        left: -10px
    }

    .carousel:not(.hover) .carousel-control-next {
        opacity: 0;
        right: -10px
    }

    .carousel:not(.hover) .carousel-indicators {
        opacity: 0;
        bottom: -10px
    }

    .carousel .carousel-indicators {
        opacity: 1;
        transition: all .2s linear
    }

    .carousel .carousel-inner, .carousel .carousel-item, .carousel .carousel-item img {
        height: 100%
    }

        .carousel .carousel-item img {
            display: block;
            width: 100%
        }

.form-check {
    --bb-checkbox-label-padding-y: 6px;
    --bb-checkbox-height: 1rem;
    --bb-checkbox-sm-height: 1.25rem;
    --bb-checkbox-md-height: 1.5rem;
    --bb-checkbox-lg-height: 1.75rem;
    --bb-checkbox-xl-height: 2rem;
    --bb-checkbox-xxl-height: var(--bb-height);
    --bb-checkbox-input-focus-border-color: #b5b5c3;
    --bb-checkbox-item-disabled-opacity: 0.5;
    --bb-checkbox-item-padding-md: 4px 0 3px 0;
    --bb-checkbox-item-padding-lg: 2px 0 1px 0;
    --bb-checkbox-item-padding-xl: 2px 0 1px 0;
    padding: 0;
    margin: 0;
    min-height: 1rem
}

    .form-check .form-check-input {
        width: var(--bb-checkbox-height);
        height: var(--bb-checkbox-height);
        margin: 3px 0 1px 0;
        cursor: pointer;
        transition: background-color .15s ease-in-out,background-position .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out
    }

        .form-check .form-check-input + .form-check-label {
            text-overflow: ellipsis;
            white-space: nowrap;
            overflow: hidden;
            vertical-align: top;
            margin-inline-start: .5rem;
            flex: 1
        }

        .form-check .form-check-input:active {
            filter: none
        }

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

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

        .form-check .form-check-input:disabled {
            pointer-events: none;
            filter: none;
            opacity: var(--bb-checkbox-item-disabled-opacity)
        }

        .form-check .form-check-input[type=checkbox]:indeterminate {
            background-color: var(--bs-primary);
            border-color: var(--bs-primary)
        }

        .form-check .form-check-input:disabled ~ .form-check-label, .form-check .form-check-input[disabled] ~ .form-check-label {
            opacity: var(--bb-checkbox-item-disabled-opacity)
        }

    .form-check.form-check-success .form-check-input:checked, .form-check.form-check-success .form-check-input[type=checkbox]:indeterminate {
        background-color: var(--bs-success)
    }

    .form-check.form-check-danger .form-check-input:checked, .form-check.form-check-danger .form-check-input[type=checkbox]:indeterminate {
        background-color: var(--bs-danger)
    }

    .form-check.form-check-warning .form-check-input:checked, .form-check.form-check-warning .form-check-input[type=checkbox]:indeterminate {
        background-color: var(--bs-warning)
    }

    .form-check.form-check-info .form-check-input:checked, .form-check.form-check-info .form-check-input[type=checkbox]:indeterminate {
        background-color: var(--bs-info)
    }

    .form-check.form-check-primary .form-check-input:checked, .form-check.form-check-primary .form-check-input[type=checkbox]:indeterminate {
        background-color: var(--bs-primary)
    }

    .form-check.form-check-secondary .form-check-input:checked, .form-check.form-check-secondary .form-check-input[type=checkbox]:indeterminate {
        background-color: var(--bs-secondary)
    }

    .form-check.form-check-dark .form-check-input:checked, .form-check.form-check-dark .form-check-input[type=checkbox]:indeterminate {
        background-color: var(--bs-dark)
    }

    .form-check.form-check-sm .form-check-input {
        height: var(--bb-checkbox-sm-height);
        width: var(--bb-checkbox-sm-height);
        margin: 0
    }

    .form-check.form-check-md {
        padding: var(--bb-checkbox-item-padding-md)
    }

        .form-check.form-check-md .form-check-input {
            height: var(--bb-checkbox-md-height);
            width: var(--bb-checkbox-md-height)
        }

    .form-check.form-check-lg {
        padding: var(--bb-checkbox-item-padding-lg)
    }

        .form-check.form-check-lg .form-check-input {
            height: var(--bb-checkbox-lg-height);
            width: var(--bb-checkbox-lg-height)
        }

    .form-check.form-check-xl {
        padding: var(--bb-checkbox-item-padding-xl)
    }

        .form-check.form-check-xl .form-check-input {
            height: var(--bb-checkbox-xl-height);
            width: var(--bb-checkbox-xl-height);
            margin: 0
        }

    .form-check.form-check-xxl {
        padding: 0
    }

        .form-check.form-check-xxl .form-check-input {
            height: var(--bb-checkbox-xxl-height);
            width: var(--bb-checkbox-xxl-height);
            margin: 0
        }

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

        .form-check.is-label .form-check-input {
            margin: 0
        }

.form-label + .form-check {
    padding: var(--bb-checkbox-label-padding-y) 0
}

@media(prefers-reduced-motion: reduce) {
    .form-check-input {
        transition: none
    }
}

.checkbox-list {
    --bb-checkbox-item-width: 220px;
    min-height: var(--bb-height);
    height: auto;
    display: flex;
    flex-flow: row wrap;
    padding: 0 .75rem;
    overflow: hidden;
    vertical-align: top
}

    .checkbox-list.is-vertical {
        flex-direction: column
    }

    .checkbox-list.form-control.no-border:not(.is-valid):not(.is-invalid) {
        border-color: rgba(0,0,0,0)
    }

    .checkbox-list.form-control:not(.is-invalid):focus {
        box-shadow: none
    }

    .checkbox-list.is-button {
        padding: 0
    }

    .checkbox-list:not(.is-vertical) .checkbox-item {
        display: inline-flex;
        width: var(--bb-checkbox-item-width)
    }

        .checkbox-list:not(.is-vertical) .checkbox-item .form-check {
            width: var(--bb-checkbox-item-width)
        }

    .checkbox-list .form-check-sm .form-check-input {
        margin: 3px 0 2px 0
    }

    .checkbox-list .btn-group {
        border: var(--bs-border-width) solid var(--bs-border-color);
        display: inline-flex;
        flex: 0 !important;
        flex-wrap: nowrap;
        white-space: nowrap
    }

        .checkbox-list .btn-group > .btn {
            white-space: nowrap
        }

        .checkbox-list .btn-group .active {
            color: #fff
        }

        .checkbox-list .btn-group.disabled > span {
            opacity: var(--bs-btn-disabled-opacity)
        }

            .checkbox-list .btn-group.disabled > span:not(.active) {
                background-color: var(--bs-secondary-bg)
            }

.input-group-checkbox-list {
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    flex: 1
}

    .input-group-checkbox-list:hover {
        border: 1px solid var(--bb-border-hover-color)
    }

    .input-group-checkbox-list .form-control {
        border-color: rgba(0,0,0,0)
    }

        .input-group-checkbox-list .form-control:hover {
            border-color: rgba(0,0,0,0) !important
        }

.input-group > .checkbox-list {
    display: flex;
    --bb-checkbox-item-width: 110px
}

    .input-group > .checkbox-list .form-control {
        border-color: rgba(0,0,0,0);
        padding: 0
    }

        .input-group > .checkbox-list .form-control:hover {
            border-color: rgba(0,0,0,0) !important
        }

.circle {
    --bb-circle-stroke-color: #e9ecef;
    --bb-circle-stroke-width: 2;
    --bb-circle-progress-stroke-color: #1593FF;
    display: inline-block;
    position: relative
}

[data-bs-theme=dark] .circle {
    --bb-circle-stroke-color: #495057
}

.circle-inner {
    stroke: var(--bb-circle-stroke-color);
    stroke-width: var(--bb-circle-stroke-width);
    stroke-linejoin: round;
    stroke-linecap: round;
    fill: none
}

.circle-progress {
    stroke: var(--bb-circle-progress-stroke-color);
    stroke-linejoin: round;
    stroke-linecap: round;
    fill: none;
    transition: stroke-dashoffset .3s linear
}

.circle-primary {
    --bb-circle-progress-stroke-color: var(--bs-primary)
}

.circle-danger {
    --bb-circle-progress-stroke-color: var(--bs-danger)
}

.circle-success {
    --bb-circle-progress-stroke-color: var(--bs-success)
}

.circle-warning {
    --bb-circle-progress-stroke-color: var(--bs-warning)
}

.circle-info {
    --bb-circle-progress-stroke-color: var(--bs-info)
}

.circle-secondary {
    --bb-circle-progress-stroke-color: var(--bs-secondary)
}

.circle-dark {
    --bb-circle-progress-stroke-color: var(--bs-dark)
}

.circle-body {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0
}

.bb-clock-picker {
    --bb-time-text-color: #005187;
    --bb-time-body-width: 264px;
    --bb-time-body-height: 264px;
    --bb-time-clock-number-width: 22px;
    --bb-time-clock-number-height: 22px;
    --bb-time-clock-hour-margin-top: 6px;
    --bb-time-clock-minute-margin-top: 9px;
    --bb-time-clock-second-margin-top: 12px;
    --bb-time-clock-point-bg-color: var(--bs-primary);
    --bb-time-clock-point-bar-bg-color: var(--bs-primary);
    --bb-time-footer-btn-border: 1px solid #dcdfe6;
    --bb-time-footer-btn-padding: 3px 12px;
    --bb-time-footer-btn-font-size: .75rem;
    --bb-time-footer-btn-color: #606266;
    --bb-time-footer-btn-hover-color: #fff;
    --bb-time-footer-btn-hover-border-color: #005187;
    --bb-time-footer-btn-hover-bg-color: #005187;
    --bb-time-footer-btn-active-color: #005187;
    --bb-time-footer-btn-active-border-color: #005187
}

    .bb-clock-picker.dragging {
        user-select: none
    }

    .bb-clock-picker[data-bb-mode=Hour] .bb-time-text.hour {
        color: var(--bb-time-text-color)
    }

    .bb-clock-picker[data-bb-mode=Minute] .bb-time-text.minute {
        color: var(--bb-time-text-color)
    }

    .bb-clock-picker[data-bb-mode=Second] .bb-time-text.second {
        color: var(--bb-time-text-color)
    }

    .bb-clock-picker .bb-time-header {
        margin: 12px;
        font-size: 1rem;
        font-weight: 500;
        text-align: center;
        user-select: none;
        display: flex;
        justify-content: center
    }

        .bb-clock-picker .bb-time-header .bb-time-text {
            cursor: pointer
        }

            .bb-clock-picker .bb-time-header .bb-time-text:hover {
                color: var(--bb-time-text-color)
            }

        .bb-clock-picker .bb-time-header .bb-time-period {
            font-size: 50%;
            width: auto;
            display: inline-block;
            cursor: pointer
        }

        .bb-clock-picker .bb-time-header .bb-time-colon {
            padding: 0 .25rem
        }

    .bb-clock-picker .bb-time-body {
        margin: 0 auto;
        border: 1px solid var(--bs-border-color);
        border-radius: 50%;
        position: relative;
        width: var(--bb-time-body-width);
        height: var(--bb-time-body-height);
        user-select: none
    }

        .bb-clock-picker .bb-time-body .bb-clock-panel {
            --bb-clock-radius: calc(var(--bb-time-body-height) / 2 - var(--bb-time-clock-hour-margin-top));
            --bb-time-clock-number-margin-top: var(--bb-time-clock-hour-margin-top);
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            display: flex;
            justify-content: center;
            align-items: start;
            transition: transform .5s cubic-bezier(0.47, 0.02, 0.74, 1.81),opacity .4s
        }

            .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div {
                --bb-time-clock-number-margin-top: 0;
                --bb-clock-radius: calc(var(--bb-time-body-height) / 2);
                width: 1px;
                height: 3px;
                background-color: var(--bs-secondary);
                position: absolute;
                transform-origin: center var(--bb-clock-radius);
                pointer-events: none
            }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(1) {
                    transform: rotate(0deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(2) {
                    transform: rotate(6deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(3) {
                    transform: rotate(12deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(4) {
                    transform: rotate(18deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(5) {
                    transform: rotate(24deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(6) {
                    transform: rotate(30deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(7) {
                    transform: rotate(36deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(8) {
                    transform: rotate(42deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(9) {
                    transform: rotate(48deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(10) {
                    transform: rotate(54deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(11) {
                    transform: rotate(60deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(12) {
                    transform: rotate(66deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(13) {
                    transform: rotate(72deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(14) {
                    transform: rotate(78deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(15) {
                    transform: rotate(84deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(16) {
                    transform: rotate(90deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(17) {
                    transform: rotate(96deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(18) {
                    transform: rotate(102deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(19) {
                    transform: rotate(108deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(20) {
                    transform: rotate(114deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(21) {
                    transform: rotate(120deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(22) {
                    transform: rotate(126deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(23) {
                    transform: rotate(132deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(24) {
                    transform: rotate(138deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(25) {
                    transform: rotate(144deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(26) {
                    transform: rotate(150deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(27) {
                    transform: rotate(156deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(28) {
                    transform: rotate(162deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(29) {
                    transform: rotate(168deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(30) {
                    transform: rotate(174deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(31) {
                    transform: rotate(180deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(32) {
                    transform: rotate(186deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(33) {
                    transform: rotate(192deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(34) {
                    transform: rotate(198deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(35) {
                    transform: rotate(204deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(36) {
                    transform: rotate(210deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(37) {
                    transform: rotate(216deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(38) {
                    transform: rotate(222deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(39) {
                    transform: rotate(228deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(40) {
                    transform: rotate(234deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(41) {
                    transform: rotate(240deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(42) {
                    transform: rotate(246deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(43) {
                    transform: rotate(252deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(44) {
                    transform: rotate(258deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(45) {
                    transform: rotate(264deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(46) {
                    transform: rotate(270deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(47) {
                    transform: rotate(276deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(48) {
                    transform: rotate(282deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(49) {
                    transform: rotate(288deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(50) {
                    transform: rotate(294deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(51) {
                    transform: rotate(300deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(52) {
                    transform: rotate(306deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(53) {
                    transform: rotate(312deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(54) {
                    transform: rotate(318deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(55) {
                    transform: rotate(324deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(56) {
                    transform: rotate(330deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(57) {
                    transform: rotate(336deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(58) {
                    transform: rotate(342deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(59) {
                    transform: rotate(348deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(60) {
                    transform: rotate(354deg)
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-scale > div:nth-child(5n+1) {
                    height: 6px;
                    background-color: var(--bs-body-color)
                }

            .bb-clock-picker .bb-time-body .bb-clock-panel.fade {
                pointer-events: none
            }

            .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-minute {
                --bb-clock-radius: calc(var(--bb-time-body-height) / 2 - var(--bb-time-clock-minute-margin-top));
                --bb-time-clock-number-margin-top: var(--bb-time-clock-minute-margin-top)
            }

            .bb-clock-picker .bb-time-body .bb-clock-panel.bb-clock-panel-second {
                --bb-clock-radius: calc(var(--bb-time-body-height) / 2 - var(--bb-time-clock-second-margin-top));
                --bb-time-clock-number-margin-top: var(--bb-time-clock-second-margin-top)
            }

            .bb-clock-picker .bb-time-body .bb-clock-panel > div {
                position: absolute;
                margin-block-start: var(--bb-time-clock-number-margin-top);
                text-align: center;
                width: var(--bb-time-clock-number-width);
                height: var(--bb-time-clock-number-height);
                display: flex;
                justify-content: center;
                align-items: center;
                cursor: pointer;
                transform-origin: center var(--bb-clock-radius);
                transition: transform .5s cubic-bezier(0.47, 0.02, 0.74, 1.81),opacity .4s
            }

                .bb-clock-picker .bb-time-body .bb-clock-panel > div:nth-child(1) {
                    transform: rotate(0deg)
                }

                    .bb-clock-picker .bb-time-body .bb-clock-panel > div:nth-child(1) > span {
                        transform: rotate(0deg);
                        position: absolute
                    }

                .bb-clock-picker .bb-time-body .bb-clock-panel > div:nth-child(2) {
                    transform: rotate(30deg)
                }

                    .bb-clock-picker .bb-time-body .bb-clock-panel > div:nth-child(2) > span {
                        transform: rotate(-30deg);
                        position: absolute
                    }

                .bb-clock-picker .bb-time-body .bb-clock-panel > div:nth-child(3) {
                    transform: rotate(60deg)
                }

                    .bb-clock-picker .bb-time-body .bb-clock-panel > div:nth-child(3) > span {
                        transform: rotate(-60deg);
                        position: absolute
                    }

                .bb-clock-picker .bb-time-body .bb-clock-panel > div:nth-child(4) {
                    transform: rotate(90deg)
                }

                    .bb-clock-picker .bb-time-body .bb-clock-panel > div:nth-child(4) > span {
                        transform: rotate(-90deg);
                        position: absolute
                    }

                .bb-clock-picker .bb-time-body .bb-clock-panel > div:nth-child(5) {
                    transform: rotate(120deg)
                }

                    .bb-clock-picker .bb-time-body .bb-clock-panel > div:nth-child(5) > span {
                        transform: rotate(-120deg);
                        position: absolute
                    }

                .bb-clock-picker .bb-time-body .bb-clock-panel > div:nth-child(6) {
                    transform: rotate(150deg)
                }

                    .bb-clock-picker .bb-time-body .bb-clock-panel > div:nth-child(6) > span {
                        transform: rotate(-150deg);
                        position: absolute
                    }

                .bb-clock-picker .bb-time-body .bb-clock-panel > div:nth-child(7) {
                    transform: rotate(180deg)
                }

                    .bb-clock-picker .bb-time-body .bb-clock-panel > div:nth-child(7) > span {
                        transform: rotate(-180deg);
                        position: absolute
                    }

                .bb-clock-picker .bb-time-body .bb-clock-panel > div:nth-child(8) {
                    transform: rotate(210deg)
                }

                    .bb-clock-picker .bb-time-body .bb-clock-panel > div:nth-child(8) > span {
                        transform: rotate(-210deg);
                        position: absolute
                    }

                .bb-clock-picker .bb-time-body .bb-clock-panel > div:nth-child(9) {
                    transform: rotate(240deg)
                }

                    .bb-clock-picker .bb-time-body .bb-clock-panel > div:nth-child(9) > span {
                        transform: rotate(-240deg);
                        position: absolute
                    }

                .bb-clock-picker .bb-time-body .bb-clock-panel > div:nth-child(10) {
                    transform: rotate(270deg)
                }

                    .bb-clock-picker .bb-time-body .bb-clock-panel > div:nth-child(10) > span {
                        transform: rotate(-270deg);
                        position: absolute
                    }

                .bb-clock-picker .bb-time-body .bb-clock-panel > div:nth-child(11) {
                    transform: rotate(300deg)
                }

                    .bb-clock-picker .bb-time-body .bb-clock-panel > div:nth-child(11) > span {
                        transform: rotate(-300deg);
                        position: absolute
                    }

                .bb-clock-picker .bb-time-body .bb-clock-panel > div:nth-child(12) {
                    transform: rotate(330deg)
                }

                    .bb-clock-picker .bb-time-body .bb-clock-panel > div:nth-child(12) > span {
                        transform: rotate(-330deg);
                        position: absolute
                    }

            .bb-clock-picker .bb-time-body .bb-clock-panel .bb-clock-point {
                margin-block-start: var(--bb-time-clock-number-margin-top);
                opacity: .4;
                height: calc(var(--bb-time-body-height)/2 - var(--bb-time-clock-number-margin-top));
                width: 2px;
                background-color: var(--bb-time-clock-point-bg-color);
                transform: rotate(0deg);
                transform-origin: bottom;
                position: relative
            }

                .bb-clock-picker .bb-time-body .bb-clock-panel .bb-clock-point .bb-clock-point-bar {
                    background-color: var(--bb-time-clock-point-bar-bg-color);
                    width: var(--bb-time-clock-number-width);
                    height: var(--bb-time-clock-number-height);
                    border-radius: 50%;
                    position: absolute;
                    left: calc(0px - (var(--bb-time-clock-number-width) - 2px)/2);
                    transition: opacity .4s;
                    cursor: move
                }

                .bb-clock-picker .bb-time-body .bb-clock-panel .bb-clock-point .bb-clock-point-star {
                    width: 8px;
                    height: 8px;
                    border-radius: 50%;
                    position: absolute;
                    left: -3px;
                    bottom: -4px;
                    background-color: #000
                }

    .bb-clock-picker .bb-time-footer {
        display: flex;
        justify-content: space-between;
        margin: -8px 8px 0 8px
    }

        .bb-clock-picker .bb-time-footer .btn {
            border: var(--bb-time-footer-btn-border);
            padding: var(--bb-time-footer-btn-padding);
            font-size: var(--bb-time-footer-btn-font-size);
            border-radius: var(--bs-border-radius);
            color: var(--bb-time-footer-btn-color);
            transition: border-color .3s linear,color .3s linear
        }

            .bb-clock-picker .bb-time-footer .btn:hover {
                border-color: var(--bb-time-footer-btn-active-border-color);
                color: var(--bb-time-footer-btn-active-color)
            }

            .bb-clock-picker .bb-time-footer .btn.active {
                background: var(--bb-time-footer-btn-hover-bg-color);
                border-color: var(--bb-time-footer-btn-hover-border-color);
                color: var(--bb-time-footer-btn-hover-color)
            }

.accordion {
    --bs-accordion-btn-focus-box-shadow: none;
    --bs-accordion-btn-padding-x: 1rem;
    --bs-accordion-btn-padding-y: .5rem
}

    .accordion .accordion-header {
        display: flex;
        align-items: center;
        width: 100%;
        overflow: hidden
    }

        .accordion .accordion-header:not(.collapsed) {
            background-color: var(--bs-accordion-active-bg)
        }

        .accordion .accordion-header .accordion-button {
            --bs-accordion-inner-border-radius: 0;
            flex: 1 1 auto;
            width: 1%;
            cursor: pointer
        }

            .accordion .accordion-header .accordion-button .accordion-item-icon {
                margin-inline-end: .5rem
            }

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

    .accordion .accordion-item:last-of-type .accordion-header.collapsed {
        border-bottom-left-radius: var(--bs-accordion-inner-border-radius);
        border-bottom-right-radius: var(--bs-accordion-inner-border-radius)
    }

.bb-color-picker .form-control-color {
    max-width: 3rem
}

    .bb-color-picker .form-control-color.disabled {
        background-color: var(--bs-secondary-bg)
    }

    .bb-color-picker .form-control-color .bb-color-picker-body {
        height: 100%;
        background-color: var(--bb-color-pick-val);
        border-radius: var(--bs-border-radius)
    }

.bb-color-picker input[type=text] {
    text-transform: uppercase
}

.input-group > .bb-color-picker {
    flex: 1
}

    .input-group > .bb-color-picker > .form-control-color {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0
    }

.console {
    --bs-card-color: #fff;
    --bb-console-body-bg: #174482;
    --bb-console-clear-button-margin-left: 0.5rem;
    width: 100%
}

    .console .card-header .card-title {
        flex-grow: 1
    }

        .console .card-header .card-title + [data-bs-toggle=tooltip] {
            display: inline-flex
        }

    .console .card-body {
        background-color: var(--bb-console-body-bg);
        overflow: auto
    }

    .console .card-footer {
        display: flex;
        align-items: center;
        justify-content: end
    }

        .console .card-footer .console-clear {
            margin-inline-start: var(--bb-console-clear-button-margin-left)
        }

.console-logger {
    overflow: hidden auto;
    border: solid 1px var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    padding: .5rem 1rem;
    background-color: #174482;
    color: #fff;
    margin-block-start: 1rem
}

    .console-logger .logger-item:not(:last-child) {
        margin-block-end: .5rem
    }

.bb-cm {
    --bb-cm-icon-min-width: 14px;
    --bb-cm-icon-min-height: 14px;
    z-index: 1200
}

    .bb-cm .cm-icon {
        min-width: var(--bb-cm-icon-min-width);
        min-height: var(--bb-cm-icon-min-height);
        display: inline-block
    }

    .bb-cm .divider {
        margin: .25rem 0
    }

.picker-panel {
    --bb-picker-panel-body-width: 320px;
    --bb-picker-hover-color: #005187;
    --bb-picker-panel-side-width: 0;
    --bb-picker-panel-today-color: #fff;
    --bb-picker-panel-today-bg: #005187;
    color: var(--bs-body-color);
    border: 1px solid var(--bs-border-color);
    box-shadow: 0 2px 12px 0 rgba(0,0,0,.1);
    background-color: var(--bs-body-bg);
    border-radius: var(--bs-border-radius);
    line-height: 30px;
    display: inline-block
}

    .picker-panel.is-sidebar {
        --bb-picker-panel-side-width: 110px
    }

    .picker-panel .picker-panel-sidebar {
        width: 110px;
        border-right: 1px solid #e4e4e4;
        padding: 6px 0;
        overflow: auto
    }

        .picker-panel .picker-panel-sidebar .sidebar-item {
            line-height: 28px;
            padding: 0 12px;
            cursor: pointer;
            transition: color .3s linear
        }

            .picker-panel .picker-panel-sidebar .sidebar-item:hover {
                color: #005187
            }

    .picker-panel .picker-panel-body {
        display: flex
    }

        .picker-panel .picker-panel-body .picker-panel-sidebar {
            width: var(--bb-picker-panel-side-width)
        }

        .picker-panel .picker-panel-body .picker-panel-body-main {
            width: var(--bb-picker-panel-body-width);
            overflow: hidden;
            display: flex
        }

            .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-body-main-wrapper {
                display: flex;
                transition: transform .3s ease-in-out
            }

                .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-body-main-wrapper.is-open {
                    transform: translateX(calc(0px - var(--bb-picker-panel-body-width)))
                }

            .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-header {
                margin: 12px;
                display: flex;
                align-items: center
            }

                .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-header .pick-panel-arrow-left, .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-header .pick-panel-arrow-right {
                    margin: 0 6px
                }

                .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-header .picker-panel-icon-btn {
                    color: var(--bs-body-color);
                    border: 0;
                    background: rgba(0,0,0,0);
                    cursor: pointer;
                    outline: none;
                    padding: 0 6px
                }

                    .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-header .picker-panel-icon-btn:hover {
                        color: var(--bb-picker-hover-color)
                    }

                .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-header .picker-panel-header-label {
                    font-size: 16px;
                    font-weight: 500;
                    padding: 0 4px;
                    text-align: center;
                    cursor: pointer;
                    user-select: none;
                    white-space: nowrap
                }

                    .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-header .picker-panel-header-label:hover {
                        color: var(--bb-picker-hover-color)
                    }

            .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content {
                width: 290px;
                position: relative;
                margin: 15px
            }

                .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content table {
                    table-layout: fixed;
                    width: 100%;
                    font-size: 12px;
                    user-select: none
                }

                    .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content table td {
                        text-align: center
                    }

                        .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content table td .cell {
                            display: block;
                            margin: 0 auto;
                            cursor: pointer
                        }

                            .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content table td .cell:has(.bb-picker-body-lunar-text):hover {
                                color: var(--bb-picker-panel-today-color)
                            }

                                .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content table td .cell:has(.bb-picker-body-lunar-text):hover:before {
                                    content: "";
                                    position: absolute;
                                    width: 33px;
                                    height: 33px;
                                    border-radius: var(--bs-border-radius);
                                    background-color: var(--bb-picker-panel-today-bg);
                                    top: 3px;
                                    left: -3.5px;
                                    opacity: .8
                                }

                                .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content table td .cell:has(.bb-picker-body-lunar-text):hover .bb-picker-body-lunar-text {
                                    color: var(--bb-picker-panel-today-color)
                                }

                            .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content table td .cell span.is-holiday, .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content table td .cell span.is-workday {
                                background-color: #c0c4cc;
                                color: var(--bb-picker-panel-today-color);
                                height: 14px;
                                width: 15px;
                                font-size: 9px;
                                border-radius: 3px;
                                top: -1px;
                                right: -9px;
                                line-height: 14px;
                                opacity: .8
                            }

                        .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content table td.today .cell {
                            color: var(--bb-picker-hover-color);
                            font-weight: 700
                        }

                        .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content table td.current:not(.disabled) .cell, .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content table td.start:not(.next-month):not(.prev-month):not(.disabled) .cell, .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content table td.end:not(.next-month):not(.prev-month):not(.disabled) .cell {
                            color: var(--bb-picker-panel-today-color)
                        }

                            .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content table td.current:not(.disabled) .cell:not(:has(.bb-picker-body-lunar-text)), .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content table td.start:not(.next-month):not(.prev-month):not(.disabled) .cell:not(:has(.bb-picker-body-lunar-text)), .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content table td.end:not(.next-month):not(.prev-month):not(.disabled) .cell:not(:has(.bb-picker-body-lunar-text)) {
                                background-color: var(--bb-picker-panel-today-bg)
                            }

                            .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content table td.current:not(.disabled) .cell:has(.bb-picker-body-lunar-text):before, .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content table td.start:not(.next-month):not(.prev-month):not(.disabled) .cell:has(.bb-picker-body-lunar-text):before, .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content table td.end:not(.next-month):not(.prev-month):not(.disabled) .cell:has(.bb-picker-body-lunar-text):before {
                                content: "";
                                position: absolute;
                                width: 33px;
                                height: 33px;
                                border-radius: var(--bs-border-radius);
                                background-color: #005187;
                                top: 3px;
                                left: -3.5px
                            }

                        .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content table td:not(.next-month):not(.prev-month):not(.disabled):not(.current):not(.start):not(.end):not(.range) .cell.is-solar-term:not(:hover) .bb-picker-body-lunar-text {
                            color: var(--bs-success)
                        }

                        .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content table td:not(.next-month):not(.prev-month):not(.disabled):not(.current):not(.start):not(.end):not(.range) .cell.is-festival:not(:hover) .bb-picker-body-lunar-text {
                            color: var(--bs-info)
                        }

                        .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content table td:not(.next-month):not(.prev-month):not(.disabled) .cell span.is-holiday {
                            background-color: var(--bs-danger)
                        }

                        .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content table td:not(.next-month):not(.prev-month):not(.disabled) .cell span.is-workday {
                            background-color: var(--bs-black)
                        }

                        .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content table td.range {
                            position: relative
                        }

                            .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content table td.range.start:before {
                                border-top-left-radius: 40%;
                                border-bottom-left-radius: 40%;
                                left: 6px
                            }

                            .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content table td.range.end:before {
                                border-top-right-radius: 40%;
                                border-bottom-right-radius: 40%;
                                right: 6px
                            }

                            .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content table td.range:before {
                                content: "";
                                position: absolute;
                                background-color: #f2f6fc;
                                top: 4px;
                                bottom: 4px;
                                left: 0;
                                right: 0
                            }

                        .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content table td.disabled .cell {
                            cursor: not-allowed;
                            color: #c0c4cc
                        }

                .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content .year-table, .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content .month-table {
                    margin-block-start: 29px
                }

                    .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content .year-table tr, .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content .month-table tr {
                        border-top: 1px solid var(--bs-border-color)
                    }

                    .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content .year-table td {
                        padding: 13px 0
                    }

                        .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content .year-table td .cell {
                            width: 48px;
                            height: 24px;
                            line-height: 24px;
                            border-radius: 16px
                        }

                    .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content .month-table td {
                        padding: 27px 0
                    }

                        .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content .month-table td .cell {
                            width: 60px;
                            border-radius: 18px
                        }

                .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content .date-table th {
                    padding: 5px;
                    font-weight: 400;
                    border-bottom: 1px solid var(--bs-border-color);
                    text-align: center
                }

                .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content .date-table td {
                    padding: 7px 0
                }

                    .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content .date-table td.next-month, .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content .date-table td.prev-month {
                        color: #c0c4cc
                    }

                    .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content .date-table td:not(.prev-month):not(.next-month):hover {
                        color: #005187
                    }

                    .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content .date-table td .cell {
                        width: 24px;
                        height: 24px;
                        margin: 0 auto;
                        line-height: 24px;
                        border-radius: 50%;
                        cursor: pointer;
                        position: relative;
                        display: flex;
                        flex-direction: column
                    }

                        .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content .date-table td .cell .bb-picker-body-lunar-text {
                            top: 22px;
                            white-space: nowrap;
                            line-height: 9px;
                            height: 9px;
                            font-size: 9px
                        }

                        .picker-panel .picker-panel-body .picker-panel-body-main .picker-panel-content .date-table td .cell span {
                            position: absolute;
                            width: 100%
                        }

    .picker-panel .clock-panel-body {
        width: var(--bb-picker-panel-body-width)
    }

.popover-body .picker-panel {
    box-shadow: none
}

.picker-panel-footer {
    border-top: var(--bs-border-width) solid var(--bs-border-color);
    padding: 4px;
    background-color: var(--bs-body-bg);
    position: relative;
    display: flex;
    border-bottom-left-radius: var(--bs-border-radius);
    border-bottom-right-radius: var(--bs-border-radius)
}

    .picker-panel-footer .picker-panel-link-btn {
        padding: 4px 12px;
        font-size: .75rem;
        border-radius: var(--bs-border-radius);
        border: var(--bs-border-width) solid var(--bs-border-color);
        color: var(--bs-body-color);
        transition: border-color .3s linear,color .3s linear
    }

        .picker-panel-footer .picker-panel-link-btn:hover {
            border-color: #005187;
            color: #005187
        }

        .picker-panel-footer .picker-panel-link-btn:last-child {
            margin-inline-start: .25rem
        }

    .picker-panel-footer .picker-timer {
        cursor: pointer
    }

        .picker-panel-footer .picker-timer:hover {
            color: #005187
        }

.datetime-picker {
    --bb-dt-picker-bar-color: #b5b5c3;
    --bb-dt-picker-input-padding: 6px 33px 6px 12px;
    --bb-dt-picker-input-icon-padding: 6px 33px;
    position: relative
}

    .datetime-picker .form-control {
        cursor: pointer;
        --bb-form-control-padding: var(--bb-dt-picker-input-padding)
    }

        .datetime-picker .form-control[readonly]:not([disabled]) {
            background-color: var(--bs-body-bg)
        }

        .datetime-picker .form-control.has-icon {
            --bb-form-control-padding: var(--bb-dt-picker-input-icon-padding)
        }

    .datetime-picker .picker-panel {
        display: none
    }

.datetime-picker-bar {
    position: absolute;
    top: 0;
    left: 0;
    line-height: var(--bb-height);
    cursor: pointer;
    padding: 0 .75rem;
    color: var(--bb-dt-picker-bar-color)
}

.popover .picker-panel {
    box-shadow: none
}

.datetime-range {
    --bb-dt-range-bar-color: #b5b5c3;
    --bb-dt-range-input-width: 80px;
    --bb-dt-range-input-time-width: 132px;
    background-color: var(--bs-body-bg);
    border-radius: var(--bs-border-radius);
    border: var(--bs-border-width) solid var(--bs-border-color);
    display: inline-block;
    outline: none;
    transition: border-color .2s cubic-bezier(0.645, 0.045, 0.355, 1);
    position: relative;
    overflow: hidden;
    white-space: nowrap
}

    .datetime-range.disabled {
        background-color: var(--bs-secondary-bg)
    }

        .datetime-range.disabled .range-separator {
            opacity: .5
        }

    .datetime-range .datetime-range-body {
        display: none
    }

    .datetime-range:hover:not(.disabled) .range-clear {
        display: inline-block
    }

    .datetime-range.has-time .datetime-range-input {
        width: var(--bb-dt-range-input-time-width)
    }

.datetime-range-control {
    display: inline-flex;
    align-items: center
}

    .datetime-range-control .datetime-range-input {
        background-color: var(--bs-body-bg);
        border: none;
        display: inline-block;
        text-align: center;
        cursor: pointer;
        width: var(--bb-dt-range-input-width);
        padding: 0
    }

        .datetime-range-control .datetime-range-input.disabled {
            background-color: var(--bs-secondary-bg)
        }

    .datetime-range-control .range-separator {
        padding: 0 5px
    }

.range-panel-body {
    display: flex
}

    .range-panel-body .picker-panel {
        border: none
    }

        .range-panel-body .picker-panel:first-child {
            border-right: var(--bs-border-width) solid var(--bs-border-color);
            border-top-right-radius: 0;
            border-bottom-right-radius: 0
        }

    .range-panel-body .picker-panel-sidebar {
        width: 110px;
        border-right: 1px solid #e4e4e4;
        padding: 6px 0;
        overflow: auto
    }

        .range-panel-body .picker-panel-sidebar .sidebar-item {
            line-height: 28px;
            padding: 0 12px;
            cursor: pointer;
            transition: color .3s linear
        }

            .range-panel-body .picker-panel-sidebar .sidebar-item:hover {
                color: #005187
            }

    .range-panel-body .date-picker-header-label {
        cursor: unset
    }

        .range-panel-body .date-picker-header-label:hover {
            color: inherit
        }

.is-lunar .picker-panel-body .picker-panel-body-main .picker-panel-content table td.range:before {
    top: 8px;
    bottom: -7px
}

.is-lunar .picker-panel-body .picker-panel-body-main .picker-panel-content table td.range.start:before {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    left: 0
}

.is-lunar .picker-panel-body .picker-panel-body-main .picker-panel-content table td.range.end:before {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    right: 0
}

.form-label + .datetime-range {
    display: block
}

.range-panel-footer {
    padding: .5rem;
    display: flex
}

.popover-datetime-range {
    max-width: unset
}

    .popover-datetime-range .popover-body {
        padding: 0
    }

.range-bar {
    cursor: pointer;
    color: var(--bb-dt-range-bar-color)
}

.range-clear {
    display: none;
    cursor: pointer;
    color: var(--bb-dt-range-bar-color)
}

.icon-list {
    overflow-y: auto;
    overflow-x: hidden;
    position: relative
}

section > h2 {
    margin: 2rem 0 1rem 0
}

.fa-target {
    display: block
}

.fil a {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: flex;
    align-items: center;
    color: var(--bs-dark);
    background-color: #f0f1f3;
    border-radius: .5rem;
    padding: .75rem;
    transition: .3s background-color ease-in-out
}

    .fil a:hover {
        background-color: var(--bs-warning);
        text-decoration: none
    }

        .fil a:hover > span {
            color: inherit
        }

    .fil a > span {
        font-family: cera-round-pro,"Helvetica Neue","Helvetica","Arial",sans-serif;
        font-size: 11px;
        margin-left: 10px;
        line-height: 1.25rem;
        white-space: nowrap;
        text-overflow: ellipsis;
        overflow: hidden;
        color: #919191;
        transition: .3s color ease-in-out
    }

    .fil a > i {
        font-size: 1.25rem;
        line-height: 1.25rem
    }

.fa-nav {
    display: none
}

    .fa-nav h2 {
        background: #ff6c60;
        color: #fff;
        margin-block-start: 0;
        padding: 10px 15px;
        font-size: 16px;
        border-radius: 4px;
        font-weight: 300
    }

    .fa-nav .nav {
        top: 44px;
        bottom: 0;
        position: absolute;
        overflow-y: auto;
        width: 100%
    }

        .fa-nav .nav a {
            color: #999797;
            border-left: 4px solid #d3d7dd;
            padding-left: 10px;
            padding-top: 3px;
            padding-bottom: 3px;
            padding-right: 3px;
            width: 100%;
            margin-block-start: 1px
        }

            .fa-nav .nav a:last-child {
                margin-block-end: 5px
            }

            .fa-nav .nav a.active {
                color: #7a7a7a;
                border-left: 4px solid #5bc0de;
                padding-left: 10px
            }

            .fa-nav .nav a:hover {
                color: #999797;
                border-left: 4px solid #d9534f;
                padding-left: 10px
            }

.divider {
    --bb-divider-margin: 1rem 0;
    --bb-divider-text-padding: 0 20px;
    background-color: var(--bs-body-bg);
    margin: var(--bb-divider-margin);
    position: relative;
    display: block;
    height: 1px;
    width: 100%
}

    .divider .divider-mask {
        background-color: var(--bs-border-color);
        height: 100%;
        width: 100%
    }

    .divider .divider-text {
        padding: var(--bb-divider-text-padding);
        color: var(--bs-body-color);
        position: absolute;
        font-weight: 500;
        background-color: inherit
    }

        .divider .divider-text.is-left {
            left: 20px;
            transform: translateY(-50%)
        }

        .divider .divider-text.is-center {
            left: 50%;
            transform: translateX(-50%) translateY(-50%)
        }

        .divider .divider-text.is-right {
            right: 20px;
            transform: translateY(-50%)
        }

    .divider.divider-vertical {
        display: inline-block;
        align-self: stretch;
        width: 1px;
        min-width: 1px;
        height: 100%;
        margin: 0 1rem;
        min-height: 21px
    }

        .divider.divider-vertical .divider-text {
            --bb-divider-text-padding: 20px 0
        }

            .divider.divider-vertical .divider-text.is-left {
                top: 20px;
                left: 0;
                transform: translateY(0);
                transform: translateX(-50%)
            }

            .divider.divider-vertical .divider-text.is-center {
                top: 50%
            }

            .divider.divider-vertical .divider-text.is-right {
                bottom: 20px;
                right: 0;
                transform: translateY(0);
                transform: translateX(50%)
            }

.bb-dd-inprogess > * {
    pointer-events: none
}

.bb-dd-dropzone {
    min-height: 50px
}

.bb-dd-spacing {
    height: 10px
}

.bb-dd-spacing-dragged-over {
    padding: 25px
}

.bb-dd-dragged-over {
    background-color: #d3d3d3;
    opacity: .6;
    animation: blinker 1s linear infinite
}

    .bb-dd-dragged-over > div {
        background-color: #d3d3d3;
        opacity: .6;
        animation: blinker 1s linear infinite
    }

.bb-dd-dragged-over-denied {
    background-color: red;
    opacity: .6;
    animation: blinker 1s linear infinite
}

.bb-dd-in-transit {
    opacity: 0
}

    .bb-dd-in-transit > div {
        opacity: 0
    }

@keyframes blinker {
    50% {
        opacity: 0
    }
}

.blink_me {
    animation: blinker 1s linear infinite
}

.bb-flex .bb-dd-spacing {
    width: 20px;
    height: auto
}

.bb-flex .bb-dd-dragged-over {
    background-color: #d3d3d3;
    opacity: .6;
    animation: blinker 1s linear infinite
}

    .bb-flex .bb-dd-dragged-over > div {
        background-color: #d3d3d3;
        opacity: .9;
        animation: blinker 1s linear infinite
    }

.bb-flex .bb-dd-in-transit {
    background-color: #ff4500
}

    .bb-flex .bb-dd-in-transit > div {
        background-color: #ff4500
    }

.bb-dd-noselect {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.drawer {
    --bb-drawer-bg: var(--bs-body-bg);
    --bb-drawer-zindex: 1050;
    --bb-drawer-body-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.2), 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12);
    --bb-drawer-body-padding: 1rem;
    --bb-drawer-bar-bg: rgba(var(--bs-body-color-rgb), 0.12);
    --bb-drawer-bar-hover-color: #005187;
    --bb-drawer-bar-drag-color: #0969da;
    --bb-drawer-position: fixed;
    position: var(--bb-drawer-position);
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    margin: 0;
    z-index: var(--bb-drawer-zindex)
}

    .drawer.drawer-table-edit .drawer-body {
        padding: 0
    }

    .drawer.drawer-table-edit .drawer-content {
        padding: var(--bb-drawer-body-padding)
    }

    .drawer.drawer-table-edit .form-footer {
        margin: 1rem -1rem -0.5rem -1rem;
        padding: .5rem 1rem 0 1rem;
        border-top: 1px solid var(--bs-border-color);
        text-align: right
    }

        .drawer.drawer-table-edit .form-footer button:not(:last-child) {
            margin-inline-end: .25rem
        }

    .drawer.no-bd {
        pointer-events: none
    }

    .drawer .drawer-body {
        position: absolute;
        box-sizing: border-box;
        background-color: var(--bb-drawer-bg);
        box-shadow: var(--bb-drawer-body-shadow);
        transition: transform .3s linear;
        z-index: 1052;
        pointer-events: auto;
        display: flex;
        padding: var(--bb-drawer-body-padding)
    }

        .drawer .drawer-body .drawer-content {
            overflow: auto;
            flex: 1
        }

        .drawer .drawer-body.left, .drawer .drawer-body.right {
            top: 0;
            bottom: 0;
            width: var(--bb-drawer-width)
        }

        .drawer .drawer-body.left {
            left: 0;
            transform: translateX(-100%)
        }

        .drawer .drawer-body.right {
            right: 0;
            transform: translateX(100%);
            flex-direction: row-reverse
        }

        .drawer .drawer-body.show {
            transform: translateX(0)
        }

        .drawer .drawer-body.top, .drawer .drawer-body.bottom {
            left: 0;
            right: 0;
            height: var(--bb-drawer-height)
        }

        .drawer .drawer-body.top {
            top: 0;
            transform: translateY(-100%);
            flex-direction: column
        }

        .drawer .drawer-body.bottom {
            bottom: 0;
            transform: translateY(100%);
            flex-direction: column-reverse
        }

            .drawer .drawer-body.top.show, .drawer .drawer-body.bottom.show {
                transform: translateY(0)
            }

        .drawer .drawer-body .drawer-bar {
            background-color: var(--bb-drawer-bar-bg);
            position: absolute;
            z-index: 1055
        }

            .drawer .drawer-body .drawer-bar .drawer-bar-body {
                position: absolute;
                inset: 0 -1px;
                cursor: col-resize
            }

            .drawer .drawer-body .drawer-bar:hover {
                background-color: var(--bb-drawer-bar-hover-color)
            }

            .drawer .drawer-body .drawer-bar.drag .drawer-bar-body, .drawer .drawer-body .drawer-bar.drag:hover .drawer-bar-body {
                background-color: var(--bb-drawer-bar-drag-color)
            }

        .drawer .drawer-body.left .drawer-bar, .drawer .drawer-body.right .drawer-bar {
            width: 2px
        }

        .drawer .drawer-body.left .drawer-bar {
            right: 0;
            top: 0;
            bottom: 0
        }

        .drawer .drawer-body.right .drawer-bar {
            left: 0;
            top: 0;
            bottom: 0
        }

        .drawer .drawer-body.top .drawer-bar, .drawer .drawer-body.bottom .drawer-bar {
            height: 2px
        }

            .drawer .drawer-body.top .drawer-bar .drawer-bar-body, .drawer .drawer-body.bottom .drawer-bar .drawer-bar-body {
                inset: -1px 0;
                cursor: row-resize
            }

        .drawer .drawer-body.top .drawer-bar {
            left: 0;
            right: 0;
            bottom: 0
        }

        .drawer .drawer-body.bottom .drawer-bar {
            left: 0;
            right: 0;
            top: 0
        }

.drawer-overflow-hidden {
    overflow: hidden
}

@media(prefers-reduced-motion: reduce) {
    .drawer .drawer-body {
        transition: none
    }
}

[data-bs-theme=dark] .dropdown-menu {
    --bs-dropdown-bg: #343a40
}

.widget {
    --bb-widget-toggle-color: var(--bs-body-color);
    --bb-widget-toggle-padding: 10px 16px;
    --bb-widget-border-color: var(--bs-border-color);
    --bb-widget-badge-font-size: 9px;
    --bb-widget-badge-top: 5px;
    --bb-widget-header-padding: 0.5rem 0.625rem;
    --bb-widget-body-max-height: 300px;
    --bb-widget-item-odd-bg: rgba(var(--bs-body-color-rgb), 0.12);
    --bb-widget-footer-padding: 0.5rem 0.625rem;
    --bb-widget-footer-bg: rgba(var(--bs-body-color-rgb), 0.22)
}

    .widget .dropdown-toggle {
        color: var(--bb-widget-toggle-color);
        padding: var(--bb-widget-toggle-padding);
        position: relative;
        display: inline-block
    }

        .widget .dropdown-toggle:after {
            content: unset
        }

        .widget .dropdown-toggle .badge {
            position: absolute;
            top: var(--bb-widget-badge-top);
            font-size: var(--bb-widget-badge-font-size)
        }

    .widget .dropdown-menu {
        overflow: visible;
        padding: 0;
        max-height: none;
        border: none
    }

        .widget .dropdown-menu .dropdown-arrow {
            border-style: solid;
            border-width: 0 9px 9px;
            position: absolute;
            left: calc(50% - 9px);
            top: -9px
        }

    .widget .dropdown-header {
        color: #fff;
        padding: var(--bb-widget-header-padding);
        border-radius: var(--bs-border-radius) var(--bs-border-radius) 0 0
    }

    .widget .dropdown-body {
        overflow: auto;
        max-height: var(--bb-widget-body-max-height);
        border-left: 1px solid var(--bb-widget-border-color);
        border-right: 1px solid var(--bb-widget-border-color)
    }

    .widget .dropdown-footer {
        padding: var(--bb-widget-footer-padding);
        background-color: var(--bb-widget-footer-bg);
        border-radius: 0 0 var(--bs-border-radius) var(--bs-border-radius)
    }

    .widget .dropdown-item:not(:last-child) {
        border-bottom: 1px solid var(--bb-widget-border-color)
    }

    .widget .dropdown-item:nth-of-type(odd) {
        background-color: var(--bb-widget-item-odd-bg)
    }

.bb-editor {
    position: relative
}

    .bb-editor .ef-loading {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: var(--bs-body-bg)
    }

    .bb-editor .bb-editor-footer {
        margin-block-start: 1rem
    }

.empty {
    --bb-empty-image-margin: 1rem 0 0.5rem 0;
    --bb-empty-template-margin: 5px 0 0 0;
    text-align: center
}

    .empty > .empty-image {
        margin: var(--bb-empty-image-margin)
    }

    .empty .empty-telemplate {
        margin: var(--bb-empty-template-margin)
    }

.error-stack {
    word-break: break-all
}

.bb-flip-clock {
    --bb-flip-clock-height: 200px;
    --bb-flip-clock-bg: radial-gradient(ellipse at center, rgb(150, 150, 150) 0%, rgb(89, 89, 89) 100%);
    --bb-flip-clock-font-size: 80px;
    --bb-flip-clock-text-shadow: 0 1px 0 rgba(0, 0, 0, 0.3);
    --bb-flip-clock-justify-content: center;
    --bb-flip-clock-list-margin-right: 20px;
    --bb-flip-clock-item-margin: 5px;
    --bb-flip-clock-item-width: 60px;
    --bb-flip-clock-item-height: 90px;
    --bb-flip-clock-item-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.7);
    --bb-flip-clock-number-color: #ccc;
    --bb-flip-clock-number-bg: #333;
    --bb-flip-clock-number-line-bg: rgba(0, 0, 0, 0.4);
    --bb-flip-clock-number-line-height: 1px;
    font: normal var(--bb-flip-clock-font-size) "Helvetica Neue",Helvetica,sans-serif;
    font-weight: bold;
    background: var(--bb-flip-clock-bg);
    border-radius: var(--bs-border-radius);
    display: flex;
    justify-content: var(--bb-flip-clock-justify-content);
    align-items: center;
    height: var(--bb-flip-clock-height);
    user-select: none;
    position: relative;
    width: 100%;
    flex-shrink: 0
}

    .bb-flip-clock .bb-flip-clock-list {
        display: flex
    }

        .bb-flip-clock .bb-flip-clock-list:not(:last-child) {
            margin-inline-end: var(--bb-flip-clock-list-margin-right)
        }

.bb-flip-clock-item {
    position: relative;
    list-style: none;
    border-radius: var(--bs-border-radius);
    box-shadow: var(--bb-flip-clock-item-box-shadow);
    margin: var(--bb-flip-clock-item-margin);
    width: var(--bb-flip-clock-item-width);
    height: var(--bb-flip-clock-item-height);
    line-height: calc(var(--bb-flip-clock-item-height) - 3px)
}

    .bb-flip-clock-item > li {
        z-index: 1;
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        perspective: 200px
    }

        .bb-flip-clock-item > li:first-child {
            z-index: 2
        }

        .bb-flip-clock-item > li > div {
            z-index: 1;
            position: absolute;
            left: 0;
            width: 100%;
            height: 50%;
            overflow: hidden
        }

            .bb-flip-clock-item > li > div.up {
                transform-origin: 50% 100%;
                top: 0
            }

                .bb-flip-clock-item > li > div.up:after {
                    content: "";
                    position: absolute;
                    top: calc(var(--bb-flip-clock-item-height)/2 - var(--bb-flip-clock-number-line-height));
                    left: 0;
                    z-index: 5;
                    width: 100%;
                    height: var(--bb-flip-clock-number-line-height);
                    background-color: var(--bb-flip-clock-number-line-bg)
                }

                .bb-flip-clock-item > li > div.up > .inn {
                    top: 0
                }

            .bb-flip-clock-item > li > div.down {
                transform-origin: 50% 0%;
                bottom: 0
            }

                .bb-flip-clock-item > li > div.down > .inn {
                    bottom: 0
                }

            .bb-flip-clock-item > li > div .shadow {
                position: absolute;
                width: 100%;
                height: 100%;
                z-index: 2
            }

            .bb-flip-clock-item > li > div .inn {
                position: absolute;
                left: 0;
                z-index: 1;
                width: 100%;
                height: 200%;
                text-align: center;
                color: var(--bb-flip-clock-number-color);
                background-color: var(--bb-flip-clock-number-bg);
                border-radius: var(--bs-border-radius)
            }

.flip .before {
    z-index: 3
}

.flip .active {
    animation: animation-bb-flip-clock-index .5s .5s linear both;
    z-index: 2
}

@keyframes animation-bb-flip-clock-index {
    0% {
        z-index: 2
    }

    5% {
        z-index: 4
    }

    100% {
        z-index: 4
    }
}

.flip .active .down {
    z-index: 2;
    animation: animation-bb-flip-clock-turn-down .5s .5s linear both
}

@keyframes animation-bb-flip-clock-turn-down {
    0% {
        transform: rotateX(90deg)
    }

    100% {
        transform: rotateX(0deg)
    }
}

.flip .before .up {
    z-index: 2;
    animation: animation-bb-flip-clock-turn-up .5s linear both
}

@keyframes animation-bb-flip-clock-turn-up {
    0% {
        transform: rotateX(0deg)
    }

    100% {
        transform: rotateX(-90deg)
    }
}

.flip .before .up .shadow {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1) 0%, rgb(0, 0, 0) 100%);
    animation: animation-bb-flip-clock-shadown-show .5s linear both
}

.flip .active .up .shadow {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1) 0%, rgb(0, 0, 0) 100%);
    animation: animation-bb-flip-clock-shadown-hide .5s .3s linear both
}

.flip .before .down .shadow {
    background: linear-gradient(to bottom, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.1) 100%);
    animation: animation-bb-flip-clock-shadown-show .5s linear both
}

.flip .active .down .shadow {
    background: linear-gradient(to bottom, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.1) 100%);
    animation: animation-bb-flip-clock-shadown-hide .5s .3s linear both
}

@keyframes animation-bb-flip-clock-shadown-show {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@keyframes animation-bb-flip-clock-shadown-hide {
    0% {
        opacity: 1
    }

    100% {
        opacity: 0
    }
}

.file-icon {
    --bb-file-icon-width: 42px;
    --bb-file-icon-height: auto;
    --bb-file-icon-padding-left: 0.5rem;
    --bb-file-icon-badge-bottom: 7px;
    --bb-file-icon-path-fill-color: #495057;
    --bb-file-icon-size: 1;
    padding-left: var(--bb-file-icon-padding-left);
    display: inline-block;
    position: relative
}

    .file-icon .icon-svg {
        width: calc(var(--bb-file-icon-width)*var(--bb-file-icon-size));
        height: calc(var(--bb-file-icon-height)*var(--bb-file-icon-size))
    }

        .file-icon .icon-svg path {
            fill: var(--bb-file-icon-path-fill-color)
        }

    .file-icon .badge {
        position: absolute;
        bottom: var(--bb-file-icon-badge-bottom);
        left: 0;
        font-size: calc(var(--bs-badge-font-size)*var(--bb-file-icon-size))
    }

    .file-icon.file-icon-xs {
        --bb-file-icon-size: 0.5
    }

    .file-icon.file-icon-sm {
        --bb-file-icon-size: 0.75
    }

    .file-icon.file-icon-md {
        --bb-file-icon-size: 1.25
    }

    .file-icon.file-icon-lg {
        --bb-file-icon-size: 1.5
    }

    .file-icon.file-icon-xl {
        --bb-file-icon-size: 1.75
    }

    .file-icon.file-icon-xxl {
        --bb-file-icon-size: 2
    }

.bb-multi-filter {
    --bb-multi-filter-height: 180px;
    --bb-multi-filter-width: 224px;
    --bb-multi-filter-search-margin-bottom: 1rem;
    --bb-multi-filter-body-item-bg: #fff;
    --bb-multi-filter-body-item-hover-bg: #fff;
    --bb-multi-filter-body-item-margin: .5rem;
    position: relative
}

    .bb-multi-filter .bb-multi-filter-search {
        margin-block-end: var(--bb-multi-filter-search-margin-bottom)
    }

    .bb-multi-filter .bb-multi-filter-list {
        border: var(--bs-border-width) solid var(--bs-border-color);
        border-radius: var(--bs-border-radius);
        padding: var(--bb-multi-filter-body-item-margin)
    }

        .bb-multi-filter .bb-multi-filter-list .bb-multi-filter-header {
            margin-block-end: var(--bb-multi-filter-body-item-margin);
            padding-bottom: var(--bb-multi-filter-body-item-margin);
            border-bottom: var(--bs-border-width) solid var(--bs-border-color)
        }

        .bb-multi-filter .bb-multi-filter-list .bb-multi-filter-body {
            height: var(--bb-multi-filter-height);
            width: var(--bb-multi-filter-width);
            margin-block-start: var(--bb-multi-filter-body-item-margin)
        }

            .bb-multi-filter .bb-multi-filter-list .bb-multi-filter-body .bb-multi-filter-body-item {
                background-color: var(--bb-multi-filter-body-item-bg)
            }

                .bb-multi-filter .bb-multi-filter-list .bb-multi-filter-body .bb-multi-filter-body-item .form-check {
                    width: 100%
                }

                    .bb-multi-filter .bb-multi-filter-list .bb-multi-filter-body .bb-multi-filter-body-item .form-check .form-check-input + .form-check-label {
                        text-overflow: unset;
                        overflow: unset
                    }

                .bb-multi-filter .bb-multi-filter-list .bb-multi-filter-body .bb-multi-filter-body-item:not(:last-child) {
                    margin-block-end: var(--bb-multi-filter-body-item-margin)
                }

                .bb-multi-filter .bb-multi-filter-list .bb-multi-filter-body .bb-multi-filter-body-item:hover {
                    background-color: var(--bb-multi-filter-body-item-hover-bg)
                }

    .bb-multi-filter .bb-multi-filter-loading {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background-color: var(--bs-body-bg);
        display: flex;
        align-items: center;
        justify-content: center
    }

.filter-item {
    --bb-filter-item-min-width: 220px;
    --bb-filter-item-btn-hover-color: #005187;
    --bb-filter-item-btn-hover-border-color: #005187;
    min-width: var(--bb-filter-item-min-width)
}

    .filter-item .card-body > *:not(:first-child) {
        margin-block-start: .5rem
    }

    .filter-item .card-footer {
        display: flex;
        white-space: nowrap
    }

        .filter-item .card-footer .btn:not(:first-child) {
            margin-left: .5rem
        }

        .filter-item .card-footer .btn {
            line-height: 12px;
            border: 1px solid var(--bs-border-color);
            transition: border-color .3s linear,color .3s linear
        }

            .filter-item .card-footer .btn:not(.disabled):not(:disabled):hover {
                border-color: var(--bb-filter-item-btn-hover-border-color);
                color: var(--bb-filter-item-btn-hover-color)
            }

.filter-icon .filter-item {
    display: none
}

.filter-row {
    --bb-filter-row-input-min-width: 50px;
    display: flex
}

    .filter-row .btn-ban {
        display: none;
        padding-left: 0
    }

    .filter-row input {
        min-width: var(--bb-filter-row-input-min-width)
    }

    .filter-row.active .btn-ban {
        display: block
    }

    .filter-row .btn-filter::after {
        content: none
    }

.footer {
    --bb-footer-bg: rgba(var(--bs-body-color-rgb), 0.12);
    --bb-footer-padding: 0.5rem 1rem;
    background: var(--bb-footer-bg);
    color: var(--bs-body-color);
    padding: var(--bb-footer-padding);
    display: flex
}

    .footer .footer-text {
        flex: 1 1 auto;
        text-align: center
    }

.bb-fs-on, .bb-fs-open .bb-fs-off {
    display: none
}

.bb-fs-open .bb-fs-on {
    display: inline-block
}

.layout-gotop {
    --bb-gotop-bg: rgba(255, 255, 255, 0.5);
    --bb-gotop-widht: 20px;
    --bb-gotop-height: 20px;
    --bb-gotop-border-radius: 50%;
    --bb-gotop-margin-right: 0.5rem;
    --bb-gotop-color: var(--bs-body-color);
    --bb-gotop-hover-bg: #fff;
    --bb-gotop-hover-color: #606266;
    background-color: var(--bb-gotop-bg);
    width: var(--bb-gotop-widht);
    height: var(--bb-gotop-height);
    border-radius: var(--bb-gotop-border-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-inline-end: var(--bb-gotop-margin-right);
    transition: background-color .3s linear;
    color: var(--bb-gotop-color)
}

    .layout-gotop:hover {
        background-color: var(--bb-gotop-hover-bg);
        color: var(--bb-gotop-hover-color)
    }

.groupbox {
    --bb-groupbox-padding: 1rem 1rem 1rem 1rem;
    --bb-groupbox-margin-top: 0.5rem;
    --bb-groupbox-legend-padding: 0 0.5rem;
    --bb-groupbox-legend-left: 1rem;
    --bb-groupbox-legend-top: -10px;
    border: 1px solid var(--bs-border-color);
    padding: var(--bb-groupbox-padding);
    border-radius: var(--bs-border-radius);
    position: relative;
    margin-block-start: var(--bb-groupbox-margin-top)
}

    .groupbox .legend {
        background-color: var(--bs-body-bg);
        padding: var(--bb-groupbox-legend-padding);
        position: absolute;
        font-weight: bold;
        left: var(--bb-groupbox-legend-left);
        top: var(--bb-groupbox-legend-top)
    }

.form-body > .groupbox:not(:last-child) {
    margin-block-end: 1rem;
    margin-block-start: 0
}

.form-body > .row + .groupbox {
    margin-block-start: 1rem
}

.handwritten .hw-body {
    border: 1px solid rgba(0,0,0,.125);
    border-radius: var(--bs-border-radius);
    min-height: 300px;
    overflow: hidden
}

.handwritten .hw-buttons {
    margin-block-start: 1rem;
    text-align: right
}

.bb-icon {
    --bb-icon-width: 12px;
    --bb-icon-color: var(--bs-body-color);
    display: inline-flex
}

    .bb-icon > svg {
        width: var(--bb-icon-width);
        height: var(--bb-icon-width)
    }

        .bb-icon > svg > * {
            stroke: var(--bb-icon-color)
        }

    .bb-icon > i {
        font-size: var(--bb-icon-width)
    }

    .bb-icon > img {
        width: var(--bb-icon-width)
    }

.bb-svg-icon {
    --bb-svg-icon-width: 12px;
    --bb-svg-icon-color: var(--bs-body-color);
    display: inline-flex
}

    .bb-svg-icon > svg {
        width: var(--bb-svg-icon-width);
        height: var(--bb-svg-icon-width)
    }

        .bb-svg-icon > svg > * {
            stroke: var(--bb-svg-icon-color)
        }

.bb-frame {
    height: 100%;
    width: 100%
}

.bb-previewer {
    --bb-viewer-button-bg: #606266;
    --bb-viewer-border-radius: 50%;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

    .bb-previewer.active .bb-viewer-full-screen {
        background-image: url("data:image/svg+xml;charset=utf-8;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTE1MiAxMDI0JyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzY0JyBoZWlnaHQ9JzY0Jz48cGF0aCBkPSdNOTk4LjQgNDE0LjIwOGMwIDI5LjE4NC0yMy41NTIgNTIuNzM2LTUyLjczNiA1Mi43MzYtMjkuMTg0IDAtNTIuNzM2LTIzLjU1Mi01Mi43MzYtNTIuNzM2VjIwMi43NTJoLTIxMS40NTZjLTI5LjE4NCAwLTUyLjczNi0yMy41NTItNTIuNzM2LTUyLjczNiAwLTI5LjE4NCAyMy41NTItNTIuNzM2IDUyLjczNi01Mi43MzZoMjExLjQ1NmM1Ny44NTYgMCAxMDUuNDcyIDQ3LjYxNiAxMDUuNDcyIDEwNS40NzJ2MjExLjQ1NnpNNDcwLjUyOCA5NDIuMDhIMjU5LjA3MmMtNTcuODU2IDAtMTA1LjQ3Mi00Ny42MTYtMTA1LjQ3Mi0xMDUuNDcydi0yMTAuOTQ0YzAtMjkuMTg0IDIzLjU1Mi01Mi43MzYgNTIuNzM2LTUyLjczNiAyOS4xODQgMCA1Mi43MzYgMjMuNTUyIDUyLjczNiA1Mi43MzZ2MjEwLjk0NGgyMTEuNDU2YzI5LjE4NCAwIDUyLjczNiAyMy41NTIgNTIuNzM2IDUyLjczNiAwIDI5LjE4NC0yMy41NTIgNTIuNzM2LTUyLjczNiA1Mi43MzZ6IG0wLTczOS4zMjhIMjU5LjA3MnYtMC41MTIgMjExLjQ1NmMwIDI5LjE4NC0yMy41NTIgNTIuNzM2LTUyLjczNiA1Mi43MzZTMTUzLjYgNDQzLjM5MiAxNTMuNiA0MTQuMjA4VjIwMi43NTJDMTUzLjYgMTQ0Ljg5NiAyMDEuMjE2IDk3LjI4IDI1OS4wNzIgOTcuMjhoMjEwLjk0NGMyOS4xODQgMCA1Mi43MzYgMjMuNTUyIDUyLjczNiA1Mi43MzYgMC41MTIgMjkuMTg0LTIzLjA0IDUyLjczNi01Mi4yMjQgNTIuNzM2eiBtMjEwLjk0NCA2MzMuODU2aDIxMC45NDR2MC41MTItMjExLjQ1NmMwLTI5LjE4NCAyMy41NTItNTIuNzM2IDUyLjczNi01Mi43MzYgMjkuMTg0IDAgNTIuNzM2IDIzLjU1MiA1Mi43MzYgNTIuNzM2djIxMS40NTZjMCA1Ny44NTYtNDcuNjE2IDEwNS40NzItMTA1LjQ3MiAxMDUuNDcyaC0yMTAuOTQ0Yy0yOS4xODQgMC01Mi43MzYtMjMuNTUyLTUyLjczNi01Mi43MzYgMC0yOS42OTYgMjMuNTUyLTUzLjI0OCA1Mi43MzYtNTMuMjQ4eicgZmlsbD0nI2ZmZmZmZic+PC9wYXRoPjwvc3ZnPg==");
        background-size: 34px
    }

    .bb-previewer.active .bb-viewer-canvas > img {
        max-width: 100%;
        max-height: 100%
    }

    .bb-previewer .bb-viewer-mask {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        opacity: .5;
        background: #000
    }

    .bb-previewer .bb-viewer-btn {
        position: absolute;
        cursor: pointer;
        border-radius: var(--bb-viewer-border-radius);
        background-color: var(--bb-viewer-button-bg);
        display: flex;
        justify-content: center;
        align-items: center;
        opacity: .8;
        transition: opacity .3s linear
    }

        .bb-previewer .bb-viewer-btn:hover {
            opacity: 1
        }

        .bb-previewer .bb-viewer-btn.bb-viewer-prev, .bb-previewer .bb-viewer-btn.bb-viewer-next, .bb-previewer .bb-viewer-btn.bb-viewer-close {
            top: 50%;
            transform: translateY(-50%);
            width: 44px;
            height: 44px;
            color: #ddd
        }

        .bb-previewer .bb-viewer-btn.bb-viewer-prev {
            left: 40px
        }

        .bb-previewer .bb-viewer-btn.bb-viewer-next {
            right: 40px
        }

        .bb-previewer .bb-viewer-btn.bb-viewer-prev, .bb-previewer .bb-viewer-btn.bb-viewer-next {
            font-size: 2em
        }

        .bb-previewer .bb-viewer-btn.bb-viewer-close {
            top: 40px;
            right: 40px;
            transition: all .3s linear
        }

            .bb-previewer .bb-viewer-btn.bb-viewer-close > span {
                width: 44px;
                height: 44px;
                background: rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ddd'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat
            }

        .bb-previewer .bb-viewer-btn.bb-viewer-actions {
            left: 50%;
            bottom: 30px;
            transform: translateX(-50%);
            width: 282px;
            height: 44px;
            padding: 0 23px;
            border-color: #fff;
            border-radius: 22px;
            cursor: default
        }

            .bb-previewer .bb-viewer-btn.bb-viewer-actions .bb-viewer-actions-inner {
                width: 100%;
                height: 100%;
                text-align: justify;
                cursor: default;
                font-size: 23px;
                color: #fff;
                display: flex;
                align-items: center;
                justify-content: space-around
            }

                .bb-previewer .bb-viewer-btn.bb-viewer-actions .bb-viewer-actions-inner > *:not(.bb-viewer-actions-divider) {
                    cursor: pointer
                }

                .bb-previewer .bb-viewer-btn.bb-viewer-actions .bb-viewer-actions-inner .bb-viewer-full-screen {
                    width: 34px;
                    height: 34px;
                    background: url("data:image/svg+xml;charset=utf-8;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTAyNCAxMDI0JyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzY0JyBoZWlnaHQ9JzY0Jz48cGF0aCBkPSdNODc1Ljc1OTM2IDk1MS4wNEgxNDguNzE5MzZBMTU4LjcyIDE1OC43MiAwIDAgMSAwLjIzOTM2IDc4NHYtNTQ0YTE1OC43MiAxNTguNzIgMCAwIDEgMTQ4LjQ4LTE2Ny4wNGg3MjcuMDRBMTU4LjcyIDE1OC43MiAwIDAgMSAxMDI0LjIzOTM2IDI0MHY1NDRhMTU4LjcyIDE1OC43MiAwIDAgMS0xNDguNDggMTY3LjA0ek0xNDguNzE5MzYgMTc0LjA4YTY0IDY0IDAgMCAwLTU4LjI0IDY0djU0NGE2NCA2NCAwIDAgMCA1OC4yNCA2NGg3MjcuMDRhNjQgNjQgMCAwIDAgNTguMjQtNjRWMjQwYTY0IDY0IDAgMCAwLTU4LjI0LTY0eicgZmlsbD0nI2ZmZmZmZic+PC9wYXRoPjxwYXRoIGQ9J00yNDUuMzU5MzYgMzExLjA0bTQ3LjM2IDBsMC42NCAwcTQ3LjM2IDAgNDcuMzYgNDcuMzZsMCAzMDcuODRxMCA0Ny4zNi00Ny4zNiA0Ny4zNmwtMC42NCAwcS00Ny4zNiAwLTQ3LjM2LTQ3LjM2bDAtMzA3Ljg0cTAtNDcuMzYgNDcuMzYtNDcuMzZaJyBmaWxsPScjZmZmZmZmJz48L3BhdGg+PHBhdGggZD0nTTY4NC4zOTkzNiAzMTEuMDRtNDcuMzYgMGwwLjY0IDBxNDcuMzYgMCA0Ny4zNiA0Ny4zNmwwIDMwNy44NHEwIDQ3LjM2LTQ3LjM2IDQ3LjM2bC0wLjY0IDBxLTQ3LjM2IDAtNDcuMzYtNDcuMzZsMC0zMDcuODRxMC00Ny4zNiA0Ny4zNi00Ny4zNlonIGZpbGw9JyNmZmZmZmYnPjwvcGF0aD48cGF0aCBkPSdNNTEyLjIzOTM2IDQyOC4xNm0tNDAuMzIgMGE0MC4zMiA0MC4zMiAwIDEgMCA4MC42NCAwIDQwLjMyIDQwLjMyIDAgMSAwLTgwLjY0IDBaJyBmaWxsPScjZmZmZmZmJz48L3BhdGg+PHBhdGggZD0nTTUxMi4yMzkzNiA1OTUuODRtLTQwLjMyIDBhNDAuMzIgNDAuMzIgMCAxIDAgODAuNjQgMCA0MC4zMiA0MC4zMiAwIDEgMC04MC42NCAwWicgZmlsbD0nI2ZmZmZmZic+PC9wYXRoPjwvc3ZnPg==") center/24px auto no-repeat
                }

    .bb-previewer .bb-viewer-canvas {
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center
    }

        .bb-previewer .bb-viewer-canvas > img {
            transition: transform .3s ease;
            margin-left: 0px;
            margin-block-start: 0px
        }

            .bb-previewer .bb-viewer-canvas > img.transition-none {
                transition: none !important
            }

.is-img-preview {
    overflow: hidden
}

.bb-img {
    position: relative
}

    .bb-img > img {
        width: 100%;
        height: 100%
    }

    .bb-img.bb-img.is-preview > img {
        cursor: pointer
    }

.bb-img-holder {
    background-color: var(--bs-body-bg);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

.bb-img-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%
}

.bb-img-error .bb-img-loading {
    font-size: 2em
}

.obj-fit-fill {
    object-fit: fill
}

.obj-fit-contain {
    object-fit: contain
}

.obj-fit-cover {
    object-fit: cover
}

.obj-fit-none {
    object-fit: none
}

.obj-fit-scale-down {
    object-fit: scale-down
}

.bb-clearable-input {
    display: inline-flex;
    align-items: center;
    flex-grow: 1;
    width: 100%;
    position: relative
}

    .bb-clearable-input > input {
        width: 100%;
        flex-grow: 1;
        padding-right: 2rem
    }

        .bb-clearable-input > input + .form-control-clear-icon {
            color: var(--bb-border-hover-color);
            cursor: pointer;
            position: absolute;
            right: 10px;
            display: none
        }

        .bb-clearable-input > input:focus + .form-control-clear-icon {
            display: block
        }

    .bb-clearable-input:hover .form-control-clear-icon {
        display: block
    }

.input-group > .datetime-picker, .input-group > .select, .input-group > .switch, .input-group > .bb-clearable-input, .input-group > .auto-complete {
    width: 1%;
    flex: 1 1 auto;
    min-width: 0
}

.input-group > [data-bs-toggle] {
    flex: 1;
    text-overflow: ellipsis;
    overflow: hidden
}

.input-group > .switch {
    --bb-switch-padding: 7px .5rem;
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius)
}

.input-group > .segmented {
    border: 1px solid var(--bs-border-color)
}

.input-group > .input-group-text {
    width: var(--bb-input-group-label-width)
}

.input-group > .radio-list-group > .btn-group {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0
}

    .input-group > .radio-list-group > .btn-group > .btn:first-child {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0
    }

.input-group > .bb-clearable-input:not(:first-child) > input {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0
}

.input-group > .bb-clearable-input:not(:last-child) > input {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

.input-group > .form-label {
    display: none
}

.input-group > .form-check {
    --bb-form-check-padding: 0.375rem 0.75rem;
    display: flex;
    align-items: center;
    padding: var(--bb-form-check-padding)
}

.input-group > .form-range {
    --bb-form-range-padding: 0.375rem 0.75rem;
    height: var(--bb-height);
    padding: var(--bb-form-range-padding)
}

.input-group > .form-check, .input-group .form-range {
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    flex-grow: 1;
    width: 1%;
    min-width: 0
}

    .input-group > .form-check:hover, .input-group .form-range:hover {
        border: 1px solid var(--bb-border-hover-color)
    }

.input-group-xs .btn, .input-group-xs .form-control, .input-group-xs .input-group-text {
    font-size: .75rem
}

.form-floating.is-group > .form-control:focus::-moz-placeholder, .form-floating.is-group > .form-control-plaintext:focus::-moz-placeholder {
    color: var(--bs-secondary-color)
}

.form-floating.is-group > .form-control:focus::placeholder, .form-floating.is-group > .form-control-plaintext:focus::placeholder {
    color: var(--bs-secondary-color)
}

.form-floating.is-group > .form-control-plaintext ~ label, .form-floating.is-group > .form-control:focus ~ label, .form-floating.is-group > .form-control:not(:placeholder-shown) ~ label, .form-floating.is-group > .form-select ~ label {
    transform: scale(0.85) translateY(-50%) translateX(0.15rem)
}

.form-floating > .form-control:disabled ~ label::after {
    background-color: var(--bs-secondary-bg);
    opacity: 1
}

.bb-opt-input {
    white-space: nowrap;
    overflow: hidden
}

    .bb-opt-input .bb-opt-item {
        --bb-opt-item-width: 66px;
        --bb-opt-item-disabled-color: #b8b8b8;
        --bb-opt-item-padding: 0 0.5em;
        --bb-opt-item-margin: 0.5rem;
        --bb-opt-font-size: 3em;
        --bb-opt-border-width: 1px;
        display: inline-block;
        border: var(--bb-opt-border-width) solid var(--bs-border-color);
        font-size: var(--bb-opt-font-size);
        padding: var(--bb-opt-item-padding);
        border-radius: var(--bs-border-radius);
        width: var(--bb-opt-item-width);
        height: var(--bb-opt-item-width)
    }

        .bb-opt-input .bb-opt-item:not(:last-child) {
            margin-right: var(--bb-opt-item-margin)
        }

        .bb-opt-input .bb-opt-item.disabled {
            background-color: var(--bs-secondary-bg);
            cursor: not-allowed
        }

        .bb-opt-input .bb-opt-item[type] {
            padding: 0;
            text-align: center
        }

        .bb-opt-input .bb-opt-item.is-valid {
            --bs-border-color: var(--bs-success)
        }

        .bb-opt-input .bb-opt-item.is-invalid {
            --bs-border-color: var(--bs-danger)
        }

    .bb-opt-input span.bb-opt-item {
        color: var(--bb-opt-item-disabled-color)
    }

.ipaddress {
    --bb-ip-cell-max-width: 30px;
    display: flex;
    flex-wrap: nowrap
}

    .ipaddress.disabled {
        background-color: var(--bs-secondary-bg);
        cursor: not-allowed
    }

        .ipaddress.disabled .ipv4-cell {
            background-color: var(--bs-secondary-bg)
        }

    .ipaddress .ipv4-cell {
        background-color: var(--bs-body-bg);
        border: none;
        max-width: var(--bb-ip-cell-max-width);
        text-align: right
    }

[data-bs-theme=dark] .layout {
    --bb-layout-header-background: var(--bs-body-bg);
    --bb-layout-header-border-color: var(--bs-border-color);
    --bb-layout-banner-border-color: var(--bs-border-color);
    --bb-layout-sidebar-banner-background: var(--bs-body-bg);
    --bb-layout-headerbar-background: #606266;
    --bb-layout-menu-item-hover-bg: #606266;
    --bb-layout-menu-user-banner-background: #2c3034;
    --bb-layout-menu-user-border-color: #2c3034;
    --bb-layout-logo-border-color: var(--bs-border-color);
    --bb-layout-logo-bg: #606266
}

.layout {
    --bb-layout-header-height: 50px;
    --bb-layout-header-background: #005187;
    --bb-layout-header-color: #fff;
    --bb-layout-header-border-color: #005187;
    --bb-layout-headerbar-color: #fff;
    --bb-layout-headerbar-background: #005187;
    --bb-layout-headerbar-border-color: var(--bs-border-color);
    --bb-layout-headerbar-padding: 4px 12px;
    --bb-layout-footer-background: var(--bs-body-bg);
    --bb-layout-footer-color: var(--bs-body-color);
    --bb-layout-footer-height: 40px;
    --bb-layout-sidebar-width: 214px;
    --bb-layout-sidebar-collapse-width: 70px;
    --bb-layout-sidebar-banner-background: #005187;
    --bb-layout-sidebar-background: var(--bs-body-bg);
    --bb-layout-sidebar-color: var(--bs-body-color);
    --bb-layout-title-color: #fff;
    --bb-layout-title-margin-left: 0.5rem;
    --bb-layout-banner-font-size: 1.5rem;
    --bb-layout-banner-logo-width: 42px;
    --bb-layout-logo-border-color: #d5d5d5;
    --bb-layout-logo-bg: #0e77e3;
    --bb-layout-banner-border-color: #005187;
    --bb-layout-menu-user-banner-background: #005187;
    --bb-layout-menu-user-border-color: #0069b9;
    --bb-layout-menu-item-hover-bg: #005187;
    display: flex;
    min-height: var(--bb-layout-height, 100%);
    width: 100%;
    flex-direction: column;
    position: relative
}

    .layout.is-page {
        --bb-layout-height: 100vh
    }

        .layout.is-page .layout-main {
            min-height: calc(var(--bb-layout-height) - var(--bb-layout-header-height) - var(--bb-layout-footer-height))
        }

            .layout.is-page .layout-main > .tabs {
                margin: -1rem;
                border: none;
                border-radius: unset;
                min-height: calc(100% + 2rem)
            }

    .layout .layout-banner {
        display: flex;
        align-items: center;
        padding: 0 .625rem;
        height: var(--bb-layout-header-height);
        font-size: var(--bb-layout-banner-font-size);
        border-bottom: 1px solid var(--bb-layout-banner-border-color);
        background-color: var(--bb-layout-sidebar-banner-background)
    }

        .layout .layout-banner .layout-title {
            display: inline-block;
            color: var(--bb-layout-title-color);
            overflow: hidden;
            white-space: nowrap;
            flex: 1 1 auto;
            opacity: 1;
            transition: opacity .3s linear
        }

        .layout .layout-banner .layout-logo {
            width: var(--bb-layout-banner-logo-width);
            border-radius: var(--bs-border-radius);
            background-color: var(--bb-layout-logo-bg);
            border: 1px solid var(--bb-layout-logo-border-color)
        }

            .layout .layout-banner .layout-logo + .layout-title {
                margin-left: var(--bb-layout-title-margin-left)
            }

    .layout .has-sidebar {
        position: relative;
        flex: 1
    }

        .layout .has-sidebar .layout-banner {
            display: none
        }

        .layout .has-sidebar .layout-menu {
            height: 100%
        }

        .layout .has-sidebar .layout-main {
            width: 1%;
            min-width: 0
        }

    .layout .layout-menu {
        overflow-x: hidden;
        padding: .5rem 0;
        height: calc(100% - var(--bb-layout-header-height))
    }

        .layout .layout-menu .menu {
            --bb-menu-item-hover-bg: var(--bb-layout-menu-item-hover-bg);
            --bb-menu-item-hover-color: var(--bb-layout-header-color)
        }

    .layout .layout-side {
        background-color: var(--bb-layout-sidebar-background);
        color: var(--bb-layout-sidebar-color);
        transition: transform .3s linear;
        transform: translateX(-100%);
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 5
    }

    .layout .layout-main {
        padding: 1rem;
        position: relative;
        flex: 1
    }

        .layout .layout-main .tabs.tabs-border-card {
            box-shadow: none
        }

    .layout .layout-header {
        background-color: var(--bb-layout-header-background);
        height: var(--bb-layout-header-height);
        color: var(--bb-layout-header-color);
        display: flex;
        align-items: center;
        padding: 0 1rem;
        position: sticky;
        z-index: 1035;
        border-bottom: 1px solid var(--bb-layout-header-border-color)
    }

        .layout .layout-header.is-fixed {
            top: 0
        }

        .layout .layout-header .widget {
            --bb-widget-toggle-color: var(--bb-layout-header-color)
        }

            .layout .layout-header .widget .progress {
                height: 7px
            }

        .layout .layout-header .logout-avatar {
            border-radius: 50%
        }

        .layout .layout-header .dropdown-logout {
            --bb-logout-text-color: var(--bb-layout-header-color);
            --bb-logout-user-bg: var(--bb-layout-menu-user-banner-background);
            --bb-logout-menu-border-color: var(--bb-layout-menu-user-border-color)
        }

            .layout .layout-header .dropdown-logout .dropdown-user img {
                border-radius: 50%
            }

        .layout .layout-header .layout-header-bar {
            padding: var(--bb-layout-headerbar-padding);
            color: var(--bb-layout-headerbar-color);
            background-color: var(--bb-layout-headerbar-background);
            border: var(--bs-border-width) solid var(--bb-layout-headerbar-border-color);
            border-radius: var(--bs-border-radius);
            cursor: pointer
        }

            .layout .layout-header .layout-header-bar .fa-bars {
                transition: transform .3s linear
            }

        .layout .layout-header > .tabs {
            height: 100%;
            display: flex;
            justify-content: flex-end;
            flex: 1;
            width: 1%;
            min-width: 0;
            margin-bottom: -2px
        }

            .layout .layout-header > .tabs.tabs-chrome .tabs-header {
                --bb-tabs-item-height: 47px;
                --bb-tabs-header-color: #fff;
                --bb-tabs-chrome-item-height: 43px;
                --bs-border-color: var(--bb-layout-headerbar-background);
                --bb-tabs-header-bg-color: var(--bb-layout-headerbar-background)
            }

                .layout .layout-header > .tabs.tabs-chrome .tabs-header .tabs-item-close:hover {
                    background-color: rgba(0,0,0,0)
                }

                .layout .layout-header > .tabs.tabs-chrome .tabs-header .tabs-item-wrap:not(.active) .tabs-item {
                    color: var(--bb-tabs-header-color)
                }

                .layout .layout-header > .tabs.tabs-chrome .tabs-header .tabs-nav-toolbar .btn {
                    --bs-btn-color: var(--bb-tabs-header-color)
                }

                .layout .layout-header > .tabs.tabs-chrome .tabs-header .nav-link-bar {
                    --bs-body-color: var(--bb-tabs-header-color)
                }

    .layout:not(.has-footer) {
        --bb-layout-footer-height: 0px
    }

    .layout.is-collapsed .fa-bars {
        transform: rotate(90deg)
    }

    .layout.is-collapsed .layout-side {
        transform: translateX(0)
    }

    .layout.is-collapsed .layout-footer {
        display: none
    }

    .layout.is-collapsed .has-sidebar .layout-main {
        overflow: hidden;
        height: calc(var(--bb-layout-height) - var(--bb-layout-header-height))
    }

    .layout .layout-footer {
        height: var(--bb-layout-footer-height);
        color: var(--bb-layout-footer-color);
        background-color: var(--bb-layout-footer-background);
        display: flex;
        align-items: center;
        padding: 0 1rem;
        border-top: 1px solid var(--bs-border-color)
    }

        .layout .layout-footer.is-fixed {
            z-index: 1035;
            position: sticky;
            bottom: 0
        }

    .layout.is-fixed-tab .layout-menu, .layout.is-fixed-tab .layout-main > .tabs {
        height: calc(var(--bb-layout-height) - var(--bb-layout-header-height) - var(--bb-layout-footer-height))
    }

        .layout.is-fixed-tab .layout-menu .tabs-body, .layout.is-fixed-tab .layout-main > .tabs .tabs-body {
            height: calc(100% - var(--bb-tabs-item-height));
            overflow: auto
        }

    .layout .layout-right {
        display: flex;
        flex-flow: column;
        flex: 1 1 auto;
        width: 1%;
        min-width: 0
    }

.has-sidebar {
    flex-direction: row;
    display: flex
}

@media(max-width: 767.99px) {
    .layout.is-collapsed .layout-right {
        overflow: hidden;
        height: var(--bb-layout-height)
    }
}

@media(min-width: 768px) {
    .layout .layout-side {
        position: relative;
        width: var(--bb-layout-sidebar-width);
        transform: translateX(0);
        flex-shrink: 0
    }

        .layout .layout-side .layout-menu {
            border-right: 1px solid var(--bs-border-color)
        }

    .layout:not(.drag) .layout-side {
        transition: width .3s linear
    }

    .layout.has-sidebar .layout-side.is-fixed-header {
        position: sticky;
        top: 0;
        height: var(--bb-layout-height)
    }

    .layout.has-sidebar .layout-side .layout-menu {
        height: calc(var(--bb-layout-height) - var(--bb-layout-header-height))
    }

    .layout.is-collapsed .layout-side:not(:hover) {
        --bb-layout-sidebar-width: var(--bb-layout-sidebar-collapse-width)
    }

        .layout.is-collapsed .layout-side:not(:hover) .menu.is-vertical {
            --bb-layout-sidebar-width: var(--bb-layout-sidebar-collapse-width)
        }

    .layout.is-collapsed .layout-side:hover .layout-title, .layout.is-collapsed .layout-side:hover .menu.is-vertical .menu-text {
        opacity: 1
    }

    .layout.is-collapsed .layout-main {
        display: block
    }

    .layout.is-collapsed .layout-footer {
        display: flex
    }

    .layout.is-collapsed .layout-title, .layout.is-collapsed .menu.is-vertical .menu-text {
        opacity: 0
    }
}

.layout-split-bar {
    width: 1px;
    position: absolute;
    top: 0;
    right: -1px;
    bottom: 0;
    background-color: var(--bs-border-color);
    display: none
}

    .layout-split-bar .layout-split-bar-body {
        --bb-split-bar-body-hover-bg: rgba(175, 184, 193, 0.2);
        --bb-split-bar-body-drag-hover-bg: rgb(9, 105, 218);
        position: absolute;
        inset: 0px -2px;
        cursor: col-resize;
        background-color: rgba(0,0,0,0);
        border-radius: 4px;
        transition: background .3s linear
    }

        .layout-split-bar .layout-split-bar-body:hover {
            background-color: var(--bb-split-bar-body-hover-bg)
        }

.drag .layout-split-bar .layout-split-bar-body:hover {
    background-color: var(--bb-split-bar-body-drag-hover-bg)
}

.is-collapsed .layout-split-bar-body {
    display: none
}

@media(min-width: 768px) {
    .layout-split-bar {
        display: block
    }
}

.light {
    --bb-light-bg: radial-gradient(circle, #fff, #aaa, #333);
    --bb-light-danger-start-color: #e17777;
    --bb-light-danger-end-color: #892726;
    --bb-light-danger-hover-color: #b33332;
    --bb-light-success-start-color: #5cb85c;
    --bb-light-success-end-color: #116811;
    --bb-light-success-hover-color: #0c980c;
    --bb-light-info-start-color: #5bc0de;
    --bb-light-info-end-color: #1d7792;
    --bb-light-info-hover-color: #085166;
    --bb-light-warning-start-color: #ffc107;
    --bb-light-warning-end-color: #cc9f18;
    --bb-light-warning-hover-color: #a28018;
    --bb-light-primary-start-color: #007bff;
    --bb-light-primary-end-color: #0f5fb5;
    --bb-light-primary-hover-color: #104f94;
    --bb-light-secondary-start-color: #6c757d;
    --bb-light-secondary-end-color: #4b5054;
    --bb-light-secondary-hover-color: #3b3d40;
    --bb-light-dark-start-color: #6061e2;
    --bb-light-dark-end-color: #3232a0;
    --bb-light-dark-hover-color: #17177b;
    --bb-light-width: 20px;
    --bb-light-height: 20px;
    --bb-light-border-radius: 50%;
    --bb-light-animation-duration: 0.6s;
    --bb-light-danger-bg: radial-gradient(circle, var(--bb-light-danger-start-color), var(--bb-light-danger-end-color), #700604);
    --bb-light-danger-hover-bg: radial-gradient(circle, var(--bb-light-danger-start-color), var(--bb-light-danger-hover-color), #bf211e);
    --bb-light-success-bg: radial-gradient(circle, var(--bb-light-success-start-color), var(--bb-light-success-end-color), #024702);
    --bb-light-success-hover-bg: radial-gradient(circle, var(--bb-light-success-start-color), var(--bb-light-success-hover-color), #087b08);
    --bb-light-info-bg: radial-gradient(circle, var(--bb-light-info-start-color), var(--bb-light-info-end-color), #085166);
    --bb-light-info-hover-bg: radial-gradient(circle, var(--bb-light-info-start-color), var(--bb-light-info-hover-color), #085166);
    --bb-light-warning-bg: radial-gradient(circle, var(--bb-light-warning-start-color), var(--bb-light-warning-end-color), #a28018);
    --bb-light-warning-hover-bg: radial-gradient(circle, var(--bb-light-warning-start-color), var(--bb-light-warning-hover-color), #a28018);
    --bb-light-primary-bg: radial-gradient(circle, var(--bb-light-primary-start-color), var(--bb-light-primary-end-color), #104f94);
    --bb-light-primary-hover-bg: radial-gradient(circle, var(--bb-light-primary-start-color), var(--bb-light-primary-hover-color), #104f94);
    --bb-light-secondary-bg: radial-gradient(circle, var(--bb-light-secondary-start-color), var(--bb-light-secondary-end-color), #3b3d40);
    --bb-light-secondary-hover-bg: radial-gradient(circle, var(--bb-light-secondary-start-color), var(--bb-light-secondary-hover-color), #3b3d40);
    --bb-light-dark-bg: radial-gradient(circle, var(--bb-light-dark-start-color), var(--bb-light-dark-end-color), #17177b);
    --bb-light-dark-hover-bg: radial-gradient(circle, var(--bb-light-dark-start-color), var(--bb-light-dark-hover-color), #17177b);
    background: var(--bb-light-bg);
    cursor: pointer;
    width: var(--bb-light-width);
    height: var(--bb-light-width);
    border-radius: var(--bb-light-border-radius);
    display: inline-block
}

    .light + span {
        display: none
    }

    .light.is-flat {
        --bb-light-danger-bg: var(--bs-danger);
        --bb-light-danger-hover-bg: var(--bs-danger);
        --bb-light-success-bg: var(--bs-success);
        --bb-light-success-hover-bg: var(--bs-success);
        --bb-light-info-bg: var(--bs-info);
        --bb-light-info-hover-bg: var(--bs-info);
        --bb-light-warning-bg: var(--bs-warning);
        --bb-light-warning-hover-bg: var(--bs-warning);
        --bb-light-primary-bg: var(--bs-primary);
        --bb-light-primary-hover-bg: var(--bs-primary);
        --bb-light-secondary-bg: var(--bs-secondary);
        --bb-light-secondary-hover-bg: var(--bs-secondary);
        --bb-light-dark-bg: var(--bs-dark);
        --bb-light-dark-hover-bg: var(--bs-dark);
        position: relative
    }

        .light.is-flat:after {
            content: "";
            position: absolute;
            top: 0;
            inset-inline-start: 0;
            width: 100%;
            height: 100%;
            border-radius: 50%;
            border: 1px solid var(--bb-light-bg)
        }

        .light.is-flat.is-flat-flash:after {
            animation: light-flat 1.2s infinite ease-in-out
        }

    .light.light-danger {
        --bb-light-bg: var(--bb-light-danger-bg)
    }

        .light.light-danger.flash {
            animation: light-danger var(--bb-light-animation-duration) linear infinite
        }

        .light.light-danger:hover {
            --bb-light-bg: var(--bb-light-danger-hover-bg)
        }

    .light.light-success {
        --bb-light-bg: var(--bb-light-success-bg)
    }

        .light.light-success.flash {
            animation: light-success var(--bb-light-animation-duration) linear infinite
        }

        .light.light-success:hover {
            --bb-light-bg: var(--bb-light-success-hover-bg)
        }

    .light.light-info {
        --bb-light-bg: var(--bb-light-info-bg)
    }

        .light.light-info.flash {
            animation: light-info var(--bb-light-animation-duration) linear infinite
        }

        .light.light-info:hover {
            --bb-light-bg: var(--bb-light-info-hover-bg)
        }

    .light.light-warning {
        --bb-light-bg: var(--bb-light-warning-bg)
    }

        .light.light-warning.flash {
            animation: light-warning var(--bb-light-animation-duration) linear infinite
        }

        .light.light-warning:hover {
            --bb-light-bg: var(--bb-light-warning-hover-bg)
        }

    .light.light-primary {
        --bb-light-bg: var(--bb-light-primary-bg)
    }

        .light.light-primary.flash {
            animation: light-primary var(--bb-light-animation-duration) linear infinite
        }

        .light.light-primary:hover {
            --bb-light-bg: var(--bb-light-primary-hover-bg)
        }

    .light.light-secondary {
        --bb-light-bg: var(--bb-light-secondary-bg)
    }

        .light.light-secondary.flash {
            animation: light-secondary var(--bb-light-animation-duration) linear infinite
        }

        .light.light-secondary:hover {
            --bb-light-bg: var(--bb-light-secondary-hover-bg)
        }

    .light.light-dark {
        --bb-light-bg: var(--bb-light-dark-bg)
    }

        .light.light-dark.flash {
            animation: light-dark var(--bb-light-animation-duration) linear infinite
        }

        .light.light-dark:hover {
            --bb-light-bg: var(--bb-light-dark-hover-bg)
        }

@keyframes light-flat {
    0% {
        transform: scale(0.8);
        opacity: .5
    }

    100% {
        transform: scale(2.4);
        opacity: 0
    }
}

@keyframes light-danger {
    0% {
        background: radial-gradient(circle, #e17777, #892726, #700604)
    }

    55% {
        background: radial-gradient(circle, #e17777, #892726, #700604)
    }

    100% {
        background: radial-gradient(circle, #fff, #aaa, #333)
    }
}

@keyframes light-success {
    0% {
        background: radial-gradient(circle, #5cb85c, #116811, #700604)
    }

    55% {
        background: radial-gradient(circle, #5cb85c, #116811, #700604)
    }

    100% {
        background: radial-gradient(circle, #fff, #aaa, #333)
    }
}

@keyframes light-info {
    0% {
        background: radial-gradient(circle, #5bc0de, #1d7792, #700604)
    }

    55% {
        background: radial-gradient(circle, #5bc0de, #1d7792, #700604)
    }

    100% {
        background: radial-gradient(circle, #fff, #aaa, #333)
    }
}

@keyframes light-warning {
    0% {
        background: radial-gradient(circle, #ffc107, #cc9f18, #700604)
    }

    55% {
        background: radial-gradient(circle, #ffc107, #cc9f18, #700604)
    }

    100% {
        background: radial-gradient(circle, #fff, #aaa, #333)
    }
}

@keyframes light-primary {
    0% {
        background: radial-gradient(circle, #007bff, #0f5fb5, #700604)
    }

    55% {
        background: radial-gradient(circle, #007bff, #0f5fb5, #700604)
    }

    100% {
        background: radial-gradient(circle, #fff, #aaa, #333)
    }
}

@keyframes light-secondary {
    0% {
        background: radial-gradient(circle, #6c757d, #4b5054, #700604)
    }

    55% {
        background: radial-gradient(circle, #6c757d, #4b5054, #700604)
    }

    100% {
        background: radial-gradient(circle, #fff, #aaa, #333)
    }
}

@keyframes light-dark {
    0% {
        background: radial-gradient(circle, #6061e2, #3232a0, #700604)
    }

    55% {
        background: radial-gradient(circle, #6061e2, #3232a0, #700604)
    }

    100% {
        background: radial-gradient(circle, #fff, #aaa, #333)
    }
}

.list-group {
    --bb-list-group-header-bg: var(--bs-body-bg);
    border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);
    overflow: auto;
    height: 100%
}

    .list-group .list-group-header {
        padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
        border-bottom: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);
        background-color: var(--bb-list-group-header-bg);
        display: flex
    }

    .list-group .list-group-body .list-group-item {
        border: none;
        cursor: pointer
    }

        .list-group .list-group-body .list-group-item:not(:first-child) {
            border-top: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)
        }

        .list-group .list-group-body .list-group-item.active {
            margin-block-start: 0
        }

.listview {
    --bb-lv-header-padding: 0.5rem 1rem;
    --bb-lv-header-bg: #dee2e6;
    --bb-lv-border-color: var(--bs-border-color);
    --bb-lv-item-trans: border 0.3s linear;
    --bb-lv-item-border-hover-color: #005187;
    --bb-lv-item-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
    --bb-lv-body-padding: 1rem 0 0 1rem;
    --bb-lv-body-item-margin: 0 1rem 1rem 0;
    --bb-lv-footer-padding: 1rem;
    border: 1px solid var(--bb-lv-border-color);
    border-radius: var(--bs-border-radius);
    width: 100%;
    height: 100%;
    display: flex;
    flex-flow: column nowrap
}

    .listview .listview-header {
        padding: var(--bb-lv-header-padding);
        border-bottom: 1px solid var(--bb-lv-border-color)
    }

    .listview.is-vertical .listview-body, .listview.is-vertical .listview-body .accordion-body {
        display: block
    }

    .listview .listview-body {
        padding: var(--bb-lv-body-padding);
        position: relative;
        overflow: auto;
        display: flex;
        flex-flow: row wrap;
        flex: 1;
        align-content: flex-start;
        height: 1%;
        min-height: 0
    }

        .listview .listview-body.is-group {
            padding: 0
        }

        .listview .listview-body .listview-item {
            margin: var(--bb-lv-body-item-margin)
        }

            .listview .listview-body .listview-item .card {
                transition: var(--bb-lv-item-trans)
            }

            .listview .listview-body .listview-item:hover .card {
                cursor: pointer;
                border: 1px solid var(--bb-lv-item-border-hover-color)
            }

            .listview .listview-body .listview-item .card {
                box-shadow: var(--bb-lv-item-shadow)
            }

        .listview .listview-body .listview-item-group {
            flex-basis: 100%;
            margin: 1rem 0;
            font-weight: bold;
            position: relative
        }

        .listview .listview-body .accordion {
            --bs-accordion-inner-border-radius: 0;
            --bs-accordion-border-width: 0;
            flex: 1;
            margin: 0
        }

        .listview .listview-body .accordion-header {
            border-top: 1px solid var(--bb-lv-border-color)
        }

            .listview .listview-body .accordion-header .accordion-button {
                padding: var(--bb-lv-header-padding)
            }

        .listview .listview-body .accordion-body {
            display: flex;
            flex-wrap: wrap;
            padding: var(--bb-lv-body-padding)
        }

        .listview .listview-body .accordion-item {
            width: 100%
        }

            .listview .listview-body .accordion-item:last-child .accordion-header {
                border-bottom: 1px solid var(--bb-lv-border-color)
            }

        .listview .listview-body > .accordion-item .accordion-header {
            padding: var(--bb-lv-header-padding);
            background-color: var(--bb-lv-header-bg)
        }

    .listview .listview-footer {
        padding: var(--bb-lv-footer-padding);
        border-top: 1px solid var(--bb-lv-border-color)
    }

.dropdown-logout {
    --bb-logout-avatar-width: 42px;
    --bb-logout-avatar-height: 42px;
    --bb-logout-menu-animation: fade-in2 0.2s cubic-bezier(0.39, 0.575, 0.565, 1) both;
    --bb-logout-menu-border-color: #3c8dbc;
    --bb-logout-text-max-width: 110px;
    --bb-logout-text-margin: 0 0.625rem;
    --bb-logout-text-color: var(--bs-body-color);
    --bb-logout-user-bg: #3c8dbc;
    --bb-logout-user-color: #fff;
    --bb-logout-user-avatar-width: 60px;
    --bb-logout-user-avatar-height: 60px;
    --bb-logout-user-avatar-margin-right: 1rem
}

    .dropdown-logout .dropdown-menu {
        padding: 0;
        overflow: hidden;
        border-color: var(--bb-logout-menu-border-color)
    }

        .dropdown-logout .dropdown-menu.show {
            animation: var(--bb-logout-menu-animation)
        }

@keyframes fade-in2 {
    0% {
        margin-block-start: -50px;
        visibility: hidden;
        opacity: 0
    }

    100% {
        visibility: visible;
        opacity: 1
    }
}

.dropdown-logout .dropdown-toggle {
    display: flex;
    align-items: center;
    flex-wrap: nowrap
}

    .dropdown-logout .dropdown-toggle:after {
        content: none
    }

.dropdown-logout .logout-avatar {
    width: var(--bb-logout-avatar-width);
    height: var(--bb-logout-avatar-height)
}

.dropdown-logout .logout-text {
    color: var(--bb-logout-text-color);
    font-weight: bold;
    max-width: var(--bb-logout-text-max-width);
    margin: var(--bb-logout-text-margin);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.dropdown-logout .dropdown-user {
    background-color: var(--bb-logout-user-bg);
    color: var(--bb-logout-user-color)
}

    .dropdown-logout .dropdown-user img {
        width: var(--bb-logout-user-avatar-width);
        height: var(--bb-logout-user-avatar-height);
        margin-inline-end: var(--bb-logout-user-avatar-margin-right)
    }

.dropdown-logout .logout-un {
    margin-block-start: .25rem
}

.dropdown-logout .dropdown-item:not(.dropdown-user):focus, .dropdown-logout .dropdown-item:not(.dropdown-user):hover {
    background-color: rgba(0,0,0,0)
}

.dropdown-logout .dropdown-item a {
    color: var(--bs-body-color);
    margin-block-end: .5rem;
    display: block;
    transition: color .3s linear
}

    .dropdown-logout .dropdown-item a:first-child {
        margin-block-start: .5rem
    }

    .dropdown-logout .dropdown-item a:hover {
        color: var(--bs-primary)
    }

    .dropdown-logout .dropdown-item a > i {
        margin-inline-end: .5rem
    }

.bb-mask {
    --bb-mask-zindex: 1050;
    --bb-mask-bg: #000;
    --bb-mask-opacity: 0.5;
    --bb-mask-position: fixed;
    position: var(--bb-mask-position);
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: var(--bb-mask-zindex);
    display: flex;
    align-items: center;
    justify-content: center
}

    .bb-mask:not(.show) {
        display: none
    }

    .bb-mask .bb-mask-backdrop {
        background-color: var(--bb-mask-bg);
        opacity: var(--bb-mask-opacity);
        height: 100%;
        width: 100%
    }

    .bb-mask .bb-mask-content {
        position: absolute;
        display: flex;
        align-items: center
    }

.menu {
    --bb-menu-nav-pading: 0 1rem;
    --bb-menu-nav-border-bottom: 1px solid var(--bs-border-color);
    --bb-menu-min-width: 160px;
    --bb-menu-active-color: #005187;
    --bb-menu-bar-bg: #005187;
    --bb-menu-item-hover-bg: #005187;
    --bb-menu-item-hover-color: var(--bs-body-color);
    --bb-menu-sub-bg: var(--bs-body-bg);
    --bs-nav-link-color: var(--bs-body-color)
}

    .menu .nav {
        padding: var(--bb-menu-nav-pading);
        border-bottom: var(--bb-menu-nav-border-bottom)
    }

    .menu > .nav > li {
        position: relative;
        border-bottom: 2px solid rgba(0,0,0,0)
    }

        .menu > .nav > li:has(.active):after {
            width: 100%;
            left: 0
        }

        .menu > .nav > li:after {
            content: "";
            position: absolute;
            background-color: var(--bb-menu-bar-bg);
            left: 50%;
            height: 2px;
            width: 0;
            transition: width .3s linear,left .3s linear
        }

    .menu .nav .nav-link, .cascade .dropdown-item {
        padding: .5rem 1rem;
        user-select: none;
        white-space: nowrap;
        position: relative
    }

        .menu .nav .nav-link.active, .menu .nav .nav-link:not(.disabled):hover {
            color: var(--bb-menu-active-color)
        }

    .menu .nav .dropdown-menu, .cascade .dropdown-menu {
        overflow: unset;
        max-height: unset;
        margin-block-start: 10px
    }

        .menu .nav .dropdown-menu .nav-link:not(.disabled):hover, .menu .nav .dropdown-menu .nav-link.active, .menu .submenu .nav-link.active, .menu .submenu .nav-link:not(.disabled):hover, .cascade .dropdown-item:not(.disabled):hover, .cascade .dropdown-item.active, .cascade .nav .nav-link:not(.disabled):hover, .cascade .nav .nav-link.active {
            background-color: var(--bb-menu-item-hover-bg);
            color: var(--bb-menu-item-hover-color)
        }

    .menu .nav .sub-menu, .cascade .has-leaf .sub-menu {
        display: none;
        background-color: var(--bb-menu-sub-bg);
        white-space: nowrap;
        border: solid 1px var(--bs-border-color);
        border-radius: var(--bs-border-radius);
        padding: .5rem 0;
        position: absolute;
        left: 100%;
        top: -9px;
        box-shadow: 0 2px 12px 0 rgba(0,0,0,.1)
    }

    .menu .nav .dropdown-menu, .menu .nav .sub-menu, .cascade .sub-menu {
        min-width: var(--bb-menu-min-width)
    }

    .menu .nav .nav-link:hover > .sub-menu, .cascade .dropdown-item:hover > .sub-menu {
        display: block
    }

    .menu .nav-item:hover > .nav-link > .sub-menu {
        left: calc(100% + 20px);
        top: -15px
    }

    .menu .has-leaf > .nav-link-right {
        transition: transform .3s linear;
        position: absolute;
        right: 10px;
        top: 10px
    }

    .menu .nav .sub-menu .has-leaf > .nav-link-right {
        right: 12px;
        top: 10px
    }

    .menu .has-leaf:hover > .nav-link-right {
        transform: rotate(-90deg)
    }

    .menu .menu-text {
        font-size: 1.1em;
        overflow: hidden;
        vertical-align: top;
        display: inline-block;
        opacity: 1;
        transition: opacity .3s linear
    }

    .menu .nav .nav-link .menu-text {
        margin-left: 4px
    }

    .menu .nav .dropdown-toggle[aria-expanded=true] + .dropdown-menu-arrow, .cascade .show .dropdown-menu-arrow {
        display: block
    }

    .menu .nav .dropdown .dropdown-menu-arrow {
        left: calc(50% - 6px)
    }

    .menu .nav-link {
        display: flex;
        align-items: center;
        line-height: 21px;
        transition: background-color .3s linear,color .3s linear
    }

        .menu .nav-link > div {
            white-space: nowrap
        }

    .menu .widget > .badge:not(:first-child) {
        margin-left: 4px
    }

    .menu.is-vertical {
        padding: 0 .5rem;
        border: none
    }

    .menu .submenu {
        margin: 0;
        padding: 0;
        list-style: none
    }

        .menu .submenu li {
            margin-block-start: 2px
        }

        .menu .submenu .nav-link {
            border-radius: var(--bs-border-radius);
            padding: .5rem
        }

            .menu .submenu .nav-link .arrow {
                transition: transform .3s linear
            }

            .menu .submenu .nav-link[aria-expanded=true] > .arrow {
                transform: rotate(-90deg)
            }

            .menu .submenu .nav-link .menu-text, .menu .submenu .nav-link .widget {
                margin: 0 4px
            }

.cascade .dropdown-menu {
    right: 0
}

.cascade .sub-menu {
    display: none
}

.cascade .form-select {
    background-image: none
}

.menu.is-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0
}

    .menu.is-bottom .nav {
        flex-wrap: nowrap;
        justify-content: space-around;
        border-bottom: none;
        border-top: 1px solid var(--bs-gray-400)
    }

        .menu.is-bottom .nav .dropdown-toggle[aria-expanded=true] + .dropdown-menu-arrow {
            display: none
        }

    .menu.is-bottom > .nav > li:after, .menu.is-bottom .dropdown-menu-arrow:after {
        content: none
    }

.message {
    position: fixed;
    left: 1rem;
    right: 1rem;
    z-index: 1090;
    pointer-events: none
}

    .message .alert {
        display: flex;
        align-items: baseline;
        min-width: 160px;
        max-width: 480px;
        white-space: normal;
        opacity: 0;
        top: -20px;
        bottom: unset;
        margin: 1rem auto 0 auto;
        transition: opacity .3s linear,top .3s linear,bottom .3s linear;
        pointer-events: auto
    }

        .message .alert.show {
            opacity: 1;
            bottom: unset;
            top: 20px
        }

        .message .alert > i + div {
            margin-left: .5rem
        }

        .message .alert > div {
            flex: 1;
            flex-wrap: wrap;
            word-break: break-all
        }

    .message.is-bottom .alert {
        top: unset;
        bottom: -20px
    }

        .message.is-bottom .alert.show {
            top: unset;
            bottom: 20px
        }

.is-draggable .modal-header {
    cursor: pointer
}

.is-draggable-center {
    visibility: hidden
}

.modal-header {
    padding: .5rem 1rem
}

    .modal-header.is-drag {
        cursor: move
    }

.modal-content {
    min-height: 160px;
    min-width: 210px
}

.modal-footer {
    padding: .5rem 1rem
}

    .modal-footer > * {
        margin: 0
    }

    .modal-footer button:not(:last-child) {
        margin-inline-end: .5rem
    }

.modal-resizer {
    position: absolute;
    bottom: 2px;
    right: 2px;
    cursor: nwse-resize;
    pointer-events: auto;
    width: 1rem;
    height: auto;
    fill: #8a8a8a
}

.bb-printview {
    background-color: #fff;
    padding: 1rem;
    min-height: 100vh
}

.modal-header-buttons {
    position: relative
}

    .modal-header-buttons .btn {
        --bs-btn-padding-y: 3px
    }

        .modal-header-buttons .btn:not(:last-child) {
            margin-inline-end: .5rem
        }

    .modal-header-buttons .btn-maximize {
        color: #6c757d;
        border: 0
    }

.modal-fullscreen.is-draggable {
    margin: 0 !important;
    width: 100vw !important
}

.modal-multiple .modal-dialog {
    position: fixed;
    inset: 0
}

    .modal-multiple .modal-dialog:last-child:before {
        content: "";
        position: fixed;
        inset: 0;
        background-color: #000;
        opacity: .3;
        pointer-events: auto
    }

.modal-multiple ~ .modal-backdrop {
    display: none
}

@media print {
    .bb-printview-open {
        overflow: auto !important
    }

        .bb-printview-open > *:not(.bb-printview) {
            display: none !important
        }
}

@media(min-width: 992px) {
    .modal-xxl {
        --bs-modal-width: 800px
    }
}

@media(min-width: 1200px) {
    .modal-xxl {
        --bs-modal-width: 1140px
    }
}

@media(min-width: 1400px) {
    .modal-xxl {
        --bs-modal-width: 1280px
    }
}

@media(min-width: 1600px) {
    .modal-xxl {
        --bs-modal-width: 1440px
    }
}

@media(min-width: 1900px) {
    .modal-xxl {
        --bs-modal-width: 1720px
    }
}

@media(max-width: 575.98px) {
    .modal-fullscreen-sm-down {
        width: 100vw;
        max-width: none
    }
}

@media(max-width: 767.98px) {
    .modal-fullscreen-md-down {
        width: 100vw;
        max-width: none
    }
}

@media(max-width: 991.98px) {
    .modal-fullscreen-lg-down {
        width: 100vw;
        max-width: none
    }
}

@media(max-width: 1199.98px) {
    .modal-fullscreen-xl-down {
        width: 100vw;
        max-width: none
    }
}

@media(max-width: 1399.98px) {
    .modal-fullscreen-xxl-down {
        width: 100vw;
        max-width: none
    }
}

.nav-pages {
    --bb-pagination-goto-padding: 0 0.5rem;
    --bb-pagiantion-select-width: 120px;
    --bb-pagiantion-select-margin: 0 0.5rem;
    --bb-pagination-select-algin: center;
    --bb-pagination-goto-width: 60px;
    justify-content: space-between;
    align-items: center;
    width: 100%
}

    .nav-pages .select {
        width: var(--bb-pagiantion-select-width);
        margin: var(--bb-pagiantion-select-margin)
    }

        .nav-pages .select .dropdown-menu {
            min-width: unset;
            text-align: var(--bb-pagination-select-algin)
        }

        .nav-pages .select .form-select {
            text-align: var(--bb-pagination-select-algin)
        }

    .nav-pages .page-goto {
        display: flex;
        align-items: center
    }

        .nav-pages .page-goto .goto-text {
            padding: var(--bb-pagination-goto-padding)
        }

        .nav-pages .page-goto > input {
            max-width: var(--bb-pagination-goto-width)
        }

.pagination {
    margin: 0;
    flex: 1 1 auto;
    justify-content: flex-end;
    --bs-pagination-focus-box-shadow: none;
    --bb-pagination-link-padding: 0.25rem 0.35rem
}

    .pagination .page-link {
        padding: var(--bb-pagination-link-padding);
        cursor: pointer
    }

[data-bs-theme=dark] .pagination {
    --bs-pagination-active-border-color: var(--bs-border-color)
}

@media(min-width: 375px) {
    .pagination {
        --bb-pagination-link-padding: 0.25rem 0.5rem
    }
}

@media(min-width: 456px) {
    .pagination {
        --bb-pagination-link-padding: 0.25rem 0.75rem
    }
}

.popover-dropdown {
    --bs-popover-max-width: unset
}

    .popover-dropdown .popover-body {
        --bs-popover-body-padding-x: 0;
        --bs-popover-body-padding-y: 0
    }

        .popover-dropdown .popover-body > * {
            position: relative;
            border: none
        }

.query-builder {
    --bb-qb-group-padding: 0.5rem;
    --bb-qb-sub-group-padding-left: 2.5rem;
    --bb-qb-item-margin-bottom: 0.5rem;
    --bb-qb-row-item-margin-right: 0.5rem;
    position: relative
}

    .query-builder .qb-group {
        margin: 0;
        padding: 0
    }

        .query-builder .qb-group .qb-item {
            list-style: none;
            position: relative
        }

            .query-builder .qb-group .qb-item:not(:last-child) {
                margin-block-end: var(--bb-qb-item-margin-bottom)
            }

            .query-builder .qb-group .qb-item > .qb-group {
                border: 1px solid var(--bs-border-color);
                border-radius: var(--bs-border-radius);
                padding: var(--bb-qb-group-padding);
                padding-left: var(--bb-qb-sub-group-padding-left)
            }

                .query-builder .qb-group .qb-item > .qb-group > .qb-item:last-child:before {
                    content: attr(data-bb-logic);
                    position: absolute;
                    top: 0;
                    left: -2rem;
                    bottom: 0;
                    display: flex;
                    align-items: center
                }

        .query-builder .qb-group .qb-row {
            display: flex
        }

            .query-builder .qb-group .qb-row > *:not(:last-child) {
                margin-inline-end: var(--bb-qb-row-item-margin-right)
            }

            .query-builder .qb-group .qb-row > input.form-control {
                flex: 1
            }

    .query-builder .dropdown-toggle:after {
        content: none
    }

.upload {
    --bb-upload-body-margin-top: 10px;
    --bb-upload-body-list-max-height: 240px;
    --bb-upload-body-list-item-padding: 3px 5px;
    --bb-upload-body-list-item-body-padding: 0 5px;
    --bb-upload-body-list-item-hover-color: #005187;
    --bb-upload-card-width: 240px;
    --bb-upload-card-height: 280px;
    --bb-upload-card-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
    --bb-upload-card-padding: 1rem;
    --bb-upload-card-margin: 0 1rem 1rem 0;
    --bb-upload-card-item-width: 168px;
    --bb-upload-drop-height: 140px;
    --bb-upload-drop-footer-font-size: 12px;
    --bb-upload-drop-footer-margin-top: 0.25rem
}

    .upload .upload-body {
        margin-block-start: var(--bb-upload-body-margin-top)
    }

        .upload .upload-body.is-list {
            overflow: auto;
            max-height: var(--bb-upload-body-list-max-height)
        }

            .upload .upload-body.is-list .upload-item {
                display: flex;
                align-items: center;
                padding: var(--bb-upload-body-list-item-padding);
                border-radius: var(--bs-border-radius);
                transition: background-color .3s linear;
                cursor: pointer;
                position: relative
            }

                .upload .upload-body.is-list .upload-item.is-invalid {
                    color: var(--bs-danger)
                }

                .upload .upload-body.is-list .upload-item:hover {
                    background-color: var(--bs-secondary-bg)
                }

                    .upload .upload-body.is-list .upload-item:hover .fa-trash-can {
                        display: inline-block
                    }

                .upload .upload-body.is-list .upload-item .upload-item-body {
                    flex: 1;
                    padding: var(--bb-upload-body-list-item-body-padding);
                    display: flex;
                    overflow: hidden
                }

                    .upload .upload-body.is-list .upload-item .upload-item-body span:first-child {
                        max-width: calc(100% - 4rem);
                        overflow: hidden;
                        text-overflow: ellipsis;
                        display: block;
                        white-space: nowrap;
                        padding-right: .25rem
                    }

                .upload .upload-body.is-list .upload-item .fa-trash-can, .upload .upload-body.is-list .upload-item:not(.disabled):hover .fa-circle-check, .upload .upload-body.is-list .upload-item:hover .fa-xmark-circle, .upload .upload-body.is-avatar .upload-item .upload-item-delete, .upload .upload-body.is-avatar .upload-item.is-invalid .upload-item-spin, .upload .upload-body.is-avatar .upload-item.is-valid .upload-item-spin, .upload .upload-item.is-invalid .valid, .upload .upload-item.is-valid .invalid, .upload .upload-body.is-avatar .upload-item.disabled .upload-item-plus {
                    display: none
                }

            .upload .upload-body.is-list .loading-icon, .upload .upload-body.is-list .valid-icon {
                color: var(--bs-success)
            }

            .upload .upload-body.is-list .delete-icon, .upload .upload-body.is-list .invalid-icon {
                color: var(--bs-danger)
            }

            .upload .upload-body.is-list .download-icon {
                color: var(--bs-primary)
            }

            .upload .upload-body.is-list .cancel-icon {
                margin-left: .5rem;
                color: var(--bs-danger)
            }

        .upload .upload-body.is-avatar, .upload .upload-body.is-card {
            margin: 0;
            display: flex;
            flex-wrap: wrap
        }

            .upload .upload-body.is-avatar .upload-item {
                padding: 0;
                position: relative;
                border: 1px dashed var(--bs-border-color);
                border-radius: 6px;
                margin-inline-end: 1rem;
                margin-block-end: 1rem;
                overflow: hidden;
                cursor: pointer
            }

                .upload .upload-body.is-avatar .upload-item.is-single {
                    margin: 0
                }

                .upload .upload-body.is-avatar .upload-item.is-invalid {
                    border-color: var(--bs-danger);
                    border-style: solid
                }

                .upload .upload-body.is-avatar .upload-item.is-circle {
                    border-radius: 50%
                }

                .upload .upload-body.is-avatar .upload-item:not(.is-form):hover, .upload .upload-body.is-avatar .upload-item:not(.is-form).is-valid, .upload .upload-body.is-card .upload-item.is-valid, .upload .upload-body.is-card .upload-item:not(.disabled):hover {
                    border-color: var(--bb-upload-body-list-item-hover-color)
                }

                .upload .upload-body.is-avatar .upload-item.is-valid {
                    border-style: solid
                }

                .upload .upload-body.is-avatar .upload-item.is-invalid .avatar {
                    color: var(--bs-danger)
                }

                .upload .upload-body.is-avatar .upload-item .avatar {
                    width: 100%;
                    height: 100%;
                    background-color: var(--bs-body-bg)
                }

                .upload .upload-body.is-avatar .upload-item .upload-item-actions, .upload .upload-body.is-card .upload-item .upload-item-actions.btn-browser {
                    position: absolute;
                    top: 0;
                    left: 0;
                    right: 0;
                    bottom: 0;
                    display: flex;
                    align-items: center;
                    justify-content: center
                }

                    .upload .upload-body.is-avatar .upload-item .upload-item-actions i {
                        font-size: 1rem
                    }

                .upload .upload-body.is-avatar .upload-item:hover .upload-item-actions .upload-item-delete {
                    display: block;
                    color: var(--bs-danger)
                }

                .upload .upload-body.is-avatar .upload-item.is-invalid .upload-item-spin {
                    font-size: 3em
                }

            .upload .upload-body.is-card .upload-item {
                padding: var(--bb-upload-card-padding);
                box-shadow: var(--bb-upload-card-shadow);
                border: 1px solid var(--bs-border-color);
                border-radius: var(--bs-border-radius);
                width: var(--bb-upload-card-width);
                height: var(--bb-upload-card-height);
                position: relative;
                cursor: pointer;
                margin: var(--bb-upload-card-margin);
                overflow: hidden
            }

                .upload .upload-body.is-card .upload-item .upload-item-actions {
                    display: flex;
                    justify-content: space-between
                }

                .upload .upload-body.is-card .upload-item.is-valid .upload-item-body img, .upload .upload-body .upload-item.is-valid .upload-item-label, .upload .upload-body .upload-item.is-invalid .upload-item-label {
                    display: block
                }

            .upload .upload-body.is-card .is-invalid .upload-item-body {
                border-color: var(--bs-danger)
            }

            .upload .upload-body.is-card .upload-item-body {
                border-radius: var(--bs-border-radius);
                width: var(--bb-upload-card-item-width);
                height: var(--bb-upload-card-item-width);
                border: 1px solid var(--bs-border-color);
                margin: 0 auto;
                display: flex;
                align-items: center;
                justify-content: center;
                overflow: hidden
            }

                .upload .upload-body.is-card .upload-item-body img {
                    width: 100%;
                    object-fit: cover;
                    display: none
                }

            .upload .upload-body.is-card .upload-item-size {
                margin: 1rem auto;
                text-align: center;
                font-size: .625rem;
                display: flex;
                justify-content: center
            }

                .upload .upload-body.is-card .upload-item-size span {
                    max-width: calc(100% - 4.5rem);
                    overflow: hidden;
                    text-overflow: ellipsis;
                    display: block;
                    white-space: nowrap;
                    padding-right: .25rem
                }

    .upload .upload-item .upload-item-label {
        position: absolute;
        top: -2px;
        right: -14px;
        text-align: center;
        transform: rotate(45deg);
        color: #fff;
        width: 46px;
        height: 20px;
        background-color: var(--bs-success);
        display: none
    }

        .upload .upload-item .upload-item-label .valid-icon {
            transform: rotate(-45deg);
            font-size: 12px
        }

    .upload .upload-item.is-invalid .upload-item-label {
        background-color: var(--bs-danger)
    }

    .upload .progress {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0
    }

    .upload .upload-body.is-card .progress {
        left: 1rem;
        right: 1rem;
        bottom: 56px
    }

    .upload .upload-item.is-valid .progress, .upload .upload-item.is-invalid .progress {
        display: none
    }

    .upload .upload-body.is-card.is-single .upload-item {
        margin: 0
    }

.upload-buttons i {
    width: 16px;
    text-align: center
}

    .upload-buttons i:not(:first-child) {
        margin-left: 4px
    }

.btn-group .upload:not(:last-child) > button {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

.btn-group .upload:not(:first-child) > button {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0
}

.btn-group .upload .upload-body {
    display: none
}

.upload.is-drop .upload-drop-body {
    border: 1px dashed var(--bs-primary);
    border-radius: var(--bs-border-radius);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: var(--bb-upload-drop-height);
    cursor: pointer
}

    .upload.is-drop .upload-drop-body .upload-drop-icon > i {
        font-size: 3em;
        color: var(--bs-secondary)
    }

    .upload.is-drop .upload-drop-body .upload-drop-text {
        margin-top: 1rem
    }

    .upload.is-drop .upload-drop-body em {
        color: var(--bs-primary);
        font-style: normal
    }

.upload.is-drop .upload-drop-footer {
    font-size: var(--bb-upload-drop-footer-font-size);
    margin-top: var(--bb-upload-drop-footer-margin-top)
}

.upload.is-drop .upload-drop-list {
    margin: 10px 0 0;
    padding: 0;
    list-style: none;
    position: relative
}

    .upload.is-drop .upload-drop-list .upload-drop-process {
        position: relative
    }

.form-control {
    --bb-form-control-padding: 0.375rem 0.75rem
}

form .input-group-text:before, form .form-label:before {
    content: "";
    position: relative;
    top: 2px;
    margin-right: 2px;
    display: inline-block;
    min-width: 5px
}

form .input-group-text[required]:before, form .form-label[required]:before {
    content: "*";
    color: var(--bs-danger)
}

.form-control {
    padding: var(--bb-form-control-padding)
}

    .form-control.is-display {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        min-height: var(--bb-height)
    }

    .form-control:focus {
        border: var(--bs-border-width) solid var(--bb-border-focus-color);
        box-shadow: none
    }

    .form-control.is-valid[type=number], .form-control.is-invalid[type=number] {
        padding-right: .75rem;
        background-image: none
    }

    .form-control:not(.disabled):not(:disabled):not(.is-valid):not(.is-invalid):not(.no-border):not(.is-display):hover {
        border: var(--bs-border-width) solid var(--bb-border-hover-color)
    }

    .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {
        border-color: var(--bs-danger);
        box-shadow: none
    }

    .was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {
        border-color: var(--bs-success)
    }

.input-number-fix::-webkit-outer-spin-button, .input-number-fix::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
    -moz-appearance: textfield
}

.ef-loading {
    display: flex;
    justify-content: center;
    align-items: center;
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    padding: 2rem
}

.table-cell .form-control.is-display, form .form-control.is-display {
    background-color: var(--bs-secondary-bg)
}

.radio-list {
    --bb-radio-item-width: 200px;
    --bb-radio-item-padding: 6px 0.75rem;
    --bb-radio-group-item-active-color: #fff;
    display: flex;
    flex-wrap: wrap
}

    .radio-list .form-check {
        width: var(--bb-radio-item-width)
    }

    .radio-list.is-vertical {
        flex-direction: column;
        height: auto;
        line-height: unset
    }

        .radio-list.is-vertical .form-check:not(:last-child) {
            margin-block-end: .5rem
        }

    .radio-list.form-control {
        padding: var(--bb-radio-item-padding)
    }

    .radio-list.btn-group {
        border: var(--bs-border-width) solid var(--bs-border-color);
        display: inline-flex;
        flex: 0 !important;
        flex-wrap: nowrap;
        white-space: nowrap
    }

        .radio-list.btn-group > .btn {
            white-space: nowrap
        }

        .radio-list.btn-group .active {
            color: var(--bb-radio-group-item-active-color)
        }

        .radio-list.btn-group.disabled > span {
            opacity: var(--bs-btn-disabled-opacity)
        }

            .radio-list.btn-group.disabled > span:not(.active) {
                background-color: var(--bs-secondary-bg)
            }

    .radio-list.btn-group-vertical .btn {
        margin-left: 0 !important
    }

        .radio-list.btn-group-vertical .btn:first-child {
            border-top-right-radius: var(--bs-border-radius)
        }

        .radio-list.btn-group-vertical .btn:last-child {
            border-bottom-left-radius: var(--bs-border-radius)
        }

.rate {
    --bb-rate-height: 20px;
    --bb-rate-width: 20px;
    --bb-rate-margin-left: 0.5rem;
    --bb-rate-color: var(--bs-secondary);
    --bb-rate-active-color: var(--bs-warning);
    --bb-rate-hover-color: #c6d1de;
    --bb-rate-font-size: 1rem;
    --bb-rate-transform: scale(1.15);
    --bb-rate-transition: 0.3s
}

    .rate .rate-item {
        width: var(--bb-rate-width);
        height: var(--bb-rate-height);
        color: var(--bb-rate-color);
        font-size: var(--bb-rate-font-size);
        display: inline-flex;
        justify-content: center;
        align-items: center;
        cursor: pointer
    }

        .rate .rate-item:not(:last-child) {
            margin-inline-end: var(--bb-rate-margin-left)
        }

    .rate .rate-mask {
        color: var(--bb-rate-active-color);
        position: absolute;
        left: 0;
        overflow: hidden
    }

    .rate.readonly .rate-item {
        cursor: inherit
    }

    .rate:not(.readonly):not(.disabled) .rate-item i:hover {
        transform: var(--bb-rate-transform);
        color: var(--bb-rate-hover-color);
        transition: var(--bb-rate-transition)
    }

    .rate.disabled .rate-item i {
        color: var(--bs-secondary-bg)
    }

    .rate:not(.disabled) .rate-item.is-on i {
        color: var(--bb-rate-active-color)
    }

#components-reconnect-modal {
    position: fixed;
    z-index: 2000;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

    #components-reconnect-modal, #components-reconnect-modal.components-reconnect-hide, #components-reconnect-modal .reconnect-state {
        display: none
    }

        #components-reconnect-modal.components-reconnect-show, #components-reconnect-modal.components-reconnect-failed, #components-reconnect-modal.components-reconnect-rejected, #components-reconnect-modal.components-reconnect-show .reconnect-state.show, #components-reconnect-modal.components-reconnect-failed .reconnect-state.failed, #components-reconnect-modal.components-reconnect-rejected .reconnect-state.rejected {
            display: block
        }

.reconnect-state > span {
    background-color: var(--bs-info);
    display: block;
    padding: 1rem;
    color: #fff
}

    .reconnect-state > span > a {
        text-decoration: underline;
        color: #fff
    }

.repeater {
    --bb-repeater-loading-height: 100%
}

    .repeater .repeater-loading {
        width: 100%;
        height: var(--bb-repeater-loading-height);
        display: flex;
        align-items: center;
        justify-content: center
    }

.ribbon-tab {
    --bb-ribbon-menu-height: 30px;
    --bb-ribbon-menu-margin-top: 5px;
    --bb-ribbon-menu-body-height: 84.5px;
    --bb-ribbon-menu-body-padding: 0.5rem;
    --bb-ribbon-menu-radius: var(--bs-border-radius);
    --bb-ribbon-menu-padding: 0.5rem;
    --bb-ribbon-menu-border-color: var(--bs-border-color);
    --bb-ribbon-menu-hover-color: #005187;
    --bb-ribbon-menu-bg: var(--bs-body-bg);
    --bb-ribbon-menu-color: var(--bs-body-color);
    --bb-ribbon-button-hover-bg: rgba(51, 147, 246, 0.48);
    --bb-ribbon-button-hover-border-color: #89b9ea;
    --bb-ribbon-button-active-bg: #acd4fd;
    --bb-ribbon-button-active-border-color: #8bb5e0;
    --bb-ribbon-button-border-width: 1px;
    --bb-ribbon-button-border-color: transparent;
    --bb-ribbon-button-radius: 3px;
    --bb-ribbon-button-padding: 0.25rem;
    --bb-ribbon-button-fontsize: 0.75rem;
    --bb-ribbon-button-min-width: 58px;
    --bb-ribbon-group-fontsize: 11px;
    --bb-ribbon-group-color: #adb5bd;
    --bb-ribbon-group-margin-top: 0.25rem;
    --bb-ribbon-body-padding: 1rem;
    --bb-ribbon-menu-header-height: calc(var(--bb-ribbon-menu-height) + var(--bb-ribbon-menu-margin-top) + var(--bb-ribbon-menu-body-height));
    position: relative
}

    .ribbon-tab .ribbon-header {
        position: relative
    }

        .ribbon-tab .ribbon-header.is-float:not(.is-expand) {
            --bb-ribbon-menu-body-height: 0px
        }

            .ribbon-tab .ribbon-header.is-float:not(.is-expand) .tabs-body-content {
                height: 0
            }

        .ribbon-tab .ribbon-header .tabs-header {
            background-color: var(--bb-ribbon-menu-bg);
            border-bottom: 1px solid var(--bs-border-color)
        }

            .ribbon-tab .ribbon-header .tabs-header .tabs-nav-scroll {
                padding: 0 var(--bb-ribbon-menu-padding)
            }

        .ribbon-tab .ribbon-header .tabs-body {
            padding: 0
        }

            .ribbon-tab .ribbon-header .tabs-body .link-button {
                font-size: var(--bb-ribbon-button-fontsize);
                padding: var(--bb-ribbon-button-padding);
                border-radius: var(--bb-ribbon-button-radius);
                border: var(--bb-ribbon-button-border-width) solid var(--bb-ribbon-button-border-color);
                min-width: var(--bb-ribbon-button-min-width);
                transition: background-color .3s ease-in-out,border-color .3s ease-in-out,box-shadow .3s ease-in-out
            }

                .ribbon-tab .ribbon-header .tabs-body .link-button.active {
                    background-color: var(--bb-ribbon-button-active-bg);
                    border-color: var(--bb-ribbon-button-active-border-color)
                }

                .ribbon-tab .ribbon-header .tabs-body .link-button:not(:last-child) {
                    margin-inline-end: 1px
                }

                .ribbon-tab .ribbon-header .tabs-body .link-button:not([disabled]):hover {
                    background-color: var(--bb-ribbon-button-hover-bg);
                    border-color: var(--bb-ribbon-button-hover-border-color)
                }

                .ribbon-tab .ribbon-header .tabs-body .link-button > i {
                    font-size: 1rem;
                    margin-block-end: .25rem
                }

                .ribbon-tab .ribbon-header .tabs-body .link-button > span {
                    white-space: nowrap
                }

            .ribbon-tab .ribbon-header .tabs-body .tabs-body-content {
                overflow: hidden;
                height: var(--bb-ribbon-menu-body-height);
                transition: height .3s ease-in-out
            }

                .ribbon-tab .ribbon-header .tabs-body .tabs-body-content .tab-commands {
                    display: flex;
                    flex-wrap: nowrap;
                    font-size: var(--bb-ribbon-button-fontsize);
                    overflow: hidden;
                    padding: var(--bb-ribbon-menu-body-padding);
                    height: 100%
                }

                    .ribbon-tab .ribbon-header .tabs-body .tabs-body-content .tab-commands .link-group {
                        display: flex;
                        flex-direction: column;
                        align-items: center
                    }

                        .ribbon-tab .ribbon-header .tabs-body .tabs-body-content .tab-commands .link-group .link-group-name {
                            margin-block-start: var(--bb-ribbon-group-margin-top);
                            color: var(--bb-ribbon-group-color);
                            font-size: var(--bb-ribbon-group-fontsize)
                        }

                    .ribbon-tab .ribbon-header .tabs-body .tabs-body-content .tab-commands .divider-vertical {
                        margin: 0 4px
                    }

        .ribbon-tab .ribbon-header .ribbon-buttons {
            position: absolute;
            right: 1rem;
            top: var(--bb-ribbon-menu-margin-top);
            height: var(--bb-ribbon-menu-height);
            display: flex;
            align-items: center
        }

            .ribbon-tab .ribbon-header .ribbon-buttons > * {
                cursor: pointer
            }

            .ribbon-tab .ribbon-header .ribbon-buttons .ribbon-customer-buttons {
                display: flex;
                align-items: center;
                margin-inline-end: 1rem
            }

            .ribbon-tab .ribbon-header .ribbon-buttons .ribbon-button {
                padding: 1px 8px;
                cursor: pointer;
                border-radius: var(--bs-border-radius);
                transition: background-color .3s ease-in-out
            }

                .ribbon-tab .ribbon-header .ribbon-buttons .ribbon-button:hover {
                    background-color: var(--bb-tab-item-hover-color)
                }

        .ribbon-tab .ribbon-header .ribbon-arrow {
            width: 18px;
            height: 28px;
            display: flex;
            justify-content: center;
            align-items: center
        }

    .ribbon-tab .ribbon-body {
        border-top: var(--bs-border-width) solid var(--bs-border-color);
        padding: var(--bb-ribbon-body-padding);
        position: relative
    }

:root {
    --bb-row-label-width: 120px;
    --bb-row-control-padding: 7px
}

.form-inline .form-label {
    display: block
}

@media(min-width: 576px) {
    .form-inline > * {
        display: flex
    }

    .form-inline .form-label {
        padding: var(--bb-row-control-padding) 0;
        margin-block-end: 0;
        padding-right: 10px;
        width: var(--bb-row-label-width);
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
        vertical-align: top;
        display: inline-block;
        text-align:right;
    }

        .form-inline .form-label + * {
            flex: 1
        }

        .form-inline .form-label + .switch, .form-inline .form-label + .form-label-check {
            padding: var(--bb-row-control-padding) 0
        }

        .form-inline .form-label + .btn-group {
            flex: 0
        }

    .form-inline.form-inline-end > div > .form-label {
        text-align: right
    }

    .form-inline.form-inline-center > div > .form-label {
        text-align: center
    }

    .form-inline .form-label-tooltip + * {
        flex: 1
    }
}

.scroll {
    --bb-scroll-thumb-bg: rgba(var(--bs-emphasis-color-rgb), 0.2);
    --bb-scroll-thumb-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.3);
    --bb-scroll-thumb-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.5);
    --bb-scroll-track-bg: rgba(var(--bs-emphasis-color-rgb), 0.08);
    --bb-scroll-default-width: 5px;
    --bb-scroll-default-hover-width: 5px;
    height: 100%;
    overflow: auto
}

    .scroll::-webkit-scrollbar {
        width: var(--bb-scroll-width, var(--bb-scroll-default-width));
        height: var(--bb-scroll-width, var(--bb-scroll-default-width))
    }

    .scroll::-webkit-scrollbar-thumb {
        border-radius: calc(var(--bb-scroll-width, var(--bb-scroll-default-width))/2);
        background-color: var(--bb-scroll-thumb-bg)
    }

    .scroll::-webkit-scrollbar-corner {
        background-color: rgba(0,0,0,0)
    }

    .scroll::-webkit-scrollbar-track {
        border-radius: calc(var(--bb-scroll-width, var(--bb-scroll-default-width))/2);
        background-color: var(--bb-scroll-track-bg)
    }

    .scroll:hover::-webkit-scrollbar {
        width: var(--bb-scroll-hover-width, var(--bb-scroll-default-hover-width));
        height: var(--bb-scroll-hover-width, var(--bb-scroll-default-hover-width))
    }

    .scroll:hover::-webkit-scrollbar-thumb {
        background-color: var(--bb-scroll-thumb-hover-bg)
    }

    .scroll:active::-webkit-scrollbar-thumb {
        background-color: var(--bb-scroll-thumb-active-bg)
    }

@supports not selector(::-webkit-scrollbar) {
    .scroll {
        scrollbar-color: rgba(0,0,0,.3) rgba(0,0,0,0);
        scrollbar-width: thin
    }
}

.search.auto-complete {
    --bb-ac-padding-right: 0.75rem;
    --bb-search-prefix-icon-color: #59636e
}

    .search.auto-complete .form-control-group {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: nowrap
    }

        .search.auto-complete .form-control-group .search-prefix-icon {
            color: var(--bb-search-prefix-icon-color);
            margin-right: .5rem
        }

        .search.auto-complete .form-control-group .search-input {
            flex: 1;
            width: 1%;
            min-width: 0;
            border: none;
            padding: 0
        }

        .search.auto-complete .form-control-group .search-icon {
            cursor: pointer;
            margin-left: .5rem
        }

        .search.auto-complete .form-control-group:not(:hover) .search-clear-icon {
            display: none
        }

.multi-select {
    --bb-multi-select-min-height: 35px;
    --bb-multi-select-max-height: 65px;
    --bb-multi-select-button-bg-color: rgba(var(--bs-body-color-rgb), .15);
    --bb-multi-select-button-hover-bg-color: rgba(var(--bs-body-color-rgb), .3);
    --bb-multi-select-item-margin-x: 3px;
    --bb-multi-select-item-margin-y: 3px;
    --bb-multi-select-item-max-width: 130px;
    --bb-multi-select-item-padding: 2px 6px;
    width: 100%;
    position: relative
}

    .multi-select .dropdown-toggle {
        border: 1px solid var(--bs-border-color);
        border-radius: var(--bs-border-radius);
        min-height: var(--bb-multi-select-min-height);
        max-height: var(--bb-multi-select-max-height);
        overflow: auto;
        cursor: pointer;
        transition: border .15s ease-in-out
    }

        .multi-select .dropdown-toggle.is-fixed {
            --bb-multi-select-max-height: var(--bb-multi-select-min-height)
        }

        .multi-select .dropdown-toggle.is-single-line {
            height: var(--bb-multi-select-min-height);
            overflow-y: hidden;
            overflow-x: hidden
        }

            .multi-select .dropdown-toggle.is-single-line:hover {
                overflow-x: auto
            }

            .multi-select .dropdown-toggle.is-single-line .multi-select-items {
                display: flex;
                flex-wrap: nowrap;
                width: fit-content
            }

        .multi-select .dropdown-toggle:not(.disabled):hover {
            border: 1px solid var(--bb-border-hover-color)
        }

        .multi-select .dropdown-toggle.disabled {
            background-color: var(--bs-secondary-bg)
        }

    .multi-select .multi-select-item-group {
        margin-inline-end: var(--bb-multi-select-item-margin-x);
        margin-block-end: var(--bb-multi-select-item-margin-y)
    }

    .multi-select .multi-select-items {
        position: relative;
        display: flex;
        flex-wrap: wrap;
        padding-top: var(--bb-multi-select-item-margin-y);
        padding-left: var(--bb-multi-select-item-margin-x);
        width: calc(100% - var(--bb-select-append-width))
    }

        .multi-select .multi-select-items span {
            border: solid 1px var(--bs-border-color);
            border-radius: var(--bs-border-radius);
            padding: var(--bb-multi-select-item-padding);
            background-color: var(--bb-multi-select-button-bg-color)
        }

        .multi-select .multi-select-items .multi-select-item {
            display: inline-block;
            text-overflow: ellipsis;
            overflow: hidden;
            white-space: nowrap;
            border-top-left-radius: 0;
            border-bottom-left-radius: 0;
            max-width: var(--bb-multi-select-item-max-width)
        }

        .multi-select .multi-select-items .multi-select-item-group {
            display: inline-flex;
            position: relative
        }

            .multi-select .multi-select-items .multi-select-item-group + .multi-select-input {
                padding: 3px 6px
            }

        .multi-select .multi-select-items .multi-select-close {
            border-top-right-radius: 0;
            border-bottom-right-radius: 0;
            margin-inline-end: -1px;
            transition: color .3s linear,background-color .3s linear
        }

    .multi-select :not(.disabled) .multi-select-items .multi-select-close:hover {
        background-color: var(--bb-multi-select-button-hover-bg-color)
    }

    .multi-select .multi-select-ph {
        padding: 0 1rem;
        color: #c0c4cc;
        line-height: var(--bb-height);
        position: absolute
    }

    .multi-select .multi-select-input {
        border: none;
        outline: none;
        appearance: none;
        padding: 3px 12px;
        background-color: rgba(0,0,0,0);
        flex: 1;
        width: 1%;
        min-width: 1rem;
        margin-block-end: var(--bb-multi-select-item-margin-y)
    }

.dropdown-menu.is-fixed-toolbar {
    --bb-dropdown-max-height: 330px;
    --bb-dropdown-toolbar-height: 38px
}

    .dropdown-menu.is-fixed-toolbar .dropdown-menu-body {
        max-height: calc(var(--bb-dropdown-max-height) - var(--bb-dropdown-toolbar-height))
    }

.dropdown-menu.is-fixed-search.is-fixed-toolbar .dropdown-menu-body {
    max-height: calc(var(--bb-dropdown-max-height) - var(--bb-select-search-height) - var(--bb-dropdown-toolbar-height))
}

.dropdown-menu .toolbar {
    --bb-multi-select-toolbar-padding: 0 16px 8px 16px;
    --bb-multi-select-toolbar-button-padding: 3px 10px;
    padding: var(--bb-multi-select-toolbar-padding);
    white-space: nowrap;
    border-block-end: var(--bs-border-width) solid var(--bb-select-search-border-color);
    margin-block-end: var(--bb-select-search-margin-bottom)
}

    .dropdown-menu .toolbar .btn {
        padding: var(--bb-multi-select-toolbar-button-padding);
        border: 1px solid var(--bs-border-color);
        transition: border-color .3s linear,color .3s linear
    }

        .dropdown-menu .toolbar .btn:hover {
            border: 1px solid var(--bb-border-hover-color);
            color: var(--bs-primary)
        }

        .dropdown-menu .toolbar .btn:not(:last-child) {
            margin-inline-end: .5rem
        }

.dropdown-item .multi-select-item {
    display: flex;
    align-items: center
}

    .dropdown-item .multi-select-item > span {
        margin-left: .75rem
    }

.select, .popover-dropdown {
    --bb-dropdown-link-pre-active-bg: #498ff7
}

.select {
    --bb-select-focus-shadow: none;
    --bb-select-padding-right: 2.25rem;
    --bb-select-padding: 6px 0.75rem;
    --bb-select-append-width: 30px;
    --bb-select-append-color: #c0c4cc
}

    .select:not(.cascade) .dropdown-menu {
        width: 100%
    }

.cascade, .select {
    --bb-select-dropdown-menu-margin-top: 8px
}

    .cascade .dropdown-menu, .selec .dropdown-menu {
        margin-block-start: var(--bb-select-dropdown-menu-margin-top) !important
    }

    .select .form-select {
        background-image: none;
        background-color: var(--bs-body-bg);
        border: var(--bs-border-width) solid var(--bs-border-color);
        border-radius: var(--bs-border-radius);
        padding: var(--bb-select-padding);
        padding-inline-end: var(--bb-select-padding-right);
        cursor: pointer
    }

        .select .form-select:disabled {
            background-color: var(--bs-secondary-bg)
        }

.dropdown-item {
    cursor: pointer
}

    .dropdown-item.preActive {
        background-color: var(--bb-dropdown-link-pre-active-bg)
    }

.dropdown-menu-arrow {
    width: 0;
    height: 0;
    border-width: 0 6px 6px;
    border-style: solid;
    border-color: rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,.15);
    position: absolute;
    left: 20px;
    margin-block-start: 4px;
    z-index: 1001;
    display: none
}

    .dropdown-menu-arrow:after {
        content: " ";
        width: 0;
        height: 0;
        border-width: 0 6px 6px;
        border-style: solid;
        border-color: rgba(0,0,0,0) rgba(0,0,0,0) var(--bs-body-bg);
        position: absolute;
        top: 1px;
        left: -6px
    }

[data-bs-theme=dark] .dropdown-menu-arrow:after {
    content: none
}

.show > .dropdown-menu, .show > .dropdown-menu-arrow {
    display: block
}

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

.form-select:not(:disabled):hover {
    border-color: var(--bb-border-hover-color)
}

.form-select.show + .form-select-append i {
    transform: rotate(0)
}

.dropdown-menu[data-popper-placement=bottom-start].show + .dropdown-menu-arrow, .dropdown-menu[data-bs-popper=none].show + .dropdown-menu-arrow {
    display: block
}

.form-select-append {
    position: absolute;
    height: 100%;
    width: var(--bb-select-append-width);
    right: 0;
    top: 0;
    color: var(--bb-select-append-color);
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center
}

    .form-select-append i {
        transition: all .3s;
        transform: rotate(180deg)
    }

.show > .form-select-append i {
    transform: rotate(0)
}

.select .clear-icon, .auto-complete .clear-icon {
    position: absolute;
    height: 100%;
    width: var(--bb-select-append-width);
    right: 0;
    top: 0;
    color: var(--bb-select-append-color);
    align-items: center;
    justify-content: center;
    cursor: pointer;
    display: none
}

.select:hover .clear-icon, .auto-complete:hover .clear-icon {
    display: flex
}

.select.is-clearable:not(.disabled):hover .form-select-append, .auto-complete.is-clearable:not(.disabled):hover .form-select-append {
    display: none
}

.form-select.is-valid:focus, .was-validated .form-select:valid:focus, .form-select.is-invalid:focus, .was-validated .form-select:invalid:focus {
    box-shadow: none
}

.form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"], .was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"], .was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"] {
    background-position: right -1rem center,center right 1.5rem;
    padding-inline-end: var(--bb-select-padding-right)
}

.arrow-danger {
    border-color: rgba(0,0,0,0) rgba(0,0,0,0) var(--bs-danger)
}

.arrow-success {
    border-color: rgba(0,0,0,0) rgba(0,0,0,0) var(--bs-success)
}

.arrow-primary {
    border-color: rgba(0,0,0,0) rgba(0,0,0,0) var(--bs-primary)
}

.arrow-warning {
    border-color: rgba(0,0,0,0) rgba(0,0,0,0) var(--bs-warning)
}

.arrow-info {
    border-color: rgba(0,0,0,0) rgba(0,0,0,0) var(--bs-info)
}

.dropdown-menu {
    --bb-select-search-padding: 0.5rem 1rem;
    --bb-select-search-margin-bottom: 0.5rem;
    --bb-select-search-padding-right: 30px;
    --bb-select-search-border-color: var(--bs-border-color);
    --bb-select-search-icon-color: var(--bb-select-search-border-color);
    --bb-select-search-icon-right: 26px;
    --bb-select-search-icon-top: 19px;
    --bb-select-search-height: 52px
}

    .dropdown-menu .dropdown-menu-search {
        padding: var(--bb-select-search-padding);
        position: relative;
        border-block-end: var(--bs-border-width) solid var(--bb-select-search-border-color);
        margin-block-end: var(--bb-select-search-margin-bottom)
    }

        .dropdown-menu .dropdown-menu-search.l .search-icon {
            display: none
        }

        .dropdown-menu .dropdown-menu-search.l .searching-icon {
            display: block
        }

        .dropdown-menu .dropdown-menu-search .searching-icon {
            display: none
        }

    .dropdown-menu .dropdown-menu-body {
        max-height: var(--bb-dropdown-max-height);
        overflow: auto
    }

    .dropdown-menu .search-text {
        padding-inline-end: var(--bb-select-search-padding-right)
    }

    .dropdown-menu .icon {
        position: absolute;
        right: var(--bb-select-search-icon-right);
        top: var(--bb-select-search-icon-top);
        color: var(--bb-select-search-icon-color)
    }

.select:not(.multi-select) .dropdown-toggle {
    position: relative
}

.select .dropdown-toggle:after, .btn-popover-confirm.dropdown-toggle:after {
    content: none
}

.select-object .dropdown-toggle .is-display {
    cursor: pointer
}

.select-object.disabled .is-display {
    background-color: var(--bs-secondary-bg);
    cursor: not-allowed
}

.popover-dropdown .dropdown-object {
    --bs-dropdown-padding-x: .25rem;
    --bs-dropdown-padding-y: .25rem;
    --bb-dropdown-max-height: 468px;
    --bb-dropdown-object-width: auto;
    overflow: hidden;
    padding: .25rem;
    width: var(--bb-dropdown-object-width);
    max-height: unset
}

.select-table .dropdown-toggle .is-display {
    cursor: pointer
}

.select-table.disabled .is-display {
    background-color: var(--bs-secondary-bg);
    cursor: not-allowed
}

.popover-dropdown .dropdown-table {
    --bs-dropdown-padding-x: .25rem;
    --bs-dropdown-padding-y: .25rem;
    --bs-dropdown-search-spacer-x: .5rem;
    --bs-dropdown-search-spacer-y: .5rem;
    --bs-dropdown-search-header-cap-padding-x: .5rem;
    --bb-dropdown-max-height: 468px;
    --bb-dropdown-table-width: auto;
    overflow: hidden;
    padding: .25rem;
    width: var(--bb-dropdown-table-width);
    max-height: unset
}

    .popover-dropdown .dropdown-table .table-search .card {
        --bs-card-spacer-x: var(--bs-dropdown-search-spacer-x);
        --bs-card-spacer-y: var(--bs-dropdown-search-spacer-y);
        --bs-card-cap-padding-x: var(--bs-dropdown-search-header-cap-padding-x)
    }

        .popover-dropdown .dropdown-table .table-search .card .card-body .form-body .g-3 {
            --bs-gutter-y: .5rem
        }

    .popover-dropdown .dropdown-table .table-wrapper .table-fixed-header th {
        --bs-table-bg: rgba(var(--bs-body-color-rgb),.03)
    }

.select-tree {
    --bb-select-tree-dropdown-max-height: var(--bb-dropdown-max-height)
}

    .select-tree .dropdown-menu {
        max-height: var(--bb-select-tree-dropdown-max-height)
    }

        .select-tree .dropdown-menu .tree-view {
            max-height: calc(var(--bb-select-tree-dropdown-max-height) - var(--bs-dropdown-padding-y)*2 - 2px)
        }

.segmented {
    --bb-segmented-padding: 2px;
    --bb-segmented-bg: rgba(var(--bs-body-color-rgb), 0.06);
    --bb-segmented-item-padding: 0 11px;
    --bb-segmented-item-height: 28px;
    --bb-segmented-item-font-size: 0.875rem;
    --bb-segmented-item-selected-bg: var(--bs-body-bg);
    --bb-segmented-item-hover-bg: rgba(var(--bs-body-color-rgb), 0.12);
    --bb-segmented-item-active-bg: rgba(var(--bs-body-color-rgb), 0.08);
    --bb-segmented-item-border-radius: 6px;
    --bb-segmented-item-lg-height: 36px;
    --bb-segmented-item-lg-padding: 0 11px;
    --bb-segmented-item-lg-font-size: 1rem;
    --bb-segmented-item-lg-border-radius: 8px;
    --bb-segmented-item-sm-height: 20px;
    --bb-segmented-item-sm-padding: 0 7px;
    --bb-segmented-item-sm-font-size: 0.75rem;
    --bb-segmented-item-sm-border-radius: 4px;
    --bb-segmented-text-margin-left: 4px;
    padding: var(--bb-segmented-padding);
    background-color: var(--bb-segmented-bg);
    border-radius: var(--bs-border-radius);
    border: var(--bs-border-width) solid var(--bs-border-color);
    display: inline-flex;
    position: relative
}

    .segmented.segmented-lg {
        --bb-segmented-item-border-radius: var(--bb-segmented-item-lg-border-radius);
        --bb-segmented-item-height: var(--bb-segmented-item-lg-height);
        --bb-segmented-item-padding: var(--bb-segmented-item-lg-padding);
        --bb-segmented-item-font-size: var(--bb-segmented-item-lg-font-size)
    }

    .segmented.segmented-sm {
        --bb-segmented-item-border-radius: var(--bb-segmented-item-sm-border-radius);
        --bb-segmented-item-height: var(--bb-segmented-item-sm-height);
        --bb-segmented-item-padding: var(--bb-segmented-item-sm-padding);
        --bb-segmented-item-font-size: var(--bb-segmented-item-sm-font-size)
    }

    .segmented.block {
        display: flex
    }

        .segmented.block .segmented-item {
            flex: 1;
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis
        }

    .segmented .segmented-item {
        padding: var(--bb-segmented-item-padding);
        cursor: pointer;
        border-radius: var(--bb-segmented-item-border-radius);
        line-height: var(--bb-segmented-item-height);
        font-size: var(--bb-segmented-item-font-size);
        position: relative;
        transition: color .2s cubic-bezier(0.645, 0.045, 0.355, 1);
        white-space: nowrap;
        display: flex;
        align-items: center;
        justify-content: center
    }

        .segmented .segmented-item.mask {
            background-color: var(--bb-segmented-item-selected-bg);
            box-shadow: 0 1px 2px 0 rgba(var(--bs-body-color-rgb), 0.03),0 1px 6px -1px rgba(var(--bs-body-color-rgb), 0.02),0 2px 4px 0 rgba(var(--bs-body-color-rgb), 0.02);
            pointer-events: none;
            position: absolute;
            left: 0;
            transition: transform .3s ease-in-out,width .3s ease-in-out;
            visibility: hidden
        }

        .segmented .segmented-item.selected {
            background-color: var(--bb-segmented-item-selected-bg);
            box-shadow: 0 1px 2px 0 rgba(var(--bs-body-color-rgb), 0.03),0 1px 6px -1px rgba(var(--bs-body-color-rgb), 0.02),0 2px 4px 0 rgba(var(--bs-body-color-rgb), 0.02)
        }

        .segmented .segmented-item.disabled {
            color: rgba(var(--bs-body-color-rgb), 0.25);
            cursor: not-allowed
        }

        .segmented .segmented-item:hover:not(.selected):not(.disabled):not(.moving):after {
            background-color: var(--bb-segmented-item-hover-bg)
        }

        .segmented .segmented-item:active:not(.selected):not(.disabled):not(.moving):after {
            background-color: var(--bb-segmented-item-active-bg)
        }

        .segmented .segmented-item:after {
            content: "";
            position: absolute;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
            border-radius: inherit;
            transition: background-color .2s;
            pointer-events: none
        }

        .segmented .segmented-item .segmented-item-icon + span {
            margin-left: var(--bb-segmented-text-margin-left)
        }

        .segmented .segmented-item .flex-column {
            --bb-segmented-text-margin-left: 0
        }

[data-bs-theme=dark] .segmented {
    --bb-segmented-item-selected-bg: rgba(var(--bs-body-color-rgb),.12)
}

.skeleton {
    --bb-skeleton-table-header-bg: rgba(var(--bs-body-color-rgb), 0.25);
    --bb-skeleton-striped-row-bg: rgba(var(--bs-body-color-rgb), 0.05);
    --bb-skeleton-button-bg: rgba(var(--bs-body-color-rgb), 0.12);
    --bb-skeleton-button-divider-color: rgba(var(--bs-body-color-rgb), 0.1);
    --bb-skeleton-gradient-from-color: rgba(var(--bs-body-color-rgb), 0.06);
    --bb-skeleton-gradient-to-color: rgba(var(--bs-body-color-rgb), 0.15);
    width: 100%;
    flex: 1
}

    .skeleton .tree-node {
        height: 11px;
        margin: 5px 0 5px 5px
    }

    .skeleton .skeleton-avatar {
        width: 2rem;
        height: 2rem
    }

.skeleton-content {
    position: relative
}

    .skeleton-content.round .skeleton-avatar {
        border-radius: 4px
    }

    .skeleton-content.round .skeleton-col, .skeleton-content.round .tree-node {
        border-radius: var(--bs-border-radius)
    }

    .skeleton-content .skeleton-avatar.circle {
        border-radius: 50%
    }

.skeleton-row {
    min-height: 32px;
    background-color: var(--bb-skeleton-gradient-from-color)
}

    .skeleton-row:not(:last-child) {
        margin-block-end: .5rem
    }

    .skeleton-row.form-label {
        min-width: 120px;
        min-height: 21px
    }

.skeleton-content.active .skeleton-col, .skeleton-content.active .skeleton-avatar, .skeleton-content.active .tree-node {
    background: linear-gradient(90deg, var(--bb-skeleton-gradient-from-color) 25%, var(--bb-skeleton-gradient-to-color) 37%, var(--bb-skeleton-gradient-from-color) 63%);
    background-size: 400% 100%;
    animation: skeleton-loading 1.4s ease infinite
}

@-webkit-keyframes skeleton-loading {
    0% {
        background-position: 100% 50%
    }

    to {
        background-position: 0 50%
    }
}

@keyframes skeleton-loading {
    0% {
        background-position: 100% 50%
    }

    to {
        background-position: 0 50%
    }
}

.skeleton-table, .skeleton-buttons {
    border-radius: var(--bs-border-radius);
    border: var(--bs-border-width) solid var(--bs-border-color);
    overflow: hidden
}

    .skeleton-table .skeleton-content .skeleton-row {
        background: var(--bs-body-bg);
        display: flex;
        height: 39px;
        padding: .5rem;
        margin: 0
    }

        .skeleton-table .skeleton-content .skeleton-row:nth-of-type(even) {
            background-color: var(--bb-skeleton-striped-row-bg)
        }

        .skeleton-table .skeleton-content .skeleton-row:first-of-type {
            border-bottom: 2px solid var(--bb-skeleton-table-header-bg)
        }

            .skeleton-table .skeleton-content .skeleton-row:first-of-type .skeleton-col {
                background: var(--bb-skeleton-table-header-bg)
            }

        .skeleton-table .skeleton-content .skeleton-row .skeleton-col, .skeleton.tree .tree-item .tree-node {
            flex: 1;
            background-color: var(--bb-skeleton-gradient-from-color);
            margin: 5px;
            height: 12.5px
        }

.skeleton-toolbar {
    height: var(--bb-height);
    display: flex;
    margin-block-end: .5rem
}

.skeleton-buttons {
    display: inline-flex;
    overflow: hidden
}

    .skeleton-buttons .skeleton-button {
        height: var(--bb-height);
        width: 70px;
        background-color: var(--bb-skeleton-button-bg)
    }

        .skeleton-buttons .skeleton-button:not(:last-child) {
            border-right: 1px solid var(--bb-skeleton-button-divider-color)
        }

.row {
    --bb-form-range-margin-top: 6px
}

    .row > div[class^=col-] > .form-range {
        margin-block-start: var(--bb-form-range-margin-top)
    }

.form-range:disabled {
    background-color: unset
}

.speech-wave-line {
    --bb-speech-line-height: 46px;
    --bb-speech-line-bg: #187cff;
    line-height: var(--bb-speech-line-height);
    display: inline-block
}

    .speech-wave-line > span {
        background-color: var(--bb-speech-line-bg);
        width: 3px;
        height: 10px;
        margin: 0 5px;
        display: inline-block;
        border: none
    }

    .speech-wave-line.line > span {
        animation: speech-note .2s ease-in-out;
        animation-iteration-count: infinite;
        animation-direction: alternate
    }

    .speech-wave-line.line .l1 {
        animation-delay: -1s
    }

    .speech-wave-line.line .l2 {
        animation-delay: -0.9s
    }

    .speech-wave-line.line .l3 {
        animation-delay: -0.8s
    }

    .speech-wave-line.line .l4 {
        animation-delay: -0.7s
    }

    .speech-wave-line.line .l5 {
        animation-delay: -0.6s
    }

    .speech-wave-line.line .l6 {
        animation-delay: -0.5s
    }

    .speech-wave-line.line .l7 {
        animation-delay: -0.4s
    }

    .speech-wave-line.line .l8 {
        animation-delay: -0.3s
    }

    .speech-wave-line.line .l9 {
        animation-delay: -0.2s
    }

    .speech-wave-line.line .l10 {
        animation-delay: -0.1s
    }

    .speech-wave-line.line .speech-wave-time {
        margin-left: 1rem
    }

@keyframes speech-note {
    from {
        transform: scaleY(1)
    }

    to {
        transform: scaleY(4)
    }
}

.spinner {
    --bb-spinner-border-width-xs: 0.75rem;
    --bb-spinner-border-border-width-xs: 0.1em;
    --bb-spinner-border-width-sm: 1rem;
    --bb-spinner-border-border-width-sm: 0.125em;
    --bb-spinner-border-width-lg: 3rem;
    --bb-spinner-border-border-width-lg: 0.25em;
    --bb-spinner-border-width-xl: 4rem;
    --bb-spinner-border-border-width-xl: 0.25em;
    --bb-spinner-border-width-xxl: 6rem;
    --bb-spinner-border-border-width-xxl: 0.275em
}

    .spinner.spinner-border-xs {
        --bs-spinner-width: var(--bb-spinner-border-width-xs);
        --bs-spinner-height: var(--bb-spinner-border-width-xs);
        --bs-spinner-border-width: var(--bb-spinner-border-border-width-xs)
    }

    .spinner.spinner-border-sm {
        --bs-spinner-width: var(--bb-spinner-border-width-sm);
        --bs-spinner-height: var(--bb-spinner-border-width-sm);
        --bs-spinner-border-width: var(--bb-spinner-border-border-width-sm)
    }

    .spinner.spinner-border-lg {
        --bs-spinner-width: var(--bb-spinner-border-width-lg);
        --bs-spinner-height: var(--bb-spinner-border-width-lg);
        --bs-spinner-border-width: var(--bb-spinner-border-border-width-lg)
    }

    .spinner.spinner-border-xl {
        --bs-spinner-width: var(--bb-spinner-border-width-xl);
        --bs-spinner-height: var(--bb-spinner-border-width-xl);
        --bs-spinner-border-width: var(--bb-spinner-border-border-width-xl)
    }

    .spinner.spinner-border-xxl {
        --bs-spinner-width: var(--bb-spinner-border-width-xxl);
        --bs-spinner-height: var(--bb-spinner-border-width-xxl);
        --bs-spinner-border-width: var(--bb-spinner-border-border-width-xxl)
    }

[data-bs-theme=dark] .split {
    --bb-split-bar-bg: #495057;
    --bb-split-bar-handle-bg: var(--bs-body-bg);
    --bb-split-bar-handle-color: #999;
    --bb-split-bar-handle-hover-bg: var(--bs-body-bg);
    --bb-split-bar-handle-hover-color: #999;
    --bb-split-bar-arrow-hover-border-color: #686a6c
}

.split {
    --bb-split-bar-bg: #dee2e6;
    --bb-split-bar-hover-bg: var(--bb-primary-color);
    --bb-split-bar-width: 3px;
    --bb-split-bar-handle-bg: #fff;
    --bb-split-bar-handle-color: #606266;
    --bb-split-bar-handle-hover-bg: #fff;
    --bb-split-bar-handle-hover-color: #606266;
    --bb-split-bar-arrow-bg: rgba(0, 0, 0, 0);
    --bb-split-bar-arrow-border-color: rgba(0, 0, 0, 0);
    --bb-split-bar-arrow-hover-bg: rgba(0, 0, 0, 0);
    --bb-split-bar-arrow-hover-border-color: #005187;
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: row;
    position: relative;
    overflow: hidden
}

    .split.is-vertical {
        flex-direction: column
    }

        .split.is-vertical .split-bar {
            cursor: row-resize;
            width: auto;
            height: var(--bb-split-bar-width)
        }

            .split.is-vertical .split-bar:after {
                content: "";
                cursor: row-resize;
                display: block;
                height: 16px;
                position: absolute;
                width: 100%;
                z-index: 12
            }

            .split.is-vertical .split-bar:hover .split-bar-arrow-left:before {
                transform: rotate(125deg)
            }

            .split.is-vertical .split-bar:hover .split-bar-arrow-left:after {
                transform: rotate(50deg)
            }

            .split.is-vertical .split-bar:hover .split-bar-arrow-right:before {
                transform: rotate(55deg);
                transform-origin: 1px 6px 0
            }

            .split.is-vertical .split-bar:hover .split-bar-arrow-right:after {
                transform: rotate(125deg);
                transform-origin: 1px 2px 0
            }

            .split.is-vertical .split-bar .split-bar-arrow {
                width: 26px
            }

                .split.is-vertical .split-bar .split-bar-arrow:before, .split.is-vertical .split-bar .split-bar-arrow:after {
                    content: "";
                    border-radius: 16px;
                    height: 8px;
                    transform: rotate(90deg);
                    width: 2px
                }

            .split.is-vertical .split-bar .split-bar-arrow-left {
                left: 24px;
                bottom: 20px
            }

                .split.is-vertical .split-bar .split-bar-arrow-left:before {
                    top: 3px;
                    left: 10px;
                    transform-origin: 2px 7px 0
                }

                .split.is-vertical .split-bar .split-bar-arrow-left:after {
                    left: 11px;
                    top: 8px;
                    transform-origin: 1px 1px 0
                }

            .split.is-vertical .split-bar .split-bar-arrow-right {
                left: -25px;
                top: 20px
            }

                .split.is-vertical .split-bar .split-bar-arrow-right:before {
                    left: 12px;
                    top: 8px;
                    transform-origin: 1px 6px 0
                }

                .split.is-vertical .split-bar .split-bar-arrow-right:after {
                    left: 10px;
                    top: 12px;
                    transform-origin: 1px 2px 0
                }

            .split.is-vertical .split-bar .split-bar-handler {
                width: 24px;
                height: auto;
                padding: 0 2px;
                flex-direction: column
            }

                .split.is-vertical .split-bar .split-bar-handler > div {
                    width: 100%;
                    height: 2px
                }

                    .split.is-vertical .split-bar .split-bar-handler > div:not(:first-child) {
                        margin-inline-start: 0;
                        margin-block-start: 4px
                    }

    .split .split-pane {
        width: 100%;
        height: 100%;
        position: relative
    }

    .split .split-left {
        order: 0;
        overflow: hidden
    }

        .split .split-left.is-collapsed {
            transition: flex-basis .3s linear
        }

    .split .split-right {
        order: 2;
        flex: 1;
        overflow: hidden
    }

    .split .split-bar {
        order: 1;
        width: var(--bb-split-bar-width);
        display: flex;
        justify-content: center;
        align-items: center;
        cursor: col-resize;
        background-color: var(--bb-split-bar-bg);
        z-index: 10;
        transition: background-color .3s linear
    }

        .split .split-bar:after {
            content: "";
            cursor: col-resize;
            display: block;
            height: 100%;
            position: absolute;
            width: 16px;
            z-index: 10
        }

        .split .split-bar:hover {
            background: var(--bb-split-bar-hover-bg)
        }

            .split .split-bar:hover .split-bar-handler {
                background-color: var(--bb-split-bar-handle-hover-bg)
            }

                .split .split-bar:hover .split-bar-handler > div {
                    background: var(--bb-split-bar-handle-hover-color)
                }

            .split .split-bar:hover .split-bar-arrow {
                background-color: var(--bb-split-bar-arrow-hover-bg);
                border: 1px solid var(--bb-split-bar-arrow-hover-border-color)
            }

                .split .split-bar:hover .split-bar-arrow:before, .split .split-bar:hover .split-bar-arrow:after {
                    background-color: var(--bb-split-bar-arrow-hover-border-color);
                    opacity: 1
                }

            .split .split-bar:hover .split-bar-arrow-left:before {
                transform: rotate(45deg)
            }

            .split .split-bar:hover .split-bar-arrow-left:after {
                transform: rotate(-45deg)
            }

            .split .split-bar:hover .split-bar-arrow-right:before {
                transform: rotate(-40deg)
            }

            .split .split-bar:hover .split-bar-arrow-right:after {
                transform: rotate(40deg)
            }

        .split .split-bar .split-bar-arrow {
            background-color: var(--bb-split-bar-arrow-bg);
            border-color: var(--bb-split-bar-arrow-border-color);
            transition: background-color .5s ease-out;
            border-radius: 50%;
            border-image: none;
            border-width: 1px;
            cursor: pointer;
            display: flex;
            height: 26px;
            padding: 1px 12px;
            position: relative;
            opacity: .9;
            z-index: 5
        }

            .split .split-bar .split-bar-arrow:before, .split .split-bar .split-bar-arrow:after {
                content: "";
                background-color: var(--bb-split-bar-arrow-bg);
                opacity: 0;
                transition-duration: .3s;
                transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
                border-radius: 16px;
                height: 8px;
                position: absolute;
                transform: rotate(0deg);
                width: 2px
            }

            .split .split-bar .split-bar-arrow:before {
                top: 5px;
                transform-origin: 1px 7px 0
            }

            .split .split-bar .split-bar-arrow:after {
                top: 11px;
                transform-origin: 1px 1px 0
            }

        .split .split-bar .split-bar-handler {
            display: flex;
            justify-content: center;
            align-items: center;
            height: 24px;
            position: relative;
            background-color: var(--bb-split-bar-handle-bg);
            padding: 2px 0px
        }

            .split .split-bar .split-bar-handler > div {
                border-radius: 3px;
                background: var(--bb-split-bar-handle-color);
                width: 2px;
                height: 100%
            }

                .split .split-bar .split-bar-handler > div:not(:first-child) {
                    margin-left: 4px
                }

        .split .split-bar .split-bar-arrow-left {
            right: 5px
        }

            .split .split-bar .split-bar-arrow-left:before, .split .split-bar .split-bar-arrow-left:after {
                left: 8px
            }

        .split .split-bar .split-bar-arrow-right {
            left: 5px
        }

            .split .split-bar .split-bar-arrow-right:before, .split .split-bar .split-bar-arrow-right:after {
                right: 8px
            }

.step {
    --bb-step-border-width: 2px;
    --bb-step-item-color: var(--bs-secondary);
    --bb-step-item-header-height: 36px;
    --bb-step-item-text-height: 24px;
    --bb-step-item-text-width: 24px;
    --bb-step-item-line-height: 2px;
    --bb-step-item-line-bg: var(--bs-secondary);
    --bb-step-item-line-transition: width 0.3s ease-in-out;
    --bb-step-item-line-vertical-transition: height 0.3s ease-in-out;
    --bb-step-item-line-width: 0;
    --bb-step-item-line-progress-bg: var(--bs-success);
    --bb-step-vertical-min-height: 460px
}

    .step.step-vertical {
        display: flex;
        flex-direction: row;
        min-height: var(--bb-step-vertical-min-height)
    }

        .step.step-vertical .step-header {
            display: flex;
            flex-direction: column
        }

            .step.step-vertical .step-header .step-item {
                display: flex;
                flex-direction: row
            }

                .step.step-vertical .step-header .step-item .step-item-header {
                    flex-direction: column;
                    height: initial
                }

                    .step.step-vertical .step-header .step-item .step-item-header .step-line {
                        width: var(--bb-step-item-line-height);
                        margin: .5rem 0
                    }

                        .step.step-vertical .step-header .step-item .step-item-header .step-line:after {
                            width: var(--bb-step-item-line-height);
                            height: var(--bb-step-item-line-width);
                            transition: var(--bb-step-item-line-vertical-transition)
                        }

                .step.step-vertical .step-header .step-item .step-item-content {
                    display: flex;
                    flex-direction: column;
                    margin-left: .5rem
                }

                    .step.step-vertical .step-header .step-item .step-item-content .step-desc {
                        min-width: 70px
                    }

        .step.step-vertical .step-body {
            flex: 1;
            margin-left: .5rem
        }

    .step .step-header {
        display: flex
    }

        .step .step-header .step-item {
            color: var(--bb-step-item-color)
        }

            .step .step-header .step-item.active {
                --bb-step-item-color: var(--bs-body-color)
            }

            .step .step-header .step-item.is-done {
                --bb-step-item-color: var(--bs-success);
                --bb-step-item-line-width: 100%
            }

            .step .step-header .step-item:not(:last-child) {
                flex: 1
            }

        .step .step-header .step-item-header {
            position: relative;
            display: flex;
            align-items: center;
            height: var(--bb-step-item-header-height)
        }

            .step .step-header .step-item-header .step-text {
                white-space: nowrap
            }

            .step .step-header .step-item-header .step-title {
                border-radius: 50%;
                border: var(--bb-step-border-width) solid var(--bb-step-item-color);
                font-weight: 700;
                height: var(--bb-step-item-text-height);
                width: var(--bb-step-item-text-width);
                display: flex;
                justify-content: center;
                align-items: center
            }

            .step .step-header .step-item-header .step-line {
                background-color: var(--bb-step-item-line-bg);
                height: var(--bb-step-item-line-height);
                flex: 1;
                margin: 0 .5rem
            }

                .step .step-header .step-item-header .step-line:after {
                    content: "";
                    transition: var(--bb-step-item-line-transition);
                    display: block;
                    height: var(--bb-step-item-line-height);
                    width: var(--bb-step-item-line-width);
                    background-color: var(--bb-step-item-line-progress-bg)
                }

        .step .step-header .step-item-content .step-desc {
            font-size: .75rem;
            line-height: 1.25rem
        }

    .step .step-body .step-body-item:not(.active) {
        display: none
    }

.swal2-header {
    display: flex;
    flex-direction: column;
    align-items: center
}

.swal2-icon {
    position: relative;
    box-sizing: content-box;
    justify-content: center;
    width: 5em;
    height: 5em;
    margin: 1.25em auto 1.875em;
    zoom: normal;
    border: .25em solid rgba(0,0,0,0);
    border-radius: 50%;
    line-height: 5em;
    cursor: default;
    user-select: none
}

.swal2-title {
    position: relative;
    max-width: 100%;
    margin: 0 0 .4em;
    padding: 0;
    color: #595959;
    font-size: 1.875em;
    font-weight: 600;
    text-align: center;
    text-transform: none;
    word-wrap: break-word
}

.swal2-content {
    z-index: 1;
    justify-content: center;
    margin: 0;
    padding: 0;
    color: #545454;
    font-size: 1.125em;
    font-weight: 300;
    line-height: normal;
    word-wrap: break-word
}

.swal2-actions {
    z-index: 1;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 1.25em auto 0
}

.swal2-footer {
    justify-content: center;
    margin: 1.25em 0 0;
    padding: 1em 0 0;
    border-top: 1px solid #eee;
    color: #545454;
    font-size: 1em
}

.swal2-icon, .swal2-actions {
    display: flex
}

.swal2-actions {
    margin-block-end: 1rem
}

.switch {
    --bb-switch-padding: 7px 0;
    --bb-switch-border-color: #dcdfe6;
    --bb-switch-bg: #dcdfe6;
    --bb-switch-border-radius: 10px;
    --bb-switch-bar-width: 16px;
    --bb-switch-bar-height: 16px;
    --bb-switch-bar-bg-color: #fff;
    --bb-switch-bar-radius: 50%;
    --bb-switch-bar-top: 1px;
    --bb-switch-bar-off: 1px;
    --bb-switch-bar-on: 1px;
    --bb-switch-inner-text-font-size: 80%;
    --bb-switch-inner-on-text-left: 7px;
    --bb-switch-inner-on-text-color: #fff;
    --bb-switch-inner-off-text-left: 20px;
    --bb-switch-inner-off-text-color: #606266;
    --bb-switch-label-margin-left: 10px;
    display: inline-flex;
    align-items: center;
    width: 100%;
    padding: var(--bb-switch-padding)
}

    .switch.disabled {
        opacity: .5
    }

    .switch .switch-core {
        margin: 0;
        display: inline-block;
        position: relative;
        border: 1px solid var(--bb-switch-border-color);
        outline: none;
        border-radius: var(--bb-switch-border-radius);
        box-sizing: border-box;
        background: var(--bb-switch-bg);
        cursor: pointer;
        transition: border-color .3s,background-color .3s;
        vertical-align: middle
    }

        .switch .switch-core:after {
            content: "";
            position: absolute;
            top: var(--bb-switch-bar-top);
            border-radius: var(--bb-switch-bar-radius);
            transition: all .3s;
            width: var(--bb-switch-bar-width);
            height: var(--bb-switch-bar-height);
            background-color: var(--bb-switch-bar-bg-color)
        }

        .switch .switch-core:before {
            content: attr(data-inner-text);
            position: absolute;
            top: var(--bb-switch-bar-top);
            left: var(--bb-switch-inner-off-text-left);
            transition: all .3s;
            font-size: var(--bb-switch-inner-text-font-size);
            color: var(--bb-switch-inner-off-text-color)
        }

    .switch.is-checked .switch-core:before {
        left: var(--bb-switch-inner-on-text-left);
        color: var(--bb-switch-inner-on-text-color)
    }

    .switch:not(.is-checked) .switch-core:after {
        left: var(--bb-switch-bar-off)
    }

    .switch.is-checked .switch-core:after {
        right: var(--bb-switch-bar-on)
    }

    .switch .switch-label {
        margin-left: var(--bb-switch-label-margin-left);
        cursor: pointer
    }

.tabs {
    --bb-tabs-item-padding: 0 0.5rem;
    --bb-tabs-item-height: 40px;
    --bb-tabs-item-active-color: #005187;
    --bb-tabs-item-hover-color: #005187;
    --bb-tabs-item-disabled-opacity: 0.5;
    --bb-tabs-border-card-top-item-margin-top: -1px;
    --bb-tabs-bar-width: 40px;
    --bb-tabs-bar-height: 40px;
    --bb-tabs-bar-bg: #005187;
    --bb-tabs-body-padding: 1rem;
    --bb-tabs-header-vertical-min-width: 126px;
    --bb-tabs-item-close-button-height: 21px;
    display: flex;
    flex-flow: column
}

    .tabs .tabs-body-content {
        background-color: var(--bs-body-bg)
    }

        .tabs .tabs-body-content.bb-fs-open {
            padding: var(--bb-tabs-body-padding);
            overflow: auto
        }

.tabs-header {
    background-color: var(--bs-body-bg);
    border-top-left-radius: var(--bs-border-radius);
    border-top-right-radius: var(--bs-border-radius)
}

.tabs-bottom > .tabs-header {
    border-bottom-left-radius: var(--bs-border-radius);
    border-bottom-right-radius: var(--bs-border-radius)
}

.tabs-left > .tabs-header {
    border-bottom-left-radius: var(--bs-border-radius)
}

.tabs-right > .tabs-header {
    border-bottom-right-radius: var(--bs-border-radius)
}

.tabs-nav-wrap {
    position: relative;
    height: var(--bb-tabs-item-height);
    display: flex;
    align-items: center
}

    .tabs-nav-wrap > .dropdown-toggle:after {
        display: none
    }

    .tabs-nav-wrap > .dropdown-toggle .dropdown-item {
        transition: background-color .3s linear
    }

        .tabs-nav-wrap > .dropdown-toggle .dropdown-item:hover {
            background-color: var(--bb-tabs-item-hover-color)
        }

.tabs-nav-scroll {
    overflow: hidden;
    height: 100%;
    border-radius: var(--bs-border-radius) var(--bs-border-radius) 0 0;
    flex: 1;
    width: 1%;
    min-width: 0
}

.extend .tabs-nav-scroll {
    border-radius: 0
}

.tabs-nav {
    white-space: nowrap;
    position: relative;
    display: flex;
    height: 100%
}

    .tabs-nav .bb-cm-zone {
        display: flex;
        flex-wrap: nowrap
    }

.tabs-nav-wrap > .nav-link-bar {
    cursor: pointer;
    font-size: var(--bb-font-size);
    color: var(--bs-body-color);
    width: var(--bb-tabs-bar-width);
    height: 100%;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--bs-border-color);
    display: none
}

    .tabs-nav-wrap > .nav-link-bar.left {
        border-width: 0
    }

    .tabs-nav-wrap > .nav-link-bar.right {
        border-width: 0
    }

    .tabs-nav-wrap > .nav-link-bar.dropdown {
        border-width: 0 0 1px 1px;
        border-radius: 0 var(--bs-border-radius) 0 0
    }

.tabs .extend .nav-link-bar {
    display: flex
}

    .tabs .extend .nav-link-bar.left {
        border-width: 0 1px 1px 0
    }

    .tabs .extend .nav-link-bar.right {
        border-width: 0 0 1px 1px
    }

.tabs .of .tabs-nav-scroll {
    border-radius: 0
}

.tabs .of .nav-link-bar {
    display: flex
}

.tabs .tabs-active-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
    background-color: var(--bb-tabs-bar-bg);
    transition: transform .3s cubic-bezier(0.645, 0.045, 0.355, 1);
    list-style: none
}

.tabs-item-wrap.active .tabs-item {
    color: var(--bb-tabs-item-active-color)
}

.tabs-item {
    padding: var(--bb-tabs-item-padding);
    height: var(--bb-tabs-item-height);
    display: flex;
    list-style: none;
    font-weight: 500;
    color: var(--bs-body-color);
    cursor: pointer;
    align-items: center;
    position: relative;
    transition: color .3s cubic-bezier(0.645, 0.045, 0.355, 1),padding .3s cubic-bezier(0.645, 0.045, 0.355, 1),transform .3s linear
}

    .tabs-item.disabled {
        opacity: var(--bb-tabs-item-disabled-opacity)
    }

    .tabs-item:not(.disabled):hover {
        color: var(--bb-tabs-item-hover-color)
    }

    .tabs-item:hover .tabs-item-close {
        visibility: visible
    }

    .tabs-item .tabs-item-body {
        display: flex;
        align-items: center;
        flex-wrap: nowrap
    }

    .tabs-item .tabs-item-text {
        font-size:1.1em;
        padding: 0 .25rem;
        pointer-events: none;
        user-select: none
    }

    .tabs-item .tabs-item-close {
        width: var(--bb-tabs-item-close-button-height);
        height: var(--bb-tabs-item-close-button-height);
        visibility: hidden;
        display: flex;
        justify-content: center;
        align-items: center
    }

        .tabs-item .tabs-item-close:hover {
            background-color: #e4e7ed;
            border-radius: var(--bs-border-radius)
        }

.tabs .tabs-body {
    background-color: var(--bs-body-bg);
    padding: var(--bb-tabs-body-padding);
    flex: 1
}

.tabs .tabs-content {
    position: relative
}

.tabs.tabs-card, .tabs.tabs-border-card {
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius)
}

    .tabs.tabs-card > .tabs-header > .tabs-nav-wrap:after, .tabs.tabs-border-card .tabs-nav-wrap:after {
        content: none
    }

    .tabs.tabs-card > .tabs-header .tabs-item, .tabs.tabs-border-card > .tabs-header .tabs-item {
        height: 100%;
        border: 1px solid var(--bs-border-color);
        border-width: 0 1px 1px 0
    }

    .tabs.tabs-card > .tabs-header .tabs-item-wrap.active .tabs-item, .tabs.tabs-border-card > .tabs-header .tabs-item-wrap.active .tabs-item {
        border-width: 0 1px 0px 0
    }

.tabs .tabs-item-fix {
    height: 100%;
    flex: 1;
    width: 1%;
    min-width: 0;
    border: 1px solid var(--bs-border-color);
    border-width: 0 0 1px 0
}

.tabs.tabs-card > .tabs-header .of .nav-link-bar.left, .tabs.tabs-border-card > .tabs-header .of .nav-link-bar.left {
    border-width: 0 1px 1px 0
}

.tabs.tabs-card.tabs-right > .tabs-header .of .nav-link-bar.left, .tabs.tabs-border-card.tabs-right > .tabs-header .of .nav-link-bar.left {
    border-width: 0 0 1px 1px
}

.tabs.tabs-card > .tabs-header .of .nav-link-bar.right, .tabs.tabs-border-card > .tabs-header .of .nav-link-bar.right {
    border-width: 0 0 1px 1px
}

.tabs.tabs-card.tabs-right > .tabs-header .of .nav-link-bar.right, .tabs.tabs-border-card.tabs-right > .tabs-header .of .nav-link-bar.right {
    border-width: 1px 0 0 1px
}

.tabs.tabs-vertical > .tabs-header .of .nav-link-bar.left i {
    transform: rotate(90deg)
}

.tabs.tabs-vertical > .tabs-header .of .nav-link-bar.right i {
    transform: rotate(90deg)
}

.tabs.tabs-border-card {
    background: var(--bs-body-bg);
    box-shadow: 0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04)
}

    .tabs.tabs-border-card > .tabs-header .nav-link-bar.left {
        border-top-left-radius: var(--bs-border-radius)
    }

.tabs:not(.extend).of .nav-link-bar.right {
    border-radius: 0 var(--bs-border-radius) 0 0
}

.tabs.tabs-card .tabs-body {
    border-top-width: 0;
    border-radius: 0 0 var(--bs-border-radius) var(--bs-border-radius)
}

.tabs.tabs-border-card .tabs-body {
    border-radius: 0 0 var(--bs-border-radius) var(--bs-border-radius)
}

.tabs.tabs-bottom {
    flex-flow: column-reverse
}

    .tabs.tabs-bottom .tabs-nav-wrap:after {
        top: 0;
        bottom: auto
    }

    .tabs.tabs-bottom .tabs-nav-scroll {
        border-radius: 0 0 var(--bs-border-radius) var(--bs-border-radius)
    }

    .tabs.tabs-bottom .tabs-active-bar {
        top: 0;
        bottom: auto
    }

.tabs.tabs-card.tabs-bottom > .tabs-header .of .tabs-nav-scroll, .tabs.tabs-border-card.tabs-bottom > .tabs-header .of .tabs-nav-scroll {
    border-radius: 0
}

.tabs.tabs-card.tabs-bottom > .tabs-header .nav-link-bar.left, .tabs.tabs-border-card.tabs-bottom > .tabs-header .nav-link-bar.left {
    border-radius: 0 0 0 var(--bs-border-radius);
    border-width: 1px 1px 0 0
}

.tabs.tabs-card.tabs-bottom > .tabs-header .nav-link-bar.right, .tabs.tabs-border-card.tabs-bottom > .tabs-header .nav-link-bar.right {
    border-radius: 0 0 var(--bs-border-radius) 0;
    border-width: 1px 0 0 1px
}

.tabs.tabs-card.tabs-bottom .tabs-body, .tabs.tabs-border-card.tabs-bottom .tabs-body {
    border-radius: var(--bs-border-radius) 0 0 var(--bs-border-radius)
}

.tabs.tabs-card.tabs-bottom > .tabs-header .tabs-item, .tabs.tabs-border-card.tabs-bottom > .tabs-header .tabs-item {
    border-width: 1px 1px 0 0
}

.tabs.tabs-card.tabs-bottom > .tabs-header .tabs-item-wrap.active .tabs-item, .tabs.tabs-border-card.tabs-bottom > .tabs-header .tabs-item-wrap.active .tabs-item {
    border-width: 0 1px 0 0
}

.tabs.tabs-bottom > .tabs-header .tabs-item-fix {
    border-width: 1px 0 0 0
}

.tabs.tabs-left {
    flex-flow: row
}

.tabs.tabs-right {
    flex-flow: row-reverse
}

.tabs.tabs-vertical > .tabs-header .tabs-nav-wrap {
    height: 100%;
    flex-direction: column
}

    .tabs.tabs-vertical > .tabs-header .tabs-nav-wrap:after {
        top: 0;
        bottom: 0;
        left: auto;
        right: 0;
        height: auto;
        width: 2px
    }

.tabs.tabs-vertical > .tabs-header {
    min-width: var(--bb-tabs-header-vertical-min-width)
}

    .tabs.tabs-vertical > .tabs-header .tabs-nav {
        flex-flow: column;
        height: auto
    }

    .tabs.tabs-vertical > .tabs-header .tabs-nav-scroll {
        border-radius: 0;
        height: 1%;
        min-height: 0;
        width: 100%
    }

    .tabs.tabs-vertical > .tabs-header .tabs-active-bar {
        bottom: auto;
        left: auto;
        right: 0
    }

    .tabs.tabs-vertical > .tabs-header .tabs-item {
        height: var(--bb-tabs-item-height);
        justify-content: flex-end
    }

    .tabs.tabs-vertical > .tabs-header .tabs-item-wrap:last-child .tabs-item {
        border-width: 0 1px 0 0
    }

.tabs.tabs-vertical.tabs-right > .tabs-header .tabs-nav-wrap:after {
    left: 0;
    right: auto
}

.tabs.tabs-vertical.tabs-right > .tabs-header .tabs-item {
    justify-content: flex-start
}

.tabs.tabs-vertical.tabs-card > .tabs-header .tabs-item-wrap.active .tabs-item, .tabs.tabs-vertical.tabs-border-card > .tabs-header .tabs-item-wrap.active .tabs-item {
    border-width: 0 0 1px 0
}

.tabs.tabs-vertical.tabs-card > .tabs-header .tabs-item-wrap:last-child.active .tabs-item, .tabs.tabs-vertical.tabs-border-card > .tabs-header .tabs-item-wrap:last-child.active .tabs-item {
    border-width: 0
}

.tabs.tabs-card.tabs-right > .tabs-header .tabs-item, .tabs.tabs-border-card.tabs-right > .tabs-header .tabs-item {
    border-width: 0 0 1px 1px
}

.tabs.tabs-card.tabs-right > .tabs-header .tabs-item-wrap.active .tabs-item, .tabs.tabs-border-card.tabs-right > .tabs-header .tabs-item-wrap.active .tabs-item {
    border-width: 0 0 1px 0
}

.tabs.tabs-card.tabs-right > .tabs-header .tabs-item-wrap:last-child.active .tabs-item, .tabs.tabs-border-card.tabs-right > .tabs-header .tabs-item-wrap:last-child.active .tabs-item {
    border-width: 0
}

.tabs.tabs-vertical.tabs-card > .tabs-header .of .nav-link-bar.right, .tabs.tabs-vertical.tabs-border-card > .tabs-header .of .nav-link-bar.right {
    border-width: 1px 1px 0 0
}

.tabs.tabs-vertical.tabs-card.tabs-right > .tabs-header .of .nav-link-bar.right, .tabs.tabs-vertical.tabs-border-card.tabs-right > .tabs-header .of .nav-link-bar.right {
    border-width: 1px 0 0 1px
}

.tabs.tabs-vertical.tabs-border-card.tabs-right > .tabs-header .nav-link-bar.left {
    border-top-left-radius: 0
}

.tabs.tabs-vertical > .tabs-header .tabs-item-fix {
    border-width: 0 1px 0 0
}

.tabs.tabs-vertical.tabs-right > .tabs-header .tabs-item-fix {
    border-width: 0 0 0 1px
}

.tabs.tabs-vertical > .tabs-header .nav-link-bar {
    height: var(--bb-tabs-bar-height);
    width: 100%
}

.tabs.tabs-right > .tabs-header .tabs-active-bar {
    right: auto;
    left: 0
}

.tab-dragging .tabs-item-wrap:not(:hover) .tabs-item {
    pointer-events: none
}

.tab-dragging .tab-drag-over .tabs-item {
    animation: drag-tab-item 1s linear infinite
}

.tab-dragging .tab-drag {
    background-color: var(--bs-secondary)
}

@keyframes drag-tab-item {
    50% {
        background-color: var(--bs-primary) !important
    }
}

.tabs-chrome > .tabs-header, .tabs-capsule > .tabs-header {
    --bb-tabs-chrome-item-height: 36px;
    --bb-tabs-header-bg-color: var(--bs-border-color);
    --bb-tabs-item-body-border-radius: 14.5px;
    --bb-tabs-item-body-padding: 4px 10px;
    --bb-tabs-item-hover-bg-color: rgba(var(--bs-body-color-rgb), 0.1);
    --bb-tabs-item-active-bg-color: var(--bs-body-bg);
    --bb-tabs-item-active-color: var(--bs-body-color);
    --bb-tabs-item-hover-color: var(--bs-body-color);
    --bb-tabs-item-bg-color: rgba(var(--bs-body-color-rgb), 0.08);
    --bb-tabs-item-text-padding: 0 .5rem;
    background-color: var(--bb-tabs-header-bg-color)
}

    .tabs-chrome > .tabs-header .tabs-item-wrap:not(.active) .tabs-item:not(.disabled) .tabs-item-body:hover, .tabs-capsule > .tabs-header .tabs-item-wrap:not(.active) .tabs-item:not(.disabled) .tabs-item-body:hover {
        background-color: var(--bb-tabs-item-hover-bg-color)
    }

    .tabs-chrome > .tabs-header .tabs-item-wrap .btn-fs, .tabs-capsule > .tabs-header .tabs-item-wrap .btn-fs {
        padding: 0
    }

    .tabs-chrome > .tabs-header .tabs-item-wrap .tabs-item .tabs-item-body, .tabs-capsule > .tabs-header .tabs-item-wrap .tabs-item .tabs-item-body {
        padding: var(--bb-tabs-item-body-padding);
        display: flex;
        align-items: center;
        flex-wrap: nowrap;
        border-radius: var(--bb-tabs-item-body-border-radius)
    }

        .tabs-chrome > .tabs-header .tabs-item-wrap .tabs-item .tabs-item-body .tabs-item-text, .tabs-capsule > .tabs-header .tabs-item-wrap .tabs-item .tabs-item-body .tabs-item-text {
            padding: var(--bb-tabs-item-text-padding)
        }

        .tabs-chrome > .tabs-header .tabs-item-wrap .tabs-item .tabs-item-body .tabs-item-close, .tabs-capsule > .tabs-header .tabs-item-wrap .tabs-item .tabs-item-body .tabs-item-close {
            display: flex;
            position: unset;
            border-radius: 50%
        }

    .tabs-chrome > .tabs-header .tab-drag-over .tabs-item, .tabs-capsule > .tabs-header .tab-drag-over .tabs-item {
        animation: none
    }

        .tabs-chrome > .tabs-header .tab-drag-over .tabs-item .tabs-item-body, .tabs-capsule > .tabs-header .tab-drag-over .tabs-item .tabs-item-body {
            animation: drag-tab-item 1s linear infinite
        }

    .tabs-chrome > .tabs-header .nav-link-bar, .tabs-capsule > .tabs-header .nav-link-bar {
        padding: 3px .5rem
    }

        .tabs-chrome > .tabs-header .nav-link-bar .nav-link-bar-button, .tabs-capsule > .tabs-header .nav-link-bar .nav-link-bar-button {
            cursor: pointer;
            padding: 0 .75rem;
            height: 100%;
            display: flex;
            align-items: center;
            border-radius: var(--bs-border-radius);
            user-select: none
        }

            .tabs-chrome > .tabs-header .nav-link-bar .nav-link-bar-button:hover, .tabs-capsule > .tabs-header .nav-link-bar .nav-link-bar-button:hover {
                background-color: var(--bb-tabs-item-hover-bg-color)
            }

        .tabs-chrome > .tabs-header .nav-link-bar > [data-bs-toggle=tooltip], .tabs-capsule > .tabs-header .nav-link-bar > [data-bs-toggle=tooltip] {
            height: 100%;
            display: flex;
            align-items: center
        }

.tabs-chrome {
    --bb-tabs-header-padding: 0 0.25rem;
    --bb-tabs-item-wrap-padding-x: 1rem;
    --bb-tabs-item-body-margin-bottom: 4px
}

    .tabs-chrome > .tabs-header {
        padding: var(--bb-tabs-header-padding)
    }

        .tabs-chrome > .tabs-header .nav-link-bar-button:hover {
            z-index: 2
        }

        .tabs-chrome > .tabs-header .of .tabs-nav-scroll, .tabs-chrome > .tabs-header .extend .tabs-nav-scroll {
            margin-inline-start: -1rem
        }

        .tabs-chrome > .tabs-header .tabs-item-wrap {
            overflow: hidden;
            position: relative;
            display: flex;
            align-items: flex-end;
            flex-shrink: 0;
            padding: 0 var(--bb-tabs-item-wrap-padding-x)
        }

            .tabs-chrome > .tabs-header .tabs-item-wrap.active {
                z-index: 1
            }

                .tabs-chrome > .tabs-header .tabs-item-wrap.active .tab-corner {
                    background-color: var(--bs-body-bg)
                }

                .tabs-chrome > .tabs-header .tabs-item-wrap.active .tabs-item {
                    background-color: var(--bb-tabs-item-active-bg-color)
                }

            .tabs-chrome > .tabs-header .tabs-item-wrap:not(:first-child) {
                margin-inline-start: calc(0px - 2*var(--bb-tabs-item-wrap-padding-x))
            }

            .tabs-chrome > .tabs-header .tabs-item-wrap:not(.active):not(:hover):not(:first-child) .tabs-item:before {
                content: "";
                width: 2px;
                background-color: rgba(var(--bs-emphasis-color-rgb), 0.2);
                position: absolute;
                left: 0;
                top: 8px;
                bottom: 10px
            }

            .tabs-chrome > .tabs-header .tabs-item-wrap.active + .tabs-item-wrap .tabs-item:before, .tabs-chrome > .tabs-header .tabs-item-wrap:hover + .tabs-item-wrap .tabs-item:before {
                content: none !important
            }

            .tabs-chrome > .tabs-header .tabs-item-wrap:hover:not(.active) {
                z-index: 5
            }

                .tabs-chrome > .tabs-header .tabs-item-wrap:hover:not(.active) .tab-corner {
                    display: none
                }

            .tabs-chrome > .tabs-header .tabs-item-wrap .tabs-item {
                border: none !important;
                border-top-left-radius: 10px;
                border-top-right-radius: 10px;
                height: var(--bb-tabs-chrome-item-height) !important
            }

                .tabs-chrome > .tabs-header .tabs-item-wrap .tabs-item .tabs-item-body {
                    margin-bottom: var(--bb-tabs-item-body-margin-bottom)
                }

            .tabs-chrome > .tabs-header .tabs-item-wrap .tab-corner {
                height: calc(2*var(--bb-tabs-item-wrap-padding-x));
                width: calc(2*var(--bb-tabs-item-wrap-padding-x));
                display: inline-flex;
                justify-content: center;
                align-items: center;
                position: absolute
            }

                .tabs-chrome > .tabs-header .tabs-item-wrap .tab-corner::after {
                    content: "";
                    position: absolute;
                    height: 100%;
                    width: 100%;
                    background-color: var(--bb-tabs-header-bg-color)
                }

            .tabs-chrome > .tabs-header .tabs-item-wrap .tab-corner-left {
                bottom: 0;
                left: calc(0px - var(--bb-tabs-item-wrap-padding-x))
            }

                .tabs-chrome > .tabs-header .tabs-item-wrap .tab-corner-left::after {
                    border-bottom-right-radius: 50%
                }

            .tabs-chrome > .tabs-header .tabs-item-wrap .tab-corner-right {
                bottom: 0;
                right: calc(0px - var(--bb-tabs-item-wrap-padding-x))
            }

                .tabs-chrome > .tabs-header .tabs-item-wrap .tab-corner-right::after {
                    border-bottom-left-radius: 50%
                }

.tabs-capsule > .tabs-header .of .tabs-nav-scroll, .tabs-capsule > .tabs-header .extend .tabs-nav-scroll {
    margin-inline-start: -0.5rem
}

.tabs-capsule > .tabs-header .tabs-item-wrap {
    margin-inline-start: calc(var(--bb-tabs-item-wrap-padding-x)/2)
}

    .tabs-capsule > .tabs-header .tabs-item-wrap.active .tabs-item .tabs-item-body {
        background-color: var(--bb-tabs-item-active-bg-color)
    }

    .tabs-capsule > .tabs-header .tabs-item-wrap .tabs-item {
        padding: 0
    }

        .tabs-capsule > .tabs-header .tabs-item-wrap .tabs-item .tabs-item-body {
            background-color: var(--bb-tabs-item-bg-color)
        }

.tabs:not(.tabs-vertical) > .tabs-header .tabs-nav-toolbar {
    display: flex
}

.tabs.tabs-bottom > .tabs-header .tabs-nav-toolbar {
    border-top: 1px solid var(--bs-border-color)
}

.tabs:not(.tabs-bottom) > .tabs-header .tabs-nav-toolbar {
    border-bottom: 1px solid var(--bs-border-color)
}

.tabs > .tabs-header .tabs-nav-toolbar {
    display: none;
    align-items: center;
    height: 100%;
    padding: 3px .5rem
}

    .tabs > .tabs-header .tabs-nav-toolbar > [data-bs-toggle=tooltip] {
        height: 100%;
        display: flex;
        align-items: center
    }

    .tabs > .tabs-header .tabs-nav-toolbar .tabs-nav-toolbar-button {
        cursor: pointer;
        padding: 0 .75rem;
        height: 100%;
        display: flex;
        align-items: center;
        border-radius: var(--bs-border-radius);
        user-select: none
    }

        .tabs > .tabs-header .tabs-nav-toolbar .tabs-nav-toolbar-button:not(.disabled):not(:disabled):hover {
            background-color: var(--bb-tabs-item-hover-bg-color)
        }

        .tabs > .tabs-header .tabs-nav-toolbar .tabs-nav-toolbar-button .btn {
            padding: 0
        }

.table-container {
    --bb-table-td-padding-x: .4rem;
    --bb-table-td-padding-y: .3rem;
    --bb-table-cardview-label-width: 30%;
    --bb-table-header-hover-bg: #e9ecef;
    --bb-table-header-icon-color: #ddd;
    --bb-table-header-icon-active-color: #005187;
    --bb-table-header-icon-hover-bg: #ddd;
    --bb-table-header-icon-hover-color: #606266;
    --bb-table-header-min-height: 37px;
    --bb-table-footer-font-weight: blod;
    --bb-table-card-row-padding: .75rem .5rem;
    --bb-table-columnlist-max-height: var(--bb-dropdown-max-height);
    --bs-table-striped-bg: rgba(0, 0, 0, .05);
    --bs-table-hover-bg: rgba(0, 0, 0, .075);
    --bb-table-search-body-margin: 1rem;
    --bb-table-copy-column-margin-right: .5rem;
    --bb-table-column-fixed-border-color: rgba(var(--bs-body-color-rgb), .18);
    --bb-loader-bg: rgba(var(--bs-body-color-rgb), .2);
    --bb-table-column-resizer-color: #ddd;
    --bb-table-column-resizer-hover-color: #ddd;
    --bb-table-row-active-bg: rgba(var(--bs-body-color-rgb), .25);
    --bb-table-row-hover-bg: rgba(var(--bs-body-color-rgb), .1);
    --bb-table-pagination-color: var(--bs-body-color);
    --bb-table-pagination-active-color: var(--bs-body-color);
    --bb-table-pagination-active-bg: rgba(var(--bs-body-color-rgb), .1);
    --bb-table-pagination-active-border-color: rgba(var(--bs-body-color-rgb), .15);
    position: relative;
    height: 100%
}

    .table-container .nav-pages {
        margin-block-start: .5rem
    }

        .table-container .nav-pages .pagination {
            --bs-pagination-color: var(--bb-table-pagination-color);
            --bs-pagination-active-bg: var(--bb-table-pagination-active-bg);
            --bs-pagination-active-color: var(--bb-table-pagination-active-color);
            --bs-pagination-active-border-color: var(--bb-table-pagination-active-border-color)
        }

    .table-container .table-card.table-fixed {
        overflow: auto
    }

    .table-container .table:not(.table-excel) .switch {
        --bb-switch-padding: 0
    }

    .table-container .table > :not(caption) > * > * {
        padding: var(--bb-table-td-padding-y) var(--bb-table-td-padding-x)
    }

.table-excel {
    --bb-border-hover-color: transparent;
    --bb-border-focus-color: transparent
}

[data-bs-theme=dark] .table, .table-dark {
    --bb-table-header-hover-bg: #343a40;
    --bb-table-header-icon-hover-bg: #6c757d;
    --bb-table-header-icon-hover-color: #495057
}

.table-light {
    --bb-table-header-icon-color: #c0c4cc;
    --bb-table-header-icon-hover-color: #495057
}

.table-sm {
    --bb-table-td-padding-x: .25rem;
    --bb-table-td-padding-y: .25rem
}

.filter-header th {
    --bb-table-td-padding-x: 0;
    --bb-table-td-padding-y: 0
}

    .filter-header th:hover {
        --bb-table-header-hover-bg: transparent
    }

.table-wrapper {
    border-radius: var(--bs-border-radius);
    border: 1px solid var(--bs-border-color)
}

    .table-wrapper thead tr:first-child {
        border-top: none
    }

    .table-wrapper tbody tr:last-child {
        /*border-bottom: none*/
    }

    .table-wrapper th:first-child, .table-wrapper td:first-child, .table-wrapper th.fixed-scroll {
        border-left-width: 0
    }

    .table-wrapper th:last-child, .table-wrapper td:last-child, .table-wrapper .table-fixed-header th:nth-last-of-type(2):not(.border-resize) {
        border-right-width: 0
    }

    .table-wrapper tr:last-child td {
        border-bottom-width: 0
    }

    .table-wrapper .table-fixed-body td:last-child {
        border-right-width: 1px
    }

.table {
    margin-block-end: 0
}

    .table thead th, .table tbody td {
        border-top: none;
        vertical-align:middle;
    }

    .table thead th {
        white-space: nowrap;
        vertical-align: top
    }

        .table thead th.sortable .table-text {
            cursor: pointer
        }

        .table thead th.sortable .table-text, .table thead th.filterable .table-text {
            padding-right: 1rem
        }

        .table thead th.sortable:hover, .table thead th.filterable:hover {
            background-color: var(--bb-table-header-hover-bg)
        }

        .table thead th .table-cell {
            position: relative
        }

        .table thead th .table-text {
            flex: 1
        }

        .table thead th .filter-icon, .table thead th .sort-icon, .table thead th .toolbox-icon {
            position: absolute;
            right: calc(0px - var(--bb-table-td-padding-x));
            top: calc(0px - var(--bb-table-td-padding-y));
            bottom: calc(0px - var(--bb-table-td-padding-y))
        }

            .table thead th .filter-icon > i, .table thead th .sort-icon, .table thead th .toolbox-icon {
                width: 1.5rem;
                display: flex;
                align-items: center;
                justify-content: center;
                color: var(--bb-table-header-icon-color);
                cursor: pointer
            }

            .table thead th .filter-icon > i {
                height: 100%
            }

                .table thead th .filter-icon > i:hover, .table thead th .sort-icon:hover, .table thead th .toolbox-icon:hover {
                    background-color: var(--bb-table-header-icon-hover-bg);
                    color: var(--bb-table-header-icon-hover-color)
                }

                .table thead th .filter-icon > i.active {
                    color: var(--bb-table-header-icon-active-color)
                }

        .table thead th.sortable.filterable .filter-icon, .table thead th.sortable .toolbox-icon, .table thead th.filterable .toolbox-icon {
            right: calc(1.5rem - var(--bb-table-td-padding-x))
        }

        .table thead th.sortable.filterable.toolbox .toolbox-icon {
            right: calc(3rem - var(--bb-table-td-padding-x))
        }

        .table thead th.sortable.filterable .table-text {
            padding-right: 2.5rem;
            overflow: hidden;
            text-overflow: ellipsis
        }

    .table .table-footer {
        font-weight: var(--bb-table-footer-font-weight);
        position: relative
    }

        .table .table-footer:before {
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            height: 2px;
            background-color: var(--bs-border-color)
        }

        .table .table-footer.table-footer-fixed {
            position: sticky;
            z-index: 2;
            bottom: 0
        }

            .table .table-footer.table-footer-fixed > tr > td {
                border-bottom-width: 0
            }

        .table .table-footer > tr:last-child {
            border-bottom: none
        }

    .table td, .table th {
        min-width: 0;
        text-overflow: ellipsis
    }

    .table .is-editform .table-cell {
        overflow: hidden
    }

.is-clickable tbody tr, .is-clickable .table-row {
    cursor: pointer
}

.table-cell {
    display: flex;
    align-items: center;
    word-break: break-all;
}

    .table-cell.center {
        justify-content: center
    }

        .table-cell.center > * {
            text-align: center
        }

        .table-cell.center > .switch {
            justify-content: center
        }

    .table-cell.end {
        justify-content: right
    }

        .table-cell.end > * {
            text-align: right
        }

        .table-cell.end > .switch {
            justify-content: flex-end
        }

    .table-cell .btn-group .btn {
        white-space: nowrap
    }

    .table-cell > .form-control, .table-cell > .select, .table-cell > .datetime-picker {
        --bs-border-color: transparent
    }

.table-hover tbody tr.is-detail:hover, .table-hover tbody tr.is-editform, .table-hover tbody tr.is-editform:hover {
    --bs-table-accent-bg: unset
}

.table tbody tr.is-master td:first-child {
    padding-left: 0;
    padding-right: 0
}

.table-toolbar:after {
    content: "";
    display: block;
    clear: both
}

.table-toolbar .table-toolbar-button {
    margin-block-end: .5rem
}

.table-toolbar .dropdown-menu {
    max-height: var(--bb-table-columnlist-max-height);
    overflow: auto
}

    .table-toolbar .dropdown-menu .dropdown-item span {
        margin-left: .5rem
    }

.table-toolbar .form-check.is-label {
    display: flex
}

.btn-gear .dropdown-menu {
    min-width: initial;
    padding: 0
}

    .btn-gear .dropdown-menu .dropdown-item {
        padding: 6px 12px;
        display: table-cell
    }

        .btn-gear .dropdown-menu .dropdown-item:not(.disabled) {
            color: #504d4d
        }

        .btn-gear .dropdown-menu .dropdown-item.disabled {
            pointer-events: auto
        }

        .btn-gear .dropdown-menu .dropdown-item:not(:first-child) {
            border-inline-start: solid 1px #aeb2b7
        }

.table-column-right {
    margin-inline-start: .3125rem
}

.search-input-tooltip {
    font-size: .75rem
}

    .search-input-tooltip kbd {
        display: inline-block;
        background: #17a2b8;
        padding: 1px 6px
    }

.table-layout-fixed {
    table-layout: fixed
}

.table-fixed {
    height: 100%;
    overflow: hidden
}

    .table-fixed .table-fixed-body {
        overflow-x: auto;
        overflow-y: scroll
    }

.table-fixed-header {
    overflow: hidden;
    border-top-left-radius: var(--bs-border-radius);
    border-top-right-radius: var(--bs-border-radius)
}

.table-scroll {
    overflow: auto
}

.table-fixed-body > .table > tbody > tr > td, .table-fixed-header > .table > thead > tr > th {
    overflow: hidden
}

td > .table-cell {
    overflow: hidden
}

.table tbody td .table-cell:not(.is-wrap) {
    white-space: nowrap
}

.table-cell.is-ellips {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

    .table-cell.is-ellips.is-resizable {
        /*position: absolute;
        left: 12px;
        right: 12px*/
    }

.table-loading, .table-loader, .form-loader {
    display: flex;
    justify-content: center;
    align-items: center;
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    padding: 2rem;
    flex: 1
}

.table-loader, .form-loader {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: var(--bb-loader-bg);
    z-index: 5
}

    .table-loader.show, .form-loader.show {
        display: flex
    }

.table tbody tr.active:not(.is-edit), .table-row.active {
    --bs-table-bg-type: var(--bb-table-row-active-bg)
}

.table-striped > tbody > tr.active:not(.is-edit):nth-of-type(odd) > * {
    --bs-table-bg-type: var(--bb-table-row-active-bg)
}

tr.active:not(.is-edit):hover {
    --bs-table-hover-bg: var(--bb-table-row-hover-bg)
}

.table-hover > tbody > tr.is-detail:hover, .table-hover > tbody > tr.is-edit.active, .table-excel > tbody > tr:hover {
    --bs-table-accent-bg: none
}

.table-row {
    padding: var(--bb-table-card-row-padding)
}

    .table-row:not(:last-child) {
        border-bottom: var(--bs-border-width) solid var(--bs-border-color)
    }

    .table-row .table-cell:not(:last-child) {
        padding-bottom: .5rem
    }

    .table-row .table-cell label:not(.form-check) {
        font-weight: bold;
        margin-block-end: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        margin-inline-end: 6px;
        flex-basis: var(--bb-table-cardview-label-width);
        flex-shrink: 0
    }

    .table-row .table-cell > span {
        display: inherit
    }

    .table-row.table-footer {
        display: flex
    }

        .table-row.table-footer .table-cell {
            padding-bottom: 0
        }

            .table-row.table-footer .table-cell:first-child {
                font-weight: bold;
                width: var(--bb-table-cardview-label-width);
                margin-block-end: 0;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap
            }

.table-striped .table-row:nth-of-type(odd) {
    background-color: var(--bs-table-striped-bg)
}

.table-striped .table-row:hover {
    background-color: var(--bb-table-row-hover-bg)
}

.table-fixed-column .table {
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0
}

.table-fixed-column .table-bordered > :not(caption) > * > * {
    border-width: 1px var(--bs-border-width)
}

.table-fixed-column .table .fixed, .table-fixed-column .table .fixed-scroll {
    background-color: var(--bs-table-bg)
}

.table-fixed-column .table th, .table-fixed-column .table td {
    border-left-width: 0;
    border-top-width: 0
}

.table-fixed-column .table .table-light .fixed, .table-fixed-column .table .table-light .fixed-scroll, .table-fixed-column .table .table-dark .fixed, .table-fixed-column .table .table-dark .fixed-scroll {
    background-color: var(--bs-table-bg)
}

.table-fixed-column .table .fixed {
    position: sticky;
    z-index: 2;
    overflow: unset
}

    .table-fixed-column .table .fixed.fr {
        border-right: 1px solid var(--bb-table-column-fixed-border-color)
    }

        .table-fixed-column .table .fixed.fr:after {
            box-shadow: inset 10px 0 8px -8px rgba(159,159,159,.22);
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            width: 30px;
            transform: translateX(100%);
            transition: box-shadow .3s;
            content: "";
            pointer-events: none
        }

.table-fixed-column .table .fixed-right.fl {
    border-left: 1px solid var(--bb-table-column-fixed-border-color)
}

.table-fixed-column .table .fixed.fl:after {
    box-shadow: inset -10px 0 8px -8px rgba(159,159,159,.22);
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 30px;
    transform: translateX(-100%);
    transition: box-shadow .3s;
    content: "";
    pointer-events: none
}

.table-fixed-column .fixed-scroll {
    position: sticky;
    right: 0;
    background-color: var(--bs-table-bg)
}

.table .is-bar {
    padding: 0;
    justify-content: center
}

    .table .is-bar .fa-caret-right {
        width: 20px;
        height: 20px;
        border-radius: 50%;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        cursor: pointer;
        transition: background-color .3s linear,transform .3s linear
    }

        .table .is-bar .fa-caret-right:hover {
            background-color: #ddd
        }

.table .is-detail {
    display: none
}

    .table .is-detail.show {
        display: table-row
    }

.table .table-cell .table-container, .table .table-cell .tabs, .table .table-cell form {
    flex: 1
}

.table-resize thead th, .table-resize tbody td {
    position: relative
}

.col-resizer {
    width: .25rem;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    cursor: col-resize;
    border-right: 1px solid var(--bb-table-column-resizer-color);
    transition: background-color .3s linear
}

    .col-resizer:hover {
        border-radius: 2px;
        background-color: var(--bb-table-column-resizer-hover-color)
    }

.table-resize .border-resize {
    border-right: 1px solid #005187
}

.table .table-cell.is-tree {
    cursor: pointer
}

.table-cell.is-incell {
    margin: -7px -6px
}

    .table-cell.is-incell .switch {
        padding: 7px 6px
    }

    .table-cell.is-incell .select {
        width: 100%
    }

.table-cell .is-node .is-tree {
    transition: transform .3s linear
}

.table-sm .table-cell.is-incell {
    margin: -0.25rem
}

    .table-sm .table-cell.is-incell .form-control {
        height: calc(1.5em + .75rem - 3px)
    }

    .table-sm .table-cell.is-incell .switch {
        height: 30px;
        padding-left: 4px
    }

.table-bordered thead tr:last-child > th {
    border-bottom-width: 2px;
    border-bottom-color: rgba(var(--bs-body-color-rgb), 0.125)
}

.table-striped > tbody > tr.is-master:nth-of-type(4n+1) {
    --bs-table-accent-bg: var(--bs-table-striped-bg);
    color: var(--bs-table-striped-color)
}

.table-wrapper .empty-text {
    padding: 1rem
}

form .table .table-cell > .form-label {
    display: none
}

form .table .table-cell > textarea {
    width: 100%
}

.table-search {
    margin-block-end: .5rem
}

    .table-search .card-header {
        --bs-card-cap-padding-y: 0;
        min-height: var(--bb-table-header-min-height)
    }

        .table-search .card-header .card-title {
            display: none
        }

@media(min-width: 576px) {
    .table-search .card-header .card-title {
        display: initial
    }
}

.table-search .card-header .input-group {
    width: auto;
    flex-wrap: nowrap
}

    .table-search .card-header .input-group .table-toolbar-search, .table-search .card-header .input-group .btn {
        height: calc(var(--bb-table-header-min-height) - 4px)
    }

.table-search .card-header [aria-expanded=true] + .input-group, .table-search .card-header [aria-expanded=false] + .input-group + .table-search-buttons {
    display: none
}

.table-excel-toolbar {
    display: none;
    position: absolute
}

.table-excel.table > :not(caption):not(thead) > * > * {
    padding: 0
}

.table-excel.table > :not(caption):not(thead) > * > .table-column-button {
    padding: 6px 12px
}

.table-excel > tbody .is-bar {
    padding: .5rem 0
}

.table-excel > tbody > tr > td > .table-cell > .form-check {
    padding: 6px 8px
}

.table-excel > tbody > tr > td > .col-line-no {
    padding: 7px 0
}

.table-excel .active > td > .table-cell .form-control, .table-excel .active > td > .table-cell .form-select {
    background-color: rgba(0,0,0,0)
}

.table-excel .table-cell .select {
    width: 100%
}

.table-excel .table-cell > .disabled {
    background-color: var(--bs-secondary-bg);
    width: 100%;
    padding: .375rem .1875rem
}

.table-excel .datetime-picker-input {
    padding-left: 2rem
}

.table-excel .datetime-picker-input-icon {
    line-height: 32px
}

.table-cell.text-center, .table-cell.text-center .switch {
    justify-content: center
}

    .table-cell.text-center input {
        text-align: center
    }

.table-cell.text-end, .table-cell.text-end .switch {
    justify-content: end
}

    .table-cell.text-end input {
        text-align: right
    }

.table-cell > .progress {
    flex: 1
}

.is-ph {
    height: 12.5px;
    background-color: #e9ecef;
    border-radius: var(--bs-border-radius);
    margin: 5px 0
}

.table-cell .is-dbcell {
    display: flex;
    cursor: pointer;
    position: relative
}

    .table-cell .is-dbcell:hover:before {
        content: "";
        position: absolute;
        bottom: -3px;
        height: 1px;
        width: 100%;
        background-color: var(--bs-primary)
    }

.table-cell .is-node {
    width: 18px
}

.table-cell .tag {
    line-height: 22px
}

.table-cell .is-color {
    width: 28px;
    height: 21px;
    border-radius: .25rem
}

.form-footer {
    margin-block-start: .5rem
}

.modal-body .form-footer {
    margin: 1rem -1rem -0.5rem -1rem;
    padding: .5rem 1rem 0 1rem;
    border-top: 1px solid var(--bs-border-color);
    display: flex;
    align-items: center;
    justify-content: flex-end
}

    .modal-body .form-footer button:not(:last-child) {
        margin-inline-end: .25rem
    }

.modal-dialog-table.modal-dialog-scrollable .modal-body {
    display: flex;
    flex-direction: column
}

    .modal-dialog-table.modal-dialog-scrollable .modal-body > form {
        overflow: hidden;
        display: flex;
        flex-direction: column;
        flex: 1;
        margin: -1rem
    }

    .modal-dialog-table.modal-dialog-scrollable .modal-body .form-body {
        overflow-y: auto;
        overflow-x: hidden;
        padding: 1rem
    }

    .modal-dialog-table.modal-dialog-scrollable .modal-body .form-footer {
        margin: 0;
        padding: 1rem
    }

.table-wrap thead th .table-cell .table-text {
    white-space: pre-wrap
}

.table-page-info {
    display: flex;
    align-items: center
}

    .table-page-info .select {
        width: 120px
    }

.col-copy {
    cursor: pointer;
    margin-inline-end: var(--bb-table-copy-column-margin-right)
}

.table-drag-over {
    animation: drag-column 1s linear infinite
}

.table-dragging th[draggable] * {
    pointer-events: none
}

.table-drag {
    background-color: #ddd !important
}

@keyframes drag-column {
    50% {
        border-bottom-color: var(--bs-primary)
    }
}

.dialog-advance-sort {
    --bb-table-advance-sort-margin-top: .5rem
}

    .dialog-advance-sort > .row:not(:first-child) {
        margin-block-start: var(--bb-table-advance-sort-margin-top)
    }

.tag {
    --bb-tag-btn-close-margin-left: 0.5rem;
    --bb-tag-btn-close-width: 0.25rem;
    --bb-tag-btn-close-height: 0.25rem;
    --bb-tag-text-margin-left: 0.25rem;
    --bb-tag-padding-x: 0;
    --bb-tag-padding-y: 10px;
    --bb-tag-line-height: 30px;
    --bb-tag-font-size: 12px;
    --bb-tag-align: center;
    display: inline-flex;
    padding: var(--bb-tag-padding-x) var(--bb-tag-padding-y);
    line-height: var(--bb-tag-line-height);
    font-size: var(--bb-tag-font-size);
    border-radius: var(--bs-border-radius);
    align-items: var(--bb-tag-align);
    color: var(--bs-alert-color);
    background-color: var(--bs-alert-bg);
    border: 1px solid var(--bs-alert-border-color);
    white-space: nowrap
}

    .tag > i + .tag-text {
        margin-left: var(--bb-tag-text-margin-left)
    }

    .tag > .btn-close {
        margin-left: var(--bb-tag-btn-close-margin-left);
        width: var(--bb-tag-btn-close-width);
        height: var(--bb-tag-btn-close-height)
    }

.bb-theme-mode {
    --bb-theme-mode-width: 128px;
    --bb-theme-mode-label-width: 40px;
    --bb-theme-mode-icon-width: 14px;
    --bb-theme-mode-item-margin-top: 2px
}

    .bb-theme-mode .bb-theme-mode-active {
        width: var(--bb-theme-mode-icon-width);
        display: inline-block
    }

    .bb-theme-mode .dropdown-menu {
        --bs-dropdown-min-width: var(--bb-theme-mode-width)
    }

        .bb-theme-mode .dropdown-menu li:not(:first-child) {
            margin-block-start: var(--bb-theme-mode-item-margin-top)
        }

        .bb-theme-mode .dropdown-menu .dropdown-item span {
            width: var(--bb-theme-mode-label-width)
        }

        .bb-theme-mode .dropdown-menu .dropdown-item i {
            width: var(--bb-theme-mode-icon-width)
        }

        .bb-theme-mode .dropdown-menu .dropdown-item:not(.active) .bb-theme-mode-check {
            display: none
        }

.timeline {
    --bb-timeline-item-padding: 0 0 1rem 0;
    --bb-timeline-line-width: 2px;
    --bb-timeline-node-bg: #e4e7ed;
    --bb-timeline-timestamp-color: #c0c4cc;
    margin: 0;
    padding: 0;
    list-style: none
}

    .timeline .time-line-item {
        position: relative
    }

        .timeline .time-line-item:not(:last-child) {
            padding: var(--bb-timeline-item-padding)
        }

        .timeline .time-line-item .time-line-item-tail {
            position: absolute;
            left: 4px;
            height: 100%;
            border-left: var(--bb-timeline-line-width) solid var(--bs-border-color)
        }

        .timeline .time-line-item:last-child .time-line-item-tail {
            display: none
        }

    .timeline .timeline-item-node-normal {
        left: -1px;
        width: 12px;
        height: 12px
    }

    .timeline .timeline-item-node {
        position: absolute;
        background-color: var(--bb-timeline-node-bg);
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center
    }

        .timeline .timeline-item-node.is-icon {
            background-color: rgba(0,0,0,0)
        }

    .timeline .timeline-item-wrapper {
        position: relative;
        padding-left: 1.5rem;
        top: -4px
    }

    .timeline .timeline-item-timestamp {
        margin-block-start: .5rem;
        color: var(--bb-timeline-timestamp-color)
    }

    .timeline.is-alternate .time-line-item-tail, .timeline.is-alternate .timeline-item-node {
        left: 50%
    }

    .timeline.is-alternate .timeline-item-node {
        margin-left: -5px
    }

    .timeline.is-alternate .time-line-item:nth-child(odd) .timeline-item-wrapper {
        left: calc(50% - 5px);
        width: calc(50% - 1rem);
        text-align: left
    }

    .timeline.is-alternate .time-line-item:nth-child(even) .timeline-item-wrapper {
        width: calc(50% - 1rem);
        margin: 0;
        text-align: right
    }

    .timeline.is-left .time-line-item-tail, .timeline.is-left .timeline-item-node {
        left: 100%
    }

    .timeline.is-left .timeline-item-node {
        margin-left: -5px
    }

    .timeline.is-left .time-line-item .timeline-item-wrapper {
        width: calc(100% - 1rem);
        margin: 0;
        text-align: right
    }

.timer {
    --bb-timer-alert-font-size: 1rem;
    --bb-timer-alert-icon-margin-right: 0.5rem;
    --bb-timer-body-font-size: 3.5rem;
    --bb-timer-body-bottom: 66px;
    --bb-timer-confirm-button-border-hover-color: #ddd;
    --bb-timer-confirm-button-color: var(--bs-success);
    --bb-timer-button-border: 5px double #949496;
    --bb-timer-button-radius: 50%;
    --bb-timer-button-width: 66px;
    --bb-timer-button-height: 66px;
    --bb-timer-button-padding: 0;
    --bb-timer-button-font-size: 0.75rem
}

    .timer .time-panel-footer {
        display: flex;
        justify-content: space-between
    }

    .timer .time-panel-btn {
        border: 1px solid rgba(0,0,0,0);
        border-radius: var(--bs-border-radius);
        transition: border .3s linear
    }

        .timer .time-panel-btn:hover {
            border-color: var(--bb-timer-confirm-button-border-hover-color)
        }

        .timer .time-panel-btn.confirm {
            color: var(--bb-timer-confirm-button-color)
        }

    .timer .circle-body {
        flex-flow: column nowrap;
        bottom: var(--bb-timer-body-bottom);
        font-size: var(--bb-timer-body-font-size)
    }

    .timer .timer-alert {
        font-size: var(--bb-timer-alert-font-size)
    }

        .timer .timer-alert i {
            margin-inline-end: var(--bb-timer-alert-icon-margin-right)
        }

    .timer .timer-buttons {
        display: flex;
        justify-content: space-between
    }

        .timer .timer-buttons .btn {
            border: var(--bb-timer-button-border);
            border-radius: var(--bb-timer-button-radius);
            height: var(--bb-timer-button-width);
            width: var(--bb-timer-button-height);
            font-size: var(--bb-timer-button-font-size);
            padding: var(--bb-timer-button-padding)
        }

.bb-time-picker {
    --bb-time-picker-width: 180px;
    --bb-time-picker-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1);
    --bb-time-picker-footer-padding: 4px;
    --bb-time-picker-footer-btn-font-size: 0.75rem;
    --bb-time-picker-footer-btn-padding: 4px 12px;
    --bb-time-picker-footer-btn-transition: border-color .3s linear, color .3s linear;
    background-color: var(--bs-body-bg);
    border: var(--bs-border-width) solid var(--bs-border-color);
    box-shadow: var(--bb-time-picker-shadow);
    border-radius: var(--bs-border-radius);
    width: var(--bb-time-picker-width);
    user-select: none
}

    .bb-time-picker .time-picker-body {
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-around
    }

    .bb-time-picker .time-picker-footer {
        border: var(--bs-border-width) solid var(--bs-border-color);
        padding: var(--bb-time-picker-footer-padding);
        text-align: right
    }

        .bb-time-picker .time-picker-footer .time-panel-btn {
            padding: var(--bb-time-picker-footer-btn-padding);
            font-size: var(--bb-time-picker-footer-btn-font-size);
            border-radius: var(--bs-border-radius);
            border: var(--bs-border-width) solid var(--bs-border-color);
            color: var(--bs-body-color);
            transition: var(--bb-time-picker-footer-btn-transition)
        }

            .bb-time-picker .time-picker-footer .time-panel-btn:hover {
                border-color: var(--bb-primary-color);
                color: var(--bb-primary-color)
            }

            .bb-time-picker .time-picker-footer .time-panel-btn:last-child {
                margin-left: .25rem
            }

.time-spinner {
    --bb-time-picker-spinner-arrow-height: 30px;
    --bb-time-picker-spinner-arrow-color: rgba(var(--bb-primary-color-rgb), 0.6);
    --bb-time-picker-spinner-arrow-hover-color: var(--bb-primary-color);
    --bb-time-picker-spinner-body-height: 110px;
    --bb-time-picker-spinner-body-margin: 40px 0;
    --bb-time-picker-spinner-item-height: 36.6px;
    --bb-time-picker-spinner-item-font-size: 0.75rem;
    --bb-time-picker-spinner-item-active-font-size: 0.875rem;
    --bb-time-picker-spinner-item-active-color: var(--bb-primary-color);
    position: relative;
    align-items: center;
    justify-content: center;
    width: 30%
}

    .time-spinner .time-spinner-arrow {
        text-align: center;
        width: 100%;
        color: var(--bb-time-picker-spinner-arrow-color);
        position: absolute;
        left: 0;
        z-index: 1;
        height: var(--bb-time-picker-spinner-arrow-height);
        line-height: var(--bb-time-picker-spinner-arrow-height);
        cursor: pointer
    }

        .time-spinner .time-spinner-arrow:hover {
            color: var(--bb-time-picker-spinner-arrow-hover-color)
        }

        .time-spinner .time-spinner-arrow.time-up {
            top: 10px
        }

        .time-spinner .time-spinner-arrow.time-down {
            bottom: 10px
        }

    .time-spinner .time-spinner-body {
        overflow: hidden;
        height: var(--bb-time-picker-spinner-body-height);
        margin: var(--bb-time-picker-spinner-body-margin);
        width: 100%
    }

        .time-spinner .time-spinner-body .time-spinner-list {
            padding: 0;
            margin: 0;
            list-style: none;
            text-align: center;
            transition: transform .3s linear
        }

            .time-spinner .time-spinner-body .time-spinner-list .time-spinner-item {
                line-height: var(--bb-time-picker-spinner-item-height);
                font-size: var(--bb-time-picker-spinner-item-font-size);
                opacity: .6;
                cursor: pointer
            }

                .time-spinner .time-spinner-body .time-spinner-list .time-spinner-item.active:not(.disabled) {
                    font-weight: bold;
                    font-size: var(--bb-time-picker-spinner-item-active-font-size);
                    opacity: 1;
                    color: var(--bb-time-picker-spinner-item-active-color)
                }

                .time-spinner .time-spinner-body .time-spinner-list .time-spinner-item.prev, .time-spinner .time-spinner-body .time-spinner-list .time-spinner-item.next {
                    opacity: .8;
                    transform: scale(1, 0.8)
                }

.toast-container {
    position: fixed
}

    .toast-container.top-0 {
        top: 1rem !important
    }

    .toast-container.bottom-0 {
        bottom: 1rem !important
    }

    .toast-container.start-0 {
        left: 1rem !important
    }

    .toast-container.end-0 {
        right: 1rem !important
    }

.toast {
    --bs-toast-border-radius: var(--bs-border-radius);
    position: relative;
    overflow: hidden;
    cursor: pointer;
    transition: background-color .3s ease-in-out,opacity .15s linear
}

    .toast .toast-progress {
        position: absolute;
        right: 0;
        bottom: 0;
        height: 4px;
        width: 0
    }

    .toast.left .toast-progress {
        left: 0;
        right: unset
    }

    .toast .btn-close {
        height: 4px;
        width: 4px;
        margin: 0
    }

.btn-toggle {
    --bb-toggle-min-width: 70px;
    --bb-toggle-bg-color: #e0e0e0;
    --bb-toggle-color: #fff;
    --bb-toggle-off-color: #000;
    --bs-btn-hover-color: #fff;
    --bs-btn-border-color: #c0c4cc;
    --bs-btn-disabled-border-color: var(--bs-btn-border-color);
    --bs-btn-hover-border-color: var(--bs-btn-border-color);
    --bs-btn-active-border-color: var(--bs-btn-border-color);
    position: relative;
    overflow: hidden;
    border: 1px solid var(--bs-btn-border-color);
    border-radius: var(--bs-border-radius);
    min-width: var(--bb-toggle-min-width);
    min-height: var(--bb-height)
}

    .btn-toggle .toggle-group {
        position: absolute;
        width: 200%;
        top: 0;
        bottom: 0;
        left: 0;
        transition: left .35s linear
    }

    .btn-toggle.off .toggle-group {
        left: -100%
    }

    .btn-toggle .toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--bs-btn-color);
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 50%;
        background-color: var(--bb-toggle-bg-color);
        color: var(--bb-toggle-color)
    }

        .btn-toggle .toggle.off {
            left: 50%;
            right: 0;
            color: var(--bb-toggle-off-color)
        }

    .btn-toggle .bar {
        position: relative;
        height: 100%;
        background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
        padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
        border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
        border-radius: var(--bs-btn-border-radius);
        display: inline-block
    }

:not(.is-tips) > span[data-bs-toggle=tooltip] {
    display: inline-block
}

.dropdown-item > span[data-bs-toggle=tooltip] {
    display: flex;
    align-items: center
}

.tooltip.is-invalid {
    --bs-tooltip-bg: var(--bs-danger)
}

.input-group > [data-bs-toggle]:not(:last-child) > .form-control {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

[data-bs-toggle=tooltip]:has(.is-display) {
    overflow: hidden
}

.transfer {
    --bb-transfer-panel-header-height: 40px;
    --bb-transfer-panel-header-padding: 0 0.75rem;
    --bb-transfer-panel-body-padding: 0;
    --bb-transfer-panel-list-max-height: 200px;
    --bb-transfer-panel-list-min-height: auto;
    --bb-transfer-panel-item-padding: 0.25rem 0.75rem;
    --bb-transfer-panel-item-margin: 0 0.5rem 0.25rem 0;
    --bb-transfer-panel-item-width: 160px;
    --bb-transfer-buttons-padding: 0 30px;
    --bb-transfer-filter-focus-border-color: #005187;
    --bb-transfer-filter-margin: 0.5rem;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap
}

    .transfer.has-height {
        height: var(--bb-transfer-height)
    }

        .transfer.has-height .transfer-panel {
            height: 100%
        }

            .transfer.has-height .transfer-panel .transfer-panel-body {
                height: calc(100% - var(--bb-transfer-panel-header-height))
            }

.transfer-panel {
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    flex: 1;
    position: relative
}

    .transfer-panel.is-invalid {
        border: 1px solid var(--bs-danger)
    }

    .transfer-panel.is-valid {
        border: 1px solid var(--bs-success)
    }

    .transfer-panel .transfer-panel-header {
        height: var(--bb-transfer-panel-header-height);
        padding: var(--bb-transfer-panel-header-padding);
        border-bottom: 1px solid var(--bs-border-color);
        border-top-left-radius: var(--bs-border-radius);
        border-top-right-radius: var(--bs-border-radius);
        margin: 0;
        display: flex;
        align-items: center
    }

.transfer-panel-body {
    padding: var(--bb-transfer-panel-body-padding)
}

.transfer-panel-list {
    max-height: var(--bb-transfer-panel-list-max-height);
    min-height: var(--bb-transfer-panel-list-min-height)
}

.transfer-panel-item {
    border-radius: var(--bs-border-radius);
    padding: var(--bb-transfer-panel-item-padding);
    margin: var(--bb-transfer-panel-item-margin);
    width: var(--bb-transfer-panel-item-width)
}

.transfer-buttons {
    display: flex;
    align-items: center;
    padding: var(--bb-transfer-buttons-padding)
}

    .transfer-buttons .btn {
        white-space: nowrap
    }

        .transfer-buttons .btn:not(:first-child) {
            margin-left: 10px
        }

.transfer-panel-filter {
    position: relative;
    margin: var(--bb-transfer-filter-margin)
}

    .transfer-panel-filter .input-inner {
        height: 32px;
        line-height: 32px;
        width: 100%;
        display: inline-block;
        border-radius: var(--bs-border-radius);
        padding-right: 10px;
        padding-left: 30px;
        border: 1px solid var(--bs-border-color);
        transition: border-color .2s cubic-bezier(0.645, 0.045, 0.355, 1);
        color: #606266
    }

        .transfer-panel-filter .input-inner:focus {
            border-color: var(--bb-transfer-filter-focus-border-color)
        }

    .transfer-panel-filter .input-prefix {
        height: 100%;
        width: 30px;
        transition: all .3s;
        position: absolute;
        left: 4px;
        top: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #c0c4cc
    }

        .transfer-panel-filter .input-prefix:not(.disabled):hover i:before, .transfer-panel-filter .input-prefix.is-on i:before {
            cursor: pointer;
            content: ""
        }

        .transfer-panel-filter .input-prefix.disabled:hover i:before {
            cursor: not-allowed
        }

.transfer-panel-empty {
    position: absolute;
    top: 35%;
    width: 100%
}

.tree {
    position: relative
}

    .tree .tree-root {
        padding: 0;
        margin: 0
    }

    .tree .tree-ul {
        padding: 0 0 0 20px;
        margin: 0;
        display: none
    }

        .tree .tree-ul.show {
            display: block
        }

    .tree .tree-item {
        list-style: none;
        cursor: pointer;
        margin: 1px 0
    }

        .tree .tree-item:before {
            content: "";
            position: absolute;
            left: 0;
            width: 100%;
            height: 29px;
            transition: background-color .3s linear
        }

        .tree .tree-item.hover:before {
            background-color: rgba(102,162,224,.631372549)
        }

        .tree .tree-item.active:before {
            background-color: rgba(64,158,255,.631372549)
        }

        .tree .tree-item .tree-content {
            position: relative;
            display: flex;
            padding: .25rem 0;
            align-items: center
        }

            .tree .tree-item .tree-content .fa-caret-right {
                width: 18px;
                height: 18px;
                transition: transform .3s linear;
                display: flex;
                align-items: center;
                justify-content: center
            }

            .tree .tree-item .tree-content .show .fa-caret-right {
                transform: rotate(90deg)
            }

    .tree .tree-node {
        flex: 1;
        display: flex;
        align-items: center
    }

    .tree .form-check {
        margin: 0 4px
    }

.tree-icon {
    width: 18px
}

.tree-view {
    --bb-tree-padding: 0 0.5rem;
    --bb-tree-margin: 0;
    --bb-tree-padding-left: 20px;
    --bb-tree-item-margin: 1px 0;
    --bb-tree-icon-width: 22px;
    --bb-tree-check-margin: 0 0 0 0.5rem;
    --bb-tree-node-padding: 0.25rem 0.5rem;
    --bb-tree-item-active-color: var(--bs-body-color);
    --bb-tree-item-active-bg: rgba(var(--bs-body-color-rgb), 0.12);
    --bb-tree-item-hover-color: var(--bs-body-color);
    --bb-tree-item-hover-bg: rgba(var(--bs-body-color-rgb), 0.08);
    --bb-tree-icon-margin-right: 0.5rem;
    --bb-tree-disabled-opacity: 0.5;
    --bb-tree-search-height: 43px;
    --bb-tree-item-bg-radius: var(--bs-border-radius);
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column
}

    .tree-view .tree-search {
        padding-bottom: .5rem
    }

    .tree-view .tree-root {
        padding: var(--bb-tree-padding);
        margin: var(--bb-tree-margin);
        position: relative;
        flex: 1;
        min-height: 0;
        height: 1%
    }

    .tree-view .tree-content {
        position: relative;
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        cursor: pointer
    }

        .tree-view .tree-content .tree-content-toolbar {
            display: none
        }

        .tree-view .tree-content .tree-content-header {
            flex-basis: calc(var(--bb-tree-padding-left)*var(--bb-tree-view-level, 0));
            flex-shrink: 0
        }

        .tree-view .tree-content .tree-content-body {
            display: flex;
            flex-wrap: nowrap;
            flex-grow: 1;
            flex-shrink: 0;
            align-items: center;
            border-radius: var(--bs-border-radius)
        }

        .tree-view .tree-content .node-icon {
            width: 18px;
            height: 18px;
            transition: transform .3s linear;
            display: flex;
            align-items: center;
            justify-content: center;
            visibility: hidden
        }

            .tree-view .tree-content .node-icon.disabled {
                opacity: var(--bb-tree-disabled-opacity)
            }

        .tree-view .tree-content .node-loading {
            display: none;
            visibility: visible
        }

        .tree-view .tree-content .show .node-icon {
            transform: rotate(90deg)
        }

        .tree-view .tree-content.loading .node-icon {
            display: none
        }

        .tree-view .tree-content.loading .node-loading {
            display: flex
        }

        .tree-view .tree-content .form-check {
            margin: var(--bb-tree-check-margin)
        }

        .tree-view .tree-content:not(.disabled).active .tree-content-body {
            color: var(--bb-tree-item-active-color);
            background-color: var(--bb-tree-item-active-bg)
        }

        .tree-view .tree-content:not(.disabled):hover .tree-content-body {
            color: var(--bb-tree-item-hover-color);
            background-color: var(--bb-tree-item-hover-bg)
        }

        .tree-view .tree-content:not(:last-child) {
            margin-bottom: 1px
        }

    .tree-view .tree-node {
        display: inline-flex;
        align-items: center;
        padding: var(--bb-tree-node-padding);
        flex: 1
    }

        .tree-view .tree-node .tree-icon {
            width: var(--bb-tree-icon-width);
            text-align: center;
            margin-inline-end: var(--bb-tree-icon-margin-right)
        }

        .tree-view .tree-node .tree-node-text {
            white-space: nowrap
        }

        .tree-view .tree-node.disabled {
            opacity: var(--bb-tree-disabled-opacity)
        }

        .tree-view .tree-node .tree-node-toolbar-edit {
            position: absolute;
            right: 0;
            height: 100%;
            display: flex;
            align-items: center
        }

        .tree-view .tree-node:not(:hover) .tree-node-toolbar-edit {
            display: none
        }

.tree-view-edit-form {
    display: flex
}

    .tree-view-edit-form > span {
        display: flex;
        align-items: center;
        margin-inline-end: .25rem
    }

        .tree-view-edit-form > span + * {
            flex: 1;
            width: 1%;
            min-width: 0
        }

.marquee {
    overflow: hidden;
    white-space: nowrap;
    position: relative
}

    .marquee.marquee-vertical {
        writing-mode: vertical-rl;
        text-orientation: upright
    }

    .marquee .marquee-text {
        display: inline-block;
        animation-timing-function: linear;
        animation-iteration-count: infinite
    }

        .marquee .marquee-text.marquee-text-left {
            padding-left: 100%
        }

        .marquee .marquee-text.marquee-text-top {
            padding-top: 100%
        }

@keyframes RightToLeft {
    from {
        transform: translateX(0)
    }

    to {
        transform: translateX(-100%)
    }
}

@keyframes LeftToRight {
    from {
        transform: translateX(-100%)
    }

    to {
        transform: translateX(0)
    }
}

@keyframes TopToBottom {
    from {
        transform: translateY(-100%)
    }

    to {
        transform: translateY(0)
    }
}

@keyframes BottomToTop {
    from {
        transform: translateY(0)
    }

    to {
        transform: translateY(-100%)
    }
}

.bb-waterfall .bb-waterfall-template {
    display: none
}

.bb-waterfall .bb-waterfall-list {
    position: relative
}

.bb-waterfall .bb-waterfall-item {
    position: absolute;
    width: var(--bb-waterfall-item-width, 216px);
    min-height: var(--bb-waterfall-item-min-height);
    transition: left .3s linear,top .3s linear
}

    .bb-waterfall .bb-waterfall-item img {
        width: 100%
    }

    .bb-waterfall .bb-waterfall-item .bb-waterfall-item-loader {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 4rem;
        color: rgba(var(--bs-body-color-rgb), 0.8)
    }

.bb-waterfall .bb-waterfall-load {
    display: flex;
    align-items: center;
    justify-content: center
}

.bb-watermark {
    position: relative
}

    .bb-watermark.is-page {
        position: fixed;
        inset: 0;
        z-index: 9999;
        pointer-events: none
    }

.bb-g-search {
    --bb-global-search-input-margin-left: .5rem;
    --bb-global-search-border-color: rgba(255, 255, 255, .5);
    --bb-global-search-color: rgba(255, 255, 255, .5);
    --bb-global-search-border-hover-color: rgba(255, 255, 255);
    --bb-global-search-padding: 0.25rem 0.75rem;
    --bb-global-search-width: 168px;
    display: flex;
    align-items: center;
    color: var(--bb-global-search-color);
    border: var(--bs-border-width) solid var(--bb-global-search-border-color);
    border-radius: var(--bs-border-radius);
    padding: var(--bb-global-search-padding);
    width: var(--bb-global-search-width);
    transition: border-color .3s linear
}

    .bb-g-search:hover {
        border: var(--bs-border-width) solid var(--bb-global-search-border-hover-color)
    }

    .bb-g-search > input {
        width: 100%;
        background-color: rgba(0,0,0,0);
        border: none;
        line-height: 1.5;
        padding: 0;
        margin-left: var(--bb-global-search-input-margin-left);
        cursor: pointer
    }

        .bb-g-search > input::placeholder {
            color: var(--bb-global-search-border-color)
        }

    .bb-g-search .search-dialog-icon {
        cursor: pointer;
        font-size: 18px
    }

.search-dialog-mask {
    display: none
}
