anchor.diff:      width = +svg.attr("width") - margin.left - margin.right
   
     let x = d3.scaleLinear()
  -      .domain([0, d3.max(data, d => d.value)])
  -      .range([margin.left, margin.left + width - margin.right]);
  +    .domain([0, d3.max(data, d => d.value)])
  +    .range([margin.left, margin.left + width - margin.right]);
   
     let y = d3.scaleBand()
  -      .domain(data.map(d => d.key))
  -      .range([margin.top, height - margin.bottom])
  -      .padding(0.1);
  +    .domain(data.map(d => d.key))
  +    .range([margin.top, height - margin.bottom])
  +    .padding(0.1);
   
     let xAxis = g => g
  -      .attr("transform", `translate(0,${margin.top})`)
  -      .call(d3.axisTop(x).ticks(3).tickFormat(d => d > 0 ? format(d) : d))
  -      .call(g => g.select(".domain").remove());
  +    .attr("transform", `translate(0,${margin.top})`)
  +    .call(d3.axisTop(x).ticks(3).tickFormat(d => d > 0 ? format(d) : d))
  +    .call(g => g.select(".domain").remove());
   
     let yAxis = g => g
  -      .attr("transform", `translate(${margin.left},0)`)
  -      .call(d3.axisLeft(y).tickSizeOuter(0))
  +    .attr("transform", `translate(${margin.left},0)`)
  +    .call(d3.axisLeft(y).tickSizeOuter(0))
   
     let g = svg.append("g").attr("transform", "translate(" + margin.left + "," + margin.top + ")")
   
  
positive.code: function format(value){
    value = parseFloat(value);
    if(value > 1000000) {
      return round(value / 1000000, 2).toLocaleString() + " M€";
    } else {
      return round(value, 2).toLocaleString() + " €";
    }
  
negative.code:   font-weight: 300;
  }
  
  .card-inner-side {
    min-width: 25%;
    box-sizing: border-box;
  }
  
  [data-target="program"] .card-inner-side {
    background: #4F91CD;
    color: #FFF;
    min-width: 25%;
  }
  
  [data-target="program"] .card-inner-side h2 {
    margin-top: 0;
    color: #FFF;
  }
  
  [data-target="program"] .card-inner-side span {
    font-size: 24px;
  }
  
  </style>
  
  <div class="column">
  