I already did something like this with listviews. You can add the bootstrap layout classes to the elements to make them rsponsive. I guess that this is also working with templategrids. You should set the number of columns to 1 and do the alignment manually.
Take a look on the bootstrap CSS framework page. There are some nice features you can use. Good luck