/* Copyright (c) 2012 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-engine-manager-page {
  width: 700px;
}

.search-engine-list input {
  -webkit-box-flex: 1;
  display: -webkit-box;
}

.search-engine-list > div {
  display: -webkit-box;
}

.search-engine-list .favicon {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 16px;
  height: 16px;
  line-height: 16px;
  padding: 0 7px;
  width: 16px;
}

.search-engine-list .name-column {
  -webkit-box-align: center;
  -webkit-padding-end: 1ex;
  box-sizing: border-box;
  display: -webkit-box;
  width: 30%;
}

.search-engine-list .name-column :last-child {
  -webkit-box-flex: 1;
}

.search-engine-list .keyword-column {
  -webkit-padding-end: 1ex;
  box-sizing: border-box;
  width: 26%;
}

.search-engine-list .url-column {
  box-sizing: border-box;
  width: 44%;
}

.search-engine-list .keyword-column,
.search-engine-list .url-column {
  color: #666;
}

.search-engine-list .default .name-column,
.search-engine-list .default .keyword-column {
  font-weight: bold;
}

/* For temporary Make Default button */
.search-engine-list .url-column {
  -webkit-box-align: center;
  display: -webkit-box;
}

.search-engine-list .url-column :first-child {
  -webkit-box-flex: 1;
}

.search-engine-list .url-column .list-inline-button {
  margin-top: 0;
  padding: 1px 6px 2px 6px;
}

.search-engine-list > :not(:hover):not([editing]) .url-column
    .list-inline-button {
  display: none;
}

/* End temporary Make Default button styling */
