/*
 * 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 */
#stop7274-6-0-1-7-4-3 {
  stop-color: #805326;
  stop-opacity: 1; }

#stop7276-66-6-3-9-1-2 {
  stop-color: #cc843e;
  stop-opacity: 1; }

#stop7274-6-0-1-7-4-3-3 {
  stop-color: #268066;
  stop-opacity: 1; }

#stop7276-66-6-3-9-1-2-4 {
  stop-color: #3ecca3;
  stop-opacity: 1; }

#stop7274-6-0-1-7-4-3-3-2 {
  stop-color: #802656;
  stop-opacity: 1; }

#stop7276-66-6-3-9-1-2-4-8 {
  stop-color: #cc3e8a;
  stop-opacity: 1; }

#layer1 {
  display: inline; }

#layer1-8 {
  display: inline; }

#g7590-7 {
  display: inline; }

#g7827-7 {
  display: inline; }

#rect6501-7-1 {
  fill: #ff838;
  fill-opacity: 1;
  stroke: none;
  display: inline; }

#rect7280-61-6 {
  fill: #e6ae77;
  fill-opacity: 1;
  stroke: none;
  filter: url(../../../../../../eclipse-svg/org.eclipse.e4.ui.model.workbench.edit/icons/full/ctool16//CreateApplicationElement_clonableSnippets_ToolControl.svg#filter7474-3-2-7-1); }

#rect7280-8-7-8 {
  fill: #cc9a6a;
  fill-opacity: 1;
  stroke: none;
  display: inline;
  filter: url(../../../../../../eclipse-svg/org.eclipse.e4.ui.model.workbench.edit/icons/full/ctool16//CreateApplicationElement_clonableSnippets_ToolControl.svg#filter7486-6-6-5-4); }

#rect7280-5-3-5 {
  fill: #b3875c;
  fill-opacity: 1;
  stroke: none;
  display: inline;
  filter: url(../../../../../../eclipse-svg/org.eclipse.e4.ui.model.workbench.edit/icons/full/ctool16//CreateApplicationElement_clonableSnippets_ToolControl.svg#filter7478-9-8-2-9); }

#rect7280-6-0-7 {
  fill: #a67d56;
  fill-opacity: 1;
  stroke: none;
  display: inline;
  filter: url(../../../../../../eclipse-svg/org.eclipse.e4.ui.model.workbench.edit/icons/full/ctool16//CreateApplicationElement_clonableSnippets_ToolControl.svg#filter7482-8-1-5-8); }

#rect6501-1-6-8 {
  fill: none;
  stroke: url(../../../../../../eclipse-svg/org.eclipse.e4.ui.model.workbench.edit/icons/full/ctool16//CreateApplicationElement_clonableSnippets_ToolControl.svg#linearGradient5352);
  stroke-width: 0.56622314;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  display: inline; }

#rect6501-7-1-1 {
  fill: #1ff6e;
  fill-opacity: 1;
  stroke: none;
  display: inline; }

#rect7280-61-6-3 {
  fill: #0e6a5;
  fill-opacity: 1;
  stroke: none;
  filter: url(../../../../../../eclipse-svg/org.eclipse.e4.ui.model.workbench.edit/icons/full/ctool16//CreateApplicationElement_clonableSnippets_ToolControl.svg#filter7474-3-2-7-1-9); }

#rect7280-8-7-8-8 {
  fill: #0cc92;
  fill-opacity: 1;
  stroke: none;
  display: inline;
  filter: url(../../../../../../eclipse-svg/org.eclipse.e4.ui.model.workbench.edit/icons/full/ctool16//CreateApplicationElement_clonableSnippets_ToolControl.svg#filter7486-6-6-5-4-7); }

#rect7280-5-3-5-7 {
  fill: #0b380;
  fill-opacity: 1;
  stroke: none;
  display: inline;
  filter: url(../../../../../../eclipse-svg/org.eclipse.e4.ui.model.workbench.edit/icons/full/ctool16//CreateApplicationElement_clonableSnippets_ToolControl.svg#filter7478-9-8-2-9-5); }

#rect7280-6-0-7-4 {
  fill: #0a677;
  fill-opacity: 1;
  stroke: none;
  display: inline;
  filter: url(../../../../../../eclipse-svg/org.eclipse.e4.ui.model.workbench.edit/icons/full/ctool16//CreateApplicationElement_clonableSnippets_ToolControl.svg#filter7482-8-1-5-8-3); }

#rect6501-1-6-8-2 {
  fill: none;
  stroke: url(../../../../../../eclipse-svg/org.eclipse.e4.ui.model.workbench.edit/icons/full/ctool16//CreateApplicationElement_clonableSnippets_ToolControl.svg#linearGradient5344);
  stroke-width: 0.44757253;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  display: inline; }

#rect6501-7-1-1-0 {
  fill: #ff39a3;
  fill-opacity: 1;
  stroke: none;
  display: inline; }

#rect7280-61-6-3-2 {
  fill: #e68dbd;
  fill-opacity: 1;
  stroke: none;
  filter: url(../../../../../../eclipse-svg/org.eclipse.e4.ui.model.workbench.edit/icons/full/ctool16//CreateApplicationElement_clonableSnippets_ToolControl.svg#filter7474-3-2-7-1-9-7); }

#rect7280-8-7-8-8-4 {
  fill: #cc7da8;
  fill-opacity: 1;
  stroke: none;
  display: inline;
  filter: url(../../../../../../eclipse-svg/org.eclipse.e4.ui.model.workbench.edit/icons/full/ctool16//CreateApplicationElement_clonableSnippets_ToolControl.svg#filter7486-6-6-5-4-7-9); }

#rect7280-5-3-5-7-8 {
  fill: #b36d93;
  fill-opacity: 1;
  stroke: none;
  display: inline;
  filter: url(../../../../../../eclipse-svg/org.eclipse.e4.ui.model.workbench.edit/icons/full/ctool16//CreateApplicationElement_clonableSnippets_ToolControl.svg#filter7478-9-8-2-9-5-1); }

#rect7280-6-0-7-4-6 {
  fill: #a66688;
  fill-opacity: 1;
  stroke: none;
  display: inline;
  filter: url(../../../../../../eclipse-svg/org.eclipse.e4.ui.model.workbench.edit/icons/full/ctool16//CreateApplicationElement_clonableSnippets_ToolControl.svg#filter7482-8-1-5-8-3-8); }

#rect6501-1-6-8-2-5 {
  fill: none;
  stroke: url(../../../../../../eclipse-svg/org.eclipse.e4.ui.model.workbench.edit/icons/full/ctool16//CreateApplicationElement_clonableSnippets_ToolControl.svg#linearGradient5336);
  stroke-width: 0.55309612;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  display: inline; }
