/* Utility css classes */
/*
 * Bootstrap is loaded before this file. Keep its distributed stylesheet unchanged and
 * reduce only its typography here so package upgrades do not overwrite the application scale.
 */
.fs-1 {
    font-size: calc(1.375rem + 1.5vw - 1px) !important;
}

.fs-2 {
    font-size: calc(1.325rem + 0.9vw - 1px) !important;
}

.fs-3 {
    font-size: calc(1.3rem + 0.6vw - 1px) !important;
}

.fs-4 {
    font-size: calc(1.275rem + 0.3vw - 1px) !important;
}

.fs-5 {
    font-size: calc(1.25rem - 1px) !important;
}

.fs-6 {
    font-size: calc(1rem - 1px) !important;
}

.display-1 {
    font-size: calc(1.625rem + 4.5vw - 1px);
}

.display-2 {
    font-size: calc(1.575rem + 3.9vw - 1px);
}

.display-3 {
    font-size: calc(1.525rem + 3.3vw - 1px);
}

.display-4 {
    font-size: calc(1.475rem + 2.7vw - 1px);
}

.display-5 {
    font-size: calc(1.425rem + 2.1vw - 1px);
}

.display-6 {
    font-size: calc(1.375rem + 1.5vw - 1px);
}

h1,
.h1 {
    font-size: calc(1.375rem + 1.5vw - 1px);
}

h2,
.h2 {
    font-size: calc(1.325rem + 0.9vw - 1px);
}

h3,
.h3 {
    font-size: calc(1.3rem + 0.6vw - 1px);
}

h4,
.h4 {
    font-size: calc(1.275rem + 0.3vw - 1px);
}

h5,
.h5,
.lead,
.blockquote,
.navbar-brand {
    font-size: calc(1.25rem - 1px);
}

h6,
.h6,
.btn,
.form-control,
.form-select,
.form-control-plaintext,
.input-group-text,
.dropdown-menu,
.pagination {
    font-size: calc(1rem - 1px);
}

.btn-sm,
.form-control-sm,
.form-select-sm,
.input-group-sm > .input-group-text,
.small,
small {
    font-size: calc(0.875rem - 1px) !important;
}

.btn-lg,
.form-control-lg,
.form-select-lg,
.input-group-lg > .input-group-text {
    font-size: calc(1.25rem - 1px);
}

.badge {
    font-size: calc(0.75em - 1px);
}

.tooltip {
    --bs-tooltip-font-size: calc(0.875rem - 1px);
}

.popover {
    --bs-popover-font-size: calc(0.875rem - 1px);
}

.toast {
    --bs-toast-font-size: calc(0.875rem - 1px);
}

@media (min-width: 1200px) {
    h1,
    .h1 {
        font-size: calc(2.5rem - 1px);
    }

    h2,
    .h2 {
        font-size: calc(2rem - 1px);
    }

    h3,
    .h3 {
        font-size: calc(1.75rem - 1px);
    }

    h4,
    .h4 {
        font-size: calc(1.5rem - 1px);
    }

    .fs-1 {
        font-size: calc(2.5rem - 1px) !important;
    }

    .fs-2 {
        font-size: calc(2rem - 1px) !important;
    }

    .fs-3 {
        font-size: calc(1.75rem - 1px) !important;
    }

    .fs-4 {
        font-size: calc(1.5rem - 1px) !important;
    }

    .display-1 {
        font-size: calc(5rem - 1px);
    }

    .display-2 {
        font-size: calc(4.5rem - 1px);
    }

    .display-3 {
        font-size: calc(4rem - 1px);
    }

    .display-4 {
        font-size: calc(3.5rem - 1px);
    }

    .display-5 {
        font-size: calc(3rem - 1px);
    }

    .display-6 {
        font-size: calc(2.5rem - 1px);
    }
}

.one-line {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sr-only {
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
}

.h-full {
    height: 100%;
}

.w-full {
    width: 100%;
}

.max-h-full {
    max-height: 100%;
}

.max-w-full {
    max-width: 100%;
}

.min-h-0 {
    min-height: 0;
}

.flex-1 {
    flex: 1;
}

.font-bold {
    font-weight: 600;
}

.font-bold--important {
    font-weight: 600 !important;
}

.font-semibold {
    font-weight: 500;
}

.font-semibold--important {
    font-weight: 500 !important;
}

.underline-on-hover:hover {
    text-decoration: underline;
}

.fs-7 {
    font-size: 0.8125rem;
}

.fs-8 {
    font-size: 0.6875rem;
}

.fs-9 {
    font-size: 0.5625rem;
}

.user-select-none {
    user-select: none !important;
}

/* Use with DxMenuItem to create a divider */
.menu-divider {
    height: 1px;
    margin: 0;
    background-color: rgba(0, 0, 0, 0.1);
    pointer-events: none;
    cursor: default;
}

.animate-spin {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.border-none {
    border: none !important;
}

.border-x-none {
    border-inline: none !important;
}

.border-y-none {
    border-block: none !important;
}

.border-t-none {
    border-top: none !important;
}

.border-b-none {
    border-bottom: none !important;
}

.border-transparent {
    border-color: transparent !important;
}

.one-line-ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.text-nowrap {
    white-space: nowrap;
}

.grid-header-highlight,
.grid-header-highlight .dxbl-grid-header-content {
    color: #dc3545 !important;
}

.text-danger,
.text-danger *,
.text-danger .dxbl-grid-cell-content,
.grid-cell-red-text,
.grid-cell-red-text *,
.grid-cell-red-text .dxbl-grid-cell-content {
    color: #dc3545 !important;
}

.bg-none {
    background: none;
}

.gap-1\.5 {
    gap: 0.375rem !important;
}

.flex-1 {
    flex: 1 !important;
}

.bg-white--not-important {
    background: white;
}
