@charset "UTF-8";
/*
# 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/.
*/

.favicon {
  display: inline-block;
  font-size: var(--favicon-size);
  height: var(--favicon-size);
  margin: 0;
  max-height: var(--favicon-size);
  max-width: var(--favicon-size);
  min-height: var(--favicon-size);
  min-width: var(--favicon-size);
  padding: 0;
  position: relative;
  white-space: pre;
  width: var(--favicon-size);
}
.tab .favicon,
.tab .favicon * {
  vertical-align: baseline;
}
.tab .favicon * {
  position: relative;
  z-index: 20;
}

.favicon-image {
  max-height: var(--favicon-size);
  max-width: var(--favicon-size);
}

.favicon-builtin::before {
  -moz-context-properties: fill;
  background: url("/resources/icons/globe-16.svg") no-repeat center / 100%;
  content: "";
  display: inline-block;
  fill: var(--tab-text);
  height: var(--svg-small-icon-size);
  line-height: 1;
  margin-top: calc((var(--favicon-size) - var(--svg-small-icon-size)) / 2);
  max-height: var(--favicon-size);
  max-width: var(--favicon-size);
  width: var(--svg-small-icon-size);
}
:root.simulate-svg-context-fill .tab .favicon-builtin::before {
  background: var(--tab-text);
  mask: url("/resources/icons/globe-16.svg") no-repeat center / 100%;
}

.tab.group-tab .favicon-builtin::before {
  background: url("/resources/icons/folder-16.svg") no-repeat center / 100%;
}
:root.simulate-svg-context-fill .tab.group-tab .favicon-builtin::before {
  background: var(--tab-text);
  mask: url("/resources/icons/folder-16.svg") no-repeat center / 100%;
}


.tab[data-current-uri^="chrome:"] .favicon-builtin::before {
  background: url("/resources/icons/globe-16.svg") no-repeat center / 100%;
}
:root.simulate-svg-context-fill .tab[data-current-uri^="chrome:"] .favicon-builtin::before {
  background: var(--tab-text);
  mask: url("/resources/icons/globe-16.svg") no-repeat center / 100%;
}

.tab[data-current-uri^="about:addons"] .favicon-builtin::before {
  background: url("/resources/icons/extensionGeneric-16.svg") no-repeat center / 100%;
}
:root.simulate-svg-context-fill .tab[data-current-uri^="about:addons"] .favicon-builtin::before {
  background: var(--tab-text);
  mask: url("/resources/icons/extensionGeneric-16.svg") no-repeat center / 100%;
}

.tab[data-current-uri^="about:preferences"] .favicon-builtin::before {
  background: url("/resources/icons/settings.svg") no-repeat center / 100%;
}
:root.simulate-svg-context-fill .tab[data-current-uri^="about:preferences"] .favicon-builtin::before {
  background: var(--tab-text);
  mask: url("/resources/icons/settings.svg") no-repeat center / 100%;
}

.tab[data-current-uri^="about:privatebrowsing"] .favicon-builtin::before,
:root.simulate-svg-context-fill .tab[data-current-uri^="about:privatebrowsing"] .favicon-builtin::before {
  background: url("/resources/icons/privatebrowsing-favicon.svg") no-repeat center / 100%;
  mask: none;
}


.tab.group-tab .favicon-image[src]:not(.error) {
  bottom: 0;
  max-height: 10px;
  max-width: 10px;
  position: absolute;
  right: 0;
  z-index: 100;
}


.favicon-image.error,
.favicon-image:not([src]),
.tab[data-current-uri^="chrome:"] .favicon-image,
.tab[data-current-uri^="about:addons"] .favicon-image,
.tab[data-current-uri^="about:preferences"] .favicon-image,
.tab:not(.group-tab):not([data-current-uri^="chrome:"]):not([data-current-uri^="about:addons"]):not([data-current-uri^="about:preferences"])
  .favicon-image[src]:not(.error) ~ .favicon-builtin::before,
.tab.loading .favicon-image,
.tab.loading .favicon-builtin::before {
  display: none !important;
}
