html {
    font-size: 16px;
}

@media (min-width: 992px) {
    html {
        font-size: 18px;
    }

    .card-scroll-vh-100 .card-body {
        height: 0px;
    }
}

header:has(> h1.text-danger) {
    padding: 1em;
}

.card-scroll-vh-100 {
    height: 100%;
}

    .card-scroll-vh-100 .card-body {
        overflow-y: auto;
        max-height: 100vh;
    }

.card-scroll-vh-50 {
    height: 100%;
}

    .card-scroll-vh-50 .card-body {
        overflow-y: auto;
        max-height: 50vh;
    }

.white-space-pre-line {
    white-space: pre-line;
}

.alert-header {
    margin: 0px;
}

    .alert-header ul {
        margin-bottom: 0px;
    }

    .alert-header .animate {
        position: absolute;
        width: 100%;
        overflow: hidden;
    }

        .alert-header .animate > div {
            display: none;
            float: right;
            animation: 1s transform-right 3s forwards;
        }

            .alert-header .animate > div:has(div) {
                display: block;
            }

@keyframes transform-right {
    to {
        transform: translateX(100vw);
    }
}

.img-logo {
    height: 35px;
}

.disabled {
    opacity: 0.695;
}

.visibility-hidden {
    visibility: hidden;
    height: 0px;
    width: 0px;
    position: absolute;
}

.display-only-child {
    display: none;
}

    .display-only-child:only-child {
        display: block;
    }

.validation-summary-valid {
    display: none;
}

label.form-label {
    font-weight: 700;
}

.card-header {
    white-space: nowrap;
}

.table td:empty:after {
    content: '\00a0';
}

.card-body .table {
    margin-bottom: 0px;
}

button:has(> i.bi) {
    float: right;
    background-color: rgba(0, 0, 0, 0);
    color: white;
    padding: 0px;
    border: 0px;
    outline: none;
    display: block;
}

button i.bi, .dt-orderable-asc i.bi, .dt-orderable-desc i.bi {
    opacity: .5;
}

button:hover i.bi, .dt-orderable-asc:hover i.bi, .dt-orderable-desc:hover i.bi {
    opacity: .75;
}

button:focus i.bi, .dt-orderable-asc:focus i.bi, .dt-orderable-desc:focus i.bi {
    opacity: 1;
}

button i.bi::before {
    vertical-align: sub;
}

.modal-header {
    color: white;
    background-color: rgb(11, 60, 93);
}

.cursor-default {
    cursor: default;
}

input:read-only {
    cursor: default;
}

.white-space-nowrap {
    white-space: nowrap;
}

.display-has-button:not(:has(button)) {
    display: none;
}

.dt-container:has(.dataTable) .row {
    margin-top: 0px !important;
    --bs-gutter-y: 0rem !important;
}

table.dataTable thead .dt-ordering-asc .dt-column-order:before,
table.dataTable thead .dt-ordering-asc .dt-column-order:after,
table.dataTable thead .dt-orderable-asc.dt-orderable-desc .dt-column-order:before,
table.dataTable thead .dt-orderable-asc.dt-orderable-desc .dt-column-order:after {
    content: none;
}

table.dataTable thead > tr > th.dt-orderable-asc:hover, table.dataTable thead > tr > th.dt-orderable-desc:hover,
table.dataTable thead > tr > td.dt-orderable-asc:hover,
table.dataTable thead > tr > td.dt-orderable-desc:hover {
    outline: none;
}

table.table.dataTable > tbody > tr.selected > * {
    box-shadow: none;
    background-color: var(--bs-card-cap-bg);
}

.table.dataTable thead .bi {
    display: none;
}

.table.dataTable thead .dt-ordering-asc i.bi-sort-up {
    display: inline;
}

.table.dataTable thead .dt-ordering-desc i.bi-sort-down {
    display: inline;
}

.table.dataTable td.dt-empty {
    font-weight: bolder;
    border-bottom: none;
}

.table.dataTable thead th {
    vertical-align: middle;
}

.table.dataTable td.dt-empty, .table.dataTable thead th {
    background-color: transparent;
}

.table.dataTable thead th, .table.dataTable tbody td {
    text-align: left;
}

.table.dataTable th {
    padding: 0px 30px 8px 8px;
}

.table.dataTable {
    cursor: default;
    outline: none;
}

    .table.dataTable td {
        word-break: break-word;
    }

.autocomplete-container {
    position: relative;
}

.autocomplete {
    width: 100%;
    cursor: default;
}

    .autocomplete + ul {
        overflow-y: auto;
        min-width: 100%;
        z-index: 1;
        position: absolute;
        top: 0;
        left: 0;
        max-height: 50vh;
        display: none;
        box-shadow: rgba(0, 0, 0, 0.18) 0px 0px 3px 2px;
        border-radius: unset;
        outline: none;
        border: ActiveBorder;
        margin-top: 5px;
        padding: 0px;
        list-style: none;
        background-color: white;
        cursor: default;
    }

        .autocomplete + ul li {
            padding: 0px 0px 0px 12px;
        }

            .autocomplete + ul li.highlight {
                background-color: SelectedItem;
                color: SelectedItemText;
            }

            .autocomplete + ul li.edge.highlight {
                background-color: light-dark(rgb(118, 118, 118), rgb(195, 195, 195));
                color: light-dark(rgb(255, 255, 255), rgb(16, 16, 16));
            }

.min-vw-25 {
    min-width: 25vw !important;
}

.navbar-style {
    border-bottom: 5px solid #c4820e;
}

    .navbar-style .nav-link {
        color: white;
    }

table.table.dataTable > tbody > tr.selected > * {
    color: black;
}

.footer-custom {
    background: url(../images/Footer-Background-Topology.png) top center no-repeat #0b3c5d;
    background-size: cover;
}

a.nav-link:hover {
    color: var(--bs-navbar-hover-color);
}

.navbar-sub {
    background-color: white;
}

.img-logo {
    margin: .1em;
    padding-left: 7em;
    max-height: 1.2em;
}

.img-log-navbar-sub {
    margin: 1em;
    margin-left: 8em;
    max-height: 3.7em;
}

.publication-thumbnail {
    height: 16em;
}
