/*
 * Copyright (C) 2013 Google Inc. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 *     * Redistributions of source code must retain the above copyright
 * notice, this list of conditions and the following disclaimer.
 *     * Redistributions in binary form must reproduce the above
 * copyright notice, this list of conditions and the following disclaimer
 * in the documentation and/or other materials provided with the
 * distribution.
 *     * Neither the name of Google Inc. nor the names of its
 * contributors may be used to endorse or promote products derived from
 * this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

.network-log-grid.data-grid {
    border: none;
    flex: auto;
}

.network-summary-bar {
    flex: 0 0 27px;
    line-height: 27px;
    padding-left: 5px;
    background-color: #eee;
    border-top: 1px solid #ccc;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.network-summary-bar span[is=dt-icon-label] {
    margin-right: 6px;
}

.network-summary-bar > * {
    flex: none;
}

.network-log-grid.data-grid table.data {
    background: transparent;
}

.network-log-grid.data-grid td {
    height: 41px;
    border-left: 1px solid #e1e1e1;
    vertical-align: middle;
}

.network-log-grid.data-grid .corner {
    display: none;
}

.network-log-grid.data-grid.small td {
    height: 21px;
}

.network-waterfall-header, .network-log-grid.data-grid th {
    border-bottom: 1px solid rgb(205, 205, 205);
    border-left: 1px solid rgb(205, 205, 205);
}

.network-waterfall-header, .network-log-grid.data-grid .header-container {
    height: 31px;
    background-color: var(--toolbar-bg-color);
}

.network-log-grid.data-grid .data-container {
    top: 31px;
}

.network-waterfall-header.small, .network-log-grid.data-grid.small .header-container {
    height: 27px;
}

.network-log-grid.data-grid.small .data-container {
    top: 27px;
}

.network-log-grid.data-grid select {
    -webkit-appearance: none;
    border: none;
    width: 100%;
    color: inherit;
}

.network-log-grid.data-grid .name-column {
    cursor: pointer;
}

.network-log-grid.data-grid .waterfall-column {
    padding: 1px 0;
}

.network-log-grid.data-grid .waterfall-column .sort-order-icon-container {
    right: 15px;
    pointer-events: none;
}

.network-log-grid.data-grid th.sortable:active {
    background-image: none !important;
}

.network-cell-subtitle {
    font-weight: normal;
    color: gray;
}

.network-badge {
    margin-right: 4px;
}

.network-error-row,
.network-error-row .network-cell-subtitle {
    color: rgb(230, 0, 0);
}

.initiator-column .devtools-link {
    color: inherit;
}

.network-log-grid.data-grid tr.selected,
.network-log-grid.data-grid tr.selected .network-cell-subtitle,
.network-log-grid.data-grid tr.selected .network-dim-cell {
    color: inherit !important;
}

.network-log-grid.data-grid:focus tr.selected,
.network-log-grid.data-grid:focus tr.selected .network-cell-subtitle,
.network-log-grid.data-grid:focus tr.selected .network-dim-cell {
    color: var(--selection-fg-color) !important;
}

.network-log-grid tr.highlighted-row {
    -webkit-animation: network-row-highlight-fadeout 2s 0s;
}

@-webkit-keyframes network-row-highlight-fadeout {
    from {background-color: rgba(255, 255, 120, 1); }
    to { background-color: rgba(255, 255, 120, 0); }
}

.network-header-subtitle {
    color: gray;
}

.network-log-grid.data-grid.small .network-cell-subtitle,
.network-log-grid.data-grid.small .network-header-subtitle {
    display: none;
}

/* Resource preview icons */

.network-log-grid.data-grid .icon {
    content: url(Images/resourcePlainIcon.png);
}

.network-log-grid.data-grid.small .icon {
    content: url(Images/resourcePlainIconSmall.png);
}

.network-log-grid.data-grid .icon.script {
    content: url(Images/resourceJSIcon.png);
}

.network-log-grid.data-grid.small .icon.script {
    content: url(Images/resourceDocumentIconSmall.png);
}

.network-log-grid.data-grid .icon.document {
    content: url(Images/resourceDocumentIcon.png);
}

.network-log-grid.data-grid.small .icon.document {
    content: url(Images/resourceDocumentIconSmall.png);
}

.network-log-grid.data-grid .icon.stylesheet {
    content: url(Images/resourceCSSIcon.png);
}

.network-log-grid.data-grid.small .icon.stylesheet {
    content: url(Images/resourceDocumentIconSmall.png);
}

.network-log-grid.data-grid .icon.media {
    content: url(Images/resourcePlainIcon.png); /* FIXME: media icon */
}

.network-log-grid.data-grid.small .icon.media {
    content: url(Images/resourcePlainIconSmall.png); /* FIXME: media icon */
}
.network-log-grid.data-grid .icon.texttrack {
    content: url(Images/resourcePlainIcon.png); /* FIXME: vtt icon */
}

.network-log-grid.data-grid.small .icon.texttrack {
    content: url(Images/resourcePlainIconSmall.png); /* FIXME: vtt icon */
}

.network-log-grid.data-grid .icon.image {
    position: relative;
    background-image: url(Images/resourcePlainIcon.png);
    background-repeat: no-repeat;
    content: "";
}

.network-log-grid.data-grid.small .icon.image {
    background-image: url(Images/resourcePlainIconSmall.png);
    content: "";
}

.network-log-grid.data-grid .icon {
    float: left;
    width: 32px;
    height: 32px;
    margin-top: 1px;
    margin-right: 3px;
}

.network-log-grid.data-grid.small .icon {
    width: 16px;
    height: 16px;
}

.network-log-grid.data-grid .image-network-icon-preview {
    position: absolute;
    margin: auto;
    top: 3px;
    bottom: 4px;
    left: 5px;
    right: 5px;
    max-width: 18px;
    max-height: 21px;
    min-width: 1px;
    min-height: 1px;
}

.network-log-grid.data-grid.small .image-network-icon-preview {
    top: 2px;
    bottom: 1px;
    left: 3px;
    right: 3px;
    max-width: 8px;
    max-height: 11px;
}

.network-dim-cell {
    color: grey;
}

.network-summary-bar .summary-red {
    color: red;
}

.network-frame-divider {
    width: 2px;
    background-color: #FCCC49;
    z-index: 10;
    visibility: hidden;
}

#network-container:not(.brief-mode) .data-container {
    overflow: hidden;
}

.network-summary-bar .summary-blue {
    color: blue;
}

.-theme-with-dark-background .network-summary-bar .summary-blue {
    color: #03A9F4;
}

.network-log-grid.data-grid .resources-dividers {
    z-index: 0;
}

.network-log-grid.data-grid .resources-dividers-label-bar {
    background-color: transparent;
    border: none;
    height: 30px;
    pointer-events: none;
}

#network-container {
    overflow: hidden;
}

.network-status-pane {
    color: #777;
    background-color: white;
    z-index: 500;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 0 20px;
    overflow: auto;
}

.network-status-pane > .recording-hint {
    font-size: 14px;
    text-align: center;
    line-height: 28px;
}

.network-waterfall-header {
    position: absolute;
    border-left: 0px;
    width: 100%;
    display: table;
    z-index: 200;
}

.network-waterfall-header:hover {
    background-color: hsla(0, 0%, 10%, 0.1);
}

.network-waterfall-header div {
    display: table-cell;
    line-height: 14px;
    margin: auto 0px;
    vertical-align: middle;
    text-align: left;
    font-weight: normal;
    padding: 0px 4px;
}

.network-waterfall-header .sort-order-icon-container {
    position: absolute;
    top: 1px;
    right: 0;
    bottom: 1px;
    display: flex;
    align-items: center;
}

.network-waterfall-header .sort-order-icon {
    align-items: center;
    margin-right: 4px;
    margin-bottom: -2px;
}

.network-frame-group-icon {
    display: inline-block;
    margin: -8px -2px;
}

.network-frame-group-badge {
    margin-right: 4px;
}
