So I accidentally logged off before turing the site "on". That's quite a mistake to make because the variable for offline status is cached.
The easiest way around this problem was to temporarily change bootstrap.inc so it would force drupal to get the latest variables from the database and update the database with the "online" setting. Here's how:
1. Change boostrap.inc in variable_init() by adding '0 && ' to the first if statement:
if (0 && $cached = cache_get('variables', 'cache')) {
$variables = unserialize($cached->data);
}...
2. Go to the database and in table variable set the offline variable to 0. I used phpMyadmin to do this and here's the SQL:
UPDATE `variable` SET `value` = 's:1:"0";' WHERE CONVERT( `name` USING utf8 ) = 'site_offline' LIMIT 1 ;
3. Go to your site and make sure it is no longer in maintenance mode.
4. Change bootstrap.inc back to its original state:
if ($cached = cache_get('variables', 'cache')) {
$variables = unserialize($cached->data);
}