/*
 * 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 */
#stop15163 {
  stop-color: #859cc4;
  stop-opacity: 0; }

#stop15167 {
  stop-color: #859cc4;
  stop-opacity: 1; }

#stop15169 {
  stop-color: #b3c7e6;
  stop-opacity: 1; }

#stop15165 {
  stop-color: #b3c7e6;
  stop-opacity: 0; }

#stop5107 {
  stop-color: #bfb688;
  stop-opacity: 1; }

#stop5109 {
  stop-color: #8693ae;
  stop-opacity: 1; }

#stop5257 {
  stop-color: #f9fafc;
  stop-opacity: 1; }

#stop5259 {
  stop-color: #dee9f7;
  stop-opacity: 1; }

#stop5243-0-2 {
  stop-color: #879cc0;
  stop-opacity: 1; }

#stop5245-9-4 {
  stop-color: #677da9;
  stop-opacity: 1; }

#stop5243-0-2-7 {
  stop-color: #879cc0;
  stop-opacity: 1; }

#stop5245-9-4-1 {
  stop-color: #677da9;
  stop-opacity: 1; }

#stop5243-0-2-4 {
  stop-color: #879cc0;
  stop-opacity: 1; }

#stop5245-9-4-0 {
  stop-color: #677da9;
  stop-opacity: 1; }

#layer1 {
  display: inline; }

#g8472 {
  display: inline; }

#rect4172-1 {
  fill: url(../../../../../../eclipse-svg/org.eclipse.jdt.ui/icons/full/elcl16//history_list.svg#linearGradient6320);
  fill-opacity: 1;
  stroke: url(../../../../../../eclipse-svg/org.eclipse.jdt.ui/icons/full/elcl16//history_list.svg#linearGradient6322);
  stroke-width: 1.06988704;
  stroke-linecap: butt;
  stroke-linejoin: miter;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dashoffset: 0;
  display: inline; }

#rect4942 {
  fill: none;
  stroke: none; }

#rect4942-1 {
  fill: none;
  stroke: none;
  display: inline; }

#rect4942-1-7 {
  fill: none;
  stroke: none;
  display: inline; }

#rect4942-1-7-4-0-9-4-4-5 {
  fill: url(../../../../../../eclipse-svg/org.eclipse.jdt.ui/icons/full/elcl16//history_list.svg#linearGradient4284);
  fill-opacity: 1;
  stroke: none;
  display: inline; }

#rect4942-1-7-4-0-9-4-4-5-1 {
  fill: url(../../../../../../eclipse-svg/org.eclipse.jdt.ui/icons/full/elcl16//history_list.svg#linearGradient4318);
  fill-opacity: 1;
  stroke: none;
  display: inline; }

#rect4942-1-7-4-0-9-4-4-5-9 {
  fill: url(../../../../../../eclipse-svg/org.eclipse.jdt.ui/icons/full/elcl16//history_list.svg#linearGradient6339);
  fill-opacity: 1;
  stroke: none;
  display: inline; }

#layer1-4 {
  fill: #7cb87d;
  fill-opacity: 1;
  stroke: #379860;
  stroke-width: 3.41299248;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  display: inline; }

#g11331-3-1-1 {
  fill: #7cb87d;
  fill-opacity: 1;
  stroke: #379860;
  stroke-width: 12.23149967;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  display: inline; }

#g13408-8 {
  fill: #7cb87d;
  fill-opacity: 1;
  stroke: #379860;
  stroke-width: 12.23149967;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none; }

#g6124-3 {
  fill: #7cb87d;
  fill-opacity: 1;
  stroke: #379860;
  stroke-width: 3.41299248;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  display: inline; }

#text6430 {
  font-size: 13.58917427px;
  font-style: normal;
  font-weight: normal;
  line-height: 125%;
  letter-spacing: 0px;
  word-spacing: 0px;
  fill: #7cb87d;
  fill-opacity: 1;
  stroke: #379860;
  stroke-width: 3.41299248;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  font-family: Sans; }

#g6438 {
  font-size: 13.58917427px;
  font-style: normal;
  font-weight: normal;
  line-height: 125%;
  letter-spacing: 0px;
  word-spacing: 0px;
  fill: #7cb87d;
  fill-opacity: 1;
  stroke: #379860;
  stroke-width: 3.41299248;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  display: inline;
  font-family: Sans; }

#path10796-2-6-2 {
  fill: #7cb87d;
  fill-opacity: 1;
  stroke: #379860;
  stroke-width: 10.347188;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  stroke-dashoffset: 0;
  display: inline; }

#layer1-4-3 {
  fill: #7cb87d;
  fill-opacity: 1;
  stroke: #379860;
  stroke-width: 3.41299248;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  display: inline; }

#g11331-3-1-1-2 {
  fill: #7cb87d;
  fill-opacity: 1;
  stroke: #379860;
  stroke-width: 12.23149967;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  display: inline; }

#g13408-8-5 {
  fill: #7cb87d;
  fill-opacity: 1;
  stroke: #379860;
  stroke-width: 12.23149967;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none; }

#g6124-3-3 {
  fill: #7cb87d;
  fill-opacity: 1;
  stroke: #379860;
  stroke-width: 3.41299248;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  display: inline; }

#text6430-8 {
  font-size: 13.58917427px;
  font-style: normal;
  font-weight: normal;
  line-height: 125%;
  letter-spacing: 0px;
  word-spacing: 0px;
  fill: #7cb87d;
  fill-opacity: 1;
  stroke: #379860;
  stroke-width: 3.41299248;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  font-family: Sans; }

#g6438-3 {
  font-size: 13.58917427px;
  font-style: normal;
  font-weight: normal;
  line-height: 125%;
  letter-spacing: 0px;
  word-spacing: 0px;
  fill: #7cb87d;
  fill-opacity: 1;
  stroke: #379860;
  stroke-width: 3.41299248;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  display: inline;
  font-family: Sans; }

#path10796-2-6-2-2 {
  fill: #7cb87d;
  fill-opacity: 1;
  stroke: #379860;
  stroke-width: 10.347188;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  stroke-dashoffset: 0;
  display: inline; }

#layer1-4-3-7 {
  fill: #7cb87d;
  fill-opacity: 1;
  stroke: #379860;
  stroke-width: 3.41299248;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  display: inline; }

#g11331-3-1-1-2-0 {
  fill: #7cb87d;
  fill-opacity: 1;
  stroke: #379860;
  stroke-width: 12.23149967;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  display: inline; }

#g13408-8-5-6 {
  fill: #7cb87d;
  fill-opacity: 1;
  stroke: #379860;
  stroke-width: 12.23149967;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none; }

#g6124-3-3-8 {
  fill: #7cb87d;
  fill-opacity: 1;
  stroke: #379860;
  stroke-width: 3.41299248;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  display: inline; }

#text6430-8-0 {
  font-size: 13.58917427px;
  font-style: normal;
  font-weight: normal;
  line-height: 125%;
  letter-spacing: 0px;
  word-spacing: 0px;
  fill: #7cb87d;
  fill-opacity: 1;
  stroke: #379860;
  stroke-width: 3.41299248;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  font-family: Sans; }

#g6438-3-1 {
  font-size: 13.58917427px;
  font-style: normal;
  font-weight: normal;
  line-height: 125%;
  letter-spacing: 0px;
  word-spacing: 0px;
  fill: #7cb87d;
  fill-opacity: 1;
  stroke: #379860;
  stroke-width: 3.41299248;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  display: inline;
  font-family: Sans; }

#path10796-2-6-2-2-1 {
  fill: #7cb87d;
  fill-opacity: 1;
  stroke: #379860;
  stroke-width: 10.347188;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  stroke-dashoffset: 0;
  display: inline; }

#rect4172-1-4 {
  fill: none;
  stroke: url(../../../../../../eclipse-svg/org.eclipse.jdt.ui/icons/full/elcl16//history_list.svg#linearGradient15132);
  stroke-width: 1.06988704;
  stroke-linecap: butt;
  stroke-linejoin: miter;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dashoffset: 0;
  display: inline; }
