           rotation = [0, 1, 0, deg]
         else
           rotation = [1, 0, 0, -deg]
-      
-      panel.style[transformProp] = @_transform [x, y], rotation
-      
+
+      panel.style[transformProp] = @_transform @_getXy(i, anchor), rotation
+
       if @shading and !(i is 0 and options.anchor) and Math.abs(deg) isnt 180
-        
-        opacity = Math.abs(deg) / 90 * @shadingIntensity * .4
-        
-        if anchor is 'left' or anchor is 'right'
-          if deg < 0
-            @shaders[anchor].right[i].style.opacity = 0
-            @shaders[anchor].left[i].style.opacity = opacity
-          else
-            @shaders[anchor].left[i].style.opacity = 0
-            @shaders[anchor].right[i].style.opacity = opacity
-        else
-          if deg < 0
-            @shaders[anchor].bottom[i].style.opacity = 0
-            @shaders[anchor].top[i].style.opacity = opacity
-          else
-            @shaders[anchor].top[i].style.opacity = 0
-            @shaders[anchor].bottom[i].style.opacity = opacity
-
-      panel.style[transformProp] = @_transform @_getXy(i, anchor), rotation
+        @_setShader i, anchor, deg
 
     @_callback options
 

    [x, y]


  _getShaderGradient: (anchor) ->
    "#{ gradientPrefix }linear-gradient(#{ anchor }, rgba(0, 0, 0, .5) 0%, rgba(255, 255, 255, .35) 100%)"
  _getPanelType: (anchor) ->

    for panel, i in @panels[@lastAnchor]
      panel.style[transformProp] = @_transform @_getXy i, @lastAnchor
      if @shading
        @_setShader i, @lastAnchor, 0

    @_callback callback: callback


  accordion: (angle, options) ->
