/*
 * gotham.scss test theme for experimenting with icon themes
 */
/** Cross theme styles */
/*
 * Global.scss provides styles and configuration
 * all themes.
 *
 */
/** Global styles and values */
/** styles and values */
#stop4881 {
  stop-color: #ce2837;
  stop-opacity: 1; }

#stop4883 {
  stop-color: #cf5a52;
  stop-opacity: 1; }

#stop10800-5-2-1-8-2-8-1-7-3-7 {
  stop-color: #e96a6e;
  stop-opacity: 1; }

#stop10806-6-8-5-3-2-95-0-5-4-8 {
  stop-color: #eb5560;
  stop-opacity: 1; }

#stop10802-1-5-3-0-2-0-9-8-4-3 {
  stop-color: #eb7c7c;
  stop-opacity: 1; }

#layer1 {
  display: inline; }

#g8159 {
  display: inline; }

#path10796-2-6-0 {
  fill: url(../../../../../../eclipse-svg/org.eclipse.jdt.ui/icons/full/obj16//fatalerror_obj.svg#linearGradient8163-2);
  fill-opacity: 1;
  stroke: url(../../../../../../eclipse-svg/org.eclipse.jdt.ui/icons/full/obj16//fatalerror_obj.svg#linearGradient4885);
  stroke-width: 2.10925341000000000;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  stroke-dashoffset: 0;
  display: inline; }

#rect4110 {
  fill: #ffffff;
  fill-opacity: 1;
  stroke: none; }
