/*
 * Copyright (C) 2013 Apple 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:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. 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.
 *
 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS 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 APPLE INC. OR ITS 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.
 */

.sidebar > .panel.navigation > .content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 21px;

    overflow-x: hidden;
    overflow-y: auto;
}

.sidebar > .panel.navigation > .filter-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}

.sidebar > .panel.navigation > .overflow-shadow {
    position: absolute;
    bottom: 21px;
    left: 0;
    right: 0;
    height: 5px;

    pointer-events: none;

    background-image: -webkit-radial-gradient(center, ellipse closest-side, rgba(0, 0, 0, 0.2) 25%, transparent),
        -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0125), rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.0125));
    background-size: 125% 15px, 100% 1px;
    background-position: top center, bottom center;
    background-repeat: no-repeat;

    opacity: 0;
}

.sidebar > .panel.navigation > .overflow-shadow.top {
    top: 21px;
    bottom: initial;
    background-position: bottom center, top center;
}

.sidebar > .panel.navigation > .empty-content-placeholder {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 21px;

    display: -webkit-flex;

    -webkit-justify-content: center;
    -webkit-align-items: center;
}

.sidebar > .panel.navigation > .empty-content-placeholder > .message {
    display: inline-block;
    white-space: nowrap;

    font-family: "Lucida Grande", sans-serif;
    font-size: 13px;

    color: white;
    background-color: rgba(0, 0, 0, 0.15);
    text-shadow: rgba(0, 0, 0, 0.2) 0 1px 0;
    box-shadow: inset rgba(0, 0, 0, 0.2) 0 1px 0, rgba(255, 255, 255, 0.4) 0 1px 0;

    border-radius: 6px;
    padding: 5px 15px 6px;
}

.navigation-sidebar-panel-content-tree-outline,
.navigation-sidebar-panel-content-tree-outline .children {
    position: relative;

    padding: 0;
    margin: 0;

    outline: none;

    list-style: none;

    font-family: "Lucida Grande", "Helvetica", sans-serif;
    font-size: 11px;
}

.navigation-sidebar-panel-content-tree-outline .children {
    display: none;
}

.navigation-sidebar-panel-content-tree-outline .children.expanded {
    display: block;
}

.navigation-sidebar-panel-content-tree-outline .item {
    position: relative;

    height: 36px;
    line-height: 34px;

 /* The item depth padding style rules are generated by NavigationSidebarPanel.js.
    Any changes to this padding needs to be changed there too. */

    padding: 0 5px;

    border-top: 1px solid transparent;

    white-space: nowrap;
}

.navigation-sidebar-panel-content-tree-outline.hide-disclosure-buttons > .children {
    display: none;
}

.navigation-sidebar-panel-content-tree-outline > .children.hide-disclosure-buttons > .children {
    display: none;
}

.navigation-sidebar-panel-content-tree-outline:not(.hide-disclosure-buttons) .item:not(.parent) .icon {
    margin-left: 16px;
}

.navigation-sidebar-panel-content-tree-outline .item .disclosure-button {
    display: none;

    float: left;

    width: 16px;
    height: 100%;

    border: 0;

    background-color: transparent;
    background-image: -webkit-canvas(navigation-sidebar-panel-disclosure-triangle-closed-normal);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 13px 13px;

    -webkit-appearance: none;
}

.navigation-sidebar-panel-content-tree-outline.hide-disclosure-buttons .item .disclosure-button {
    display: none;
}

.navigation-sidebar-panel-content-tree-outline .item.parent .disclosure-button {
    display: block;
}

.navigation-sidebar-panel-content-tree-outline .item.selected .disclosure-button {
    background-image: -webkit-canvas(navigation-sidebar-panel-disclosure-triangle-closed-selected) !important;
}

.navigation-sidebar-panel-content-tree-outline .item.expanded .disclosure-button {
    background-image: -webkit-canvas(navigation-sidebar-panel-disclosure-triangle-open-normal);
}

.navigation-sidebar-panel-content-tree-outline .item.selected.expanded .disclosure-button {
    background-image: -webkit-canvas(navigation-sidebar-panel-disclosure-triangle-open-selected) !important;
}

.navigation-sidebar-panel-content-tree-outline .item .icon {
    float: left;

    width: 32px;
    height: 32px;

    margin-top: 1px;
    margin-right: 3px;
}

.navigation-sidebar-panel-content-tree-outline .item .status {
    float: right;

    height: 16px;

    margin-top: 9px;
    margin-left: 4px;

    line-height: 1em;
}

.navigation-sidebar-panel-content-tree-outline .item .status:empty {
    display: none;
}

.navigation-sidebar-panel-content-tree-outline .item.selected {
    color: white;

    border-top: 1px solid rgb(162, 177, 201);

    background-image: -webkit-linear-gradient(top, rgb(175, 190, 213), rgb(130, 151, 182));
    background-origin: padding;
    background-clip: padding;
}

.navigation-sidebar-panel-content-tree-outline:focus .item.selected {
    border-top: 1px solid rgb(148, 174, 193);
    background-image: -webkit-linear-gradient(top, rgb(154, 180, 203), rgb(112, 139, 176));
}

body.window-inactive .navigation-sidebar-panel-content-tree-outline .item.selected {
    border-top: 1px solid rgb(168, 168, 168);
    background-image: -webkit-linear-gradient(top, rgb(194, 194, 194), rgb(158, 158, 158));
}

.navigation-sidebar-panel-content-tree-outline .item .titles {
    position: relative;
    top: 5px;

    line-height: 11px;

    padding-bottom: 1px;

    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.navigation-sidebar-panel-content-tree-outline .item .highlighted {
    background-color: rgba(235, 215, 38, 0.2);
    border-bottom: 1px solid rgb(237, 202, 71);
}

.navigation-sidebar-panel-content-tree-outline .item .titles.no-subtitle {
    top: 10px;
}

.navigation-sidebar-panel-content-tree-outline .item .title::after {
    content: "\A"; /* Newline */
    white-space: pre;
}

.navigation-sidebar-panel-content-tree-outline .item .subtitle {
    font-size: 9px;
    color: rgba(0, 0, 0, 0.7);
}

.navigation-sidebar-panel-content-tree-outline .item.selected .subtitle {
    color: rgba(255, 255, 255, 0.9);
}

.navigation-sidebar-panel-content-tree-outline .item .titles.no-subtitle .subtitle,
.navigation-sidebar-panel-content-tree-outline .item .subtitle:empty {
    display: none;
}

.navigation-sidebar-panel-content-tree-outline.small .item,
.navigation-sidebar-panel-content-tree-outline .children.small .item,
.navigation-sidebar-panel-content-tree-outline .item.small {
    height: 20px;
}

.navigation-sidebar-panel-content-tree-outline.small.two-line .item,
.navigation-sidebar-panel-content-tree-outline .children.small.two-line .item,
.navigation-sidebar-panel-content-tree-outline .item.small.two-line {
    height: 26px;
}

.navigation-sidebar-panel-content-tree-outline.small .item .icon,
.navigation-sidebar-panel-content-tree-outline .children.small .item .icon,
.navigation-sidebar-panel-content-tree-outline .item.small .icon {
    width: 16px;
    height: 16px;
}

.navigation-sidebar-panel-content-tree-outline.small .item .status,
.navigation-sidebar-panel-content-tree-outline .children.small .item .status,
.navigation-sidebar-panel-content-tree-outline .item.small .status {
    margin-top: 1px;
}

.navigation-sidebar-panel-content-tree-outline.small .item .status .indeterminate-progress-spinner,
.navigation-sidebar-panel-content-tree-outline .children.small .item .status .indeterminate-progress-spinner,
.navigation-sidebar-panel-content-tree-outline .item.small .status .indeterminate-progress-spinner {
    margin-top: 1px;
    width: 14px;
    height: 14px;
}

.navigation-sidebar-panel-content-tree-outline.small .item .titles,
.navigation-sidebar-panel-content-tree-outline .children.small .item .titles,
.navigation-sidebar-panel-content-tree-outline .item.small .titles {
    top: 2px;
    line-height: normal;
}

.navigation-sidebar-panel-content-tree-outline.small.two-line .item .status,
.navigation-sidebar-panel-content-tree-outline .children.small.two-line .item .status,
.navigation-sidebar-panel-content-tree-outline .item.small.two-line .status {
    margin-top: 4px;
}

.navigation-sidebar-panel-content-tree-outline.small.two-line .item .titles,
.navigation-sidebar-panel-content-tree-outline .children.small.two-line .item .titles,
.navigation-sidebar-panel-content-tree-outline .item.small.two-line .titles {
    top: 0;
    line-height: 11px;
}

.navigation-sidebar-panel-content-tree-outline .item.small.two-line .titles.no-subtitle {
    top: 6px;
}

.navigation-sidebar-panel-content-tree-outline.small .item .subtitle,
.navigation-sidebar-panel-content-tree-outline .children.small .item .subtitle,
.navigation-sidebar-panel-content-tree-outline .item.small .subtitle {
    font-size: inherit;
}

.navigation-sidebar-panel-content-tree-outline.small.two-line .item .icon,
.navigation-sidebar-panel-content-tree-outline .children.small.two-line .item .icon,
.navigation-sidebar-panel-content-tree-outline .item.small.two-line .icon {
    margin-top: 4px;
}

.navigation-sidebar-panel-content-tree-outline.small:not(.two-line) .item .title::after,
.navigation-sidebar-panel-content-tree-outline .children.small:not(.two-line) .item .title::after,
.navigation-sidebar-panel-content-tree-outline .item.small:not(.two-line) .title::after {
    content: "";
}

.navigation-sidebar-panel-content-tree-outline.small:not(.two-line) .item .subtitle::before,
.navigation-sidebar-panel-content-tree-outline .children.small:not(.two-line) .item .subtitle::before,
.navigation-sidebar-panel-content-tree-outline .item.small:not(.two-line) .subtitle::before {
    content: " — ";
}
