Możesz użyć media-queries w css do sprawdzenia szerokości przeglądarki, warto progi szerokości zsynchronizować z jakimś popularnym frameworkiem css.
Co do zmiany orientacji najłatwiejszym sposobem będzie użycie flexbox'a, a dokładniej właściwości flex-direction.
Tutaj więcej na temat
-: flexbox
- Media Queries