viewport with some minor mobile updates