:root {
    --header-height: 4em;
    --processing-adjust: 0.325em;
}
/*.col-md-3,*/
/*.col-md-6 {*/
/*    border: 1px solid red;*/
/*}*/
/** */
.icon-spin {
    animation: icon-spin 4s linear infinite;
}
@keyframes icon-spin {
    from { transform: rotate(1turn) }
}
.icon-spin-reverse {
    rotate: 20deg;
    animation: icon-spin-reverse 4s linear infinite;
}
@keyframes icon-spin-reverse {
    to { transform: rotate(1turn) }
}
/** */
.processingOverlay {
    position: fixed;
    top: 0;
    right: 0;
    height: 100%;
    width: 100%;
    background-color: #00000080;
    z-index: 2000;
}
.processingOverlay > i {
    font-size: 4em;
    position: absolute;
}
.processingOverlay > i.icon-spin {
    left: calc(50% - var(--processing-adjust));
    top: calc(50% - var(--processing-adjust))
}
.processingOverlay > i.icon-spin-reverse {
    left: calc(50% + var(--processing-adjust));
    top: calc(50% + var(--processing-adjust))
}
.offcanvas > .offcanvas-header,
.offcanvas > .offcanvas-body {
    padding: 2em;
}
[id$=-view-modal] {
    width: calc(100%) !important;
    max-width: 800px !important;
    background-color: #fafafa !important;
}
[id$=-list-modal],
[id$=-edit-modal] {
    width: calc(100% - 280px) !important;
    max-width: 2500px !important;
    background-color: #fafafa !important;
}
@media screen and (max-width: 992px) {
    [id$=-list-modal],
    [id$=-edit-modal] {
        width: calc(100%) !important;
    }
}
input.form-control,
input.form-select,
select.form-select,
textarea.form-control {
    color: var(--bs-body-color);
    border-color: #aaaaaa;
}
.btn-group-xs > .btn,
.btn-xs {
    padding: .125rem .375rem;
    font-size: .75rem;
    line-height: 1.5;
    border-radius: .15rem
}
.btn-group-xs > .btn-icon,
.btn-group-xs > .btn-icon.btn,
.btn-icon.btn-xs {
    width: 24px !important;
    height: 24px
}
div.datatable-list {
    overflow: auto;
    height: 100%;
}
table.dataTable th,
table.dataTable td {
    font-size: 10pt;
    border: 1px solid #ccc;
    padding: .5em;
    cursor: pointer;
}
.dataTable-menu {
    display: block !important;
    border: 1px solid #dee2e6 !important;
    padding-left: .25rem !important;
    padding-right: .25rem !important;
    width: 22px !important;
    text-align: center !important;
}
.dataTable-menu:nth-child(n+1) {
    margin-left: .25rem !important;
}
div.dt-scroll-body {
    padding-bottom: 0.75em;
    max-height: 400px !important;
}
div.dt-buttons > button.dt-button,
button.dt-paging-button {
    padding: 0.25em 1em !important;
}
div.dt-buttons > button.datatable-search-button {
    margin-top: 0.3em !important;
    margin-left: -3.8em !important;
    padding: 0.25em 0.7em !important;
}
div.dt-container .dt-search input {
    padding-right: 3em !important;
}
.g-6 {
    --bs-gutter-x: 6rem;
    --bs-gutter-y: 3rem;
}
.signed-in,
.signed-out {
    display: none;
}