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

/* Sidebars */
.sidebar-placesTree {
  appearance: none;
  border: 0;
  margin: 0;
  border-top: 1px solid ThreeDShadow;
}

.sidebar-placesTreechildren::-moz-tree-cell(leaf) ,
.sidebar-placesTreechildren::-moz-tree-image(leaf) {
  cursor: pointer;
}

.sidebar-placesTreechildren::-moz-tree-cell-text(leaf, hover) {
  cursor: pointer;
  text-decoration: underline;
}

.sidebar-placesTreechildren::-moz-tree-cell(separator) {
  cursor: default;
}

/* Trees */
treechildren::-moz-tree-image(title) {
  list-style-image: url("chrome://mozapps/skin/places/defaultFavicon.png");
  padding-right: 2px;
  margin: 0px 2px;
  width: 16px;
  height: 16px;
}

treechildren::-moz-tree-image(title, livemarkItem) {
  list-style-image: url("chrome://browser/skin/places/livemark-item.png");
  -moz-image-region: rect(0px, 16px, 16px, 0px);
}

treechildren::-moz-tree-image(title, livemarkItem, visited) {
  -moz-image-region: rect(0px, 32px, 16px, 16px);
}

treechildren::-moz-tree-image(title, separator) {
  list-style-image: none;
  width: 0;
  height: 0;
}

treechildren::-moz-tree-image(title, container),
treechildren::-moz-tree-image(title, open) {
  list-style-image: url("chrome://global/skin/tree/folder.png");
  -moz-image-region: rect(0, 16px, 16px, 0);
}

treechildren::-moz-tree-image(title, container, livemark) {
  list-style-image: url("chrome://browser/skin/livemark-folder.png");
  -moz-image-region: auto;
}

treechildren::-moz-tree-image(container, OrganizerQuery_AllBookmarks) {
  list-style-image: url("chrome://browser/skin/places/allBookmarks.png");
  -moz-image-region: auto;
}

treechildren::-moz-tree-image(container, OrganizerQuery_BookmarksToolbar) {
  list-style-image: url("chrome://browser/skin/places/bookmarksToolbar.png");
  -moz-image-region: auto;
}

treechildren::-moz-tree-image(container, OrganizerQuery_BookmarksMenu) {
  list-style-image: url("chrome://browser/skin/places/bookmarksMenu.png");
  -moz-image-region: auto;
}

treechildren::-moz-tree-image(container, OrganizerQuery_UnfiledBookmarks) {
  list-style-image: url("chrome://browser/skin/places/unsortedBookmarks.png");
  -moz-image-region: auto;
}

/* query-nodes should be styled even if they're not expandable */
treechildren::-moz-tree-image(title, query) {
  list-style-image: url("chrome://browser/skin/places/query.png");
  -moz-image-region: auto;
}

treechildren::-moz-tree-image(title, query, tagContainer),
treechildren::-moz-tree-image(query, OrganizerQuery_Tags) {
  list-style-image: url("chrome://browser/skin/places/tag.png");
  -moz-image-region: auto;
}

treechildren::-moz-tree-image(query, OrganizerQuery_Downloads) {
  list-style-image: url("chrome://browser/skin/places/downloads.png");
  -moz-image-region: auto;
}

/* calendar icon for folders grouping items by date */
treechildren::-moz-tree-image(title, query, dayContainer) {
  list-style-image: url("chrome://browser/skin/places/calendar.png");
  -moz-image-region: auto;
}

treechildren::-moz-tree-image(title, query, hostContainer) {
  list-style-image: url("chrome://global/skin/tree/folder.png");
}

treechildren::-moz-tree-image(title, query, hostContainer, open) {
  list-style-image: url("chrome://global/skin/tree/folder.png");
}

treechildren::-moz-tree-image(title, query, OrganizerQuery_History) {
  list-style-image: url("chrome://browser/skin/places/history.png");
}

/* We want some queries to look like ordinary folders. This must come
   after the (title, query) selector, or it would get overridden. */

treechildren::-moz-tree-image(title, query, folder),
treechildren::-moz-tree-image(title, query, folder, open) {
  list-style-image: url("chrome://global/skin/tree/folder.png");
  -moz-image-region: rect(0, 16px, 16px, 0);
}

treechildren::-moz-tree-image(cutting) {
  opacity: 0.5;
}

treechildren::-moz-tree-cell-text(cutting) {
  opacity: 0.7;
}

/* Browser Sidebars */

/* Default button vert. margins are 1px/2px, and this can cause misalignment */
#viewButton {
  margin-top: 2px;
  margin-bottom: 2px;
}

#viewButton > .button-box > .button-menu-dropmarker {
  height: auto;
  width: auto;
  margin-inline-end: -3px;
}
