/*
 * 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 */
#stop4974 {
  stop-color: #c7e3e7;
  stop-opacity: 1; }

#stop4976 {
  stop-color: #ffffff;
  stop-opacity: 1; }

#stop4896 {
  stop-color: #7e707a;
  stop-opacity: 1; }

#stop4898 {
  stop-color: #8a5e8d;
  stop-opacity: 1; }

#stop4974-7 {
  stop-color: #85c2cb;
  stop-opacity: 1; }

#stop4976-1 {
  stop-color: #ffffff;
  stop-opacity: 0; }

#stop6895-8-7-0 {
  stop-color: #7795b6;
  stop-opacity: 1; }

#stop6897-2-6-5 {
  stop-color: #7795b6;
  stop-opacity: 0; }

#stop6895-8-7-7-5 {
  stop-color: #7795b6;
  stop-opacity: 1; }

#stop6897-2-6-9-8 {
  stop-color: #7795b6;
  stop-opacity: 0; }

#stop6895-8-7-7-0-1 {
  stop-color: #7795b6;
  stop-opacity: 1; }

#stop6897-2-6-9-2-4 {
  stop-color: #7795b6;
  stop-opacity: 0; }

#stop4974-6-9 {
  stop-color: #daedef;
  stop-opacity: 1; }

#stop4976-2-4 {
  stop-color: #ffffff;
  stop-opacity: 1; }

#stop6801-4-0 {
  stop-color: #a6bacf;
  stop-opacity: 1; }

#stop6803-5-7 {
  stop-color: #798da2;
  stop-opacity: 1; }

#layer1 {
  display: inline; }

#g4087 {
  fill: url(../../../../../../eclipse-svg/org.eclipse.jdt.ui/icons/full/elcl16//templateprop_co.svg#linearGradient4978);
  fill-opacity: 1; }

#rect6795 {
  color: #000000;
  fill: url(../../../../../../eclipse-svg/org.eclipse.jdt.ui/icons/full/elcl16//templateprop_co.svg#linearGradient5417);
  fill-opacity: 1;
  stroke: url(../../../../../../eclipse-svg/org.eclipse.jdt.ui/icons/full/elcl16//templateprop_co.svg#linearGradient5419);
  stroke-width: 0.63910681;
  stroke-linecap: butt;
  stroke-linejoin: miter;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  stroke-dashoffset: 0;
  marker: none;
  visibility: visible;
  display: inline;
  overflow: visible;
  enable-background: accumulate; }

#rect6891 {
  opacity: 0.77310947;
  color: #000000;
  fill: #fef17a;
  fill-opacity: 1;
  stroke: #c89840;
  stroke-width: 1.39999998;
  stroke-linecap: butt;
  stroke-linejoin: miter;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  stroke-dashoffset: 0;
  marker: none;
  visibility: visible;
  display: inline;
  overflow: visible;
  enable-background: accumulate; }

#rect4892 {
  color: #000000;
  fill: url(../../../../../../eclipse-svg/org.eclipse.jdt.ui/icons/full/elcl16//templateprop_co.svg#linearGradient4900);
  fill-opacity: 1;
  fill-rule: nonzero;
  stroke: none;
  stroke-width: 0.5;
  marker: none;
  visibility: visible;
  display: inline;
  overflow: visible;
  enable-background: accumulate; }

#g6750 {
  fill: url(../../../../../../eclipse-svg/org.eclipse.jdt.ui/icons/full/elcl16//templateprop_co.svg#linearGradient5138-5);
  fill-opacity: 1;
  display: inline; }

#rect6891-5-7 {
  color: #000000;
  fill: url(../../../../../../eclipse-svg/org.eclipse.jdt.ui/icons/full/elcl16//templateprop_co.svg#linearGradient5126-3);
  fill-opacity: 1;
  stroke: url(../../../../../../eclipse-svg/org.eclipse.jdt.ui/icons/full/elcl16//templateprop_co.svg#linearGradient5128-6);
  stroke-width: 0.45808509;
  stroke-linecap: butt;
  stroke-linejoin: miter;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  stroke-dashoffset: 0;
  marker: none;
  visibility: visible;
  display: inline;
  overflow: visible;
  enable-background: accumulate; }

#rect6891-5-7-3 {
  color: #000000;
  fill: url(../../../../../../eclipse-svg/org.eclipse.jdt.ui/icons/full/elcl16//templateprop_co.svg#linearGradient5130-3);
  fill-opacity: 1;
  stroke: url(../../../../../../eclipse-svg/org.eclipse.jdt.ui/icons/full/elcl16//templateprop_co.svg#linearGradient5132-8);
  stroke-width: 0.50680077;
  stroke-linecap: butt;
  stroke-linejoin: miter;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  stroke-dashoffset: 0;
  marker: none;
  visibility: visible;
  display: inline;
  overflow: visible;
  enable-background: accumulate; }

#rect6891-5-7-3-9 {
  color: #000000;
  fill: url(../../../../../../eclipse-svg/org.eclipse.jdt.ui/icons/full/elcl16//templateprop_co.svg#linearGradient5301);
  fill-opacity: 1;
  stroke: url(../../../../../../eclipse-svg/org.eclipse.jdt.ui/icons/full/elcl16//templateprop_co.svg#linearGradient5303);
  stroke-width: 0.50680077;
  stroke-linecap: butt;
  stroke-linejoin: miter;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  stroke-dashoffset: 0;
  marker: none;
  visibility: visible;
  display: inline;
  overflow: visible;
  enable-background: accumulate; }
