a grid layout that adapts to the width of the viewport.