diff --git a/libraries/d3.donutchart/donutchart.js b/libraries/d3.donutchart/donutchart.js
index ce8eb9a..917d1b9 100644
--- a/libraries/d3.donutchart/donutchart.js
+++ b/libraries/d3.donutchart/donutchart.js
@@ -25,15 +25,18 @@
       // Chart diameter is w or h, (whichever is smaller) - padding.
       radius = Math.min((w - p[1] - p[3]), (h - p[0] - p[2])) / 2,
       // Chart diameter is w or h, (whichever is smaller) - padding.
-      donutRadius = radius-50,
+      donutRadius = radius*0.7333,
       // Text in the center of the donut.
       centerText = "Hello World",
+      // Text Size  in the center of the donut.
+      centerTextSize = centerTextSize(radius),
+      // Text Size in the donut arc.
+      arcTextSize = arcTextSize(radius),
       // Maximum width and height for the legend minus padding.
       legend = {w: (w - p[3] - p[1] - radius * 2), h: h - p[0] - p[2]},
       color = d3.scale.ordinal().range(['blue', 'red', 'orange', 'green', 'purple', 'lightblue', 'palevioletred', 'orangered', 'mediumpurple', 'pink', 'yellow', 'olive', 'mediumorchid']),
       div = (settings.id) ? settings.id : 'visualization';
 
-
     var svg = d3.select('#' + div).append("svg")
       .attr("width", w)
       .attr("height", h)
@@ -52,7 +55,7 @@
     var arc_effect = d3.svg.arc()
         .outerRadius(radius)
         .innerRadius(radius - 10);
-   
+
     // Main arc that will be visible at all time.
     var circle = d3.svg.arc()
         .outerRadius(radius - 10)
@@ -85,17 +88,18 @@
 
     g.append("text")
         .attr("transform", function(d) { return "translate(" + scalarMultiply(arc.centroid(d), 1.75)  + ")"; })
+        .attr("font-size",arcTextSize)
         .attr("dy", ".35em")
         .style("text-anchor", "middle")
         .style('fill', 'white')
         .text(function(d, i) { return percent(i); });
 
     g.append("circle")
-	.attr("r",donutRadius)
-	.style("fill","white");
+  .attr("r",donutRadius)
+  .style("fill","white");
 
     g.append("text")
-	.attr("font-size",32)
+        .attr("font-size",centerTextSize)
         .style("text-anchor", "middle")
         .style('fill', '#333')
         .text(centerText);
@@ -164,7 +168,7 @@
         .attr('class', 'tooltip')
         // move to the x position of the parent group
           .append('g')
-        // now move to the actual x and y of the bar within that group 
+        // now move to the actual x and y of the bar within that group
         .attr('transform', function(d) { return 'translate(' + circle.centroid(data[i]) + ')'; });
 
       d3.tooltip(tooltip, Number(wedges[i][1]));
@@ -186,7 +190,6 @@
         .attr('opacity', 1);
 
       graph.select('g.tooltip').remove();
-
     }
 
     /**
@@ -201,7 +204,7 @@
         .attr('fill', color(i))
         .attr('fill-opacity', 0.3);
     }
-   
+
     /**
      * Revert slice back to init state.
      *
@@ -223,6 +226,23 @@
     }
 
     /**
+     * Set font size values.
+     *
+     * @param int i
+     *   Value of radius measurement
+     * @return none
+     */
+    function centerTextSize(i) {
+      var fontSize = (8.5*(i*2))/100;
+      return fontSize;
+    }
+
+    function arcTextSize(i) {
+      var fontSize = (3.2*(i*2))/100;
+      return fontSize;
+    }
+
+    /**
      * Scale up the cordinate values.
      *
      * @param float arr
@@ -233,7 +253,7 @@
      */
       function scalarMultiply(arr, multiplier) {
       for (var i = 0; i < arr.length; i++)
-	{ arr[i] *= multiplier; }
+  { arr[i] *= multiplier; }
       return arr;
       };
   }
