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

#stop4898 {
  stop-color: #5395be;
  stop-opacity: 1; }

#stop4900 {
  stop-color: #91bcd7;
  stop-opacity: 1; }

#stop4808 {
  stop-color: #fffccb;
  stop-opacity: 1; }

#stop4816 {
  stop-color: #ccc776;
  stop-opacity: 1; }

#stop4810 {
  stop-color: #fffcc6;
  stop-opacity: 1; }

#stop4808-4 {
  stop-color: #ffbfbf;
  stop-opacity: 1; }

#stop4816-0 {
  stop-color: #d66262;
  stop-opacity: 1; }

#stop4810-9 {
  stop-color: #ffa8a8;
  stop-opacity: 1; }

#layer1 {
  display: inline; }

#path4035 {
  fill: url(../../../../../../eclipse-svg/org.eclipse.debug.ui/icons/full/obj16//brkp_grp.svg#linearGradient4812);
  fill-opacity: 1;
  stroke: #a5a036;
  stroke-width: 0.93798537999999998;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none; }

#path4035-4 {
  fill: url(../../../../../../eclipse-svg/org.eclipse.debug.ui/icons/full/obj16//brkp_grp.svg#linearGradient4834);
  fill-opacity: 1;
  stroke: #720000;
  stroke-width: 0.93798536;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  display: inline; }

#path4035-4-5 {
  fill: url(../../../../../../eclipse-svg/org.eclipse.debug.ui/icons/full/obj16//brkp_grp.svg#linearGradient4871);
  fill-opacity: 1;
  stroke: #244a6e;
  stroke-width: 0.93798535999999999;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: none;
  display: inline; }
