/*
 * 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 */
#stop13924 {
  stop-color: #91a5c7;
  stop-opacity: 1; }

#stop13926 {
  stop-color: #6e83ae;
  stop-opacity: 1; }

#stop13833 {
  stop-color: #055797;
  stop-opacity: 1; }

#stop13835 {
  stop-color: #184785;
  stop-opacity: 1; }

#stop13757 {
  stop-color: #f1fdfc;
  stop-opacity: 1; }

#stop13765 {
  stop-color: #dbeff9;
  stop-opacity: 1; }

#stop13763 {
  stop-color: #cee4f0;
  stop-opacity: 1; }

#stop13759 {
  stop-color: #def1fa;
  stop-opacity: 1; }

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

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

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

#stop9278-0 {
  stop-color: #9dd560;
  stop-opacity: 1; }

#stop9280-5 {
  stop-color: #499851;
  stop-opacity: 1; }

#stop13757-5 {
  stop-color: #f1fdfc;
  stop-opacity: 1; }

#stop13765-0 {
  stop-color: #dbeff9;
  stop-opacity: 1; }

#stop13763-0 {
  stop-color: #cee4f0;
  stop-opacity: 1; }

#stop13759-65 {
  stop-color: #def1fa;
  stop-opacity: 1; }

#stop13833-2 {
  stop-color: #055797;
  stop-opacity: 1; }

#stop13835-7 {
  stop-color: #184785;
  stop-opacity: 1; }

#stop13924-9 {
  stop-color: #91a5c7;
  stop-opacity: 1; }

#stop13926-8 {
  stop-color: #6e83ae;
  stop-opacity: 1; }

#stop13924-0 {
  stop-color: #91a5c7;
  stop-opacity: 1; }

#stop13926-5 {
  stop-color: #6e83ae;
  stop-opacity: 1; }

#stop13924-3 {
  stop-color: #91a5c7;
  stop-opacity: 1; }

#stop13926-4 {
  stop-color: #6e83ae;
  stop-opacity: 1; }

#g14148 {
  fill: #ffffff;
  stroke: #ffffff;
  display: inline; }

#path14150 {
  fill: #ffffff;
  fill-opacity: 1;
  stroke: #ffffff;
  stroke-width: 0.80190599;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  display: inline; }

#path14152 {
  fill: #ffffff;
  stroke: #ffffff;
  stroke-width: 1px;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-opacity: 1;
  display: inline; }

#path14154 {
  fill: #ffffff;
  stroke: #ffffff;
  stroke-width: 1px;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-opacity: 1;
  display: inline; }

#layer1 {
  display: inline; }

#g8159 {
  display: inline; }

#path13745 {
  fill: url(../../../../../../eclipse-svg/org.eclipse.debug.ui/icons/full/etool16//profile_exc.svg#linearGradient13761);
  fill-opacity: 1;
  stroke: url(../../../../../../eclipse-svg/org.eclipse.debug.ui/icons/full/etool16//profile_exc.svg#linearGradient13837);
  stroke-width: 0.80190598999999985;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none; }

#path13811 {
  fill: none;
  stroke: #1f4a83;
  stroke-width: 1px;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-opacity: 1; }

#path13811-9 {
  fill: none;
  stroke: #1f4a83;
  stroke-width: 1px;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-opacity: 1;
  display: inline; }

#path13745-2 {
  fill: url(../../../../../../eclipse-svg/org.eclipse.debug.ui/icons/full/etool16//profile_exc.svg#linearGradient13906);
  fill-opacity: 1;
  stroke: url(../../../../../../eclipse-svg/org.eclipse.debug.ui/icons/full/etool16//profile_exc.svg#linearGradient13908);
  stroke-width: 0.80190599;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  display: inline; }

#path13811-4 {
  fill: none;
  stroke: #1f4a83;
  stroke-width: 1px;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-opacity: 1;
  display: inline; }

#path13811-9-5 {
  fill: none;
  stroke: #1f4a83;
  stroke-width: 1px;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-opacity: 1;
  display: inline; }

#rect13912 {
  fill: url(../../../../../../eclipse-svg/org.eclipse.debug.ui/icons/full/etool16//profile_exc.svg#linearGradient13928);
  fill-opacity: 1;
  stroke: none;
  stroke-width: 1;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none; }

#rect13912-3 {
  fill: url(../../../../../../eclipse-svg/org.eclipse.debug.ui/icons/full/etool16//profile_exc.svg#linearGradient13945);
  fill-opacity: 1;
  stroke: none;
  display: inline; }

#rect13912-1 {
  fill: url(../../../../../../eclipse-svg/org.eclipse.debug.ui/icons/full/etool16//profile_exc.svg#linearGradient13945-8);
  fill-opacity: 1;
  stroke: none;
  display: inline; }

#rect13912-5 {
  fill: url(../../../../../../eclipse-svg/org.eclipse.debug.ui/icons/full/etool16//profile_exc.svg#linearGradient13945-1);
  fill-opacity: 1;
  stroke: none;
  display: inline; }

#layer1-0-8-9 {
  display: inline;
  fill: #ffffff;
  stroke: #ffffff;
  filter: url(../../../../../../eclipse-svg/org.eclipse.debug.ui/icons/full/etool16//profile_exc.svg#filter14156);
  stroke-width: 2.58418837;
  stroke-miterlimit: 4;
  stroke-dasharray: none; }

#g8159-2-9-7 {
  display: inline;
  fill: #ffffff;
  stroke: #ffffff;
  stroke-width: 2.58418837;
  stroke-miterlimit: 4;
  stroke-dasharray: none; }

#path10796-2-6-0-3-1-6 {
  fill: #ffffff;
  fill-opacity: 1;
  stroke: #ffffff;
  display: inline;
  stroke-width: 4.14792857;
  stroke-miterlimit: 4;
  stroke-dasharray: none; }

#path8117-2-7-3 {
  fill: #ffffff;
  fill-opacity: 1;
  stroke: #ffffff;
  stroke-width: 2.58418837;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  display: inline; }

#path10796-2-6-0-5-3-1 {
  fill: #ffffff;
  stroke: #ffffff;
  stroke-width: 4.14792857;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  stroke-dashoffset: 0;
  display: inline; }

#layer1-0-8 {
  display: inline; }

#g8159-2-9 {
  display: inline; }

#path10796-2-6-0-3-1 {
  fill: url(../../../../../../eclipse-svg/org.eclipse.debug.ui/icons/full/etool16//profile_exc.svg#linearGradient13741);
  fill-opacity: 1;
  stroke: none;
  display: inline; }

#path8117-2-7 {
  fill: #ffffff;
  fill-opacity: 1;
  stroke: url(../../../../../../eclipse-svg/org.eclipse.debug.ui/icons/full/etool16//profile_exc.svg#linearGradient13743);
  stroke-width: 0.64604712;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  display: inline; }

#path10796-2-6-0-5-3 {
  fill: none;
  stroke: #14733c;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  stroke-dashoffset: 0;
  display: inline; }
