%if 0
/* 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/. */
%endif

@import url("chrome://global/skin/");

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

%include ../shared/browser.inc
%include linuxShared.inc
%filter substitution

%define forwardTransitionLength 150ms
%define conditionalForwardWithUrlbar window:not([chromehidden~="toolbar"]) #urlbar-wrapper
%define conditionalForwardWithUrlbarWidth 30

#menubar-items {
  -moz-box-orient: vertical; /* for flex hack */
}

#main-menubar {
  -moz-box-flex: 1; /* make menu items expand to fill toolbar height */
}

#navigator-toolbox {
  -moz-appearance: none;
  background-color: transparent;
  border-top: none;
}

#navigator-toolbox::after {
  content: "";
  display: -moz-box;
  -moz-box-ordinal-group: 101; /* tabs toolbar is 100 */
  height: 1px;
  background-color: ThreeDShadow;
}

#navigator-toolbox > toolbar:not(:-moz-lwtheme):not(#toolbar-menubar):not(#TabsToolbar) {
  -moz-appearance: none;
  border-style: none;
  background-color: -moz-Dialog;
}

#navigator-toolbox > toolbar:not(#toolbar-menubar):not(#TabsToolbar):not(#nav-bar) {
  padding-top: 1px;
  padding-bottom: 1px;
}

#TabsToolbar:not([collapsed="true"]) + #nav-bar {
  margin-top: -@tabToolbarNavbarOverlap@; /* Move up into the TabsToolbar */
  /* Position the toolbar above the bottom of background tabs */
  position: relative;
  z-index: 1;
}

#nav-bar {
  background-image: linear-gradient(@toolbarHighlight@, rgba(255,255,255,0));
  box-shadow: 0 1px 0 @toolbarHighlight@ inset;
  padding-top: 2px;
  padding-bottom: 2px;
}

#nav-bar-overflow-button {
  -moz-image-region: rect(-5px, 12px, 11px, -4px);
}

/* This only has an effect when this element is placed on the bookmarks toolbar.
 * It's 30px to make sure buttons with 18px icons fit along with the default 16px
 * icons, without changing the size of the toolbar.
 */
#personal-bookmarks {
  min-height: 30px;
}

#browser-bottombox {
  /* opaque for layers optimization */
  background-color: -moz-Dialog;
}

#urlbar:-moz-lwtheme:not([focused="true"]),
.searchbar-textbox:-moz-lwtheme:not([focused="true"]) {
  opacity: .85;
}

/* Places toolbar */
toolbarbutton.bookmark-item:not(.subviewbutton),
#personal-bookmarks[cui-areatype="toolbar"]:not([overflowedItem=true]) > #bookmarks-toolbar-placeholder {
  margin: 0;
  padding: 2px 3px;
}

toolbarbutton.bookmark-item:not(.subviewbutton):hover:active,
toolbarbutton.bookmark-item[open="true"] {
  padding-top: 3px;
  padding-bottom: 1px;
  -moz-padding-start: 4px;
  -moz-padding-end: 2px;
}

.bookmark-item:not(#home-button) > .toolbarbutton-icon,
#personal-bookmarks[cui-areatype="toolbar"] > #bookmarks-toolbar-placeholder > .toolbarbutton-icon {
  width: 16px;
  height: 16px;
}

/* Force the display of the label for bookmarks */
.bookmark-item > .toolbarbutton-text,
#personal-bookmarks[cui-areatype="toolbar"] > #bookmarks-toolbar-placeholder > .toolbarbutton-text {
  display: -moz-box !important;
}

.bookmark-item > .toolbarbutton-menu-dropmarker {
  display: none;
}

/* Dropmarker for folder bookmarks */
.bookmark-item[container] > .toolbarbutton-menu-dropmarker {
  display: -moz-box !important;
}

#bookmarks-toolbar-placeholder {
  list-style-image: url("chrome://browser/skin/places/bookmarksToolbar.png") !important;
}

toolbarpaletteitem[place="palette"] > #personal-bookmarks > #bookmarks-toolbar-placeholder,
#personal-bookmarks[cui-areatype="menu-panel"] > #bookmarks-toolbar-placeholder {
  list-style-image: url("chrome://browser/skin/places/bookmarksToolbar-menuPanel.png") !important;
}

/* ----- BOOKMARK STAR ANIMATION ----- */

@keyframes animation-bookmarkAdded {
  from { transform: rotate(0deg) translateX(-16px) rotate(0deg) scale(1); opacity: 0; }
  60%  { transform: rotate(180deg) translateX(-16px) rotate(-180deg) scale(2.2); opacity: 1; }
  80%  { opacity: 1; }
  to   { transform: rotate(180deg) translateX(-16px) rotate(-180deg) scale(1); opacity: 0; }
}

@keyframes animation-bookmarkPulse {
  from { transform: scale(1); }
  50%  { transform: scale(1.3); }
  to   { transform: scale(1); }
}

#bookmarked-notification-container {
  min-height: 1px;
  min-width: 1px;
  height: 1px;
  margin-bottom: -1px;
  z-index: 5;
  position: relative;
}

#bookmarked-notification {
  background-size: 16px;
  background-position: center;
  background-repeat: no-repeat;
  width: 16px;
  height: 16px;
  opacity: 0;
}

#bookmarked-notification-dropmarker-anchor {
  z-index: -1;
  position: relative;
}

#bookmarked-notification-dropmarker-icon {
  width: 18px;
  height: 18px;
  visibility: hidden;
}

#bookmarked-notification-anchor[notification="finish"] > #bookmarked-notification {
  background-image: url("chrome://browser/skin/places/bookmarks-notification-finish.png");
  animation: animation-bookmarkAdded 800ms;
  animation-timing-function: ease, ease, ease;
}

#bookmarks-menu-button[notification="finish"] > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon {
  list-style-image: none !important;
}

#bookmarked-notification-dropmarker-anchor[notification="finish"] > #bookmarked-notification-dropmarker-icon {
  visibility: visible;
  animation: animation-bookmarkPulse 300ms;
  animation-delay: 600ms;
  animation-timing-function: ease-out;
}

/* Bookmark menus */
menu.bookmark-item,
menuitem.bookmark-item {
  min-width: 0;
  max-width: 32em;
}

.bookmark-item:not(.subviewbutton) > .menu-iconic-left {
  margin-top: 0;
  margin-bottom: 0;
}

.bookmark-item > .menu-iconic-left > .menu-iconic-icon {
  -moz-padding-start: 0px;
}

/* Bookmark drag and drop styles */
.bookmark-item[dragover-into="true"] {
  background: Highlight !important;
  color: HighlightText !important;
}

/* rules for menupopup drop indicators */
.menupopup-drop-indicator-bar {
  position: relative;
  /* these two margins must together compensate the indicator's height */
  margin-top: -1px;
  margin-bottom: -1px;
}

.menupopup-drop-indicator {
  list-style-image: none;
  height: 2px;
  -moz-margin-end: -4em;
  background-color: Highlight;
}

/* Bookmarks toolbar */
#PlacesToolbarDropIndicator {
  list-style-image: url(chrome://browser/skin/places/toolbarDropMarker.png);
}

/* Bookmark items */
.bookmark-item {
  list-style-image: url("chrome://mozapps/skin/places/defaultFavicon.png");
}

.bookmark-item[container] {
  list-style-image: url("moz-icon://stock/gtk-directory?size=menu");
}

.bookmark-item[container][livemark] {
  list-style-image: url("chrome://browser/skin/feeds/feedIcon16.png");
}

.bookmark-item[container][livemark] .bookmark-item {
  list-style-image: url("chrome://browser/skin/places/livemark-item.png");
  -moz-image-region: rect(0px, 16px, 16px, 0px);
}

.bookmark-item[container][livemark] .bookmark-item[visited] {
  -moz-image-region: rect(0px, 32px, 16px, 16px);
}

.bookmark-item[container][query] {
  list-style-image: url("chrome://browser/skin/places/query.png");
}

.bookmark-item[query][tagContainer] {
  list-style-image: url("chrome://browser/skin/places/tag.png");
}

.bookmark-item[query][dayContainer] {
  list-style-image: url("chrome://browser/skin/places/calendar.png");
}

.bookmark-item[query][hostContainer] {
  list-style-image: url("moz-icon://stock/gtk-directory?size=menu");
}

.bookmark-item[query][hostContainer][open] {
  list-style-image: url("moz-icon://stock/gtk-directory?size=menu");
}

.bookmark-item[cutting] > .toolbarbutton-icon,
.bookmark-item[cutting] > .menu-iconic-left > .menu-iconic-icon {
  opacity: 0.5;
}

.bookmark-item[cutting] > .toolbarbutton-text,
.bookmark-item[cutting] > .menu-iconic-left > .menu-iconic-text {
  opacity: 0.7;
}

/* Stock icons for the menu bar items */
menuitem:not([type]):not(.menuitem-tooltip):not(.menuitem-iconic-tooltip) {
  -moz-binding: url("chrome://global/content/bindings/menu.xml#menuitem-iconic");
}

#placesContext_open\:newwindow,
#menu_newNavigator,
#context-openlink,
#context-openframe {
  list-style-image: url("chrome://browser/skin/Toolbar-small.png");
  -moz-image-region: rect(0px 80px 16px 64px);
}

#placesContext_open\:newtab,
#placesContext_openContainer\:tabs,
#menu_newNavigatorTab,
#context-openlinkintab,
#context-openframeintab {
  list-style-image: url("chrome://browser/skin/Toolbar-small.png");
  -moz-image-region: rect(0px 64px 16px 48px);
}

#menu_openFile {
  list-style-image: url("moz-icon://stock/gtk-open?size=menu");
}

#menu_close {
  list-style-image: url("moz-icon://stock/gtk-close?size=menu");
}

#context-media-play {
  list-style-image: url("moz-icon://stock/gtk-media-play?size=menu");
}

#context-media-pause {
  list-style-image: url("moz-icon://stock/gtk-media-pause?size=menu");
}

#menu_savePage,
#context-savelink,
#context-saveimage,
#context-savevideo,
#context-saveaudio,
#context-savepage,
#context-saveframe {
  list-style-image: url("moz-icon://stock/gtk-save-as?size=menu");
}

#menu_printPreview {
  list-style-image: url("moz-icon://stock/gtk-print-preview?size=menu");
}

#menu_print,
#context-printframe {
  list-style-image: url("moz-icon://stock/gtk-print?size=menu");
}

#menu_FileQuitItem {
  list-style-image: url("moz-icon://stock/gtk-quit?size=menu");
}

#menu_undo,
#context-undo {
  list-style-image: url("moz-icon://stock/gtk-undo?size=menu");
}

#menu_undo[disabled],
#context-undo[disabled] {
  list-style-image: url("moz-icon://stock/gtk-undo?size=menu&state=disabled");
}

#menu_redo {
  list-style-image: url("moz-icon://stock/gtk-redo?size=menu");
}

#menu_redo[disabled] {
  list-style-image: url("moz-icon://stock/gtk-redo?size=menu&state=disabled");
}

#menu_cut,
#placesContext_cut,
#context-cut {
  list-style-image: url("moz-icon://stock/gtk-cut?size=menu");
}

#menu_cut[disabled],
#placesContext_cut[disabled],
#context-cut[disabled] {
  list-style-image: url("moz-icon://stock/gtk-cut?size=menu&state=disabled");
}

#menu_copy,
#placesContext_copy,
#context-copy,
#context-copyimage,
#context-copyvideourl,
#context-copyaudiourl,
#context-copylink,
#context-copyemail {
  list-style-image: url("moz-icon://stock/gtk-copy?size=menu");
}

#menu_copy[disabled],
#placesContext_copy[disabled],
#context-copy[disabled] {
  list-style-image: url("moz-icon://stock/gtk-copy?size=menu&state=disabled");
}

#menu_paste,
#placesContext_paste,
#context-paste {
  list-style-image: url("moz-icon://stock/gtk-paste?size=menu");
}

#menu_paste[disabled],
#placesContext_paste[disabled],
#context-paste[disabled] {
  list-style-image: url("moz-icon://stock/gtk-paste?size=menu&state=disabled");
}

#menu_delete,
#placesContext_delete,
#placesContext_delete_history,
#context-delete {
  list-style-image: url("moz-icon://stock/gtk-delete?size=menu");
}

#menu_delete[disabled],
#placesContext_delete[disabled],
#placesContext_delete_history[disabled],
#context-delete[disabled] {
  list-style-image: url("moz-icon://stock/gtk-delete?size=menu&state=disabled");
}

#menu_selectAll,
#context-selectall {
  list-style-image: url("moz-icon://stock/gtk-select-all?size=menu");
}

#menu_find {
  list-style-image: url("moz-icon://stock/gtk-find?size=menu");
}

#menu_find[disabled] {
  list-style-image: url("moz-icon://stock/gtk-find?size=menu&state=disabled");
}

#menu_preferences {
  list-style-image: url("moz-icon://stock/gtk-preferences?size=menu");
}

#context-stop {
  list-style-image: url("moz-icon://stock/gtk-stop?size=menu");
}

#context-stop[disabled] {
  list-style-image: url("moz-icon://stock/gtk-stop?size=menu&state=disabled");
}

#placesContext_reload,
#context-reload,
#context-reloadframe {
  list-style-image: url("moz-icon://stock/gtk-refresh?size=menu");
}

#context-reload[disabled] {
  list-style-image: url("moz-icon://stock/gtk-refresh?size=menu&state=disabled");
}

#menu_zoomEnlarge {
  list-style-image: url("moz-icon://stock/gtk-zoom-in?size=menu");
}

#menu_zoomReduce {
  list-style-image: url("moz-icon://stock/gtk-zoom-out?size=menu");
}

#menu_zoomReset {
  list-style-image: url("moz-icon://stock/gtk-zoom-100?size=menu");
}

#context-back {
  list-style-image: url("moz-icon://stock/gtk-go-back-ltr?size=menu");
}

#context-back[disabled] {
  list-style-image: url("moz-icon://stock/gtk-go-back-ltr?size=menu&state=disabled");
}

#context-back:-moz-locale-dir(rtl) {
  list-style-image: url("moz-icon://stock/gtk-go-back-rtl?size=menu");
}

#context-back[disabled]:-moz-locale-dir(rtl) {
  list-style-image: url("moz-icon://stock/gtk-go-back-rtl?size=menu&state=disabled");
}

#context-forward {
  list-style-image: url("moz-icon://stock/gtk-go-forward-ltr?size=menu");
}

#context-forward[disabled] {
  list-style-image: url("moz-icon://stock/gtk-go-forward-ltr?size=menu&state=disabled");
}

#context-forward:-moz-locale-dir(rtl) {
  list-style-image: url("moz-icon://stock/gtk-go-forward-rtl?size=menu");
}

#context-forward[disabled]:-moz-locale-dir(rtl) {
  list-style-image: url("moz-icon://stock/gtk-go-forward-rtl?size=menu&state=disabled");
}

#menu_showAllHistory {
  list-style-image: url("chrome://browser/skin/Toolbar-small.png");
  -moz-image-region: rect(0px 32px 16px 16px);
}

#bookmarksShowAll {
  list-style-image: url("chrome://browser/skin/Toolbar-small.png");
  -moz-image-region: rect(0px 48px 16px 32px);
}

#subscribeToPageMenuitem:not([disabled]),
#subscribeToPageMenupopup,
#BMB_subscribeToPageMenuitem:not([disabled]),
#BMB_subscribeToPageMenupopup {
  list-style-image: url("chrome://browser/skin/page-livemarks.png");
}

#bookmarksToolbarFolderMenu,
#BMB_bookmarksToolbar,
#panelMenu_bookmarksToolbar {
  list-style-image: url("chrome://browser/skin/places/bookmarksToolbar.png");
}

#BMB_unsortedBookmarks,
#panelMenu_unsortedBookmarks {
  list-style-image: url("chrome://browser/skin/places/unsortedBookmarks.png");
}

#menu_openDownloads {
  list-style-image: url("chrome://browser/skin/Toolbar-small.png");
  -moz-image-region: rect(0px 16px 16px 0px);
}

#menu_openAddons {
  list-style-image: url("chrome://mozapps/skin/extensions/extensionGeneric-16.png");
}

#menu_pageInfo,
#context-viewinfo,
#context-viewframeinfo {
  list-style-image: url("moz-icon://stock/gtk-info?size=menu");
}

#privateBrowsingItem {
  list-style-image: url("chrome://browser/skin/Privacy-16.png");
}

#placesContext_show\:info {
  list-style-image: url("moz-icon://stock/gtk-properties?size=menu");
}

#sanitizeItem {
  list-style-image: url("moz-icon://stock/gtk-clear?size=menu");
}

#menu_openHelp {
  list-style-image: url("moz-icon://stock/gtk-help?size=menu");
}

#aboutName {
  list-style-image: url("moz-icon://stock/gtk-about?size=menu");
}

#javascriptConsole {
  list-style-image: url("chrome://global/skin/console/console.png");
}

/* Primary toolbar buttons */
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1 > .toolbarbutton-menubutton-button,
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1 {
  -moz-appearance: none;
}

:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1[open="true"],
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1:hover:active {
  padding: 3px;
}

:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1 > .toolbarbutton-menubutton-button > .toolbarbutton-icon,
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1 > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon,
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1 > .toolbarbutton-badge-container > .toolbarbutton-icon,
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1 > .toolbarbutton-icon {
  -moz-margin-end: 0;
  padding: 2px 6px;
  border: 1px solid transparent;
  border-radius: 2px;
  transition-property: background-color, border-color;
  transition-duration: 150ms;
}

:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1:not(:-moz-any(@primaryToolbarButtons@)) > .toolbarbutton-icon,
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1:not(:-moz-any(@primaryToolbarButtons@)) > .toolbarbutton-badge-container > .toolbarbutton-icon,
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1:not(:-moz-any(@primaryToolbarButtons@)) > .toolbarbutton-menubutton-button > .toolbarbutton-icon {
  padding: 3px 7px;
}

toolbarbutton[type="badged"] > .toolbarbutton-badge-container > .toolbarbutton-icon,
toolbarbutton[type="socialmark"] > .toolbarbutton-icon {
  max-width: 32px !important;
}

/* Help SDK icons fit: */
toolbarbutton[sdk-button="true"][cui-areatype="toolbar"] > .toolbarbutton-icon {
  width: 16px;
}

:-moz-any(#TabsToolbar, #nav-bar) toolbarbutton[sdk-button="true"][cui-areatype="toolbar"] > .toolbarbutton-icon {
  /* XXXgijs box models strike again: this is 16px + 2 * 7px padding + 2 * 1px border (from the rules above) */
  width: 32px;
}

#nav-bar #PanelUI-menu-button {
  -moz-padding-start: 7px;
  -moz-padding-end: 5px;
}

:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1:not([disabled=true]) > .toolbarbutton-menubutton-button[open] + .toolbarbutton-menubutton-dropmarker > .dropmarker-icon,
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1:not([disabled=true]):hover > .toolbarbutton-menubutton-button > .toolbarbutton-icon,
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1:not([disabled=true]):hover > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon,
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1:not([disabled=true]):hover > .toolbarbutton-badge-container > .toolbarbutton-icon,
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1:not([disabled=true]):hover > .toolbarbutton-icon {
  background-color: hsla(0,0%,100%,.3);
  background-image: linear-gradient(hsla(0,0%,100%,.7), hsla(0,0%,100%,.2));
  border: 1px solid rgb(154,154,154);
  box-shadow: 0 1px 0 hsla(0,0%,100%,.3) inset,
              0 0 0 1px hsla(0,0%,100%,.2) inset,
              0 1px 0 hsla(0,0%,0%,.03);
}

:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1:hover > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon,
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1[open] > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon {
  margin-top: 4px;
  margin-bottom: 4px;
}

:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1 > .toolbarbutton-menubutton-button:not([disabled=true]):-moz-any(:hover:active, [open="true"]) > .toolbarbutton-icon,
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1[open="true"] > .toolbarbutton-menubutton-dropmarker:not([disabled=true]) > .dropmarker-icon,
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1:not([disabled=true]):-moz-any([open],[checked],:hover:active) > .toolbarbutton-badge-container > .toolbarbutton-icon,
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1:not([disabled=true]):-moz-any([open],[checked],:hover:active) > .toolbarbutton-icon {
  background-color: rgba(154,154,154,.5);
  background-image: linear-gradient(hsla(0,0%,100%,.7), hsla(0,0%,100%,.4));
  border: 1px solid rgb(154,154,154);
  box-shadow: 0 1px 1px hsla(0,0%,0%,.1) inset,
              0 0 1px hsla(0,0%,0%,.3) inset;
  transition-duration: 10ms;
}

:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1[checked]:not(:active):hover > .toolbarbutton-icon {
  background-color: rgba(90%,90%,90%,.4);
  transition: background-color 150ms;
}

:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1 > .toolbarbutton-menubutton-button[open],
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1 > .toolbarbutton-menubutton-button:hover:active,
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1:hover:active {
  padding: 3px;
}

:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1:not(:hover):not(:active):not([open]) > .toolbarbutton-menubutton-dropmarker::before {
  content: "";
  display: -moz-box;
  width: 1px;
  height: 18px;
  -moz-margin-end: -1px;
  background-image: linear-gradient(hsla(210,54%,20%,.2) 0, hsla(210,54%,20%,.2) 18px);
  background-clip: padding-box;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 1px 18px;
  box-shadow: 0 0 0 1px hsla(0,0%,100%,.2);
}

:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1 > .toolbarbutton-menubutton-dropmarker {
  -moz-margin-start: -4px;
  margin-top: 3px;
  margin-bottom: 3px;
}

#back-button {
  padding-top: 3px;
  padding-bottom: 3px;
  -moz-padding-start: 5px;
  -moz-padding-end: 0;
  position: relative;
  z-index: 1;
  border-radius: 0 10000px 10000px 0;
}

#back-button:-moz-locale-dir(rtl) {
  border-radius: 10000px 0 0 10000px;
}

#back-button > menupopup {
  margin-top: -1px;
}

#back-button > .toolbarbutton-icon {
  border-radius: 10000px;
  background-clip: padding-box;
  padding: 6px;
  border: none;
  box-shadow: 0 1px 0 hsla(0,0%,100%,.3) inset,
              0 0 0 1px hsla(0,0%,100%,.3) inset,
              0 0 0 1px hsla(210,54%,20%,.25),
              0 1px 0 hsla(210,54%,20%,.35);
  background-image: linear-gradient(hsla(0,0%,100%,.6), hsla(0,0%,100%,.1));
  transition-property: background-color, box-shadow;
  transition-duration: 250ms;
}

#back-button:not([disabled="true"]):not([open="true"]):not(:active):hover > .toolbarbutton-icon {
  background-color: hsla(210,48%,96%,.75);
  box-shadow: 0 1px 0 hsla(0,0%,100%,.3) inset,
              0 0 0 1px hsla(0,0%,100%,.3) inset,
              0 0 0 1px hsla(210,54%,20%,.3),
              0 1px 0 hsla(210,54%,20%,.4),
              0 0 4px hsla(210,54%,20%,.2);
}

#back-button:not([disabled="true"]):hover:active > .toolbarbutton-icon,
#back-button[open="true"] > .toolbarbutton-icon {
  background-color: hsla(210,54%,20%,.15);
  box-shadow: 0 1px 1px hsla(210,54%,20%,.1) inset,
              0 0 1px hsla(210,54%,20%,.2) inset,
              0 0 0 1px hsla(210,54%,20%,.4),
              0 1px 0 hsla(210,54%,20%,.2);
  transition: none;
}

#main-window:not([customizing]) #back-button[disabled] > .toolbarbutton-icon {
  box-shadow: 0 0 0 1px hsla(210,54%,20%,.55),
              0 1px 0 hsla(210,54%,20%,.65) !important;
  transition: none;
}

#back-button:-moz-locale-dir(rtl) > .toolbarbutton-icon {
  transform: scaleX(-1);
}

#forward-button {
  -moz-box-align: stretch; /* let the button shape grow vertically with the location bar */
  padding: 0;
}

#forward-button > .toolbarbutton-icon {
  background-clip: padding-box;
  padding-left: 9px;
  padding-right: 3px;
  border: 1px solid #9a9a9a;
  border-left-style: none;
  border-radius: 0;
}

@conditionalForwardWithUrlbar@:not([switchingtabs]) > #forward-button {
  transition: margin-left @forwardTransitionLength@ ease-out;
}

@conditionalForwardWithUrlbar@ > #forward-button[disabled] {
  margin-left: -@conditionalForwardWithUrlbarWidth@px;
}

@conditionalForwardWithUrlbar@:hover:not([switchingtabs]) > #forward-button[disabled] {
  /* delay the hiding of the forward button when hovered to avoid accidental clicks on the url bar */
  transition-delay: 100s;
}

@conditionalForwardWithUrlbar@:not(:hover) > #forward-button[disabled] {
  /* when not hovered anymore, trigger a new transition to hide the forward button immediately */
  margin-left: -@conditionalForwardWithUrlbarWidth@.01px;
}

/* tabview menu item */

#menu_tabview {
  list-style-image: url(chrome://browser/skin/tabview/tabview.png);
  -moz-image-region: rect(0, 80px, 16px, 64px);
}

#menu_tabview[groups="0"] {
  -moz-image-region: rect(0, 16px, 16px, 0);
}

#menu_tabview[groups="1"] {
  -moz-image-region: rect(0, 32px, 16px, 16px);
}

#menu_tabview[groups="2"] {
  -moz-image-region: rect(0, 48px, 16px, 32px);
}

#menu_tabview[groups="3"] {
  -moz-image-region: rect(0, 64px, 16px, 48px);
}

#bookmarks-button {
  -moz-image-region: rect(0px 72px 24px 48px);
}

#new-tab-button {
  -moz-image-region: rect(0px 96px 24px 72px);
}

#new-window-button {
  -moz-image-region: rect(0px 120px 24px 96px);
}

#sync-button {
  -moz-image-region: rect(0px 144px 24px 120px);
}
#sync-button[cui-areatype="toolbar"][status="active"] {
  list-style-image: url("chrome://browser/skin/syncProgress-toolbar.png");
  -moz-image-region: rect(0px 18px 18px 0px);
}
#sync-button[cui-areatype="menu-panel"][status="active"] {
  list-style-image: url("chrome://browser/skin/syncProgress-menuPanel.png");
  -moz-image-region: rect(0px 32px 32px 0px);
}

#feed-button {
  -moz-image-region: rect(0px 168px 24px 144px);
}

#feed-button[disabled] > .toolbarbutton-icon {
  opacity: .4;
}

#webrtc-status-button {
  -moz-image-region: rect(0px 192px 24px 168px);
}

.unified-nav-back[_moz-menuactive] {
  list-style-image: url("moz-icon://stock/gtk-go-back-ltr?size=menu") !important;
}
.unified-nav-back[_moz-menuactive]:-moz-locale-dir(rtl) {
  list-style-image: url("moz-icon://stock/gtk-go-back-rtl?size=menu") !important;
}
.unified-nav-forward[_moz-menuactive] {
  list-style-image: url("moz-icon://stock/gtk-go-forward-ltr?size=menu") !important;
}
.unified-nav-forward[_moz-menuactive]:-moz-locale-dir(rtl) {
  list-style-image: url("moz-icon://stock/gtk-go-forward-rtl?size=menu") !important;
}

/* Menu panel buttons */

%include ../shared/toolbarbuttons.inc.css
%include ../shared/menupanel.inc.css

#main-window:not([customizing]) .toolbarbutton-1[disabled=true] > .toolbarbutton-icon,
#main-window:not([customizing]) .toolbarbutton-1[disabled=true] > .toolbarbutton-menu-dropmarker,
#main-window:not([customizing]) .toolbarbutton-1[disabled=true] > .toolbarbutton-menubutton-dropmarker,
#main-window:not([customizing]) .toolbarbutton-1[disabled=true] > .toolbarbutton-menubutton-button > .toolbarbutton-icon,
#main-window:not([customizing]) .toolbarbutton-1 > .toolbarbutton-menubutton-button[disabled=true] > .toolbarbutton-icon {
  opacity: 0.4;
}

/* Fullscreen window controls */
#window-controls {
  -moz-box-align: start;
  -moz-margin-start: 10px;
}

#minimize-button {
  list-style-image: url("chrome://global/skin/icons/Minimize.gif");
}
#restore-button {
  list-style-image: url("chrome://global/skin/icons/Restore.gif");
}
#close-button {
  list-style-image: url("chrome://global/skin/icons/Close.gif");
}

/* Location bar */
#urlbar,
.searchbar-textbox {
  -moz-appearance: none;
  padding: 1px;
  border: 1px solid ThreeDShadow;
  border-radius: 2px;
  margin: 0 3px;
}

#urlbar[focused],
.searchbar-textbox[focused] {
  border-color: Highlight;
}

#urlbar {
  background-color: -moz-field;
}

.urlbar-textbox-container {
  -moz-appearance: none;
  -moz-box-align: stretch;
}

.urlbar-input-box {
  -moz-margin-start: 0;
}

.urlbar-history-dropmarker {
  -moz-appearance: toolbarbutton-dropdown;
}

#urlbar-container {
  -moz-box-align: center;
}

@conditionalForwardWithUrlbar@ > #urlbar {
  -moz-border-start: none;
  margin-left: 0;
}

@conditionalForwardWithUrlbar@ > #urlbar:-moz-locale-dir(ltr) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

@conditionalForwardWithUrlbar@ > #urlbar:-moz-locale-dir(rtl) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

@conditionalForwardWithUrlbar@ {
  clip-path: url("chrome://browser/content/browser.xul#urlbar-back-button-clip-path");
  -moz-margin-start: -5px;
}

@conditionalForwardWithUrlbar@:-moz-locale-dir(rtl),
@conditionalForwardWithUrlbar@ > #urlbar:-moz-locale-dir(rtl) {
  /* let urlbar-back-button-clip-path clip the urlbar's right side for RTL */
  transform: scaleX(-1);
}

@conditionalForwardWithUrlbar@:-moz-locale-dir(rtl) {
  -moz-box-direction: reverse;
}

#urlbar-icons {
  -moz-box-align: center;
}

.urlbar-icon {
  cursor: pointer;
  padding: 0 3px;
}

#urlbar-search-splitter {
  -moz-appearance: none;
  width: 8px;
  -moz-margin-start: -4px;
}

#urlbar-search-splitter + #search-container > #searchbar > .searchbar-textbox {
  -moz-margin-start: 0;
}

#urlbar-display-box {
  margin-top: -1px;
  margin-bottom: -1px;
  -moz-border-end: 1px solid #AAA;
  -moz-margin-end: 3px;
}

#urlbar-display {
  margin-top: 0;
  margin-bottom: 0;
  -moz-margin-start: 0;
  color: GrayText;
}

#search-container {
  min-width: calc(54px + 11ch);
}

/* identity box */

#identity-box {
  padding: 1px;
  font-size: .9em;
}

#identity-box:-moz-locale-dir(ltr) {
  border-top-left-radius: 1.5px;
  border-bottom-left-radius: 1.5px;
}

#identity-box:-moz-locale-dir(rtl) {
  border-top-right-radius: 1.5px;
  border-bottom-right-radius: 1.5px;
}

#notification-popup-box:not([hidden]) + #identity-box {
  -moz-padding-start: 10px;
  border-radius: 0;
}

@conditionalForwardWithUrlbar@ > #urlbar > #identity-box {
  border-radius: 0;
}

@conditionalForwardWithUrlbar@:not([switchingtabs]) > #urlbar > #identity-box {
  transition: padding-left, padding-right;
}

@conditionalForwardWithUrlbar@ > #forward-button[disabled] + #urlbar > #notification-popup-box[hidden] + #identity-box:-moz-locale-dir(ltr) {
  padding-left: 5px;
}

@conditionalForwardWithUrlbar@ > #forward-button[disabled] + #urlbar > #notification-popup-box[hidden] + #identity-box:-moz-locale-dir(rtl) {
  padding-right: 5px;
}

@conditionalForwardWithUrlbar@:hover:not([switchingtabs]) > #forward-button[disabled] + #urlbar > #notification-popup-box[hidden] + #identity-box {
  /* forward button hiding is delayed when hovered */
  transition-delay: 100s;
}

@conditionalForwardWithUrlbar@:not(:hover) > #forward-button[disabled] + #urlbar > #notification-popup-box[hidden] + #identity-box:-moz-locale-dir(ltr) {
  /* when not hovered anymore, trigger a new non-delayed transition to react to the forward button hiding */
  padding-left: 5.01px;
}

@conditionalForwardWithUrlbar@:not(:hover) > #forward-button[disabled] + #urlbar > #notification-popup-box[hidden] + #identity-box:-moz-locale-dir(rtl) {
  /* when not hovered anymore, trigger a new non-delayed transition to react to the forward button hiding */
  padding-right: 5.01px;
}

#urlbar[pageproxystate="valid"] > #identity-box.chromeUI,
#urlbar[pageproxystate="valid"] > #identity-box.verifiedIdentity {
  -moz-margin-end: 4px;
}

#identity-box.verifiedIdentity:not(:-moz-lwtheme) {
  background-color: #fff;
}

#identity-box:-moz-focusring {
  outline: 1px dotted #000;
  outline-offset: -3px;
}

#identity-icon-labels {
  -moz-padding-start: 2px;
  -moz-padding-end: 5px;
}

%include ../shared/identity-block.inc.css

#page-proxy-favicon {
  margin-top: 1px;
  margin-bottom: 1px;
  -moz-margin-start: 3px;
  -moz-margin-end: 1px;
  -moz-image-region: rect(0, 16px, 16px, 0);
}

#identity-box:hover > #page-proxy-favicon {
  -moz-image-region: rect(0, 32px, 16px, 16px);
}

#identity-box:hover:active > #page-proxy-favicon,
#identity-box[open=true] > #page-proxy-favicon {
  -moz-image-region: rect(0, 48px, 16px, 32px);
}

/* Identity popup icons */
#identity-popup-icon {
  height: 64px;
  width: 64px;
  padding: 0;
  list-style-image: url("chrome://browser/skin/identity.png");
  -moz-image-region: rect(0px, 64px, 64px, 0px);
}

#identity-popup.verifiedDomain > #identity-popup-container > #identity-popup-icon {
  -moz-image-region: rect(64px, 64px, 128px, 0px);
}

#identity-popup.verifiedIdentity > #identity-popup-container > #identity-popup-icon {
  -moz-image-region: rect(128px, 64px, 192px, 0px);
}

/* Identity popup body text */
.identity-popup-description {
  white-space: pre-wrap;
  -moz-padding-start: 15px;
  margin: 2px 0 4px;
}

.identity-popup-label {
  white-space: pre-wrap;
  -moz-padding-start: 15px;
  margin: 0;
}

#identity-popup-content-host ,
#identity-popup-content-owner {
  font-weight: bold;
  max-width: 300px;
}

#identity-popup-content-host ,
#identity-popup-content-box.verifiedIdentity > #identity-popup-content-owner {
  font-size: 140%;
}

#identity-popup-content-owner {
  margin-bottom: 0 !important;
}

#identity-popup-content-verifier {
  margin: 4px 0 2px;
}

#identity-popup-content-box.verifiedIdentity > #identity-popup-encryption ,
#identity-popup-content-box.verifiedDomain > #identity-popup-encryption {
  margin-top: 10px;
  -moz-margin-start: -18px;
}

#identity-popup-content-box.verifiedIdentity > #identity-popup-encryption > vbox > #identity-popup-encryption-icon ,
#identity-popup-content-box.verifiedDomain > #identity-popup-encryption > vbox > #identity-popup-encryption-icon {
  list-style-image: url("chrome://browser/skin/Secure.png");
}

#identity-popup-help-icon {
  -moz-appearance: none;
  margin-left: 0px;
  border: none;
  background: none;
  min-width: 0;
  list-style-image: url("chrome://global/skin/icons/question-16.png");
  cursor: pointer;
}

#identity-popup-help-icon > .button-box > .button-text {
  display: none;
}

#identity-popup-help-icon > .button-box > .button-icon {
  height: 16px;
  width: 16px;
}

#identity-popup-help-icon:-moz-focusring {
  outline: 1px dotted;
  outline-offset: 1px;
}

#identity-popup > .panel-arrowcontainer > .panel-arrowcontent {
  padding: 0;
}

#identity-popup-container {
  min-width: 280px;
  padding: 10px;
}

#identity-popup-button-container {
  background: linear-gradient(to bottom, rgba(0,0,0,0.04) 60%, transparent);
  padding: 10px;
  margin-top: 5px;
}

/* Notification popup */
#notification-popup {
  min-width: 280px;
}

.popup-notification-icon {
  width: 64px;
  height: 64px;
  -moz-margin-end: 10px;
}

.popup-notification-icon[popupid="geolocation"] {
  list-style-image: url(chrome://browser/skin/Geolocation-64.png);
}

.popup-notification-icon[popupid="xpinstall-disabled"],
.popup-notification-icon[popupid="addon-progress"],
.popup-notification-icon[popupid="addon-install-cancelled"],
.popup-notification-icon[popupid="addon-install-blocked"],
.popup-notification-icon[popupid="addon-install-failed"],
.popup-notification-icon[popupid="addon-install-complete"] {
  list-style-image: url(chrome://mozapps/skin/extensions/extensionGeneric.png);
  width: 32px;
  height: 32px;
}

.popup-notification-icon[popupid="click-to-play-plugins"] {
  list-style-image: url(chrome://mozapps/skin/plugins/pluginBlocked-64.png);
}

.popup-notification-icon[popupid="plugins-not-found"] {
  list-style-image: url(chrome://browser/skin/pluginInstall-64.png);
}

.popup-notification-icon[popupid="web-notifications"] {
  list-style-image: url(chrome://browser/skin/notification-64.png);
}

.addon-progress-description {
  width: 350px;
  max-width: 350px;
}

.popup-progress-label,
.popup-progress-meter {
  -moz-margin-start: 0;
  -moz-margin-end: 0;
}

.popup-progress-cancel {
  -moz-appearance: none;
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  -moz-margin-start: 5px;
  min-height: 0;
  min-width: 0;
  list-style-image: url("moz-icon://stock/gtk-cancel?size=menu");
}

.popup-notification-icon[popupid="indexedDB-permissions-prompt"],
.popup-notification-icon[popupid="indexedDB-quota-prompt"],
.popup-notification-icon[popupid*="offline-app-requested"],
.popup-notification-icon[popupid="offline-app-usage"] {
  list-style-image: url(chrome://global/skin/icons/question-64.png);
}

.popup-notification-icon[popupid="password-save"],
.popup-notification-icon[popupid="password-change"] {
  list-style-image: url(chrome://mozapps/skin/passwordmgr/key-64.png);
}

.popup-notification-icon[popupid="webapps-install-progress"],
.popup-notification-icon[popupid="webapps-install"] {
  list-style-image: url(chrome://global/skin/icons/webapps-64.png);
}

.popup-notification-icon[popupid="mixed-content-blocked"] {
  list-style-image: url(chrome://browser/skin/mixed-content-blocked-64.png);
}

.popup-notification-icon[popupid="webRTC-sharingDevices"],
.popup-notification-icon[popupid="webRTC-shareDevices"] {
  list-style-image: url(chrome://browser/skin/webRTC-shareDevice-64.png);
}

.popup-notification-icon[popupid="webRTC-sharingMicrophone"],
.popup-notification-icon[popupid="webRTC-shareMicrophone"] {
  list-style-image: url(chrome://browser/skin/webRTC-shareMicrophone-64.png);
}

.popup-notification-icon[popupid="pointerLock"] {
  list-style-image: url(chrome://browser/skin/pointerLock-64.png);
}

/* Notification icon box */
#notification-popup-box {
  position: relative;
  background-color: #fff;
  background-clip: padding-box;
  padding-left: 3px;
  border-radius: 2.5px 0 0 2.5px;
  border-width: 0 8px 0 0;
  border-style: solid;
  border-image: url("chrome://browser/skin/urlbar-arrow.png") 0 8 0 0 fill;
  -moz-margin-end: -8px;
  margin-top: -1px;
  margin-bottom: -1px;
}

@conditionalForwardWithUrlbar@ > #forward-button[disabled] + #urlbar > #notification-popup-box {
  padding-left: 7px;
}

#notification-popup-box:not([hidden]) + #identity-box {
  -moz-padding-start: 10px;
  border-radius: 0;
}

#notification-popup-box:-moz-locale-dir(rtl),
.notification-anchor-icon:-moz-locale-dir(rtl) {
  transform: scaleX(-1);
}

.notification-anchor-icon {
  width: 16px;
  height: 16px;
  margin: 0 2px;
}

.notification-anchor-icon:-moz-focusring {
  outline: 1px dotted -moz-DialogText;
}

.default-notification-icon,
#default-notification-icon {
  list-style-image: url(chrome://global/skin/icons/information-16.png);
}

.identity-notification-icon,
#identity-notification-icon {
  list-style-image: url(chrome://mozapps/skin/profile/profileicon.png);
}

.geo-notification-icon,
#geo-notification-icon {
  list-style-image: url(chrome://browser/skin/Geolocation-16.png);
}

#addons-notification-icon {
  list-style-image: url(chrome://mozapps/skin/extensions/extensionGeneric-16.png);
}

.indexedDB-notification-icon,
#indexedDB-notification-icon {
  list-style-image: url(chrome://global/skin/icons/question-16.png);
}

#password-notification-icon {
  list-style-image: url(chrome://mozapps/skin/passwordmgr/key-16.png);
}

#webapps-notification-icon {
  list-style-image: url(chrome://global/skin/icons/webapps-16.png);
}

#plugins-notification-icon {
  list-style-image: url(chrome://browser/skin/notification-pluginNormal.png);
}
#plugins-notification-icon.plugin-hidden {
  list-style-image: url(chrome://browser/skin/notification-pluginAlert.png);
}
#plugins-notification-icon.plugin-blocked {
  list-style-image: url(chrome://browser/skin/notification-pluginBlocked.png);
}

#plugins-notification-icon {
  -moz-image-region: rect(0, 16px, 16px, 0);
}

#plugins-notification-icon:hover {
  -moz-image-region: rect(0, 32px, 16px, 16px);
}

#plugins-notification-icon:active {
  -moz-image-region: rect(0, 48px, 16px, 32px);
}

#plugin-install-notification-icon {
  list-style-image: url(chrome://browser/skin/pluginInstall-16.png);
}

#notification-popup-box[hidden] {
  /* Override display:none to make the pluginBlockedNotification animation work
     when showing the notification repeatedly. */
  display: -moz-box;
  visibility: collapse;
}

#plugins-notification-icon.plugin-blocked[showing] {
  animation: pluginBlockedNotification 500ms ease 0s 5 alternate both;
}

@keyframes pluginBlockedNotification {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.mixed-content-blocked-notification-icon,
#mixed-content-blocked-notification-icon {
  list-style-image: url(chrome://browser/skin/mixed-content-blocked-16.png);
}

.webRTC-shareDevices-notification-icon,
#webRTC-shareDevices-notification-icon {
  list-style-image: url(chrome://browser/skin/webRTC-shareDevice-16.png);
}

.webRTC-sharingDevices-notification-icon,
#webRTC-sharingDevices-notification-icon {
  list-style-image: url(chrome://browser/skin/webRTC-sharingDevice-16.png);
}

.webRTC-shareMicrophone-notification-icon,
#webRTC-shareMicrophone-notification-icon {
  list-style-image: url(chrome://browser/skin/webRTC-shareMicrophone-16.png);
}

.webRTC-sharingMicrophone-notification-icon,
#webRTC-sharingMicrophone-notification-icon {
  list-style-image: url(chrome://browser/skin/webRTC-sharingMicrophone-16.png);
}

.web-notifications-notification-icon,
#web-notifications-notification-icon {
  list-style-image: url(chrome://browser/skin/notification-16.png);
}

#pointerLock-notification-icon {
  list-style-image: url(chrome://browser/skin/pointerLock-16.png);
}
#pointerLock-cancel {
  margin: 0px;
}

.translate-notification-icon,
#translate-notification-icon {
  list-style-image: url(chrome://browser/skin/translation-16.png);
  -moz-image-region: rect(0px, 16px, 16px, 0px);
}

.translated-notification-icon,
#translated-notification-icon {
  list-style-image: url(chrome://browser/skin/translation-16.png);
  -moz-image-region: rect(0px, 32px, 16px, 16px);
}

#treecolAutoCompleteImage {
  max-width : 36px;
}

.ac-result-type-bookmark,
.autocomplete-treebody::-moz-tree-image(bookmark, treecolAutoCompleteImage) {
  list-style-image: url("chrome://browser/skin/places/star-icons.png");
  -moz-image-region: rect(0px 32px 16px 16px);
  width: 16px;
  height: 16px;
}

.ac-result-type-keyword,
.autocomplete-treebody::-moz-tree-image(keyword, treecolAutoCompleteImage) {
  list-style-image: url(moz-icon://stock/gtk-find?size=menu);
  width: 16px;
  height: 16px;
}

.ac-result-type-tag,
.autocomplete-treebody::-moz-tree-image(tag, treecolAutoCompleteImage) {
  list-style-image: url("chrome://browser/skin/places/tag.png");
  width: 16px;
  height: 16px;
}

.ac-comment {
  font-size: 1.05em;
}

.ac-extra > .ac-comment {
  font-size: inherit;
}

.ac-url-text,
.ac-action-text {
  color: -moz-nativehyperlinktext;
  font-size: 0.9em;
}

richlistitem[type~="action"][actiontype="switchtab"] > .ac-url-box > .ac-action-icon {
  list-style-image: url("chrome://browser/skin/actionicon-tab.png");
  padding: 0 3px;
}

.autocomplete-treebody::-moz-tree-cell-text(treecolAutoCompleteComment) {
  color: GrayText;
}

.ac-comment[selected="true"],
.ac-url-text[selected="true"],
.ac-action-text[selected="true"] {
  color: inherit !important;
}

.autocomplete-treebody::-moz-tree-cell-text(suggesthint, treecolAutoCompleteComment),
.autocomplete-treebody::-moz-tree-cell-text(suggestfirst, treecolAutoCompleteComment) {
  color: GrayText;
  font-size: smaller;
}

.autocomplete-treebody::-moz-tree-cell(suggesthint) {
  border-top: 1px solid GrayText;
}

/* Combined go/reload/stop button in location bar */

#urlbar > toolbarbutton {
  -moz-appearance: none;
  padding: 0 2px;
  cursor: pointer;
  list-style-image: url("chrome://browser/skin/reload-stop-go.png");
}

#urlbar-reload-button {
  -moz-image-region: rect(0, 14px, 14px, 0);
}

#urlbar-reload-button:not([disabled]):hover {
  background-image: radial-gradient(circle closest-side, hsla(200,100%,70%,.2), hsla(200,100%,70%,0));
  -moz-image-region: rect(14px, 14px, 28px, 0);
}

#urlbar-reload-button:not([disabled]):hover:active {
  background-image: radial-gradient(circle closest-side, hsla(200,100%,60%,.1), hsla(200,100%,60%,0));
  -moz-image-region: rect(28px, 14px, 42px, 0);
}

#urlbar-reload-button:-moz-locale-dir(rtl) > .toolbarbutton-icon {
  transform: scaleX(-1);
}

#urlbar-go-button {
  -moz-image-region: rect(0, 42px, 14px, 28px);
}

#urlbar-go-button:hover {
  background-image: radial-gradient(circle closest-side, hsla(110,70%,50%,.2), hsla(110,70%,50%,0));
  -moz-image-region: rect(14px, 42px, 28px, 28px);
}

#urlbar-go-button:hover:active {
  background-image: radial-gradient(circle closest-side, hsla(110,70%,50%,.1), hsla(110,70%,50%,0));
  -moz-image-region: rect(28px, 42px, 42px, 28px);
}

#urlbar-go-button:-moz-locale-dir(rtl) > .toolbarbutton-icon {
  transform: scaleX(-1);
}

#urlbar-stop-button {
  -moz-image-region: rect(0, 28px, 14px, 14px);
}

#urlbar-stop-button:not([disabled]):hover {
  background-image: radial-gradient(circle closest-side, hsla(5,100%,75%,.3), hsla(5,100%,75%,0));
  -moz-image-region: rect(14px, 28px, 28px, 14px);
}

#urlbar-stop-button:hover:active {
  background-image: radial-gradient(circle closest-side, hsla(5,100%,75%,.1), hsla(5,100%,75%,0));
  -moz-image-region: rect(28px, 28px, 42px, 14px);
}

/* Popup blocker button */
#page-report-button {
  list-style-image: url("chrome://browser/skin/Info.png");
}


/* social share panel */

.social-share-frame {
  background: linear-gradient(to bottom, rgba(242,242,242,.99), rgba(242,242,242,.95));
  border-left: 1px solid #f8f8f8;
  width: 330px;
  height: 150px;
  /* we resize our panels dynamically, make it look nice */
  transition: height 100ms ease-out, width 100ms ease-out;
}

.social-share-toolbar {
  border-right: 1px solid #dedede;
  background: linear-gradient(to bottom, rgba(247,247,247,.99), rgba(247,247,247,.95));
}

#social-share-provider-buttons {
  border-right: 1px solid #fbfbfb;
  padding: 6px;
}

#social-share-provider-buttons > .share-provider-button {
  padding: 6px;
  margin: 0;
  border: none;
  border-radius: 2px;
}

#social-share-provider-buttons > .share-provider-button[checked],
#social-share-provider-buttons > .share-provider-button:active {
  padding: 5px;
  border: 1px solid #b5b5b8;
  box-shadow: inset 1px 1px 3px rgba(0, 0, 0, 0.2);
}

#social-share-provider-buttons > .share-provider-button[checked] {
  background: linear-gradient(to bottom, #d9d9d9, #e3e3e3);
}

#social-share-provider-buttons > .share-provider-button > .toolbarbutton-text {
  display: none;
}
#social-share-provider-buttons > .share-provider-button > .toolbarbutton-icon {
  width: 16px;
  min-height: 16px;
  max-height: 16px;
}

/* social recommending panel */

#social-mark-button {
  -moz-image-region: rect(0, 16px, 16px, 0);
}

/* bookmarks menu-button */

#bookmarks-menu-button[cui-areatype="toolbar"] > .toolbarbutton-menubutton-dropmarker {
  -moz-appearance: none !important;
  -moz-box-align: center;
}

#bookmarks-menu-button[cui-areatype="toolbar"] > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon {
  margin-top: 3px;
  margin-bottom: 3px;
}

#bookmarks-menu-button[disabled][cui-areatype="toolbar"] > .toolbarbutton-icon,
#bookmarks-menu-button[disabled][cui-areatype="toolbar"] > .toolbarbutton-menu-dropmarker,
#bookmarks-menu-button[disabled][cui-areatype="toolbar"] > .toolbarbutton-menubutton-dropmarker,
#bookmarks-menu-button[disabled][cui-areatype="toolbar"] > .toolbarbutton-menubutton-button > .toolbarbutton-icon,
#bookmarks-menu-button[cui-areatype="toolbar"] > .toolbarbutton-menubutton-button[disabled] > .toolbarbutton-icon {
  opacity: .4;
}

#BMB_bookmarksPopup[side="top"],
#BMB_bookmarksPopup[side="bottom"] {
  margin-left: -16px;
  margin-right: -16px;
}

#BMB_bookmarksPopup[side="left"],
#BMB_bookmarksPopup[side="right"] {
  margin-top: -16px;
  margin-bottom: -16px;
}

#nav-bar .toolbarbutton-1 > menupopup[side="top"].cui-widget-panel,
#nav-bar .toolbarbutton-1 > menupopup[side="bottom"].cui-widget-panel {
  margin-top: -4px;
}

/* Bookmarking panel */
#editBookmarkPanelStarIcon {
  list-style-image: url("chrome://browser/skin/places/starred48.png");
  width: 48px;
  height: 48px;
}

#editBookmarkPanelStarIcon[unstarred] {
  list-style-image: url("chrome://browser/skin/places/unstarred48.png");
}

#editBookmarkPanelTitle {
  font-size: 130%;
}

#editBookmarkPanelHeader,
#editBookmarkPanelContent {
  margin-bottom: .5em;
}

/* Implements editBookmarkPanel resizing on folderTree un-collapse. */
#editBMPanel_folderTree {
  min-width: 27em;
}

.panel-promo-box {
  margin: 8px -10px -10px -10px;
  padding: 8px 10px;
  border-top: 1px solid ThreeDShadow;
  background-image: linear-gradient(hsla(0,0%,0%,.15), hsla(0,0%,0%,.08) 6px);
}

.panel-promo-icon {
  list-style-image: url("chrome://browser/skin/sync-notification-24.png");
  -moz-margin-end: 10px;
  vertical-align: middle;
}

.panel-promo-closebutton {
  -moz-appearance: none;
  height: 16px;
  width: 16px;
}

.panel-promo-closebutton > .toolbarbutton-text {
  padding: 0;
  margin: 0;
}

/* Content area */
#sidebar {
  background-color: Window;
}

.browserContainer > findbar {
  background-color: -moz-dialog;
  color: -moz-DialogText;
  text-shadow: none;
}

/* Tabstrip */

%include ../shared/tabs.inc.css

#tabbrowser-tabs {
  /* override the global style to allow the selected tab to be above the nav-bar */
  z-index: auto;
}

#TabsToolbar {
  min-height: 0;
  padding: 0;
  position: relative;
}

/*
 * Draw the bottom border of the tabstrip:
 */
#TabsToolbar::after {
  content: "";
  position: absolute;
  bottom: @tabToolbarNavbarOverlap@;
  left: 0;
  right: 0;
  z-index: 0;
  border-bottom: 1px solid hsla(0,0%,0%,.3);
}

#TabsToolbar:not(:-moz-lwtheme) {
  -moz-appearance: menubar;
  color: -moz-menubartext;
}

#toolbar-menubar:not([autohide="true"]):not(:-moz-lwtheme):-moz-system-metric(menubar-drag),
#TabsToolbar:not(:-moz-lwtheme):-moz-system-metric(menubar-drag) {
  -moz-binding: url("chrome://browser/content/customizableui/toolbar.xml#toolbar-drag");
}

.tabbrowser-tab:focus > .tab-stack > .tab-content > .tab-label {
  outline: 1px dotted;
}

#context_reloadTab {
  list-style-image: url("moz-icon://stock/gtk-refresh?size=menu");
}

#context_closeOtherTabs {
  list-style-image: url("moz-icon://stock/gtk-clear?size=menu");
}

#context_closeOtherTabs[disabled] {
  list-style-image: url("moz-icon://stock/gtk-clear?size=menu&state=disabled");
}

#context_undoCloseTab {
  list-style-image: url("moz-icon://stock/gtk-undelete?size=menu");
}

#context_closeTab {
  list-style-image: url("moz-icon://stock/gtk-close?size=menu");
}

/* Tab drag and drop */
.tab-drop-indicator {
  list-style-image: url(chrome://browser/skin/tabbrowser/tabDragIndicator.png);
  margin-bottom: -9px;
  z-index: 3;
}

/* Tab close button */
.tab-close-button:not([selected]):not(:hover) {
  background-image: -moz-image-rect(url("chrome://global/skin/icons/close.svg"), 0, 64, 16, 48);
}

.tab-close-button:not([selected]):not(:hover):-moz-lwtheme-brighttext {
  background-image: -moz-image-rect(url("chrome://global/skin/icons/close.svg"), 0, 80, 16, 64);
}

.tab-close-button:not([selected]):not(:hover):-moz-lwtheme-darktext {
  background-image: -moz-image-rect(url("chrome://global/skin/icons/close.svg"), 0, 96, 16, 80);
}

/* Tabstrip new tab button */
.tabs-newtab-button,
#TabsToolbar > #new-tab-button ,
#TabsToolbar > #wrapper-new-tab-button > #new-tab-button {
  list-style-image: url("moz-icon://stock/gtk-add?size=menu");
  -moz-image-region: auto;
}

/* Tabbrowser arrowscrollbox arrows */
.tabbrowser-arrowscrollbox > .scrollbutton-up,
.tabbrowser-arrowscrollbox > .scrollbutton-down {
  -moz-appearance: none;
  margin: 0 0 @tabToolbarNavbarOverlap@;
}

.tabbrowser-arrowscrollbox > .scrollbutton-up {
  -moz-border-start: 0;
  -moz-border-end: 2px solid transparent;
}

.tabbrowser-arrowscrollbox > .scrollbutton-down {
  -moz-border-start: 2px solid transparent;
  -moz-border-end: 0;
  transition: 1s box-shadow ease-out;
  border-radius: 4px;
}

.tabbrowser-arrowscrollbox > .scrollbutton-down[notifybgtab] {
  box-shadow: 0 0 5px 5px Highlight inset;
  transition: none;
}

.tabbrowser-arrowscrollbox > .scrollbutton-up:not([disabled]):-moz-locale-dir(ltr),
.tabbrowser-arrowscrollbox > .scrollbutton-down:not([disabled]):-moz-locale-dir(rtl) {
  border-width: 0 2px 0 0;
  border-style: solid;
  border-image: url("chrome://browser/skin/tabbrowser/tab-overflow-border.png") 0 2 0 2 fill;
}

.tabbrowser-arrowscrollbox > .scrollbutton-down:not([disabled]):-moz-locale-dir(ltr),
.tabbrowser-arrowscrollbox > .scrollbutton-up:not([disabled]):-moz-locale-dir(rtl) {
  border-width: 0 0 0 2px;
  border-style: solid;
  border-image: url("chrome://browser/skin/tabbrowser/tab-overflow-border.png") 0 2 0 2 fill;
}

#TabsToolbar .toolbarbutton-1 {
  margin-bottom: @tabToolbarNavbarOverlap@;
}

#TabsToolbar .toolbarbutton-1 > .toolbarbutton-icon,
#TabsToolbar .toolbarbutton-1 > .toolbarbutton-menu-dropmarker,
#TabsToolbar .toolbarbutton-1 > .toolbarbutton-menubutton-button > .toolbarbutton-icon {
  margin-top: -2px;
  margin-bottom: -2px;
}

#alltabs-button > .toolbarbutton-menu-dropmarker {
  margin-bottom: -2px;
}

#alltabs-button > .toolbarbutton-icon {
  display: none;
}

/* All tabs menupopup */
.alltabs-item > .menu-iconic-left > .menu-iconic-icon {
  list-style-image: url("chrome://mozapps/skin/places/defaultFavicon.png");
}

.alltabs-item[selected="true"] {
  font-weight: bold;
}

.alltabs-item[busy] > .menu-iconic-left > .menu-iconic-icon {
  list-style-image: url("chrome://global/skin/icons/loading_16.png");
}

.alltabs-item[tabIsVisible] {
  /* box-shadow instead of background-color to work around native styling */
  box-shadow: inset -5px 0 ThreeDShadow;
}

/* Sidebar */
#sidebar-throbber[loading="true"] {
  list-style-image: url("chrome://global/skin/icons/loading_16.png");
  -moz-margin-end: 4px;
}

toolbarbutton.chevron {
  list-style-image: url("chrome://global/skin/toolbar/chevron.gif") !important;
}

toolbarbutton.chevron:-moz-locale-dir(rtl) > .toolbarbutton-icon {
  transform: scaleX(-1);
}

toolbarbutton.chevron > .toolbarbutton-text,
toolbarbutton.chevron > .toolbarbutton-menu-dropmarker {
  display: none;
}

toolbarbutton.chevron > .toolbarbutton-icon {
  margin: 0;
}

/* Ctrl-Tab */

.ctrlTab-preview {
  -moz-appearance: toolbarbutton;
}

.tabPreview-canvas {
  box-shadow: 0 0 5px ThreeDShadow;
}

.ctrlTab-preview:focus .tabPreview-canvas,
.ctrlTab-preview:hover .tabPreview-canvas {
  box-shadow: none;
}

.ctrlTab-favicon[src] {
  background-color: white;
  width: 20px;
  height: 20px;
  padding: 2px;
}

#ctrlTab-panel {
  padding: 10px;
}

.ctrlTab-preview:not(#ctrlTab-showAll) .tabPreview-canvas {
  margin-bottom: 2px;
}

#ctrlTab-showAll {
  -moz-appearance: button;
  color: ButtonText;
  padding: 0 3px;
  margin-top: 10px;
}

/* Sync Panel */

.sync-panel-icon {
  height:32px;
  width: 32px;
  background: url("chrome://browser/content/abouthome/sync.png") top left no-repeat;
}

.sync-panel-inner {
  width: 0;
  padding-left: 10px;
}

.sync-panel-button-box {
  margin-top: 1em;
}

#sync-error-panel-title,
#sync-start-panel-title {
  font-size: 120%;
  font-weight: bold;
  margin-bottom: 5px;
}

#sync-start-panel-subtitle,
#sync-error-panel-subtitle {
  margin: 0;
}

/* Status panel */

.statuspanel-label {
  margin: 0;
  padding: 2px 4px;
  background: linear-gradient(#fff, #ddd);
  border: 1px none #ccc;
  border-top-style: solid;
  color: #333;
  text-shadow: none;
}

.statuspanel-label:-moz-locale-dir(ltr):not([mirror]),
.statuspanel-label:-moz-locale-dir(rtl)[mirror] {
  border-right-style: solid;
  border-top-right-radius: .3em;
  margin-right: 1em;
}

.statuspanel-label:-moz-locale-dir(rtl):not([mirror]),
.statuspanel-label:-moz-locale-dir(ltr)[mirror] {
  border-left-style: solid;
  border-top-left-radius: .3em;
  margin-left: 1em;
}

#full-screen-warning-message {
  background-image: url("chrome://browser/skin/fullscreen-darknoise.png");
  color: white;
  border-radius: 4px;
  margin-top: 30px;
  padding: 30px 50px;
  box-shadow: 0 0 2px white;
}

#full-screen-warning-container[obscure-browser] {
  background-color: rgba(0,0,0,0.3);
}

.full-screen-description {
  font-size: 150%;
}

#full-screen-domain-text {
  font-size: 300%;
}

.full-screen-approval-button,
#full-screen-remember-decision {
  font-size: 120%;
}

%include ../shared/devtools/responsivedesign.inc.css
%include ../shared/devtools/highlighter.inc.css
%include ../shared/devtools/commandline.inc.css
%include ../shared/plugin-doorhanger.inc.css

%include downloads/indicator.css

.gcli-panel {
  padding: 0;
}

.gclitoolbar-input-node > .textbox-input-box > html|*.textbox-input::-moz-selection {
  color: hsl(210,11%,16%);
}

/* Error counter */

#developer-toolbar-toolbox-button[error-count]:before {
  color: #FDF3DE;
  min-width: 16px;
  text-shadow: none;
  background-image: linear-gradient(#B4211B, #8A1915);
  border-radius: 1px;
  -moz-margin-end: 2px;
}

/* Social toolbar item */

#social-provider-button {
  -moz-image-region: rect(0, 16px, 16px, 0);
  list-style-image: url(chrome://browser/skin/social/services-16.png);
}

#social-provider-button > .toolbarbutton-menu-dropmarker {
  display: none;
}

.toolbarbutton-badge-container {
  margin: 5px 3px;
  position: relative;
}

toolbar[iconsize="small"] .toolbarbutton-badge-container {
  margin: 0;
}

.toolbarbutton-badge[badge]:not([badge=""])::after {
  /* The |content| property is set in the content stylesheet. */
  font-size: 9px;
  font-weight: bold;
  padding: 0 1px;
  color: #fff;
  background-color: rgb(240,61,37);
  border: 1px solid rgb(216,55,34);
  border-radius: 2px;
  box-shadow: 0 1px 0 rgba(0,39,121,0.77);
  position: absolute;
  top: 0;
  right: 0;
}

.toolbarbutton-badge[badge]:not([badge=""]):-moz-locale-dir(rtl)::after {
  left: 2px;
  right: auto;
}

.popup-notification-icon[popupid="servicesInstall"] {
  list-style-image: url(chrome://browser/skin/social/services-64.png);
}
#servicesInstall-notification-icon {
  list-style-image: url(chrome://browser/skin/social/services-16.png);
}
#social-undoactivation-button {
  -moz-margin-start: 0; /* override default label margin to match description margin */
}

.social-activation-icon {
  width: auto;
  height: auto;
  max-height: 64px;
  max-width: 64px;
}

#social-activation-message {
  max-width: 250px;
}

#social-activation-message > label {
  margin: 0;
}

/* social toolbar provider menu */
#social-statusarea-popup {
  margin-top: 0;
  margin-left: -12px;
  margin-right: -12px;
}

.social-statusarea-user {
  list-style-image:url("chrome://global/skin/icons/information-32.png");
}

.social-statusarea-user-portrait {
  width: 32px;
  height: 32px;
  border-radius: 2px;
  margin: 10px;
}

.social-panel > .panel-arrowcontainer > .panel-arrowcontent {
  padding: 0;
}

%include ../shared/social/chat.inc.css

.chat-titlebar {
  background-color: #d9d9d9;
  background-image: linear-gradient(@toolbarHighlight@, rgba(255,255,255,0));
}

.chat-titlebar[selected] {
  background-color: #f0f0f0;
}

.chatbar-button {
  -moz-appearance: none;
  background-color: #d9d9d9;
  background-image: linear-gradient(@toolbarHighlight@, rgba(255,255,255,0));
}

.chatbar-button > .toolbarbutton-icon {
  -moz-margin-end: 0;
}

.chatbar-button:hover,
.chatbar-button[open="true"] {
  background-color: #f0f0f0;
}

.chatbar-button[activity] {
  background-image: radial-gradient(circle farthest-corner at center 3px, rgb(233,242,252) 3%, rgba(172,206,255,0.75) 40%, rgba(87,151,201,0.5) 80%, rgba(87,151,201,0));
}

chatbox {
  border-top-left-radius: 2.5px;
  border-top-right-radius: 2.5px;
}

/* Customization mode */

%include ../shared/customizableui/customizeMode.inc.css

#main-window[customizing] > #tab-view-deck {
  background: linear-gradient(to bottom, #bcbcbc, #b5b5b5);
}

#main-window[customize-entered] > #tab-view-deck {
  background-image: url("chrome://browser/skin/customizableui/customizeMode-gridTexture.png"),
                    url("chrome://browser/skin/customizableui/background-noise-toolbar.png"),
                    linear-gradient(to bottom, #bcbcbc, #b5b5b5);
  background-attachment: fixed;
}

#main-window[customize-entered] #browser-bottombox,
#main-window[customize-entered] #navigator-toolbox > toolbar:not(#toolbar-menubar):not(#TabsToolbar),
#main-window[customize-entered] #customization-container {
  border: 3px solid hsla(0,0%,0%,.1);
  border-top-width: 0;
  background-clip: padding-box;
  background-origin: padding-box;
  -moz-border-right-colors: hsla(0,0%,0%,.05) hsla(0,0%,0%,.1) hsla(0,0%,0%,.2);
  -moz-border-bottom-colors: hsla(0,0%,0%,.05) hsla(0,0%,0%,.1) hsla(0,0%,0%,.2);
  -moz-border-left-colors: hsla(0,0%,0%,.05) hsla(0,0%,0%,.1) hsla(0,0%,0%,.2);
}

#main-window[customize-entered] #customization-container,
#main-window[customize-entered] #navigator-toolbox > toolbar:not(#toolbar-menubar):not(#TabsToolbar) {
  border-bottom-width: 0;
}

#main-window[customize-entered] #TabsToolbar {
  -moz-appearance: none;
  background-clip: padding-box;
  border-right: 3px solid transparent;
  border-left: 3px solid transparent;
}

/* The :hover:active style from toolkit doesn't seem to work in this panel so just use :active. */
.customization-tipPanel-closeBox > .close-icon:active {
  background-image: -moz-image-rect(url("chrome://global/skin/icons/close.svg"), 0, 48, 16, 32);
}

/* End customization mode */


#main-window[privatebrowsingmode=temporary] #private-browsing-indicator {
  background: url("chrome://browser/skin/privatebrowsing-mask.png") center no-repeat;
  width: 40px;
}

%include ../shared/UITour.inc.css

#UITourHighlight {
  /* Below are some fixes for people without an X compositor on Linux.
     This is why we can't have nice things: */
  /* Animations don't repaint properly without an X compositor. */
  animation-name: none !important;
  /* Opacity rounds to 0 or 1 on Linux without an X compositor so make the
     background be transparent in that case by having all alpha values < 0.5 */
  background-image: radial-gradient(50% 100%, rgba(0,149,220,0.3) 50%, rgba(0,149,220,0.49) 100%);
  /* The highlight isn't anti-aliased without an X compositor so make it thicker.
     Make it a darker color since we don't have the box-shadow in this case. */
  border: 4px solid rgb(0,149,220);
}

#UITourTooltipDescription {
  font-size: 1.05rem;
}

#UITourTooltipClose {
  -moz-margin-end: -4px;
  height: 16px;
  width: 16px;
}

#UITourTooltipButtons {
  margin-bottom: -10px;
}
