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

%include ../../shared/downloads/downloads.inc.css

/*** Panel and outer controls ***/

#downloadsPanel {
  margin-top: -1px;
}

#downloadsFooter {
  background: #e5e5e5;
  border-top: 1px solid hsla(0,0%,0%,.1);
  box-shadow: 0 -1px hsla(0,0%,100%,.5) inset, 0 1px 1px hsla(0,0%,0%,.03) inset;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}

#downloadsHistory {
  color: #808080;
}

@keyfocus@ #downloadsSummary:focus,
@keyfocus@ #downloadsHistory:focus {
  outline: 2px -moz-mac-focusring solid;
  outline-offset: -2px;
  -moz-outline-radius-bottomleft: 4px;
  -moz-outline-radius-bottomright: 4px;
}

/*** List items and similar elements in the summary ***/

:root {
  --downloads-item-height: 7em;
  --downloads-item-border-top-color: hsla(0,0%,100%,.07);
  --downloads-item-border-bottom-color: hsla(0,0%,0%,.2);
  --downloads-item-font-size-factor: 0.95;
  --downloads-item-target-margin-bottom: 6px;
  --downloads-item-details-margin-top: 0;
  --downloads-item-details-opacity: 0.7;
}

.downloadButton:focus > .button-box {
  outline: 2px -moz-mac-focusring solid;
  outline-offset: -2px;
}

/*** Highlighted list items ***/

@keyfocus@ @itemFocused@,
@notKeyfocus@ @itemFinished@[exists]:hover {
  border-radius: 3px;
  border-top: 1px solid hsla(0,0%,100%,.2);
  border-bottom: 1px solid hsla(0,0%,0%,.4);
  background-color: Highlight;
  color: HighlightText;
}

@notKeyfocus@ @itemFinished@[exists]:hover {
  cursor: pointer;
}

/*** Button icons ***/

.downloadButton.downloadConfirmBlock,
.downloadButton.downloadCancel {
  -moz-image-region: rect(0px, 16px, 16px, 0px);
}
@item@:hover .downloadButton.downloadConfirmBlock,
@item@:hover .downloadButton.downloadCancel {
  -moz-image-region: rect(0px, 32px, 16px, 16px);
}
@item@:hover .downloadButton.downloadConfirmBlock:hover,
@item@:hover .downloadButton.downloadCancel:hover {
  -moz-image-region: rect(0px, 48px, 16px, 32px);
}
@item@:hover .downloadButton.downloadConfirmBlock:active,
@item@:hover .downloadButton.downloadCancel:active {
  -moz-image-region: rect(0px, 64px, 16px, 48px);
}
@keyfocus@ @itemFocused@ .downloadButton.downloadConfirmBlock,
@keyfocus@ @itemFocused@ .downloadButton.downloadCancel {
  -moz-image-region: rect(0px, 80px, 16px, 64px);
}
@keyfocus@ @itemFocused@:hover .downloadButton.downloadConfirmBlock,
@keyfocus@ @itemFocused@:hover .downloadButton.downloadCancel {
  -moz-image-region: rect(0px, 96px, 16px, 80px);
}
@keyfocus@ @itemFocused@:hover .downloadButton.downloadConfirmBlock:hover,
@keyfocus@ @itemFocused@:hover .downloadButton.downloadCancel:hover {
  -moz-image-region: rect(0px, 112px, 16px, 96px);
}
@keyfocus@ @itemFocused@:hover .downloadButton.downloadConfirmBlock:active,
@keyfocus@ @itemFocused@:hover .downloadButton.downloadCancel:active {
  -moz-image-region: rect(0px, 128px, 16px, 112px);
}

.downloadButton.downloadShow {
  -moz-image-region: rect(16px, 16px, 32px, 0px);
}
@keyfocus@ @itemFinished@:hover:not([selected]) .downloadButton.downloadShow {
  -moz-image-region: rect(16px, 32px, 32px, 16px);
}
@keyfocus@ @itemFinished@:hover:not([selected]) .downloadButton.downloadShow:hover {
  -moz-image-region: rect(16px, 48px, 32px, 32px);
}
@keyfocus@ @itemFinished@:hover:not([selected]) .downloadButton.downloadShow:active {
  -moz-image-region: rect(16px, 64px, 32px, 48px);
}
@keyfocus@ @itemFocused@ .downloadButton.downloadShow {
  -moz-image-region: rect(16px, 80px, 32px, 64px);
}
@notKeyfocus@ @itemFinished@:hover .downloadButton.downloadShow,
@keyfocus@ @itemFocused@:hover .downloadButton.downloadShow {
  -moz-image-region: rect(16px, 96px, 32px, 80px);
}
@notKeyfocus@ @itemFinished@:hover .downloadButton.downloadShow:hover,
@keyfocus@ @itemFocused@:hover .downloadButton.downloadShow:hover {
  -moz-image-region: rect(16px, 112px, 32px, 96px);
}
@notKeyfocus@ @itemFinished@:hover .downloadButton.downloadShow:active,
@keyfocus@ @itemFocused@:hover .downloadButton.downloadShow:active {
  -moz-image-region: rect(16px, 128px, 32px, 112px);
}

.downloadButton.downloadRetry {
  -moz-image-region: rect(32px, 16px, 48px, 0px);
}
@item@:hover .downloadButton.downloadRetry {
  -moz-image-region: rect(32px, 32px, 48px, 16px);
}
@item@:hover .downloadButton.downloadRetry:hover {
  -moz-image-region: rect(32px, 48px, 48px, 32px);
}
@item@:hover .downloadButton.downloadRetry:active {
  -moz-image-region: rect(32px, 64px, 48px, 48px);
}
@keyfocus@ @itemFocused@ .downloadButton.downloadRetry {
  -moz-image-region: rect(32px, 80px, 48px, 64px);
}
@keyfocus@ @itemFocused@:hover .downloadButton.downloadRetry {
  -moz-image-region: rect(32px, 96px, 48px, 80px);
}
@keyfocus@ @itemFocused@:hover .downloadButton.downloadRetry:hover {
  -moz-image-region: rect(32px, 112px, 48px, 96px);
}
@keyfocus@ @itemFocused@:hover .downloadButton.downloadRetry:active {
  -moz-image-region: rect(32px, 128px, 48px, 112px);
}

@media (min-resolution: 2dppx) {
  .downloadButton {
    list-style-image: url("chrome://browser/skin/downloads/buttons@2x.png");
  }
  .downloadButton > .button-box > .button-icon {
    width: 16px;
    height: 16px;
  }

  .downloadButton.downloadConfirmBlock,
  .downloadButton.downloadCancel {
    -moz-image-region: rect(0px, 32px, 32px, 0px);
  }
  @item@:hover .downloadButton.downloadConfirmBlock,
  @item@:hover .downloadButton.downloadCancel {
    -moz-image-region: rect(0px, 64px, 32px, 32px);
  }
  @item@:hover .downloadButton.downloadConfirmBlock:hover,
  @item@:hover .downloadButton.downloadCancel:hover {
    -moz-image-region: rect(0px, 96px, 32px, 64px);
  }
  @item@:hover .downloadButton.downloadConfirmBlock:active,
  @item@:hover .downloadButton.downloadCancel:active {
    -moz-image-region: rect(0px, 128px, 32px, 96px);
  }
  @keyfocus@ @itemFocused@ .downloadButton.downloadConfirmBlock,
  @keyfocus@ @itemFocused@ .downloadButton.downloadCancel {
    -moz-image-region: rect(0px, 160px, 32px, 128px);
  }
  @keyfocus@ @itemFocused@:hover .downloadButton.downloadConfirmBlock,
  @keyfocus@ @itemFocused@:hover .downloadButton.downloadCancel {
    -moz-image-region: rect(0px, 192px, 32px, 160px);
  }
  @keyfocus@ @itemFocused@:hover .downloadButton.downloadConfirmBlock:hover,
  @keyfocus@ @itemFocused@:hover .downloadButton.downloadCancel:hover {
    -moz-image-region: rect(0px, 224px, 32px, 192px);
  }
  @keyfocus@ @itemFocused@:hover .downloadButton.downloadConfirmBlock:active,
  @keyfocus@ @itemFocused@:hover .downloadButton.downloadCancel:active {
    -moz-image-region: rect(0px, 256px, 32px, 224px);
  }

  .downloadButton.downloadShow {
    -moz-image-region: rect(32px, 32px, 64px, 0px);
  }
  @keyfocus@ @itemFinished@:hover:not([selected]) .downloadButton.downloadShow {
    -moz-image-region: rect(32px, 64px, 64px, 32px);
  }
  @keyfocus@ @itemFinished@:hover:not([selected]) .downloadButton.downloadShow:hover {
    -moz-image-region: rect(32px, 96px, 64px, 64px);
  }
  @keyfocus@ @itemFinished@:hover:not([selected]) .downloadButton.downloadShow:active {
    -moz-image-region: rect(32px, 128px, 64px, 96px);
  }
  @keyfocus@ @itemFocused@ .downloadButton.downloadShow {
    -moz-image-region: rect(32px, 160px, 64px, 128px);
  }
  @notKeyfocus@ @itemFinished@:hover .downloadButton.downloadShow,
  @keyfocus@ @itemFocused@:hover .downloadButton.downloadShow {
    -moz-image-region: rect(32px, 192px, 64px, 160px);
  }
  @notKeyfocus@ @itemFinished@:hover .downloadButton.downloadShow:hover,
  @keyfocus@ @itemFocused@:hover .downloadButton.downloadShow:hover {
    -moz-image-region: rect(32px, 224px, 64px, 192px);
  }
  @notKeyfocus@ @itemFinished@:hover .downloadButton.downloadShow:active,
  @keyfocus@ @itemFocused@:hover .downloadButton.downloadShow:active {
    -moz-image-region: rect(32px, 256px, 64px, 224px);
  }

  .downloadButton.downloadRetry {
    -moz-image-region: rect(64px, 32px, 96px, 0px);
  }
  @item@:hover .downloadButton.downloadRetry {
    -moz-image-region: rect(64px, 64px, 96px, 32px);
  }
  @item@:hover .downloadButton.downloadRetry:hover {
    -moz-image-region: rect(64px, 96px, 96px, 64px);
  }
  @item@:hover .downloadButton.downloadRetry:active {
    -moz-image-region: rect(64px, 128px, 96px, 96px);
  }
  @keyfocus@ @itemFocused@ .downloadButton.downloadRetry {
    -moz-image-region: rect(64px, 160px, 96px, 128px);
  }
  @keyfocus@ @itemFocused@:hover .downloadButton.downloadRetry {
    -moz-image-region: rect(64px, 192px, 96px, 160px);
  }
  @keyfocus@ @itemFocused@:hover .downloadButton.downloadRetry:hover {
    -moz-image-region: rect(64px, 224px, 96px, 192px);
  }
  @keyfocus@ @itemFocused@:hover .downloadButton.downloadRetry:active {
    -moz-image-region: rect(64px, 256px, 96px, 224px);
  }
}
