snapping, shifted bounds by element.clientWidth/2
bounds fix
housekeeping
snapped and closest class-ifications