color: var(--black);
     font-family: "Unageo", sans-serif;
     border-color: var(--purple);
-    max-width: 700px;
+    max-width: 900px;
     margin: auto;
 }
 
     padding: 8px;
 }
 
+.mt0 { margin-top: 0px; }
+
 div.main {
     max-width: 700px;
     margin: auto;
     padding: 10px;
 }
 
-div.page-header {
-    box-shadow: 5px 5px 0px 0px var(--black);
-    border: 1px solid var(--black);
-    border-radius: var(--radius);
-    margin: 10px;
-    padding: 5px;
+.layout-flex {
+    display: flex;
+    flex-direction: row;
+}
+
+.layout-side {
+    width: 20%;
+    flex-shrink: 0;
+    flex-grow: 0;
+}
+
+.layout-main {
+    flex-grow: 1;
+}
+
+@media screen and (max-width: 900px) {
+    .layout-flex {
+        flex-direction: column;
+        align-items: center;
+    }
+    .layout-main { width: 100%; }
+    .layout-side { width: auto; }
+}
+
+.site-title {
+    text-align: center;
+    font-size: 3em;
+    font-family: "Mat Saleh", sans-serif;
+    font-weight: bold;
+    color: var(--purple);
+    margin: 20px;
+    text-shadow: 2px 2px 0px var(--black);
+}
+
+@media screen and (max-width: 480px) {
+    .site-title {
+        font-size: 2em;
+    }
 }
 
 .flashes {
 }
 
 /* Navbar */
-div.navbar {
+.navbar {
+    position: sticky;
+    top: 10px;
+
     display: flex;
     flex-wrap: wrap;
-    flex-direction: row;
-    justify-content: center;
-    align-items: center;
+    flex-direction: column;
+    justify-content: flex-start;
+    align-items: flex-start;
     gap: 10px;
-    padding-bottom: 10px;
+
+    overflow: hidden;
+
+    box-shadow: 2px 2px 0px 0px var(--black);
+    border: 1px solid var(--black);
+    border-radius: var(--radius);
+    margin: 10px;
+    padding: 10px;
+    /* padding-bottom: 10px; */
+}
+
+@media screen and (max-width: 900px) {
+    .navbar {
+        position: static;
+        flex-direction: row;
+        justify-content: center;
+        align-items: center;
+        max-width: 700px;
+    }
 }
 
 #activity-indicator {
 
         <!-- Embedded image data -->
         {{ gif_data|safe }}
 
-        <div class="page-header">
-            <div style="text-align: center;">
-                <!--<img class="title-image littlesongplace02">-->
-                <h1>little song place</h1>
-            </div>
+        <div class="site-title">little song place</div>
+
+        <div class="layout-flex">
+
             <!-- Navbar -->
-            <div class="navbar">
-                <a href="/">Home</a>
-                <a href="/jams/1">Jam</a>
-                <a href="/about">About</a>
-                <a href="/site-news">News</a>
-                <a href="/songs">Random</a>
+            <div class="layout-side">
+                <div class="navbar">
+                    <a href="/">Home</a>
+                    <a href="/jams/1">Jam</a>
+                    <a href="/about">About</a>
+                    <a href="/site-news">News</a>
+                    <a href="/songs">Random</a>
+                </div>
 
-                <a href="/users/{{ session["username"] }}" class="nav-logged-in" id="my-profile" hidden>My Profile</a>
-                <a href="/activity" class="nav-logged-in" hidden><span id="activity-indicator" hidden></span>Activity</a>
-                <a href="/logout" class="nav-logged-in" hidden>Sign Out</a>
+                <div class="navbar">
+                    <a href="/users/{{ session["username"] }}" class="nav-logged-in" id="my-profile" hidden>My Profile</a>
+                    <a href="/activity" class="nav-logged-in" hidden><span id="activity-indicator" hidden></span>Activity</a>
+                    <a href="/logout" class="nav-logged-in" hidden>Sign Out</a>
 
-                <a href="/signup" class="nav-logged-out">Create Account</a>
-                <a href="/login" class="nav-logged-out">Sign In</a>
+                    <a href="/signup" class="nav-logged-out">Create Account</a>
+                    <a href="/login" class="nav-logged-out">Sign In</a>
 
-                <span class="nav-logged-in" id="logged-in-status" hidden></span>
+                    <span class="nav-logged-in" id="logged-in-status" hidden></span>
+                </div>
             </div>
-        </div>
 
-        <!-- Flashed Status Messages -->
-        <div id="flashes-container">
-            {% with messages = get_flashed_messages(with_categories=True) -%}
-            {% if messages  -%}
-            <div class="flashes">
-                <ul>
-                    {% for category, message in messages %}
-                    <li class="flash-msg {{ category }}">{{ message }}</li>
-                    {% endfor %}
-                </ul>
+            <div class="layout-main">
+                <!-- Flashed Status Messages -->
+                <div id="flashes-container">
+                    {% with messages = get_flashed_messages(with_categories=True) -%}
+                    {% if messages  -%}
+                    <div class="flashes">
+                        <ul>
+                            {% for category, message in messages %}
+                            <li class="flash-msg {{ category }}">{{ message }}</li>
+                            {% endfor %}
+                        </ul>
+                    </div>
+                    {%- endif %}
+                    {%- endwith %}
+                </div>
+
+                <!-- Page-Specific Content -->
+                <div class="main" id="main" data-bgcolor="{{ bgcolor }}" data-fgcolor="{{ fgcolor }}" data-accolor="{{ accolor }}" data-username="{{ session['username'] }}">{% block body %}{% endblock %}</div>
             </div>
-            {%- endif %}
-            {%- endwith %}
         </div>
 
-        <!-- Page-Specific Content -->
-        <div class="main" id="main" data-bgcolor="{{ bgcolor }}" data-fgcolor="{{ fgcolor }}" data-accolor="{{ accolor }}" data-username="{{ session['username'] }}">{% block body %}{% endblock %}</div>
-
         <!-- Padding to prevent player from obscuring content -->
         <div id="scroll-padding"></div>