A responsive gallery component