html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 60px;
}

.logo-left {
    width: 75px;
}

    .logo-left img {
        height: 20px;
    }

.logo-right {
    width: 75px;
    text-align: right;
}

    .logo-right img {
        height: 20px;
    }

@media (min-width: 992px) {
    .logo-left {
        width: 150px;
    }

        .logo-left img {
            height: 40px;
        }

    .logo-right {
        width: 150px;
        text-align: right;
    }

        .logo-right img {
            height: 40px;
        }
}

.btn-xs {
    --bs-btn-padding-y: .25rem;
    --bs-btn-padding-x: .35rem;
    --bs-btn-font-size: .6rem;
}

.btn-blue {
    background: var(--bs-blue);
    color: var(--bs-white);
}

    .btn-blue:hover {
        background: hsl(from var(--bs-blue) h s calc(l*1.2));
        color: var(--bs-white);
    }

.btn-indigo {
    background: var(--bs-indigo);
    color: var(--bs-white);
}

    .btn-indigo:hover {
        background: hsl(from var(--bs-indigo) h s calc(l*1.2));
        color: var(--bs-white);
    }

.btn-purple {
    background: var(--bs-purple);
    color: var(--bs-white);
}

    .btn-purple:hover {
        background: hsl(from var(--bs-purpule) h s calc(l*1.2));
        color: var(--bs-white);
    }

.btn-pink {
    background: var(--bs-pink);
    color: var(--bs-white);
}

    .btn-pink:hover {
        background: hsl(from var(--bs-pink) h s calc(l*1.2));
        color: var(--bs-white);
    }

.btn-red {
    background: var(--bs-red);
    color: var(--bs-white);
}

    .btn-red:hover {
        background: hsl(from var(--bs-red) h s calc(l*1.2));
        color: var(--bs-white);
    }

.btn-orange {
    background: var(--bs-orange);
}

    .btn-orange:hover {
        background: hsl(from var(--bs-orange) h s calc(l*0.8));
    }

.btn-yellow {
    background: var(--bs-yellow);
}

    .btn-yellow:hover {
        background: hsl(from var(--bs-yellow) h s calc(l*1.2));
    }

.btn-green {
    background: var(--bs-green);
    color: var(--bs-white);
}

    .btn-green:hover {
        background: hsl(from var(--bs-green) h s calc(l*0.8));
        color: var(--bs-white);
    }

.btn-teal {
    background: var(--bs-teal);
}

    .btn-teal:hover {
        background: hsl(from var(--bs-teal) h s calc(l*1.2));
    }

.btn-cyan {
    background: var(--bs-cyan);
}

    .btn-cyan:hover {
        background: hsl(from var(--bs-cyan) h s calc(l*1.2));
    }

.breadcrumb-item.active > a {
    color: var(--bs-breadcrumb-item-active-color);
}

/*bootstrap5-dropdown-ml-hack*/
.dropdown-hover-all .dropdown-menu, .dropdown-hover > .dropdown-menu.dropend {
    margin-left: -1px !important
}

.pdv .pdv-step {
    padding-top: 6px;
}

.pdv .pdv-label {
    white-space: nowrap !important;
    font-weight: 600 !important;
    padding-top: 2px;
}

.pdv .pdv-label-light {
    white-space: nowrap !important;
    font-weight: 300 !important;
    padding-top: 2px;
}

.pdv .pdv-label-title {
    white-space: nowrap !important;
    font-weight: 300 !important;
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
    --bs-border-opacity: 0;
    --bs-bg-opacity: 1;
    padding-left: .5rem !important;
    padding-right: .5rem !important;
}

.pdv .pdv-label-xnarrow {
    width: 3rem;
}

.pdv .pdv-label-wide {
    width: 10rem;
}

.pdv .pdv-label-narrow {
    width: 7.5rem;
}

.pdv .pdv-label-xwide {
    width: 12.5rem;
}

#overlay-contain
.pdv .pdv-input {
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
    border-color: var(--bs-dark-border-subtle) !important;
    --bs-border-opacity: 0.5;
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important;
    border-radius: var(--bs-border-radius-sm) !important;
    padding-left: .5rem !important;
    padding-right: .5rem !important;
}

.pdv .pdv-input-xnarrow {
    width: 3rem;
}

.pdv .pdv-input-narrow {
    width: 7.5rem;
}

.pdv .pdv-input-wide {
    width: 10rem;
}

.pdv .pdv-input-xwide {
    width: 12.5rem;
}

.pdv .pdv-input-xxwide {
    width: 15rem;
}

#overlay-container {
    position: absolute;
    z-index: 1000;
}

#overlay-container-progress-step {
    position: absolute;
    z-index: 1000;
}

.form-floating .ts-control {
    padding-top: 1.625rem;
    padding-bottom: .625rem;
}

.form-floating .ts-wrapper.form-control, .form-floating .ts-wrapper.form-select {
    height: 0 !important;
}

.switch-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.h-stack-wrap {
    display: flex;
    flex-direction: row;
    align-items: start;
    align-self: start;
    flex-wrap: wrap;
}

.h-stack {
    display: flex;
    flex-direction: row;
    align-items: start;
    align-self: start;
}

.gap-3-1 {
    column-gap: 1rem;
    row-gap: 0.25rem;
}

.gap-3-2 {
    column-gap: 1rem;
    row-gap: 0.5rem;
}

.gap-2-1 {
    column-gap: 0.5rem;
    row-gap: 0.25rem;
}

.w-30 {
    width: 29% !important;
}

.w-70 {
    width: 70% !important;
}
