You can use just CSS, SASS or LESS.
JS.Responsive generates special classes to <html> element.
For example about your OS, browser, browser version, display or device orientation, document state, display density, actual width break points, if device is touchable, and many more...
Like Media queries you can target horizontal and vertical viewport sizes.
Different UI design for mouse and touch and switching dynamicaly beetwen them.
CSS selector conditions by browser and fallback options for older versions.