all width/height are computed based on viewport dimension. images will enlarge if smaller, and resize to fit if larger.