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

.menu-button {
  position: relative;
}

.menu-button-activator + ul {
  display: none;
  position: absolute;
  line-height: normal;
  text-align: __MSG_@@bidi_start_edge__;
}

.menu-button-activator + ul:not(.right-align) {
  left: 1px;
}

.menu-button-activator + ul.right-align {
  right: 1px;
}

.menu-button-activator.active + ul {
  display: block;
}

button.menu-button-activator.active {
  background-color: #EEE;
  background-image: -webkit-gradient(linear, left top, left bottom,
                                     from(#EEE), to(#E0E0E0));
  box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.1);
  border: 1px solid #CCC;
  color: #333;
}

.menu-button-activator .kd-disclosureindicator {
  vertical-align: middle;
  margin-left: 7px;
  opacity: .8;
}

.menu-button ul {
  padding: 0;
  margin: 0;
  list-style-type: none;
  background: white;
  outline: 1px solid rgba(0, 0, 0, 0.2);
  padding: 0 0 6px;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
  z-index: 1;
}

.menu-button li {
  padding: 6px 44px 6px 30px;
  white-space: nowrap;
}

.menu-button li:hover {
  background-color: #EEE;
}

.menu-button li.menu-separator {
  border-top: 1px solid #EBEBEB;
  margin-top: 9px;
  margin-bottom: 10px;
  padding: 0;
}

.menu-button li.selected {
  background-image: url('tick.webp');
  background-position: left center;
  background-repeat: no-repeat;
}

.help-icon {
  vertical-align: -4px;
  border: 1px solid transparent;
  opacity: 0.35;
  -webkit-transition: opacity 0.218s;
}

.help-icon:hover, .help-icon.active {
  opacity: 0.5;
}

#help-feedback-toolbar {
  margin-left: 8px;
  margin-top: 4px;
}