/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
@namespace html url("http://www.w3.org/1999/xhtml");

/* .padded is used by autocomplete widgets that don't have an icon. Gross. -dwh */
textbox:not(.padded) {
  cursor: default;
  padding: 0;
}

textbox[nomatch="true"][highlightnonmatches="true"] {
  color: red;
}

textbox:not(.padded) .textbox-input-box {
  margin: 0 3px;
}

.textbox-input-box {
  -moz-box-align: center;
}

/* ::::: history button ::::: */

.private-autocomplete-history-dropmarker {
  -moz-appearance: none !important;
  border: none !important;
  background-color: transparent !important;
  padding: 0px;
  list-style-image: url("chrome://global/skin/icons/autocomplete-dropmarker.png");
  margin: 0px;
}

/* ::::: autocomplete popups ::::: */

panel[type="private-autocomplete"],
panel[type="private-autocomplete-richlistbox"],
.private-autocomplete-history-popup {
  padding: 0px !important;
  color: -moz-FieldText;
  background-color: -moz-Field;
  font: icon;
  -moz-appearance: none;
}

.private-autocomplete-history-popup {
  max-height: 180px;
}

/* ::::: tree ::::: */

.private-autocomplete-tree {
  -moz-appearance: none !important;
  border: none !important;
  background-color: transparent !important;
}

.private-autocomplete-treecol {
  -moz-appearance: none !important;
  margin: 0 !important;
  border: none !important;
  padding: 0 !important;
}

.private-autocomplete-treebody::-moz-tree-cell-text {
  padding-left: 2px;
}

.private-autocomplete-treebody::-moz-tree-row {
  border-top: none;
}

treechildren.private-autocomplete-treebody::-moz-tree-row(selected) {
 background-color: Highlight;
}

treechildren.private-autocomplete-treebody::-moz-tree-cell-text(selected) {
  color: HighlightText !important;
}

.private-autocomplete-treebody::-moz-tree-image(treecolAutoCompleteValue) {
  max-width: 16px;
  height: 16px;
}

/* ::::: richlistbox autocomplete ::::: */

.private-autocomplete-richlistbox {
  -moz-appearance: none;
  margin: 0;
}

.private-autocomplete-richlistitem[selected="true"] {
  background-color: Highlight;
  color: HighlightText;
  background-image: linear-gradient(rgba(255,255,255,0.3), transparent);
}

.private-autocomplete-richlistitem {
  padding: 5px 2px;
}

.ac-url-box {
  /* When setting a vertical margin here, half of that needs to be added
     .ac-title-box's translateY for when .ac-url-box is hidden (see below). */
  margin-top: 1px;
}

.private-autocomplete-richlistitem[actiontype="keyword"] .ac-url-box,
.private-autocomplete-richlistitem[actiontype="searchengine"] .ac-url-box,
.private-autocomplete-richlistitem[actiontype="visiturl"] .ac-url-box,
.private-autocomplete-richlistitem[type~="autofill"] .ac-url-box {
  visibility: hidden;
}

.private-autocomplete-richlistitem[actiontype="keyword"] .ac-title-box,
.private-autocomplete-richlistitem[actiontype="searchengine"] .ac-title-box,
.private-autocomplete-richlistitem[actiontype="visiturl"] .ac-title-box,
.private-autocomplete-richlistitem[type~="autofill"] .ac-title-box {
  /* Center the title by moving it down by half of .ac-url-box's height,
     including vertical margins (if any). */
  transform: translateY(.5em);
}

.ac-site-icon {
  width: 16px; 
  height: 16px;
  margin-bottom: -1px;
  -moz-margin-start: 7px;
  -moz-margin-end: 5px;
}

.ac-type-icon {
  width: 16px;
  height: 16px;
  -moz-margin-start: 6px;
  -moz-margin-end: 4px;
}

.ac-url-box > .ac-site-icon,
.ac-url-box > .ac-type-icon {
  /* Otherwise the spacer is big enough to stretch its container */
  height: auto;
}

.ac-extra > .ac-result-type-tag {
  margin: 0 4px;
}

.ac-extra > .ac-comment {
  padding-right: 4px;
}

.ac-ellipsis-after {
  margin: 0 !important;
  padding: 0; 
  min-width: 1.1em;
}

.ac-normal-text {
  margin: 0 !important;
  padding: 0;
}

.ac-normal-text > html|span {
  margin: 0 !important;
  padding: 0;
}

html|span.ac-emphasize-text {
  box-shadow: inset 0 0 1px 1px rgba(208,208,208,0.4);
  background-color: rgba(208,208,208,0.2);
  border-radius: 2px;
  text-shadow: 0 0 currentColor;
}

.ac-url-text > html|span.ac-emphasize-text,
.ac-action-text > html|span.ac-emphasize-text {
  box-shadow: inset 0 0 1px 1px rgba(183,210,226,0.4);
  background-color: rgba(183,210,226,0.3);
}

.ac-title, .ac-url {
  overflow: hidden;
}

/* ::::: textboxes inside toolbarpaletteitems ::::: */

toolbarpaletteitem > toolbaritem > textbox > hbox > hbox > html|*.textbox-input {
  visibility: hidden;
}

toolbarpaletteitem > toolbaritem > * > textbox > hbox > hbox > html|*.textbox-input {
  visibility: hidden;
}