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

cr-menu {
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, .50);
  background: white;
  border-radius: 2px;
  color: black;
  cursor: default;
  left: 0;
  margin: 0;
  outline: 1px solid rgba(0, 0, 0, 0.2);
  padding: 8px 0;
  position: fixed;
  white-space: nowrap;
  z-index: 3;
}

cr-menu:not(.decorated) {
  display: none;
}

cr-menu > * {
  box-sizing: border-box;
  display: block;
  margin: 0;
  text-align: start;
  width: 100%;
}

cr-menu > :not(hr) {
  -webkit-appearance: none;
  background: transparent;
  border: 0;
  color: black;
  font: inherit;
  line-height: 18px;
  outline: none;
  overflow: hidden;
  padding: 0 19px;
  text-overflow: ellipsis;
}

cr-menu > hr {
  background: -webkit-linear-gradient(left,
                                      rgba(0, 0, 0, .10),
                                      rgba(0, 0, 0, .02) 96%);
  border: 0;
  height: 1px;
  margin: 8px 0;
}

cr-menu > [disabled] {
  color: rgba(0, 0, 0, .3);
}

cr-menu > [hidden] {
  display: none;
}

cr-menu > :not(hr):-webkit-any([selected], :active) {
  background-color: rgba(0, 0, 0, .06);
}

cr-menu > [checked]::before {
  content: url(../images/checkbox_black.png);
  display: inline-block;
  height: 9px;
  margin: 0 5px;
  width: 9px;
}

cr-menu > [checked] {
  padding-inline-start: 0;
}

cr-menu > [selected][checked]:active::before {
  content: url(../images/checkbox_white.png);
}

/* TODO(zvorygin) menu > [shortcutText]::after - this selector is much better,
 * but it's buggy in current webkit revision, so I have to use [showShortcuts].
 */
cr-menu[showShortcuts] > ::after {
  color: #999;
  content: attr(shortcutText);
  float: right;
  padding-inline-start: 30px;
}
