swap out clientHeight & clientWidth

getBoundingClientRect seems more reliable