/*
 * Copyright (c) 2014 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.
 */

.search-bar {
    flex: 0 0 31px;
    background-color: #eee;
    border-top: 1px solid #ccc;
    display: flex;
    overflow: hidden;
    z-index: 0;
}

.search-bar.replaceable {
    flex: 0 0 57px;
}

.search-replace {
    -webkit-appearance: none;
    border: 0;
    padding: 0 3px;
    margin: 0;
    flex: 1;
}

.search-replace:focus {
    outline: none;
}

.toolbar-search {
    display: flex;
    width: 100%;
}

.toolbar-search > div {
    margin: 2px 2px;
    flex-shrink: 0;
}

.toolbar-search-inputs {
    flex-grow: 1;
    min-width: 150px;
}

.toolbar-search-navigation-controls {
    align-self: stretch;
}

.toolbar-search-navigation {
    display: inline-block;
    width: 20px;
    height: 20px;
    background-repeat: no-repeat;
    background-position: 4px 7px;
    border-left: 1px solid rgb(170, 170, 170);
    opacity: 0.3;
}

.toolbar-search-navigation.enabled {
    opacity: 1.0;
}

.toolbar-search button.search-action-button {
    font-weight: 400;
    height: 22px;
    width: 87px;
}

.toolbar-search-control {
    display: -webkit-flex;
    position: relative;
    background-color: white;
}

.toolbar-search-buttons {
    display: flex;
    flex-direction: column;
}

.toolbar-replace-control,
#search-input-field {
    margin-top: 1px;
    line-height: 17px;
}

.toolbar-search-control, .toolbar-replace-control {
    border: 1px solid rgb(163, 163, 163);
    height: 22px;
    border-radius: 2px;
    width: 100%;
    margin-top: 2px;
    margin-bottom: 2px;
}

.toolbar-search-navigation.enabled:active {
    background-position: 4px 7px, 0 0;
}

.toolbar-search-navigation.toolbar-search-navigation-prev {
    background-image: url(Images/searchPrev.png);
    border-left: 1px solid rgb(163, 163, 163);
}

:host-context(.-theme-with-dark-background) .toolbar-search-navigation {
    -webkit-filter: invert(90%);
}

.toolbar-search-navigation.toolbar-search-navigation-prev.enabled:active {
    background-image: url(Images/searchPrev.png), #f2f2f2;
}

.toolbar-search-navigation.toolbar-search-navigation-next {
    background-image: url(Images/searchNext.png);
    border-left: 1px solid rgb(230, 230, 230);
}

.toolbar-search-navigation.toolbar-search-navigation-next.enabled:active {
    background-image: url(Images/searchNext.png), #f2f2f2;
}

.search-results-matches {
    display: inline-block;
    text-align: right;
    padding: 0 4px;
    color: rgb(165, 165, 165);
    align-self: center;
}

.first-row-buttons {
    display: flex;
    justify-content: space-between;
}

.toolbar-search > .replace-toggle-toolbar {
    margin: 2px -2px 0 0;
}

.toolbar-search-options {
    margin: 0 auto;
}
