

/*-------------------------------------------------------------------------------------------------------------------------------------------------
    General-purpose styles
-------------------------------------------------------------------------------------------------------------------------------------------------*/

[data-is-visible='true'] {
    display: initial;
}

[data-is-visible='false'] {
    display: none;
}


/* The spinner icon and text */
.spinner-ctrl {
    display: block;
    font-size: 14pt;
    height: 100%;
    margin: 0 0 30px 0;
    width: 200px;
}

    .spinner-ctrl i {
        font-size: 20pt;
        vertical-align: middle;
    }

.btn {
    border: 1px solid transparent;
    display: inline-block;
    font-size: 12pt;
    font-size: 0.9rem; /*1rem;*/
    font-weight: 400;
    padding: .375rem .75rem;
    text-align: center;
    user-select: none;
    vertical-align: middle;
    white-space: nowrap;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}
    .btn i {
        margin-right: 5px;
    }



/*-------------------------------------------------------------------------------------------------------------------------------------------------
    Taxonomy control
-------------------------------------------------------------------------------------------------------------------------------------------------*/

/* The search panel and controls */
.search-panel .search-controls {
    max-width: 600px;
    border-collapse: separate;
    line-height: 1.5;
}

.search-panel .search-controls .search-text {
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 4px 0 0 4px;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    color: #555;
    font-size: 14px;
    line-height: 1.3;
    margin: 0;
    padding: 6px 12px;
    vertical-align: middle;
    width: 345px;
}

    .search-panel .search-controls .search-text:focus {
        color: #495057;
        background-color: #fff;
        border-color: #80bdff;
        outline: 0;
        box-shadow: 0 0 0 1px rgba(0,123,255,.15);
    }

.search-panel .search-controls .search-ctrl {
    background-color: #0062cc;
    border-color: #005cbf;
    border-radius: 0;
    color: #fff;
}

.clear-search-ctrl {
    background-color: #999;
    border-radius: 0 .25rem .25rem 0;
    color: #fff;
}

.search-controls .search-status {
    height: 100%;
    vertical-align: middle;
}

.all-releases-row {
    margin: 5px 0 0 0;
    vertical-align: middle;
}

.search-panel .all-releases-row input[type='checkbox'].all-releases-ctrl {
    height: 16px;
    vertical-align: middle;
    width: 16px;
}

.all-releases-row label {
    font-size: 11pt;
    font-weight: normal;
    margin: 0 0 0 5px;
    vertical-align: middle;
}



/* Search results */
.search-panel .search-results {
    margin: 15px 0 15px 0;
}

.search-results-table {
    margin: 15px 0 0 0;
}

    .search-results-table .result-alt-row {
        background-color: #fff;
    }

    .search-results-table .result-row {
        background-color: #eee;
    }

    .search-results-table .view-ctrl {
        width: 80px;
    }

    .search-results-table .view-search-result-ctrl {
        border: 1px solid transparent;
        display: inline-block;
        font-size: 10pt;
        font-weight: 400;
        line-height: 1.5;
        padding: 2px 10px;
        text-align: center;
        user-select: none;
        vertical-align: middle;
        white-space: nowrap;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .search-results-table .release-name {
        padding: 3px;
        text-align: left;
        width: 70px;
    }

    .search-results-table .level-name {
        padding: 3px 15px 3px 3px;
        text-transform: capitalize;
    }

    .search-results-table .result-html {
        padding-right: 15px;
    }

.search-term-result {
    background-color: #ffc90e;
}


/* Release panel */
.release-panel {
    margin: 30px 0 15px 0;
}

    .release-panel .release-title {
        color: #515151;
        font-size: 14pt;
        font-weight: 700;
        margin: 0 0 5px 0;
        padding: 0;
    }

    .release-panel .release-description {
        color: #515151;
        font-size: 10pt;
        font-weight: normal;
        margin: 0;
        padding: 0;
    }

/* A top-level taxa node container */
.tc-container {
    font-size: 11pt;
}

    .tc-container.small-font {
        font-size: 9pt;
    }

    /* A taxa node container below the top level */
    .tc-container.left-offset {
        margin-left: 23px;
    }

.tc-node {
    margin-bottom: 3px;
    padding: 3px 15px 3px 5px;
    vertical-align: top;
    width: 100%;
}

.tc-right-side {
    float: right;
}

.tc-node .tc-member-of {
    display: inline-block;
    margin-left: 15px;
    text-transform: capitalize;
}

/* The star that's displayed on the reference strain */
.tc-ref-species {
    display: inline-block;
    height: 100%;
    position: absolute;
    margin: 0 0 0 -30px;
    padding: 0;
    vertical-align: middle;
}

    .tc-ref-species .fas.fa-star {
        color: #ffc90e;
        font-size: 12pt;
        margin: 0;
        padding: 0;
        vertical-align: middle;
    }


.tc-ctrl {
    cursor: pointer;
    display: inline-block;
    width: 20px;
}

.tc-rank {
    display: inline-block;
    font-weight: 700;
    margin-right: 5px;
    text-transform: capitalize;
}

.tc-name {
    display: inline-block;
}

.tc-count {
    display: inline-block;
    text-align: right;
    /*width: 200px;*/
}

.tc-children[data-is-expanded="true"] {
    display: block;
}

.tc-children[data-is-expanded="false"] {
    display: none;
}


/* Realm */
.tc-node[data-rank='realm'] {
    background-color: #006600;
    color: #fff;
}

/* Subrealm */
/* Kingdom */
/* Subkingdom */

/* Phylum */
.tc-node[data-rank='phylum'] {
    background-color: #00426D;
    color: #fff;
}

/* Subphylum */
.tc-node[data-rank='subphylum'] {
    background-color: #00426D;
    color: #fff;
}

/* Class */
.tc-node[data-rank='class'] {
    background-color: #3D79AA;
    color: #f6f6f6;
}

/* Subclass */
.tc-node[data-rank='subclass'] {
    background-color: #3D79AA;
    color: #f6f6f6;
}

/* Order */
.tc-node[data-rank='order'] {
    background-color: #006CB5;
    color: #fff;
}

/* Suborder */
.tc-node[data-rank='suborder'] {
    background-color: #006CB5;
    color: #fff;
}

/* Family */
.tc-node[data-rank='family'] {
    background-color: #258DE4;
    color: #fff;
}

/* Subfamily */
.tc-node[data-rank='subfamily'] {
    background-color: #258DE4;
    color: #fff;
}

/* Genus */
.tc-node[data-rank='genus'] {
    background-color: #99D7FF;
    color: #000;
}

/* Subgenus */
.tc-node[data-rank='subgenus'] {
    background-color: #548EC0;
    color: #fff;
}

/* Species */
.tc-node[data-rank='species'] {
    background-color: #D1EDFF;
    color: #000;
}

.tc-history-ctrl {
    cursor: pointer;
    display: inline-block;
    margin-left: 30px;
    text-decoration: underline;
}

    .tc-history-ctrl.history-available {
        color: #3de545;
    }

    .tc-history-ctrl.no-history {
    }

.tc-node.highlighted-node {
    background-color: #ffc90e;
    color: #000;
}

.tc-node:hover {
    background-color: #ffc90e;
    color: #000;
    cursor: pointer;
}

/* Release History */
.release-history {
    margin: 15px 0 0 0;
}

    .release-history .release-ctrl {
        color: #03a9f4;
        cursor: pointer;
        text-decoration: underline;
    }


/* Rank controls */
.rank-controls-container {
    margin-bottom: 15px;
}

    .rank-controls-container .rank-control {
        display: inline-block;
        margin-right: 15px;
    }

    .rank-controls-container .hide-above-rank-control {
    }

    .rank-controls-container .pre-expand-to-rank-ctrl {
    }

    .rank-controls-container .filter-ranks-control {
        background-color: #0062cc;
        border-color: #005cbf;
        border-radius: 0;
        color: #fff;
    }




/*-------------------------------------------------------------------------------------------------------------------------------------------------
    Taxonomy history control
-------------------------------------------------------------------------------------------------------------------------------------------------*/

.ictv-taxonomy-history {
    display: block;
}
    .ictv-taxonomy-history .history-title {
        font-size: 16pt;
        margin: 15px 0 30px 0;
    }
        .ictv-taxonomy-history .history-title .history-title-taxa-name {
            display: inline-table;
            font-size: 16pt;
            font-weight: 700;
        }
        .ictv-taxonomy-history .history-title .history-title-lineage {
            color: #aaa;
            font-size: 11pt;
            margin: 5px 0 0 0;
        }
    .ictv-taxonomy-history .release-panel {
        display: block;
    }


.history-release {
    background-color: #eee;
    border-radius: 5px;
    margin-bottom: 30px;
}

    .history-release .release-header {
        background-color: #4aa3df;
        border-radius: 5px 5px 0 0;
        color: #fff;
        padding: 5px;
        vertical-align: middle;
    }

        .history-release .release-header .release-year {
            display: inline-table;
            font-size: 30pt;
            margin: 5px 10px 0 0;
            padding: 0;
            vertical-align: middle;
        }

        .history-release .release-header .release-title {
            font-size: 12pt;
            display: inline-table;
            margin: 0;
            padding: 0;
            vertical-align: middle;
        }

    .history-release .release-body {
        padding: 10px 5px 10px 10px;
    }

    .history-release .release-changes {
        font-size: 16pt;
        font-weight: 700;
        margin: 0 0 10px 0;
    }

    .history-release .release-lineage {
        font-size: 12pt;
        margin: 0 0 15px 0;
    }

        .history-release .release-lineage .lineage-chevron {
            color: #aaa;
            font-size: 12pt;
            font-weight: normal;
            margin: 0 5px 0 5px;
        }

    .history-release .release-proposal {
        margin: 0 0 0 0;
    }

        .history-release .release-proposal i {
            font-size: 14pt;
        }

    .history-release .release-proposal-link {
    }

        .history-release .release-proposal-link:hover {
            text-decoration: underline;
        }

        .history-release .release-proposal-link i:hover {
            text-decoration: none;
        }

    .history-release .release-without-change {
        color: #aaa;
    }



/*-------------------------------------------------------------------------------------------------------------------------------------------------
    Virus properties table (used by VirusPropertiesPlugin.dll)
-------------------------------------------------------------------------------------------------------------------------------------------------*/

.virus-properties-table-legend {

}

.virus-properties-table {
}

    .virus-properties-table th,
    .virus-properties-table td {
        font-size: 8pt;
    }

    .virus-properties-table .header-row {
    }

    .virus-properties-table .virus-row {
        background-color: #fff;
    }

    .virus-properties-table .alt-virus-row {
        background-color: #fdfdfd;
    }

    .virus-properties-table td {
        
    }

    /* Column classes (both TH and TD) */
    .virus-properties-table .col-species {
       min-width: 15ch; 
    }

    .virus-properties-table .col-exemplar {
    }

    .virus-properties-table .col-species {
    }

    .virus-properties-table .col-alternative_name_csv {
    }

    .virus-properties-table td.col-isolate {
        word-break: break-word;
    }

    .virus-properties-table .col-accession_number {
    }

    .virus-properties-table .col-refseq_accession {
    }

    .virus-properties-table .col-available_sequence {
    }

    .virus-properties-table td.col-abbrev {
        word-break: normal;
    }



/*-------------------------------------------------------------------------------------------------------------------------------------------------
    The Virus Property Control 
-------------------------------------------------------------------------------------------------------------------------------------------------*/
.ictv-virus-property-control-wrapper {
    margin: 15px 0 60px 0;
}

.ictv-virus-property-result-count {
    font-size: 0.9rem;
    font-weight: 700;
    margin: 0 0 15px 0;
}

.ictv-virus-property-control-wrapper .sort-control-panel {
    margin: 0 0 30px 0;
}

.ictv-virus-property-control-wrapper .sort-control-panel label {
    font-size: 0.9rem;
    font-weight: 700;
}
    .ictv-virus-property-control-wrapper .sort-control-panel .sort-control {
        display: inline-block;
        font-size: 0.9rem;
        padding: 0.25rem;
    }

    .ictv-virus-property-control-wrapper .sort-control-panel .sort-direction {
        display: inline-block;
        font-size: 0.9rem;
        padding: 0.25rem;
    }


.ictv-virus-property-table {
    border-spacing: 1px;
    width: 100%;
}

table.ictv-virus-property-table {
    border-bottom: 1px solid #111111;
    border-collapse: separate;
    border-spacing: 0;
}

    .ictv-virus-property-table th {
        font-size: 10.5pt !important;
        padding: 5px;
        text-align: center;
        font-weight: 700;
    }
        .ictv-virus-property-table th .category-label {
            color: #777;
            font-size: 10.5pt !important;
            white-space: nowrap;
        }
            .ictv-virus-property-table th .category-label.active {
                color: #0062cc;
            }
    .ictv-virus-property-table th .category-label[data-category] {
        text-decoration: underline;
        cursor: pointer;
    }
        .ictv-virus-property-table th .category-label[data-category] .label-filter-count {
            /*font-size: 9pt;*/
        }

.ictv-virus-property-table td {
    border-top: 1px solid #dddddd;
    border-right: 1px solid #dddddd;
    padding: 5px;
    text-align: center;
}
    .ictv-virus-property-table td:first-child {
        border-left: 1px solid #dddddd;
    }

    .ictv-virus-property-table th.taxon-header {
        
    }

    .ictv-virus-property-table th.subtaxon-header {
        
    }

    .ictv-virus-property-table th.genome_segments-header {
    }

    .ictv-virus-property-table th.genome_configuration-header {
        
    }

    .ictv-virus-property-table th.genome_size-header {
        
    }

    .ictv-virus-property-table th.envelope_type-header {
        
    }

    .ictv-virus-property-table th.virus_morphology-header {
        
    }

    .ictv-virus-property-table th.virion_size-header {
       
    }

    .ictv-virus-property-table th.host_type-header {
        
    }


.no-data-available-panel {
    font-size: 14pt;
    margin: 30px auto 30px auto;
    text-align: center;
    width: 100%;
}


.even-row {
    background-color: #fff;
}

.odd-row {
    background-color: #f9f9f9;
}


#modalContent .filter-control-row {
    margin: 0 0 10px 0;
    vertical-align: middle;
}
#modalContent .filter-control {
    display: inline-block;
}
#modalContent input.filter-control[type="checkbox"] {
    height: 16px;
    width: 16px;
}

#modalContent .filter-label {
    display: inline-block;
    font-size: 1rem;
}



#modalContent .label-filter-count {
    display: inline-block;
}

#modalContent .select-all-control {
    display: inline-block;
    height: 16px;
    width: 16px;
}

#modalContent .select-all-label {
    display: inline-block;
    font-size: 1rem;
}



/* Virion size dialog */
.virion-size-controls-container {
}
    .virion-size-controls-container .dimension-panel {
    }

    .virion-size-controls-container .dimension-control {
    }

    .virion-size-controls-container .svg-panel {
        text-align: center;
        vertical-align: middle;
    }

    .virion-size-controls-container .range-controls-panel {
    }

    .virion-size-controls-container .range-control-row {
    }
        .virion-size-controls-container .range-control-row .range-control-row-label {
            display: inline-block;
            text-align: right;
            width: 70px;
        }

    .virion-size-controls-container .qualifier-control {
    }

    .virion-size-controls-container .range-control-one {
        width: 60px;
    }

    .virion-size-controls-container .range-control-and {
    }

    .virion-size-controls-container .range-control-two {
        width: 60px;
    }

    .virion-size-controls-container .range-control-units {
    }

    .virion-size-controls-container .virion-size-guide {
        fill: #c4c4c4;
    }
    .virion-size-controls-container .virion-size-reference-label-1d {
        font-size: 20px;
    }
    .virion-size-controls-container .virion-size-reference-label-2d {
        font-size: 26px;
    }

    .virion-size-controls-container .virion-size-reference-shape {
        fill: #4583ff;
    }


/* Overriding the Tingle modal dialog classes */
h4#modal-category.modal-title {
    line-height: 100%;
    margin: 0.5em 0 1.5em 0;
    text-align: center;
}



/* Bootstrap CSS for modal dialogs (with slight modifications) 

#ictv_dialog {
    background-color: unset;
    position: absolute;
}

#ictv_dialog .modal-open {
    overflow: hidden;
}

    #ictv_dialog .modal-open .modal {
        overflow-x: hidden;
        overflow-y: auto;
    }

#ictv_dialog .modal {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1050;
    display: none;
    width: 100%;
    height: 100%;
    overflow: hidden;
    outline: 0;
}

#ictv_dialog .modal-dialog {
    position: relative;
    width: auto;
    margin: 0.5rem;
    pointer-events: none;
}

#ictv_dialog .modal.fade .modal-dialog {
    transition: -webkit-transform 0.3s ease-out;
    transition: transform 0.3s ease-out;
    transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
    -webkit-transform: translate(0, -50px);
    transform: translate(0, -50px);
}

@media (prefers-reduced-motion: reduce) {
    #ictv_dialog .modal.fade .modal-dialog {
        transition: none;
    }
}

#ictv_dialog .modal.show .modal-dialog {
    -webkit-transform: none;
    transform: none;
}

#ictv_dialog .modal-dialog-scrollable {
    display: -ms-flexbox;
    display: flex;
    max-height: calc(100% - 1rem);
}

    #ictv_dialog .modal-dialog-scrollable .modal-content {
        max-height: calc(100vh - 1rem);
        overflow: hidden;
    }

    #ictv_dialog .modal-dialog-scrollable .modal-header,
    #ictv_dialog .modal-dialog-scrollable .modal-footer {
        -ms-flex-negative: 0;
        flex-shrink: 0;
    }

    #ictv_dialog .modal-dialog-scrollable .modal-body {
        overflow-y: auto;
    }

#ictv_dialog .modal-dialog-centered {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    min-height: calc(100% - 1rem);
}

    #ictv_dialog .modal-dialog-centered::before {
        display: block;
        height: calc(100vh - 1rem);
        content: "";
    }

    #ictv_dialog .modal-dialog-centered.modal-dialog-scrollable {
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-pack: center;
        justify-content: center;
        height: 100%;
    }

        #ictv_dialog .modal-dialog-centered.modal-dialog-scrollable .modal-content {
            max-height: none;
        }

        #ictv_dialog .modal-dialog-centered.modal-dialog-scrollable::before {
            content: none;
        }

#ictv_dialog .modal-content {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    pointer-events: auto;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 0.3rem;
    outline: 0;
}

#ictv_dialog .modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1040;
    width: 100vw;
    height: 100vh;
    background-color: #000;
}

    #ictv_dialog .modal-backdrop.fade {
        opacity: 0;
    }

    #ictv_dialog .modal-backdrop.show {
        opacity: 0.5;
    }

#ictv_dialog .modal-header {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 1rem 1rem;
    border-bottom: 1px solid #dee2e6;
    border-top-left-radius: 0.3rem;
    border-top-right-radius: 0.3rem;
}

    #ictv_dialog .modal-header .close {
        padding: 1rem 1rem;
        margin: -1rem -1rem -1rem auto;
    }

#ictv_dialog .modal-title {
    margin-bottom: 0;
    line-height: 1.5;
}

#ictv_dialog .modal-body {
    position: relative;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    padding: 1rem;
}

#ictv_dialog .modal-footer {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: end;
    justify-content: flex-end;
    padding: 1rem;
    border-top: 1px solid #dee2e6;
    border-bottom-right-radius: 0.3rem;
    border-bottom-left-radius: 0.3rem;
    height: unset;
}

    #ictv_dialog .modal-footer > :not(:first-child) {
        margin-left: .25rem;
    }

    #ictv_dialog .modal-footer > :not(:last-child) {
        margin-right: .25rem;
    }

#ictv_dialog .modal-scrollbar-measure {
    position: absolute;
    top: -9999px;
    width: 50px;
    height: 50px;
    overflow: scroll;
}

@media (min-width: 576px) {
    #ictv_dialog .modal-dialog {
        max-width: 500px;
        margin: 1.75rem auto;
    }

    #ictv_dialog .modal-dialog-scrollable {
        max-height: calc(100% - 3.5rem);
    }

        #ictv_dialog .modal-dialog-scrollable .modal-content {
            max-height: calc(100vh - 3.5rem);
        }

    #ictv_dialog .modal-dialog-centered {
        min-height: calc(100% - 3.5rem);
    }

        #ictv_dialog .modal-dialog-centered::before {
            height: calc(100vh - 3.5rem);
        }

    #ictv_dialog .modal-sm {
        max-width: 300px;
    }
}

@media (min-width: 992px) {
    #ictv_dialog .modal-lg,
    #ictv_dialog .modal-xl {
        max-width: 800px;
    }
}

@media (min-width: 1200px) {
    #ictv_dialog .modal-xl {
        max-width: 1140px;
    }
}

*/