/*
 * Copyright 2015 The Chromium Authors. All rights reserved.
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

/* Media query bars */

.media-inspector-view {
    height: 50px;
}

.media-inspector-marker-container {
    height: 14px;
    margin: 2px 0;
    position: relative;
}

.media-inspector-bar {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    pointer-events: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

.media-inspector-marker {
    flex: none;
    pointer-events: auto;
    margin: 1px 0;
    white-space: nowrap;
    z-index: auto;
    position: relative;
}

.media-inspector-marker-spacer {
    flex: auto;
}

.media-inspector-marker:hover {
    margin: -1px 0;
    opacity: 1;
}

.media-inspector-marker-max-width {
    background-color: hsl(207, 90%, 77%);
    border-right: 2px solid hsl(207, 90%, 61%);
    border-left: 2px solid hsl(207, 90%, 61%);
}

.media-inspector-marker-inactive .media-inspector-marker-max-width:not(:hover) {
    background-color: hsl(199, 94%, 94%);
}

.media-inspector-marker-min-max-width {
    background-color: hsl(88, 50%, 76%);
    border-left: 2px solid #689F38;
    border-right: 2px solid hsl(92, 48%, 42%);
}

.media-inspector-marker-inactive .media-inspector-marker-min-max-width:not(:hover) {
    background-color: hsl(125, 39%, 94%);
}

.media-inspector-marker-min-max-width:hover {
    z-index: 1;
}

.media-inspector-marker-min-width {
    background-color: hsl(36, 100%, 75%);
    flex: auto;
}

.media-inspector-marker-inactive .media-inspector-marker-min-width:not(:hover) {
    background-color: hsl(37, 100%, 94%);
}

.media-inspector-marker-min-width-right {
    border-left: 2px solid hsl(30, 100%, 48%);
}

.media-inspector-marker-min-width-left {
    border-right: 2px solid hsl(30, 100%, 48%);
}

/* Media query labels */

.media-inspector-marker:not(:hover) .media-inspector-marker-label-container {
    display: none;
}

.media-inspector-marker-label-container {
    position: absolute;
    z-index: 1;
}

.media-inspector-marker-label-container-left {
    left: -2px;
}

.media-inspector-marker-label-container-right {
    right: -2px;
}

.media-inspector-marker-label {
    color: #222;
    position: absolute;
    top: 1px;
    bottom: 0;
    font-size: 12px;
    pointer-events: none;
}

.media-inspector-label-right {
    right: 4px;
}

.media-inspector-label-left {
    left: 4px;
}
