listen viewport.resize instead of window