diff --git a/player/index.html b/player/index.html
index 43f41c4..89a8b2d 100644
--- a/player/index.html
+++ b/player/index.html
@@ -111,7 +111,7 @@
         rendererSettings: {
             progressiveLoad:false
         },
-        path: 'exports/render/data2.json'
+        path: 'exports/render/data.json'
     };
     anim = bodymovin.loadAnimation(animData);
 
diff --git a/player/js/elements/htmlElements/HBaseElement.js b/player/js/elements/htmlElements/HBaseElement.js
index 922c90e..c156108 100644
--- a/player/js/elements/htmlElements/HBaseElement.js
+++ b/player/js/elements/htmlElements/HBaseElement.js
@@ -36,6 +36,7 @@
 HBaseElement.prototype.createElements = function(){
     if(this.data.hasMask){
         this.layerElement = document.createElementNS(svgNS,'svg');
+        styleDiv(this.layerElement);
         //this.appendNodeToParent(this.layerElement);
         this.baseElement = this.layerElement;
         this.maskedElement = this.layerElement;
diff --git a/player/js/elements/htmlElements/HCompElement.js b/player/js/elements/htmlElements/HCompElement.js
index f3f2528..1b4248c 100644
--- a/player/js/elements/htmlElements/HCompElement.js
+++ b/player/js/elements/htmlElements/HCompElement.js
@@ -28,6 +28,7 @@
     divElement.style.clip = 'rect(0px, '+this.data.w+'px, '+this.data.h+'px, 0px)';
     if(this.data.hasMask){
         var compSvg = document.createElementNS(svgNS,'svg');
+        styleDiv(compSvg);
         compSvg.setAttribute('width',this.data.w);
         compSvg.setAttribute('height',this.data.h);
         var g = document.createElementNS(svgNS,'g');
diff --git a/player/js/elements/htmlElements/HImageElement.js b/player/js/elements/htmlElements/HImageElement.js
index 93fc96e..00dcd7c 100644
--- a/player/js/elements/htmlElements/HImageElement.js
+++ b/player/js/elements/htmlElements/HImageElement.js
@@ -13,6 +13,7 @@
         var parent = document.createElement('div');
         styleDiv(parent);
         var cont = document.createElementNS(svgNS,'svg');
+        styleDiv(cont);
         cont.setAttribute('width',this.assetData.w);
         cont.setAttribute('height',this.assetData.h);
         parent.appendChild(cont);
diff --git a/player/js/elements/htmlElements/HShapeElement.js b/player/js/elements/htmlElements/HShapeElement.js
index 51d9da2..a00e2c8 100644
--- a/player/js/elements/htmlElements/HShapeElement.js
+++ b/player/js/elements/htmlElements/HShapeElement.js
@@ -25,6 +25,7 @@
     var parent = document.createElement('div');
     styleDiv(parent);
     var cont = document.createElementNS(svgNS,'svg');
+    styleDiv(cont);
     var size = this.comp.data ? this.comp.data : this.globalData.compSize;
     cont.setAttribute('width',size.w);
     cont.setAttribute('height',size.h);
diff --git a/player/js/elements/htmlElements/HSolidElement.js b/player/js/elements/htmlElements/HSolidElement.js
index 11e623d..dded87e 100644
--- a/player/js/elements/htmlElements/HSolidElement.js
+++ b/player/js/elements/htmlElements/HSolidElement.js
@@ -7,6 +7,7 @@
     var parent = document.createElement('div');
     styleDiv(parent);
     var cont = document.createElementNS(svgNS,'svg');
+    styleDiv(cont);
     cont.setAttribute('width',this.data.sw);
     cont.setAttribute('height',this.data.sh);
     parent.appendChild(cont);
diff --git a/player/js/elements/htmlElements/HTextElement.js b/player/js/elements/htmlElements/HTextElement.js
index bb3d468..c77e489 100644
--- a/player/js/elements/htmlElements/HTextElement.js
+++ b/player/js/elements/htmlElements/HTextElement.js
@@ -28,6 +28,7 @@
     if(this.isMasked){
         this.renderType = 'svg';
         var cont = document.createElementNS(svgNS,'svg');
+        styleDiv(cont);
         this.cont = cont;
         this.compW = this.comp.data ? this.comp.data.w : this.globalData.compSize.w;
         this.compH = this.comp.data ? this.comp.data.h : this.globalData.compSize.h;
