zoom based on window width
running tests have found these functions to have side-effects