/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
 *
 * 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/. */

@namespace url(http://www.w3.org/2000/svg);
@namespace xml url(http://www.w3.org/XML/1998/namespace);

style,
script {
  display: none;
}

svg {
  -moz-min-font-size-ratio: 0%;
}

svg:not(:root),
symbol,
image,
marker,
pattern,
foreignObject {
  overflow: hidden;
}

@media all and (-moz-is-glyph) {
  :root {
    fill: context-fill;
    fill-opacity: context-fill-opacity;
    stroke: context-stroke;
    stroke-opacity: context-stroke-opacity;
    stroke-width: context-value;
    stroke-dasharray: context-value;
    stroke-dashoffset: context-value;
  }
}

foreignObject {
  appearance: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-width: 0 !important;
  white-space: normal;
}

@media all and (-moz-is-resource-document) {
  foreignObject *|* {
    appearance: none !important;
  }
}

*|*::-moz-svg-foreign-content {
  display: block !important;
  /* We need to be an absolute and fixed container */
  transform: translate(0) !important;
  text-indent: 0;
}

/* Set |transform-origin:0 0;| for all SVG elements except outer-<svg>,
   noting that 'svg' as a child of 'foreignObject' counts as outer-<svg>.
*/
*:not(svg),
*:not(foreignObject) > svg {
  transform-origin: 0 0;
}

*|*::-moz-svg-text {
  unicode-bidi: inherit;
  vector-effect: inherit;
}

*[xml|space="preserve"] {
  white-space: preserve-spaces;
}

*|*::-moz-svg-marker-anon-child {
  clip-path: inherit;
  filter: inherit;
  mask: inherit;
  opacity: inherit;
}

/* Make SVG shapes unselectable to avoid triggering AccessibleCaret on tap.
   <mesh> will be supported in bug 1238882. */
circle,
ellipse,
line,
mesh,
path,
polygon,
polyline,
rect {
  user-select: none;
}

a:any-link {
  /* We don't want SVG link to be underlined */
  text-decoration: none;
}
