hammer listens to carousel viewport to avoid event conflicts