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

body {
    margin-bottom: 60px;
}

    body::-webkit-scrollbar {
        display: none !important;
    }

.footer-pos {
    position: absolute;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
}

#RememberMeCheckBox:checked + label {
    background-color: #198754;
    border-color: #198754;
}

#ActiveCheckBox:checked + label {
    background-color: #198754;
    border-color: #198754;
}

.desktop-header {
    display: block;
}

.mobile-header {
    display: none;
}

#material-dropdown-container {
    display: flex;
    gap: 8px;
}

@media (max-width: 700px) {
    .desktop-header {
        display: none !important;
    }

    .mobile-header {
        display: block !important;
    }

    #material-dropdown-container {
        display: grid;
    }
}
/* Prevent horizontal page overflow from wide tables/inputs */
#material-dropdown-container select,
#material-dropdown-container input {
    min-width: 0;
    max-width: 100%;
}

.material-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 767.98px) {
    /* Card-style rows instead of a squeezed table */
    .responsive-card-table thead {
        display: none;
    }

    .responsive-card-table,
    .responsive-card-table tbody {
        display: block;
        width: 100%;
    }

    .responsive-card-table tr {
        display: block;
        width: 100%;
        border: 1px solid #43d9f0;
        border-radius: .5rem;
        margin-bottom: .75rem;
        padding: .5rem .75rem;
        background: transparent;
    }

    .responsive-card-table td {
        display: block;
        width: 100%;
        border: 0;
        padding: .3rem 0;
        text-align: left !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
    }
    /* Label above each cell, taken from data-label attribute */
    .responsive-card-table td[data-label]::before {
        content: attr(data-label);
        display: block;
        font-size: .75rem;
        font-weight: 600;
        text-transform: uppercase;
        opacity: .7;
        margin-bottom: .15rem;
    }

    .responsive-card-table td[data-label=""]::before {
        display: none;
    }

    .responsive-card-table td ul {
        padding-left: 1.1rem;
        margin-bottom: 0;
        overflow-wrap: anywhere;
    }

    .responsive-card-table .material-actions {
        display: flex;
        gap: .5rem;
        white-space: normal !important;
    }

    .responsive-card-table .material-actions .btn {
        flex: 1 1 0;
        margin: 0 !important;
        width: 100% !important;
    }

    .responsive-card-table input.form-control {
        width: 100%;
    }
}

.brand-row {
    font-weight: 700;
}

@media (max-width: 767.98px) {
    /* the mobile card style should not wrap the brand heading in a card */
    .responsive-card-table tr.brand-row {
        border: 0;
        padding: 0;
        margin-bottom: .25rem;
    }

    .brand-row{
        display: block;
        width: 100%;
        border: 1px solid #43d9f0;
        background: transparent;
    }
}
.pdf-brand-row {
    break-after: avoid;
}
.drag-handle {
    cursor: grab;
    touch-action: none; /* essential on phones: the browser must not scroll when the handle is touched */
    user-select: none;
    -webkit-user-select: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem; /* big enough for a finger */
    min-height: 2.5rem;
    font-size: 1.25rem;
    line-height: 1;
}

.drag-handle:active {
    cursor: grabbing;
}

.sortable-ghost { /* the gap showing where the row will land */
    opacity: .35;
    background: #e9fbfe;
}

.sortable-fallback { /* the row that follows your finger or mouse */
    background: #fff;
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .25);
    opacity: .95 !important;
}

.input-group-text {
    background: #43d9f0;
    border-color: #43d9f0;
}