/* 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. */

.bluetooth-device-list {
  margin: 10px 0;
  padding: 5px 10px;
}

.bluetooth-device[notconnectable] {
  color: gray;
}

.bluetooth-device[connected] {
  font-weight: bold; /* semibold */
}

#bluetooth-options .bluetooth-device-list {
  margin: 0 10px;
}

#bluetooth-options .button-strip {
  -webkit-box-pack: justify;
}

#bluetooth-options .button-strip #bluetooth-scanning-label {
  -webkit-box-flex: 1;
  display: block;
}

#bluetooth-scanning-label {
  -webkit-margin-start: 5px;
  color: #999;
}

#bluetooth-scanning-icon {
  height: 20px;
  opacity: 0.66;
  vertical-align: middle;
  width: 20px;
}

#bluetooth-paired-devices-list {
  min-height: 96px !important;
}

#bluetooth-paired-devices-list,
#bluetooth-unpaired-devices-list {
  /* Prevent dialog from expanding if many devices are found. */
  max-height: 192px;
  overflow-x: hidden;
  overflow-y: auto;
}

.bluetooth-empty-list-label {
  box-sizing: border-box;
  color: #999;
  padding-top: 32px;
  text-align: center;
}

#bluetooth-paired-devices-list-empty-placeholder {
  height: 96px;
}

#bluetooth-unpaired-devices-list-empty-placeholder {
  height: 192px;
}

/* Fix the dimensions of the message area so that the dialog does not change
   change size during the pairing process as the message changes. Sized
   generously to accomodate the longest of the messages. */
#bluetooth-pairing-message-area {
  display: table;
  height: 160px;
  padding: 6px 0 !important;
  width: 420px;
}

/* Force the message to be vertical centered so that a shorter message does not
   look out of place when there is room for a much longer message. */
#bluetooth-pairing-message-contents {
  display: table-cell;
  vertical-align: middle;
}

#bluetooth-pairing-instructions,
#bluetooth-pairing-passkey-display,
#bluetooth-pairing-passkey-entry,
#bluetooth-pairing-pincode-entry,
#bluetooth-passkey,
#bluetooth-pincode {
  text-align: center;
}

#bluetooth-pairing-instructions {
  margin: 10px;
}

#bluetooth-pairing-passkey-display,
#bluetooth-pairing-passkey-entry,
#bluetooth-pairing-pincode-entry {
  margin: 40px 0;
}

.bluetooth-keyboard-button {
  -webkit-padding-end: 15px;
  -webkit-padding-start: 15px;
  background-image: -webkit-gradient(linear,
                                     left top,
                                     left bottom,
                                     color-stop(0, #e9e9e9),
                                     color-stop(1, #f5f5f5));
  border: 1px solid #d4d4d4;
  border-radius: 4px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.07),
              inset 0 1px 1px 1px #fff,
              inset 0 -1px 1px 1px #ddd;
  color: #666;
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  height: 38px;
  line-height: 38px;
  margin: 0 10px 0 0;
  position: relative;
  text-align: center;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  vertical-align: baseline;
}

.bluetooth-keyboard-button:last-child {
  margin: 0;
}

#bluetooth-enter-key {
  min-width: 54px;
}

.bluetooth-passkey-char {
  -webkit-margin-start: 45px;
  color: #999;
  font-size: 20px;
  font-weight: 600; /* semibold */
  padding-bottom: 5px;
}

.bluetooth-passkey-char:first-child {
  -webkit-margin-start: 0;
}

.bluetooth-keyboard-button.key-typed {
  border: 1px solid #ccc;
  box-shadow: 0 0 0 1px #888,
              inset 0 1px 1px 1px #fff,
              inset 0 -1px 1px 1px #eee;
  color: #222;
}

.bluetooth-keyboard-button.key-pin {
  color: #222;
}
