/*
 * 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 */
/** Global Styles */
/** Navigation Elements (Back, Forward, Stop, etc)*/
/** UI Trim (Popup menu buttons, close buttons, etc)*/
#stop3997 {
  stop-color: #8a9b9e;
  stop-opacity: 1; }

#stop3999 {
  stop-color: #5b7aaa;
  stop-opacity: 1; }

#stop4296 {
  stop-color: #d7c41e;
  stop-opacity: 1; }

#stop4298 {
  stop-color: #ffee5d;
  stop-opacity: 1; }

#stop4989 {
  stop-color: #e4cf9d;
  stop-opacity: 1; }

#stop4997 {
  stop-color: #b5cef2;
  stop-opacity: 1; }

#stop4995 {
  stop-color: #97b2d9;
  stop-opacity: 1; }

#stop4991 {
  stop-color: #f8f8fc;
  stop-opacity: 1; }

#stop4895 {
  stop-color: #b7c9e3;
  stop-opacity: 1; }

#stop4897 {
  stop-color: #f3f5f6;
  stop-opacity: 1; }

#stop4885 {
  stop-color: #e4cf9d;
  stop-opacity: 1; }

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

#stop4887 {
  stop-color: #fefdfa;
  stop-opacity: 1; }

#stop4740 {
  stop-color: #8a9b9e;
  stop-opacity: 1; }

#stop4742 {
  stop-color: #5b7aaa;
  stop-opacity: 1; }

#stop3970-7 {
  stop-color: #5b7aaa;
  stop-opacity: 1; }

#stop3972-2 {
  stop-color: #ccd9ea;
  stop-opacity: 1; }

#stop3970-7-8 {
  stop-color: #5b7aaa;
  stop-opacity: 1; }

#stop3972-2-0 {
  stop-color: #ccd9ea;
  stop-opacity: 1; }

#stop3970-5 {
  stop-color: #5b7aaa;
  stop-opacity: 1; }

#stop3972-6 {
  stop-color: #ccd9ea;
  stop-opacity: 1; }

#stop4086-3 {
  stop-color: #d7c41e;
  stop-opacity: 1; }

#stop4088-7 {
  stop-color: #ffffff;
  stop-opacity: 1; }

#stop3970-3 {
  stop-color: #5b7aaa;
  stop-opacity: 1; }

#stop3972-7 {
  stop-color: #ccd9ea;
  stop-opacity: 1; }

#stop4086-3-9 {
  stop-color: #d7c41e;
  stop-opacity: 1; }

#stop4088-7-2 {
  stop-color: #ffffff;
  stop-opacity: 1; }

#stop3970-3-5 {
  stop-color: #5b7aaa;
  stop-opacity: 1; }

#stop3972-7-7 {
  stop-color: #ccd9ea;
  stop-opacity: 1; }

#stop4086-2 {
  stop-color: #d7c41e;
  stop-opacity: 1; }

#stop4088-9 {
  stop-color: #ffffff;
  stop-opacity: 1; }

#stop4086-8 {
  stop-color: #d7c41e;
  stop-opacity: 1; }

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

#stop4086-8-1 {
  stop-color: #d7c41e;
  stop-opacity: 1; }

#stop4088-4-7 {
  stop-color: #ffffff;
  stop-opacity: 1; }

#stop4740-0 {
  stop-color: #8a9b9e;
  stop-opacity: 1; }

#stop4742-6 {
  stop-color: #5b7aaa;
  stop-opacity: 1; }

#stop4895-1 {
  stop-color: #b7c9e3;
  stop-opacity: 1; }

#stop4897-1 {
  stop-color: #f3f5f6;
  stop-opacity: 1; }

#stop4740-5 {
  stop-color: #8a9b9e;
  stop-opacity: 1; }

#stop4742-2 {
  stop-color: #5b7aaa;
  stop-opacity: 1; }

#stop4740-0-3 {
  stop-color: #8a9b9e;
  stop-opacity: 1; }

#stop4742-6-6 {
  stop-color: #5b7aaa;
  stop-opacity: 1; }

#path3987 {
  fill: url(../../../../../../eclipse-svg/org.eclipse.ui/icons/full/etool16//saveas_edit_memory.svg#linearGradient3989);
  fill-opacity: 1;
  stroke: url(../../../../../../eclipse-svg/org.eclipse.ui/icons/full/etool16//saveas_edit_memory.svg#linearGradient3991);
  stroke-opacity: 1;
  display: inline; }

#stop3997-6 {
  stop-color: #8a9b9e;
  stop-opacity: 1; }

#stop3999-0 {
  stop-color: #5b7aaa;
  stop-opacity: 1; }

#stop3997-7 {
  stop-color: #8a9b9e;
  stop-opacity: 1; }

#stop3999-8 {
  stop-color: #5b7aaa;
  stop-opacity: 1; }

#stop4989-3 {
  stop-color: #e4cf9d;
  stop-opacity: 1; }

#stop4997-4 {
  stop-color: #b5cef2;
  stop-opacity: 1; }

#stop4995-1 {
  stop-color: #97b2d9;
  stop-opacity: 1; }

#stop4991-5 {
  stop-color: #f8f8fc;
  stop-opacity: 1; }

#stop6086-6-0-3 {
  stop-color: #83adf0;
  stop-opacity: 1; }

#stop6088-8-6-2 {
  stop-color: #224377;
  stop-opacity: 1; }

#stop6086-6-7 {
  stop-color: #83adf0;
  stop-opacity: 1; }

#stop6088-8-69 {
  stop-color: #224377;
  stop-opacity: 1; }

#stop6086-7 {
  stop-color: #83adf0;
  stop-opacity: 1; }

#stop6088-9 {
  stop-color: #224377;
  stop-opacity: 1; }

#stop6341 {
  stop-color: #e4cf9d;
  stop-opacity: 1; }

#stop6343 {
  stop-color: #dce9f2;
  stop-opacity: 1; }

#stop6345 {
  stop-color: #fefdfa;
  stop-opacity: 1; }

#layer1 {
  display: inline; }

#rect3968 {
  fill: url(../../../../../../eclipse-svg/org.eclipse.ui/icons/full/etool16//saveas_edit_memory.svg#linearGradient3096);
  fill-opacity: 1;
  stroke: url(../../../../../../eclipse-svg/org.eclipse.ui/icons/full/etool16//saveas_edit_memory.svg#linearGradient3098);
  stroke-opacity: 1; }

#rect3100-4 {
  fill: #ffd300;
  fill-opacity: 1;
  stroke: none;
  display: inline; }

#rect3100-4-2 {
  fill: #ffd300;
  fill-opacity: 1;
  stroke: none;
  display: inline; }

#rect3100-4-1 {
  fill: #ffd300;
  fill-opacity: 1;
  stroke: none;
  display: inline; }

#path4373 {
  fill: #ffffff;
  fill-opacity: 0;
  stroke: #7189a4;
  stroke-width: 1px;
  stroke-linecap: butt;
  stroke-linejoin: miter;
  stroke-opacity: 1; }

#path4373-5 {
  fill: #ffffff;
  fill-opacity: 0;
  stroke: #7189a4;
  stroke-width: 1px;
  stroke-linecap: butt;
  stroke-linejoin: miter;
  stroke-opacity: 1;
  display: inline; }

#path4373-5-0 {
  fill: #ffffff;
  fill-opacity: 0;
  stroke: #7189a4;
  stroke-width: 1px;
  stroke-linecap: butt;
  stroke-linejoin: miter;
  stroke-opacity: 1;
  display: inline; }

#rect3100-4-2-5 {
  fill: #fbff00;
  fill-opacity: 1;
  stroke: none;
  display: inline; }

#rect3100-4-2-5-3 {
  fill: #fbff00;
  fill-opacity: 1;
  stroke: none;
  display: inline; }

#rect3100-4-2-5-3-4 {
  fill: #fbff00;
  fill-opacity: 1;
  stroke: none;
  display: inline; }

#path3993 {
  fill: url(../../../../../../eclipse-svg/org.eclipse.ui/icons/full/etool16//saveas_edit_memory.svg#linearGradient4100);
  fill-opacity: 1;
  stroke: none; }

#path3993-0 {
  fill: #666666;
  fill-opacity: 0.47031962;
  stroke: none;
  display: inline; }

#path3993-1 {
  fill: #000000;
  fill-opacity: 0.47031962;
  stroke: none;
  display: inline; }

#layer1-1 {
  display: inline; }

#g6052 {
  display: inline; }

#rect6074 {
  opacity: 0.97330592;
  color: #000000;
  fill: url(../../../../../../eclipse-svg/org.eclipse.ui/icons/full/etool16//saveas_edit_memory.svg#linearGradient6090-6);
  fill-opacity: 1;
  fill-rule: nonzero;
  stroke: none;
  stroke-width: 0.80000001;
  marker: none;
  visibility: visible;
  display: inline;
  overflow: visible;
  enable-background: accumulate; }

#rect6074-6 {
  opacity: 0.97330592;
  color: #000000;
  fill: url(../../../../../../eclipse-svg/org.eclipse.ui/icons/full/etool16//saveas_edit_memory.svg#linearGradient6141-0);
  fill-opacity: 1;
  fill-rule: nonzero;
  stroke: none;
  stroke-width: 0.80000001;
  marker: none;
  visibility: visible;
  display: inline;
  overflow: visible;
  enable-background: accumulate; }

#rect6074-6-4 {
  opacity: 0.97330592;
  color: #000000;
  fill: url(../../../../../../eclipse-svg/org.eclipse.ui/icons/full/etool16//saveas_edit_memory.svg#linearGradient6175-7);
  fill-opacity: 1;
  fill-rule: nonzero;
  stroke: none;
  stroke-width: 0.80000001;
  marker: none;
  visibility: visible;
  display: inline;
  overflow: visible;
  enable-background: accumulate; }
