optimized for large photo sets using display:none offscreen