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

#downloadsRichListBox {
  /** The default listbox appearance comes with an unwanted margin. **/
  appearance: none;
  margin: 0;
}

#downloadsRichListBox > richlistitem.download {
  height: 6em;
}

.downloadTypeIcon {
  margin-inline-start: 8px;
  margin-inline-end: 8px;
  /* explicitly size the icon, so size doesn't vary on hidpi systems */
  height: 32px;
  width: 32px;
}

.blockedIcon {
  list-style-image: url("chrome://global/skin/icons/Error.png");
}

.downloadTarget {
  margin-bottom: 3px;
  cursor: inherit;
}

.downloadDetails {
  opacity: 0.7;
  font-size: 95%;
  cursor: inherit;
}

.downloadButton {
  appearance: none;
  background: transparent;
  min-width: 0;
  min-height: 0;
  margin: 3px;
  border: none;
  padding: 5px;
  list-style-image: url("chrome://browser/skin/downloads/buttons.png");
}

/*** Button icons ***/

.downloadButton.downloadCancel {
  -moz-image-region: rect(0px, 16px, 16px, 0px);
}

richlistitem.download:hover > .downloadButton.downloadCancel {
   -moz-image-region: rect(0px, 32px, 16px, 16px);
}

richlistitem.download:hover > .downloadButton.downloadCancel:hover {
  -moz-image-region: rect(0px, 48px, 16px, 32px);
}

richlistitem.download:hover > .downloadButton.downloadCancel:active {
  -moz-image-region: rect(0px, 64px, 16px, 48px);
}

.downloadButton.downloadShow {
  -moz-image-region: rect(16px, 16px, 32px, 0px);
}

richlistitem.download:hover > .downloadButton.downloadShow {
   -moz-image-region: rect(16px, 32px, 32px, 16px);
}

richlistitem.download:hover > .downloadButton.downloadShow:hover {
  -moz-image-region: rect(16px, 48px, 32px, 32px);
}

richlistitem.download:hover > .downloadButton.downloadShow:active {
  -moz-image-region: rect(16px, 64px, 32px, 48px);
}

.downloadButton.downloadRetry {
  -moz-image-region: rect(32px, 16px, 48px, 0px);
}

richlistitem.download:hover > .downloadButton.downloadRetry {
   -moz-image-region: rect(32px, 32px, 48px, 16px);
}

richlistitem.download:hover > .downloadButton.downloadRetry:hover {
  -moz-image-region: rect(32px, 48px, 48px, 32px);
}

richlistitem.download:hover > .downloadButton.downloadRetry:active {
  -moz-image-region: rect(32px, 64px, 48px, 48px);
}

@media not all and (-moz-os-version: windows-win7) and (-moz-windows-default-theme) {
    richlistitem.download[selected] > .downloadButton.downloadCancel {
      -moz-image-region: rect(0px, 80px, 16px, 64px);
    }

    richlistitem.download[selected]:hover > .downloadButton.downloadCancel {
      -moz-image-region: rect(0px, 96px, 16px, 80px);
    }

    richlistitem.download[selected]:hover > .downloadButton.downloadCancel:hover {
      -moz-image-region: rect(0px, 112px, 16px, 96px);
    }

    richlistitem.download[selected]:hover > .downloadButton.downloadCancel:active {
      -moz-image-region: rect(0px, 128px, 16px, 112px);
    }

    richlistitem.download[selected] > .downloadButton.downloadShow {
      -moz-image-region: rect(16px, 80px, 32px, 64px);
    }

    richlistitem.download[selected]:hover > .downloadButton.downloadShow {
      -moz-image-region: rect(16px, 96px, 32px, 80px);
    }

    richlistitem.download[selected]:hover > .downloadButton.downloadShow:hover {
      -moz-image-region: rect(16px, 112px, 32px, 96px);
    }

    richlistitem.download[selected]:hover > .downloadButton.downloadShow:active {
      -moz-image-region: rect(16px, 128px, 32px, 112px);
    }

    richlistitem.download[selected] > .downloadButton.downloadRetry {
      -moz-image-region: rect(32px, 80px, 48px, 64px);
    }

    richlistitem.download[selected]:hover > .downloadButton.downloadRetry {
      -moz-image-region: rect(32px, 96px, 48px, 80px);
    }

    richlistitem.download[selected]:hover > .downloadButton.downloadRetry:hover {
      -moz-image-region: rect(32px, 112px, 48px, 96px);
    }

    richlistitem.download[selected]:hover > .downloadButton.downloadRetry:active {
      -moz-image-region: rect(32px, 128px, 48px, 112px);
    }
}

@media (-moz-os-version: windows-win7) and (-moz-windows-default-theme) {
  /*
  appearance: menuitem is almost right, but the hover effect is not
  transparent and is lighter than desired.

  Copied from the autocomplete richlistbox styling in
  toolkit/themes/windows/global/autocomplete.css

  This styling should be kept in sync with the style from the above file.
  */
  #downloadsRichListBox > richlistitem.download[selected] {
    color: inherit;
    background-color: transparent;
    /* four gradients for the bevel highlights on each edge, one for blue background */
    background-image:
      linear-gradient(to bottom, rgba(255,255,255,0.9) 3px, transparent 3px),
      linear-gradient(to right, rgba(255,255,255,0.5) 3px, transparent 3px),
      linear-gradient(to left, rgba(255,255,255,0.5) 3px, transparent 3px),
      linear-gradient(to top, rgba(255,255,255,0.4) 3px, transparent 3px),
      linear-gradient(to bottom, rgba(163,196,247,0.3), rgba(122,180,246,0.3));
    background-clip: content-box;
    border-radius: 6px;
    outline: 1px solid rgb(124,163,206);
    -moz-outline-radius: 3px;
    outline-offset: -2px;
  }
}
