/* ------------ Custom Color Customization ------------ */
:root {
    --td-banana-color: #fce8b2;
    --td-fringyflower-color: #b7e1cd;
    --td-goldsand-color: #e2c185;
    --td-shadowgreen-color: #9ac2b8;
    --td-bayleaf-color: #7da98d;
    --td-aquaforest-color: #64a46c;
    --td-mandyspink-color: #f4c7c4;
    --td-silver-color: #cccccc;
    --td-tropicalblue-color: #c9daf9;
    --td-lavendergray-color: #bdbbd7;
}

/* Alternate dark (https://codepen.io/luispadarotto/full/qBQjoOK) */
[data-bs-theme="dark"] {
    --td-banana-color: #AB9E7B;
    --td-fringyflower-color: #7E998C;
    --td-goldsand-color: #9A845D;
    --td-shadowgreen-color: #6B857F;
    --td-bayleaf-color: #587563;
    --td-aquaforest-color: #48724D;
    --td-mandyspink-color: #A68886;
    --td-silver-color: #8C8C8C;
    --td-tropicalblue-color: #8A95A9;
    --td-lavendergray-color: #828193;
}

.bg-td-banana {
    background-color: var(--td-banana-color);
}

.bg-td-fringyflower {
    background-color: var(--td-fringyflower-color);
}

.bg-td-goldsand {
    background-color: var(--td-goldsand-color);
}

.bg-td-shadowgreen {
    background-color: var(--td-shadowgreen-color);
}

.bg-td-bayleaf {
    background-color: var(--td-bayleaf-color);
}

.bg-td-aquaforest {
    background-color: var(--td-aquaforest-color);
}

.bg-td-mandyspink {
    background-color: var(--td-mandyspink-color);
}

.bg-td-silver {
    background-color: var(--td-silver-color);
}

.bg-td-tropicalblue {
    background-color: var(--td-tropicalblue-color);
}

.bg-td-lavendergray {
    background-color: var(--td-lavendergray-color);
}

.btn-td-outline-banana {
    color: var(--td-banana-color);
    border: var(--bs-btn-border-width) solid var(--td-banana-color);
}

.btn-td-outline-banana:hover,
.btn-td-outline-banana.active {
    color: #ffffff;
    background-color: var(--td-banana-color);
    border-color: var(--td-banana-color);
}

.btn-td-outline-fringyflower {
    color: var(--td-fringyflower-color);
    border: var(--bs-btn-border-width) solid var(--td-fringyflower-color);
}

.btn-td-outline-fringyflower:hover,
.btn-td-outline-fringyflower.active {
    color: #ffffff;
    background-color: var(--td-fringyflower-color);
    border-color: var(--td-fringyflower-color);
}

.btn-td-outline-goldsand {
    color: var(--td-goldsand-color);
    border: var(--bs-btn-border-width) solid var(--td-goldsand-color);
}

.btn-td-outline-goldsand:hover,
.btn-td-outline-goldsand.active {
    color: #ffffff;
    background-color: var(--td-goldsand-color);
    border-color: var(--td-goldsand-color);
}

.btn-td-outline-shadowgreen {
    color: var(--td-shadowgreen-color);
    border: var(--bs-btn-border-width) solid var(--td-shadowgreen-color);
}

.btn-td-outline-shadowgreen:hover,
.btn-td-outline-shadowgreen.active {
    color: #ffffff;
    background-color: var(--td-shadowgreen-color);
    border-color: var(--td-shadowgreen-color);
}

.btn-td-outline-bayleaf {
    color: var(--td-bayleaf-color);
    border: var(--bs-btn-border-width) solid var(--td-bayleaf-color);
}

.btn-td-outline-bayleaf:hover,
.btn-td-outline-bayleaf.active {
    color: #ffffff;
    background-color: var(--td-bayleaf-color);
    border-color: var(--td-bayleaf-color);
}

.btn-td-outline-aquaforest {
    color: var(--td-aquaforest-color);
    border: var(--bs-btn-border-width) solid var(--td-aquaforest-color);
}

.btn-td-outline-aquaforest:hover,
.btn-td-outline-aquaforest.active {
    color: #ffffff;
    background-color: var(--td-aquaforest-color);
    border-color: var(--td-aquaforest-color);
}

.btn-td-outline-mandyspink {
    color: var(--td-mandyspink-color);
    border: var(--bs-btn-border-width) solid var(--td-mandyspink-color);
}

.btn-td-outline-mandyspink:hover,
.btn-td-outline-mandyspink.active {
    color: #ffffff;
    background-color: var(--td-mandyspink-color);
    border-color: var(--td-mandyspink-color);
}

.btn-td-outline-silver {
    color: var(--td-silver-color);
    border: var(--bs-btn-border-width) solid var(--td-silver-color);
}

.btn-td-outline-silver:hover,
.btn-td-outline-silver.active {
    color: #ffffff;
    background-color: var(--td-silver-color);
    border-color: var(--td-silver-color);
}

.btn-td-outline-tropicalblue {
    color: var(--td-tropicalblue-color);
    border: var(--bs-btn-border-width) solid var(--td-tropicalblue-color);
}

.btn-td-outline-tropicalblue:hover,
.btn-td-outline-tropicalblue.active {
    color: #ffffff;
    background-color: var(--td-tropicalblue-color);
    border-color: var(--td-tropicalblue-color);
}

.btn-td-outline-lavendergray {
    color: var(--td-lavendergray-color);
    border: var(--bs-btn-border-width) solid var(--td-lavendergray-color);
}

.btn-td-outline-lavendergray:hover,
.btn-td-outline-lavendergray.active {
    color: #ffffff;
    background-color: var(--td-lavendergray-color);
    border-color: var(--td-lavendergray-color);
}

/* ---------------- Generic classes -------------- */

.td-condition {
    font-family: monospace;
    padding-left: calc(var(--bs-gutter-x) * 0.25);
    padding-right: calc(var(--bs-gutter-x) * 0.25);
    border-radius: var(--bs-border-radius);
}

.td-clickable {
    cursor: pointer;
}

.td-bright-70 {
    filter: brightness(0.7);
}

.btn.td-bright-70:hover,
.btn.td-bright-70.active {
    filter: brightness(1);
    backdrop-filter: brightness(0.7);
}

/* ---------------- Bootstrap Customization -------------- */

/* Bootstrap sizing */
.min-h-1 {
    min-height: 1rem;
}

.min-h-2 {
    min-height: 2rem;
}

.min-h-3 {
    min-height: 3rem;
}

.min-h-4 {
    min-height: 4rem;
}

.min-h-5 {
    min-height: 5rem;
}

.min-h-6 {
    min-height: 6rem;
}

.min-h-7 {
    min-height: 7rem;
}

.min-h-8 {
    min-height: 8rem;
}

.min-h-9 {
    min-height: 9rem;
}

.min-h-10 {
    min-height: 10rem;
}

.min-h-11 {
    min-height: 11rem;
}

.min-h-12 {
    min-height: 12rem;
}

.min-h-13 {
    min-height: 13rem;
}

.min-h-14 {
    min-height: 14rem;
}

.min-h-15 {
    min-height: 15rem;
}


/* Bootstrap modal form customization */
.modal-body label.form-label {
    display: block;
}

/* Bootstrap alert customization */
.tidal-alert {
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 1999;
    margin-bottom: 0;
}

/* Bootstrap form customization */
@media (max-width: 767px) {
    .blank-label-md .blank-label {
        display: none;
    }

    .flex-between-md {
        display: flex;
        justify-content: space-between;
    }
}

@media (max-width: 991px) {
    .blank-label-lg .blank-label {
        display: none;
    }

    .flex-between-lg {
        display: flex;
        justify-content: space-between;
    }
}

@media (max-width: 1199px) {
    .blank-label-xl .blank-label {
        display: none;
    }

    .flex-between-xl {
        display: flex;
        justify-content: space-between;
    }
}

main.sticky-toolbar .bootstrap-table .fixed-table-toolbar {
    width: 100%;
    position: fixed;
    top: 3.5rem;
    left: 0;
    z-index: 1020;
    background: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important;
    padding-left: 1rem;
    padding-right: 1rem;
    border-bottom: solid 1px var(--bs-gray);
}

main.sticky-toolbar .bootstrap-table .fixed-table-container {
    margin-top: 3rem;
}

/* Bootstrap dark mode enforcement */
.for-light, .for-dark {
    display: none;
}

.btn-group-on-off .btn {
    min-width: 2.5rem;
}

/* ------------ Bootstrap Table Customization ------------ */

/* Prevent scroll on narrow devices */
html, body {
    overflow-x: hidden;
}

/* Hide pagination on narrow devices */
.bootstrap-table .page-item:not(.page-pre):not(.page-next) {
    display: none;
}

/* Display from "sm" screens and up */
@media (min-width: 576px) {
    .bootstrap-table .page-item:not(.page-pre):not(.page-next) {
        display: list-item;
    }
}

/* Helpers for dropdowns */
.bootstrap-table ul.dropdown-menu.clamped {
    max-height: 13rem;
    overflow-y: scroll;
}

.bootstrap-table .table-with-0r ul.dropdown-menu.clamped,
.bootstrap-table .table-with-1r ul.dropdown-menu.clamped {
    max-height: 3rem;
}

.bootstrap-table .table-with-2r ul.dropdown-menu.clamped {
    max-height: 5rem;
}

.bootstrap-table .table-with-3r ul.dropdown-menu.clamped {
    max-height: 7rem;
}

.bootstrap-table .table-with-4r ul.dropdown-menu.clamped {
    max-height: 9rem;
}

.bootstrap-table .table-with-5r ul.dropdown-menu.clamped {
    max-height: 11rem;
}

/* Full width search on narrow devices */
.bootstrap-table .search {
    min-width: 100%;
}

/* Standard field from "md" screens and up */
@media (min-width: 768px) {
    .bootstrap-table .search {
        min-width: 0;
    }
}

/* Adjustments for dark mode */
html[data-bs-theme="dark"] .bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading {
    background: #212529;
}

html[data-bs-theme="dark"] .bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .loading-text {
    color: #fff;
}

.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap {
    visibility: hidden;
}

html[data-bs-theme="dark"] .bootstrap-table .fixed-table-container .table tbody tr.selected td {
    background-color: rgba(255, 255, 255, .05)
}