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

.bubble {
  position: absolute;
  white-space: normal;
  /* Height is dynamic, width fixed. */
  width: 300px;
  z-index: 9999;
}

.bubble-content {
  color: black;
  line-height: 150%;
  margin: 1px;
  padding: 8px 11px 12px;
  position: relative;
  z-index: 3;
}

/* When the close button is there, we need more padding on the right of the
 * bubble. */
.bubble-close:not([hidden]) ~ .bubble-content {
  -webkit-padding-end: 22px;
}

.bubble-close {
  height: 16px;
  position: absolute;
  right: 6px;
  top: 6px;
  width: 16px;
  z-index: 4;
}

html[dir='rtl'] .bubble-close {
  left: 6px;
  right: auto;
}

.bubble-close {
  background-image: -webkit-image-set(
      url('../../../resources/default_100_percent/close_2.png') 1x,
      url('../../../resources/default_200_percent/close_2.png') 2x);
}

.bubble-close:hover {
  background-image: -webkit-image-set(
      url('../../../resources/default_100_percent/close_2_hover.png') 1x,
      url('../../../resources/default_200_percent/close_2_hover.png') 2x);
}

.bubble-close:active {
  background-image: -webkit-image-set(
      url('../../../resources/default_100_percent/close_2_pressed.png') 1x,
      url('../../../resources/default_200_percent/close_2_pressed.png') 2x);
}

.bubble-shadow {
  bottom: 0;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.bubble-arrow {
  -webkit-transform: rotate(45deg);
  box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.15);
  height: 15px;
  position: absolute;
  width: 15px;
  z-index: 2;
}

.bubble-content,
.bubble-arrow {
  background: white;
}

.bubble-shadow,
.bubble-arrow {
  border: 1px solid rgba(0, 0, 0, 0.3);
}

.bubble-shadow,
.bubble-content {
  border-radius: 6px;
  box-sizing: border-box;
}

.auto-close-bubble {
  position: fixed;
}
