diff --git a/app/assets/javascripts/application/accessibility.js b/app/assets/javascripts/application/accessibility.js
index 8796b4669f5a7805389646c4e435e8b9b65ee897..9383da590ec29253b1a029b825306704bae5f021 100644
--- a/app/assets/javascripts/application/accessibility.js
+++ b/app/assets/javascripts/application/accessibility.js
@@ -12,40 +12,31 @@ var fontSize = function() {
   });
 
   // init
-  size_c = readCookie('fontSize');
-  if (size_c != null) {
-    $(document).ready(function() {
-      reloadFontSize(size_c);
-    });
-  }
-  else {
-    createCookie('fontSize', 0, 365);
-  }
+  $(document).ready(function() {
+      size_c = readCookie('fontSize');
+      if (size_c != null) reloadFontSize(size_c);
+      else createCookie('fontSize', 0, 365);
+  });
 
   function reloadFontSize(size) {
     var i = 0;
     size = (parseFloat(size) / 10) + 1;
+    // change body zoom
+    $('body').css('zoom', size, 'important');
+    $('body').css('-moz-transform', "scale("+size+")", 'important');
+    $('body').css('-moz-transform-origin', '0 0', 'important');
 
-    // change body font size
-    $('body').css('fontSize', (size * 100) + '%', 'important');
-
-    // change custom elements
-    for (i; i < elements_length; i++) {
-      $(elements[i]).css('fontSize', (parseFloat(elements_size[elements[i]]) * size) + "px", 'important');
-    }
   }
 
   return {
     resizeText: function(increment) {
       var size = parseFloat(readCookie('fontSize'));
       increment = parseFloat(increment);
-
       if (increment === 0) size = 0;
       else if (((size > -6) && (increment < 0)) || ((size < 7) && (increment > 0))) {
         size = size + increment;
       };
       reloadFontSize(size);
-
       createCookie('fontSize', size, 365);
     }
   };