div.form-group-file:has(.file-displayname) {
        visibility: hidden;
}

#tip-table tbody tr > :first-child, #tip-table tbody tr > :nth-child(2) {
        width: 15%;
}

#tip-table tbody tr > :nth-child(3) {
        width: 50%;
}

.hidden {
        display: none;
}

/* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification\ 
for details on configuring this project to bundle and minify static web assets. */
body {
        /* padding-top: 50px; */
        padding-bottom: 20px;
}

/* Wrapping element */
/* Set some basic padding to keep content from hitting the edges */
.body-content {
        padding-left: 15px;
        padding-right: 15px;
}

/* Carousel */
.carousel-caption p {
        font-size: 20px;
        line-height: 1.4;
}

/* Make .svg files in the carousel display properly in older browsers */
.carousel-inner .item img[src$=".svg"] {
        width: 100%;
}

/* QR code generator */
#qrCode {
        margin: 15px;
}

.brand-text {
        overflow: hidden;
        text-overflow: ellipsis;
}

/* Hide/rearrange for smaller screens */
@media screen and (max-width: 767px) {
        /* Hide captions */
        .carousel-caption {
                display: none;
        }

        .navbar-brand img {
                max-width: 33%;
                width: 33%;
                height: auto;
        }

        .navbar-brand .brand-text {
                font-size: small;
                font-weight: bolder;
                max-width: 225px;
                display: inline-block;
        }
}

.required::after {
        content: " *";
        color: rgb(164, 38, 44);
        padding-right: 12px;
}

.bd-callout {
        padding: 1.25rem;
        margin-top: 1.25rem;
        margin-bottom: 1.25rem;
        border: 1px solid #eee;
        border-left-width: .25rem;
        border-radius: .25rem;
}

.bd-callout-warning {
        border-left-color: #f0ad4e;
}

/* Bootstrap modifications */

/* Table Mods 

    1. Allow nested tables to maintain their own color scheming. (Discovered when using tempus dominus inside of a 'table-striped' table)
*/

.table-striped tbody tr:nth-of-type(odd) {
        background-color: initial;
}

.table-striped > tbody > tr:nth-of-type(odd) {
        background-color: rgba(0, 0, 0, 0.05);
}

/* Datatables fix to prevent the need to call columns.adjust() when a table goes from hidden to visible */
.show table[style="width: 0px;"] {
        width: 100% !important;
}

div.dataTables_processing > div:last-child > div {
        background: rgb(13, 110, 253); /* Datatables doesn't generate this value correctly. Quick fix. */
}

:root {
        --fa-spinner: "\f110";
        --fa-edit: '\f044';
        --fa-trash: '\f1f8';
        --fa-info: '\f129';
        --fa-arrow-left: '\f060';
        --fa-plus-square: '\f0fe';
        --fa-save: '\f0c7';
        --fa-check: '\f00c';
        --fa-times: '\f00d';
        --fa-plus: '\2b';
        --fa-minus: '\f068';
        --fa-caret-right: '\f0da';
        --fa-caret-down: '\f0d7';
        --fa-file: '\f15b';
        --fa-file-upload: '\f093';
        --fa-file-download: '\f019';
        --fa-file-image: '\f1c5';
        --fa-cloud-download: '\f0ed';
        --fa-print: '\f02f';
        --fa-list-alt: '\f022';
        --fa-filter: '\f0b0';
        --fa-search: '\f002';
        --fa-exclamation-triangle: '\f071';
        --fa-exclamation-circle: '\f06a';
        --fa-clipboard: '\f0ea';
        --fa-cog: '\f013';
        --fa-calendar: '\f073';
        --fa-sign-out: '\f08b';
        --fa-user: '\f007';
        --fa-link: '\f08e';
}

.icon::before {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: FontAwesome;
    font-weight: 900;
}

/* 
    LOADING SYMBOLS / ANIMATIONS

    class="icon loading (spin|pulse)"
*/
.loading::before {
    font-family: FontAwesome;
    font-weight: 900;
    content: var(--fa-spinner);
    opacity: 1;
}

.loading.spin::before {
    -webkit-animation: fa-spin 2s infinite linear;
    animation: fa-spin 2s infinite linear;
}

.loading.pulse::before {
    -webkit-animation: fa-spin 1s infinite steps(8);
    animation: fa-spin 1s infinite steps(8);
}

/* 
    BASIC OPERATIONS FOR RECORDS 
    
    class="icon (edit|delete|...)"
*/

.edit::before {
    content: var(--fa-edit);
}

.delete::before {
    content: var(--fa-trash);
}

.info::before {
    content: var(--fa-info);
}

.return::before {
    content: var(--fa-arrow-left);
}

.create::before {
    content: var(--fa-plus-square);
}

.save::before {
    content: var(--fa-save);
}

.print::before {
    content: var(--fa-print);
}

.index::before {
    content: var(--fa-search);
}

/* 
    COMMON SYMBOLS 

    class="icon (check|times|positive|...)"
*/

.ext-link::before {
        content: var(--fa-link);
}

.user::before {
    content: var(--fa-user);
}

.check::before {
    content: var(--fa-check);
}

.times::before {
    content: var(--fa-times);
}

.positive::before {
    content: var(--fa-plus);
}

.negative::before {
    content: var(--fa-minus);
}

.caret-right::before {
    content: var(--fa-caret-right);
}

.caret-down::before {
    content: var(--fa-caret-down);
}

.list::before {
    content: var(--fa-list-alt);
}

.filter::before {
    content: var(--fa-filter);
}

.cog::before {
    content: var(--fa-cog);
}

.gears::before {
    content: var(--fa-cog);
}

.settings::before {
    content: var(--fa-cog);
}

.search::before {
    content: var(--fa-search);
}

.warning-triangle::before {
    content: var(--fa-exclamation-triangle);
}

.warning-circle::before {
    content: var(--fa-exclamation-circle);
}

.clipboard::before {
    content: var(--fa-clipboard);
}

.report::before {
    content: var(--fa-clipboard);
}

.calendar::before {
    content: var(--fa-calendar);
}

.sign-out::before {
    content: var(--fa-sign-out);
}

/* 
    FILE SYMBOLS

    class="icon (file|file-upload|file-download|photo-cloud-download|document-cloud-download)"
*/

.file::before {
    content: var(--fa-file);
}

.file-upload::before {
    content: var(--fa-file-upload);
}

.file-download::before {
    content: var(--fa-file-download);
}

.photo-cloud-download {
    position: relative;
}

    .photo-cloud-download:before {
        content: var(--fa-file-image);
        position: absolute;
        font-size: 1.5em;
        left: 2px;
        top: 2px;
    }

    .photo-cloud-download:after {
        content: var(--fa-cloud-download);
        position: absolute;
        font-size: 1.2em;
        right: -.5em;
    }

.document-cloud-download {
    position: relative;
}

    .document-cloud-download:before {
        content: var(--fa-file);
        position: absolute;
        font-size: 1.5em;
        left: 2px;
        top: 2px;
    }

    .document-cloud-download:after {
        content: var(--fa-cloud-download);
        position: absolute;
        font-size: 1.2em;
        right: -.5em;
    }
