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

/* Restrict all styles to `*|*:not(html|select) > scrollbar` so that scrollbars
   inside a <select> are excluded (including them hides the select arrow on
   Windows).  We want to include both the root scrollbars for the document as
   well as any overflow: scroll elements within the page, while excluding
   <select>. */
*|*:not(html|select) > scrollbar {
  -moz-appearance: none !important;
  position: relative;
  background-color: transparent;
  background-image: none;
  z-index: 2147483647;
  padding: 2px;
  pointer-events: auto;
}

*|*:root[platform="mac"] > scrollbar,
*|*:root[platform="mac"] *|*:not(html|select) > scrollbar {
  border: none;
}

/* Scrollbar code will reset the margin to the correct side depending on
   where layout actually puts the scrollbar */
*|*:not(html|select) > scrollbar[orient="vertical"] {
  margin-left: -10px;
  min-width: 10px;
  max-width: 10px;
}

*|*:not(html|select) > scrollbar[orient="horizontal"] {
  margin-top: -10px;
  min-height: 10px;
  max-height: 10px;
}

*|*:not(html|select) > scrollbar thumb {
  background-color: rgba(170, 170, 170, .2) !important; /* --toolbar-tab-hover */
  -moz-appearance: none !important;
  border-width: 0px !important;
  border-radius: 3px !important;
}

*|*:root[platform="mac"] > scrollbar slider,
*|*:root[platform="mac"] *|*:not(html|select) > scrollbar slider {
  -moz-appearance: none !important;
}

*|*:root[platform="win"] > scrollbar scrollbarbutton,
*|*:root[platform="linux"] > scrollbar scrollbarbutton,
*|*:root[platform="win"] > scrollbar gripper,
*|*:root[platform="linux"] > scrollbar gripper,
*|*:root[platform="win"] *|*:not(html|select) > scrollbar scrollbarbutton,
*|*:root[platform="linux"] *|*:not(html|select) > scrollbar scrollbarbutton,
*|*:root[platform="win"] *|*:not(html|select) > scrollbar gripper,
*|*:root[platform="linux"] *|*:not(html|select) > scrollbar gripper {
  display: none;
}