/* Search page. Colors and sizes come from common/static/css/isobank-tokens.css. */

.field-select {
    font-size: var(--iso-font-sm);
}

.remove-link {
    color: var(--iso-link);
    cursor: pointer;
}

td {
    padding: 5px;
}

td.remove-link {
    vertical-align: middle;
}

td.input-control {
    vertical-align: middle;
}

td.label {
    vertical-align: middle;
    font-size: var(--iso-font-sm);
    font-style: italic;
    text-align: right;
    font-weight: bold;
}

tr:nth-child(odd) {
    background-color: var(--iso-surface-stripe);
}

/* A row that stays unstriped: the empty-state message and the Apply Filter row. */
tr.row-plain, tr > td.row-plain {
    background-color: var(--iso-surface);
}

.dd {
    width: 100%;
    padding: 10px;
    margin: 0;
    box-sizing: border-box;
}

input.numeric {
    width: 50px;
}

.input-date-width {
    width: 50px;
}

/* Date criteria and the taxon name box. */
.input-date {
    width: 160px;
}

.input-taxon {
    width: 350px;
}

.emphasis {
    font-style: italic;
    font-weight: bold;
}

.message {
    font-style: italic;
    color: var(--iso-text-required);
}

.message-small {
    font-style: italic;
    color: var(--iso-text-required);
    font-size: var(--iso-font-xxs);
    margin-left: 10px;
}

.form-label {
    font-size: var(--iso-font-sm);
    font-style: italic;
    text-align: right;
    font-weight: bold;
}

.grid-container {
    display: grid;
}

.content, .overlay {
    grid-area: 1 / 1;
}

#map {
    height: 800px;
}

.loader {
    pointer-events: none;
    left: 50%;
    top: 50%;
    position: absolute;
    z-index: 1;
    margin: auto;
    border: 16px solid var(--iso-loader-track);
    border-radius: 50%;
    border-top: 16px solid var(--iso-loader-spinner);
    width: 120px;
    height: 120px;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* Add animation to "page content" */
.animate-bottom {
    position: relative;
    animation-name: animatebottom;
    animation-duration: 1s;
}

@keyframes animatebottom {
    from {
        bottom: -100px;
        opacity: 0;
    }
    to {
        bottom: 0;
        opacity: 1;
    }
}

.ui-menu-item {
    font-size: var(--iso-font-smaller);
}

.ui-menu {
    outline-width: 2px;
}

.autocomplete-item-alternate {
    background-color: var(--iso-surface-alt);
}

.ui-autocomplete {
    max-height: 350px;
    overflow-y: auto;
    z-index: 999;
    /* prevent horizontal scrollbar */
    overflow-x: hidden;
}

.search-mode-button,
.search-mode-button-selected {
    background-color: var(--iso-surface-button);
    color: var(--iso-text);
    border-radius: 4px;
    padding: 5px;
    cursor: pointer;
    margin: 12px;
    display: inline-block;
    text-decoration: none;
    border: var(--iso-border) solid thin;
}

.search-mode-button-selected {
    border: var(--iso-border-strong) solid 3px;
}

.search-mode-button:hover {
    background-color: var(--iso-surface-button-hover);
}

#toggle {
    text-align: right;
    vertical-align: bottom;
}
