I can't teach all about "responsive design" and css "media queries" here, but here's the jist:
In the stylesheets you'll see a media query which specifies the screen orientation or size to be described. For example:
@media (min-width:0px) and (max-width:480px){
...
div#categories { display:none;visibility:hidden; }
...
}
The above example says "for media (ie: screen-sizes, whether mobile, or resized-desktops) from 0px-to-480px, the <div> whose id="categories" should have its display property set to "none" (ie: hidden), and its visibility set to 'hidden'. ie: on small screens, don't show the categories sidebox.
The various stylesheets have various different screen-sizes (media queries) specified, followed by a brace: { and a bunch of rules, and then a closing brace: }
If you wanna force certain sideboxes to always display, you can fiddle with some of these display properties. Keep a backup in case you fiddle too much ;)
In the cases where columns drop down to the bottom and show below other content, that could just be a sizing issue, whether intentional or not. That may require a different set of skills to adjust.
Additionally, you may want to consider that you do NOT want to actually display those sideboxes at all. Often in mobile views things are shoved into a separate menu which only shows in mobile mode. Accessing this menu is typically done by clicking the "hamburger icon" (three horizontal rows in a square box).
In this template, the contents of the menu shown for mobile is in /includes/templates/responsive_classic/templates/tpl_modules_mobile_menu.php ... granted, 99% of the stuff in there is configurable from settings in your Admin->Configuration menu.