Responsive JS hooks