diff --git a/xos/core/static/xos.css b/xos/core/static/xos.css
index 6117d24..14702d9 100644
--- a/xos/core/static/xos.css
+++ b/xos/core/static/xos.css
@@ -13,16 +13,20 @@
 *************************/
 
 html, body {
-  height: 100%;
-  max-height: 100%;
+  /*height: 100%;*/
+  min-height: 100%;
   margin: 0;
 }
 
-#wrap {
-  height: 100%;
-  overflow: scroll;
+body{
+  max-width: 100%;
+  overflow-x: hidden;
 }
 
+/*#wrap {
+  min-height: 100%;
+}*/
+
 /* ************************* SIDENAV TOGGLE ************************* */
 
 #wrapper {
@@ -190,6 +194,17 @@
   z-index: 1001;
 }
 
+/* FIXME */
+@media(max-width:768px) {
+  .footer{
+    display: none;
+  }
+
+  #page-content-wrapper{
+    padding-bottom: 60px;
+  }
+}
+
 .footer .content .statusMsg {
     float: right;
     padding: 15px 20px 0 0;
@@ -198,6 +213,13 @@
 /************************* END FOOTER *************************/
 
 /************************* NAV *************************/
+
+#sidebar-wrapper {
+  -webkit-box-shadow: 3px 0px 5px 0px rgba(50, 50, 50, 0.75);
+  -moz-box-shadow:    3px 0px 5px 0px rgba(50, 50, 50, 0.75);
+  box-shadow:         3px 0px 5px 0px rgba(50, 50, 50, 0.75);
+}
+
 #sidebar-wrapper .logo{
   max-width: 100%;
 }
diff --git a/xos/templates/admin/base.html b/xos/templates/admin/base.html
index fb1b27e..040c488 100644
--- a/xos/templates/admin/base.html
+++ b/xos/templates/admin/base.html
@@ -153,62 +153,64 @@
           <div class="row">
             <div class="col-lg-12">
               <div class="suit-columns {{ is_popup|yesno:'one-column,two-columns' }}">
-                  {% block content-center %}
-                  <!-- <div id="suit-center" class="suit-column">
-                  -->
+                {% block content-center %}
+                  {% if not is_popup %}
+                    {% block minidash %}
+                      <div id="openCloudTopPage">
+                        {% include "admin/newminidashboard.html" %}
+                      </div>
+                    {% endblock %} 
 
-                          {% if not is_popup %}
-                          {% block minidash %}
-                  <div id=openCloudTopPage>{% include "admin/newminidashboard.html" %}</div>
-                  {% endblock %} 
-
-                            {% block breadcrumbs %}
-                  <ul class="breadcrumb">
-                    <li>
-                      <a href="{% url 'admin:index' %}">{% trans 'Home' %}</a>
-                      {% if title %}
-                      <span class="divider">&raquo;</span>
-                    </li>
-                    <li class="active">
-                      {{ title }}
-                                  {% endif %}
-                    </li>
-                  </ul>
-                  {% endblock %}
+                    {% block breadcrumbs %}
+                      <ul class="breadcrumb">
+                        <li>
+                          <a href="{% url 'admin:index' %}">{% trans 'Home' %}</a>
+                          {% if title %}
+                            <span class="divider">&raquo;</span>
+                        </li>
+                        <li class="active">
+                          {{ title }}
                           {% endif %}
+                        </li>
+                      </ul>
+                    {% endblock %}
+                  {% endif %}
 
-                          {% block messages %}
-                            {% if messages %}
+                  {% block messages %}
+                    {% if messages %}
+                      {% for message in messages %}
+                        <div class="alert alert-{% firstof message.tags 'info' %}">
+                          <button class="close" data-dismiss="alert">×</button>
+                          <strong>{% if message.tags %}{{ message.tags|capfirst }}{% else %}Message{% endif %}!</strong> 
+                          {{ message }}
+                        </div>
+                      {% endfor %}
+                    {% endif %}
+                  {% endblock messages %}
 
-                              {% for message in messages %}
-                  <div class="alert alert-{% firstof message.tags 'info' %}">
-                    <button class="close" data-dismiss="alert">×</button> <strong>{% if message.tags %}{{ message.tags|capfirst }}{% else %}
-                                      Message{% endif %}!</strong> 
-                    {{ message }}
-                  </div>
-                  {% endfor %}
-                            {% endif %}
-                          {% endblock messages %}
                   <!-- Content -->
                   <div id="content" class="{% block coltype %}colM{% endblock %} row-fluid">
-                    {% block pretitle %}{% endblock %}
-                            {% block content_title %}{% if title %}
-                    <h2 class="content-title">{{ title }}</h2>
-                    {% endif %}{% endblock %}
-                            {% block content %}
-                              {% block object-tools %}{% endblock %}
-                              {{ content }}
-                            {% endblock %}
-                            {% block sidebar_content %}
-                              {% block sidebar %}{% endblock %}
-                            {% endblock %}
+                    {% block pretitle %}
+                    {% endblock %}
+                    {% block content_title %}
+                      {% if title %}
+                        <h2 class="content-title">{{ title }}</h2>
+                      {% endif %}
+                    {% endblock %}
+                    {% block content %}
+                      {% block object-tools %}
+                      {% endblock %}
+                      {{ content }}
+                    {% endblock %}
+                    {% block sidebar_content %}
+                      {% block sidebar %}{% endblock %}
+                    {% endblock %}
                   </div>
                   <!-- END Content -->
                   <span class="clearfix"></span>
                   <!-- </div>
                   -->
-                      {% endblock %}
-                </div>
+                {% endblock %}
               </div>
             </div>
           </div>
@@ -218,52 +220,51 @@
     <!-- /#wrapper -->
     {% endblock %}
     </div>
-  </div>
-
-  {% if not is_popup %}
-    <!-- Sticky footer push -->
-    <div id="push"></div>
-  {% endif %}
-
-  {% block footer %}
     {% if not is_popup %}
-      <div id="footer" class="footer">
-        <div class="content">
-          <div class="tools">
-            {% block footer_links %}
-              <a href="http://djangosuit.com/support/" target="_blank" class="icon">
-                <i class="icon-question-sign"></i>
-                Support
-              </a>
-              <a href="http://djangosuit.com/pricing/" target="_blank" class="icon">
-                <i class="icon-bookmark"></i>
-                Licence
-              </a>
-              <a href="http://github.com/darklow/django-suit/issues" target="_blank" class="icon">
-                <i class="icon-comment"></i>
-                Report a bug
-              </a>
-            {% endblock %}
-          </div>
+      <!-- Sticky footer push -->
+      <div id="push"></div>
+    {% endif %}
 
-          <div class="statusMsg" id="statusMsg">
-            <!-- this is a placeholder for xoslib views to display status messages -->
-          </div>
+    {% block footer %}
+      {% if not is_popup %}
+        <div id="footer" class="footer">
+          <div class="content">
+            <div class="tools">
+              {% block footer_links %}
+                <a href="http://djangosuit.com/support/" target="_blank" class="icon">
+                  <i class="icon-question-sign"></i>
+                  Support
+                </a>
+                <a href="http://djangosuit.com/pricing/" target="_blank" class="icon">
+                  <i class="icon-bookmark"></i>
+                  Licence
+                </a>
+                <a href="http://github.com/darklow/django-suit/issues" target="_blank" class="icon">
+                  <i class="icon-comment"></i>
+                  Report a bug
+                </a>
+              {% endblock %}
+            </div>
 
-          <div class="branding">
-            {% block footer_branding %}
-              {% with 'ADMIN_NAME'|suit_conf as admin_name %}
-                {{ admin_name }}
-                {% if admin_name == 'Django Suit' %}
-                  v{{ 'VERSION'|suit_conf }}
-                {% endif %}
-              {% endwith %}
-            {% endblock %}
+            <div class="statusMsg" id="statusMsg">
+              <!-- this is a placeholder for xoslib views to display status messages -->
+            </div>
+
+            <div class="branding">
+              {% block footer_branding %}
+                {% with 'ADMIN_NAME'|suit_conf as admin_name %}
+                  {{ admin_name }}
+                  {% if admin_name == 'Django Suit' %}
+                    v{{ 'VERSION'|suit_conf }}
+                  {% endif %}
+                {% endwith %}
+              {% endblock %}
+            </div>
           </div>
         </div>
-      </div>
-    {% endif %}
-  {% endblock %}
+      {% endif %}
+    {% endblock %}
+  </div>
 
   <script src="{% static 'suit/bootstrap/dist/js/bootstrap.min.js' %}"></script>
   <script src="{% static 'suit/js/suit.js' %}"></script>
