     }
 
   slide_top: (marker, from, to) ->
-    y_start_top = @element_top @rows[from]
-    y_start_bottom = @element_bottom @rows[from]
-
-    y_end_top = @element_top @rows[to]
-    y_end_bottom = @element_bottom @rows[to]
+    y_start_top = @marker_top @rows[from]
+    y_start_bottom = @marker_bottom @rows[from]
+
+    y_end_top = @marker_top @rows[to]
+    y_end_bottom = @marker_bottom @rows[to]
 
     widgets.animate marker, {
       top: {from: y_start_top, to: y_end_top},

      easing: TOP_SLIDE_EASING
    }

  element_top: (element) ->
    element.offsetTop - element.parentNode.offsetTop

  element_bottom: (element) ->
    @track_height - (@element_top(element) + element.offsetHeight) + 2




    }

  slide_bottom: (marker, from, to) ->
    y_start_top = @marker_top @rows[from]
    y_start_bottom = @marker_bottom @rows[from]

    y_end_top = @marker_top @rows[to]
    y_end_bottom = @marker_bottom @rows[to]

    widgets.animate marker, {
      top: {from: y_start_top, to: y_end_top},
