diff --git a/aleksis/apps/alsijil/static/css/alsijil/lesson.css b/aleksis/apps/alsijil/static/css/alsijil/lesson.css
index d402156fc7bc1f750e88a5a9c04bf46fa2fd0d5b..4b5fab5fccfc3f175cc571b011f5d5a9b81c7ce5 100644
--- a/aleksis/apps/alsijil/static/css/alsijil/lesson.css
+++ b/aleksis/apps/alsijil/static/css/alsijil/lesson.css
@@ -23,6 +23,26 @@
       height: 109px;}
 }
 
-.alsijil-top-button {
-    margin-top: -20px;
+.alsijil-time-head, .alsijil-object-head {
+    display: block;
+}
+
+.alsijil-time-head {
+    font-size: 2rem;
+    line-height: 1.1;
+}
+
+.alsijil-object-head {
+    font-size: 3rem;
+}
+
+@media only screen and (max-width: 600px) {
+    .alsijil-time-head {
+        font-size: 1.5rem;
+    }
+
+    .alsijil-object-head {
+        font-size: 2.2rem;
+        line-height: 1.4;
+    }
 }
diff --git a/aleksis/apps/alsijil/tables.py b/aleksis/apps/alsijil/tables.py
index f4f064450fba28100e1ee9c775c12cd2db03776c..1aaabe732c8fab0b6d13a7a530a46d44c26e9a52 100644
--- a/aleksis/apps/alsijil/tables.py
+++ b/aleksis/apps/alsijil/tables.py
@@ -192,15 +192,15 @@ class RegisterObjectTable(tables.Table):
     group_note = tables.Column(linkify=_get_link)
 
     def render_status(self, value, record):
-        return render_to_string(
-            "alsijil/partials/lesson_status_icon.html",
-            dict(
-                week=record.get("week"),
-                has_documentation=record.get("has_documentation", False),
-                substitution=record.get("substitution"),
-                register_object=value,
-            ),
-        )
+        context = {
+            "has_documentation": record.get("has_documentation", False),
+            "register_object": value,
+        }
+        if record.get("week"):
+            context["week"] = record["week"]
+        if record.get("substitution"):
+            context["substitution"] = record["substitution"]
+        return render_to_string("alsijil/partials/lesson_status.html", context)
 
 
 class RegisterObjectSelectTable(RegisterObjectTable):
diff --git a/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html b/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html
index 7c27f555b113da2e420ad9455ec0b9bfe6e9acf6..9aded2b85e6a2de93a07b3c76e8cc5590830ff66 100644
--- a/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html
+++ b/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html
@@ -3,102 +3,126 @@
 {% load week_helpers material_form_internal material_form i18n static rules time_helpers %}
 
 {% block browser_title %}{% blocktrans %}Lesson{% endblocktrans %}{% endblock %}
-
+{% block no_page_title %}{% endblock %}
 {% block extra_head %}
   {{ block.super }}
   <link rel="stylesheet" href="{% static 'css/alsijil/lesson.css' %}"/>
 {% endblock %}
 
 {% block content %}
-  <h1>
-    {% if next_lesson_person or prev_lesson_person or lesson_documentation %}
-      <div class="row no-margin">
-        <div class="col s12 no-padding">
-          {# Back to week view #}
-          {% if back_to_week_url %}
-            <a href="{{ back_to_week_url }}"
-               class="btn primary-color waves-light waves-effect alsijil-top-button">
-              <i class="material-icons left">chevron_left</i> {% trans "Back to week view" %}
-            </a>
-          {% endif %}
+  {% if next_lesson_person or prev_lesson_person or lesson_documentation %}
+    <div class="row no-margin hide-on-small-only">
+      <div class="col s12 no-padding">
+        {# Back to week view #}
+        {% if back_to_week_url %}
+          <a href="{{ back_to_week_url }}"
+             class="btn primary-color waves-light waves-effect margin-bottom">
+            <i class="material-icons left">chevron_left</i> {% trans "Week view" %}
+          </a>
+        {% endif %}
 
-          {# Next lesson #}
-          {% if prev_lesson_person %}
-            <a class="btn primary waves-effect waves-light alsijil-top-button"
-               href="{% url "lesson_period" prev_lesson_person.week.year prev_lesson_person.week.week prev_lesson_person.id %}">
+
+        {# Previous lesson #}
+        {% if prev_lesson_person %}
+          <a class="btn primary waves-effect waves-light margin-bottom"
+             href="{% url "lesson_period" prev_lesson_person.week.year prev_lesson_person.week.week prev_lesson_person.id %}">
             <i class="material-icons left">arrow_back</i>
             {% trans "My previous lesson" %}
-            </a>
-          {% endif %}
+          </a>
+        {% endif %}
 
-          {# Previous lesson #}
-          {% if next_lesson_person %}
-            <a class="btn primary right waves-effect waves-light alsijil-top-button"
-               href="{% url "lesson_period" next_lesson_person.week.year next_lesson_person.week.week next_lesson_person.id %}">
+        {# Next lesson #}
+        {% if next_lesson_person %}
+          <a class="btn primary right waves-effect waves-light margin-bottom"
+             href="{% url "lesson_period" next_lesson_person.week.year next_lesson_person.week.week next_lesson_person.id %}">
             <i class="material-icons right">arrow_forward</i>
             {% trans "My next lesson" %}
-            </a>
-          {% endif %}
-        </div>
+          </a>
+        {% endif %}
       </div>
-    {% endif %}
+    </div>
+    <div class="row no-margin hide-on-med-and-up margin-bottom">
+      <div class="col s12 no-padding">
+        {# Back to week view #}
+        {% if back_to_week_url %}
+          <a href="{{ back_to_week_url }}"
+             class="btn primary-color waves-light waves-effect hundred-percent margin-bottom">
+            <i class="material-icons left">chevron_left</i> {% trans "Week view" %}
+          </a>
+        {% endif %}
 
+        {# Previous lesson #}
+        {% if prev_lesson_person %}
+          <a class="btn primary waves-effect waves-light hundred-percent margin-bottom"
+             href="{% url "lesson_period" prev_lesson_person.week.year prev_lesson_person.week.week prev_lesson_person.id %}">
+            <i class="material-icons left">arrow_back</i>
+            {% trans "My previous lesson" %}
+          </a>
+        {% endif %}
 
-    {% if register_object.label_ == "event" %}
-      {{ register_object.date_start }} {{ register_object.period_from.period }}.–{{ register_object.date_end }}
-      {{ register_object.period_to.period }}.,
-    {% else %}
-      {{ day }}, {% blocktrans with period=register_object.period.period %}{{ period }}. period{% endblocktrans %} –
-    {% endif %}
+        {# Next lesson #}
+        {% if next_lesson_person %}
+          <a class="btn primary waves-effect waves-light hundred-percent margin-bottom"
+             href="{% url "lesson_period" next_lesson_person.week.year next_lesson_person.week.week next_lesson_person.id %}">
+            <i class="material-icons right">arrow_forward</i>
+            {% trans "My next lesson" %}
+          </a>
+        {% endif %}
+      </div>
+    </div>
+  {% endif %}
+  <div class="hide-on-med-and-up">
+    {% include "alsijil/partials/lesson_status.html" with register_object=register_object chip=1 css_class="hundred-percent center" %}
+  </div>
+  <h1>
+    <span class="right hide-on-small-only">
+      {% include "alsijil/partials/lesson_status.html" with register_object=register_object css_class="medium" %}
+    </span>
 
-    {{ register_object.group_names }},
+    <span class="alsijil-time-head">
+      {% if register_object.label_ == "event" %}
+        {% if register_object.date_start == register_object.date_end %}
+          {% if register_object.period_from.period == register_object.period_to.period %}
+            {{ register_object.date_start|date:"SHORT_DATE_FORMAT" }},
+            {% blocktrans with period=register_object.period_from.period %}{{ period }}. period{% endblocktrans %}
+          {% else %}
+            {{ register_object.date_start|date:"SHORT_DATE_FORMAT" }},
+            {% blocktrans with period_from=register_object.period_from.period  period_to=register_object.period_to.period %}
+              {{ period_from }}.–{{ period_to }}.  period
+            {% endblocktrans %}
+          {% endif %}
+        {% else %}
+          {{ register_object.date_start|date:"SHORT_DATE_FORMAT" }},
+          {{ register_object.period_from.period }}.–{{ register_object.date_end|date:"SHORT_DATE_FORMAT" }},
+          {{ register_object.period_to.period }}.
+        {% endif %}
+      {% else %}
+        {{ day|date:"SHORT_DATE_FORMAT" }},
+        {% blocktrans with period=register_object.period.period %}{{ period }}. period{% endblocktrans %}
+      {% endif %}
+    </span>
 
-    {% if register_object.label_ == "event" %}
-      {% trans "Event" %} ({{ register_object.title }})
-    {% else %}
-      {{ register_object.get_subject.name }}
-    {% endif %},
+    <span class="alsijil-object-head">
+      {{ register_object.group_names }},
 
-    {{ register_object.teacher_short_names }}
+      {% if register_object.label_ == "event" %}
+        {% trans "Event" %} ({{ register_object.title }}),
+      {% else %}
+        {{ register_object.get_subject.short_name }},
+      {% endif %}
 
-    <span class="right">
-      {% include "alsijil/partials/lesson_status_icon.html" with register_object=register_object css_class="medium" %}
+      {{ register_object.teacher_short_names }}
     </span>
   </h1>
-  <br/>
+
+
 
   {% has_perm "alsijil.view_lessondocumentation_rule" user register_object as can_view_lesson_documentation %}
   {% has_perm "alsijil.edit_lessondocumentation_rule" user register_object as can_edit_lesson_documentation %}
   {% has_perm "alsijil.edit_register_object_personalnote_rule" user register_object as can_edit_register_object_personalnote %}
 
   <form method="post" class="row">
-    <p>
-      {% if not blocked_because_holidays %}
-        {% if can_edit_lesson_documentation or can_edit_register_object_personalnote %}
-          {% include "core/partials/save_button.html" %}
-        {% endif %}
-      {% endif %}
-
-      {% if prev_lesson %}
-        <a class="btn waves-effect waves-light primary"
-           href="{% url "lesson_period" prev_lesson.week.year prev_lesson.week.week prev_lesson.id %}">
-          <i class="material-icons left">arrow_back</i>
-          {% blocktrans with subject=register_object.get_subject.name %}
-            Previous {{ subject }} lesson
-          {% endblocktrans %}
-        </a>
-      {% endif %}
-
-      {% if next_lesson %}
-        <a class="btn right waves-effect waves-light primary"
-           href="{% url "lesson_period" next_lesson.week.year next_lesson.week.week next_lesson.id %}">
-          <i class="material-icons right">arrow_forward</i>
-          {% blocktrans with subject=register_object.get_subject.name %}
-            Next {{ subject }} lesson
-          {% endblocktrans %}
-        </a>
-      {% endif %}
-    </p>
+    {% include "alsijil/partials/lesson_prev_next.html" %}
 
     {% csrf_token %}
 
@@ -351,7 +375,7 @@
                         <td>
                           {% for extra_mark in form.extra_marks.value %}
                             {{ extra_mark }}{% if not forloop.last %},{% endif %}
-                            {% empty %}
+                          {% empty %}
                             –
                           {% endfor %}
                         </td>
@@ -386,51 +410,26 @@
         {% endif %}
       </div>
 
-
-      <p>
-        {% if can_edit_lesson_documentation or can_edit_register_object_personalnote %}
-          {% include "core/partials/save_button.html" %}
-        {% endif %}
-
-        {% if prev_lesson %}
-          <a class="btn primary waves-effect waves-light"
-             href="{% url "lesson_period" prev_lesson.week.year prev_lesson.week.week prev_lesson.id %}">
-            <i class="material-icons left">arrow_back</i>
-            {% blocktrans with subject=register_object.get_subject.name %}
-              Previous {{ subject }} lesson
-            {% endblocktrans %}
-          </a>
-        {% endif %}
-
-        {% if next_lesson %}
-          <a class="btn primary right waves-effect waves-light"
-             href="{% url "lesson_period" next_lesson.week.year next_lesson.week.week next_lesson.id %}">
-            <i class="material-icons right">arrow_forward</i>
-            {% blocktrans with subject=register_object.get_subject.name %}
-              Next {{ subject }} lesson
-            {% endblocktrans %}
-          </a>
-        {% endif %}
-      </p>
+    {% include "alsijil/partials/lesson_prev_next.html" %}
 
     {% else %}
       <div class="row no-margin">
-      <div class="container">
-        <div class="card">
-          <div class="card-content center-align">
-            <p>
-              <i class="material-icons medium orange-text">warning</i>
-            </p>
-            <p class="card-title">
-              {% blocktrans %}
-                This lesson overlaps with holidays and can't be edited.
-              {% endblocktrans %}
-            </p>
-            <span class="badge new blue no-float no-margin">{{ holiday }}</span>
+        <div class="container">
+          <div class="card">
+            <div class="card-content center-align">
+              <p>
+                <i class="material-icons medium orange-text">warning</i>
+              </p>
+              <p class="card-title">
+                {% blocktrans %}
+                  This lesson overlaps with holidays and can't be edited.
+                {% endblocktrans %}
+              </p>
+              <span class="badge new blue no-float no-margin">{{ holiday }}</span>
+            </div>
           </div>
         </div>
       </div>
-      </div>
     {% endif %}
   </form>
 {% endblock %}
diff --git a/aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html b/aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html
index 1cdab7ff87800a30797da5c8d8c346c919ffecd9..435f4e1ed275abdd35f8ebb86d002d8600f613c6 100644
--- a/aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html
+++ b/aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html
@@ -116,7 +116,7 @@
                       {% if can_view_lesson_documentation %}
                         <tr>
                           <td class="center-align">
-                            {% include "alsijil/partials/lesson_status_icon.html" with register_object=register_object %}
+                            {% include "alsijil/partials/lesson_status.html" with register_object=register_object %}
                           </td>
                           <td class="tr-link">
                             <a class="tr-link"
@@ -196,7 +196,7 @@
                         {% if can_view_lesson_documentation %}
                           <a class="collection-item avatar"
                              href="{{ register_object.alsijil_url }}?back={{ back_url }}">
-                            {% include "alsijil/partials/lesson_status_icon.html" with register_object=register_object css_class="materialize-circle" color_suffix=" " %}
+                            {% include "alsijil/partials/lesson_status.html" with register_object=register_object css_class="materialize-circle" color_suffix=" " %}
                             <table class="hide-on-med-and-down">
                               <tr>
                                 <th>{% trans "Subject" %}</th>
diff --git a/aleksis/apps/alsijil/templates/alsijil/partials/lesson_prev_next.html b/aleksis/apps/alsijil/templates/alsijil/partials/lesson_prev_next.html
new file mode 100644
index 0000000000000000000000000000000000000000..faabc0ac8d1f4438695c5aca98d29c3e426ec5c4
--- /dev/null
+++ b/aleksis/apps/alsijil/templates/alsijil/partials/lesson_prev_next.html
@@ -0,0 +1,67 @@
+{% load i18n %}
+
+<div class="row no-margin hide-on-small-only">
+  <div class="col s12 no-padding">
+    {% if not blocked_because_holidays %}
+      {% if can_edit_lesson_documentation or can_edit_register_object_personalnote %}
+        <button type="submit" class="btn waves-effect waves-light green margin-bottom">
+          <i class="material-icons left">save</i> {% trans "Save" %}
+        </button>
+      {% endif %}
+    {% endif %}
+
+    {% if prev_lesson %}
+      <a class="btn waves-effect waves-light primary margin-bottom"
+         href="{% url "lesson_period" prev_lesson.week.year prev_lesson.week.week prev_lesson.id %}">
+        <i class="material-icons left">arrow_back</i>
+        {% blocktrans with subject=register_object.get_subject.short_name %}
+          Previous {{ subject }} lesson
+        {% endblocktrans %}
+      </a>
+    {% endif %}
+
+    {% if next_lesson %}
+      <a class="btn right waves-effect waves-light primary margin-bottom"
+         href="{% url "lesson_period" next_lesson.week.year next_lesson.week.week next_lesson.id %}">
+        <i class="material-icons right">arrow_forward</i>
+        {% blocktrans with subject=register_object.get_subject.short_name %}
+          Next {{ subject }} lesson
+        {% endblocktrans %}
+      </a>
+    {% endif %}
+  </div>
+</div>
+
+<div class="row no-margin hide-on-med-and-up">
+  <div class="col s12 no-padding">
+    {% if not blocked_because_holidays %}
+      {% if can_edit_lesson_documentation or can_edit_register_object_personalnote %}
+        <button type="submit" class="btn waves-effect waves-light green margin-bottom hundred-percent">
+          <i class="material-icons left">save</i> {% trans "Save" %}
+        </button>
+      {% endif %}
+    {% endif %}
+  </div>
+  <div class="col s12 no-padding">
+    {% if prev_lesson %}
+      <a class="btn waves-effect waves-light primary margin-bottom hundred-percent"
+         href="{% url "lesson_period" prev_lesson.week.year prev_lesson.week.week prev_lesson.id %}">
+        <i class="material-icons left">arrow_back</i>
+        {% blocktrans with subject=register_object.get_subject.short_name %}
+          Previous {{ subject }} lesson
+        {% endblocktrans %}
+      </a>
+    {% endif %}
+  </div>
+  <div class="col s12 no-padding">
+    {% if next_lesson %}
+      <a class="btn right waves-effect waves-light primary margin-bottom hundred-percent"
+         href="{% url "lesson_period" next_lesson.week.year next_lesson.week.week next_lesson.id %}">
+        <i class="material-icons right">arrow_forward</i>
+        {% blocktrans with subject=register_object.get_subject.short_name %}
+          Next {{ subject }} lesson
+        {% endblocktrans %}
+      </a>
+    {% endif %}
+  </div>
+</div>
diff --git a/aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html b/aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html
new file mode 100644
index 0000000000000000000000000000000000000000..4357e222d26bc752e2e349a2f7b4f3a9d53ff44f
--- /dev/null
+++ b/aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html
@@ -0,0 +1,36 @@
+{% load i18n week_helpers %}
+
+{% now_datetime as now_dt %}
+
+{% if has_documentation or register_object.has_documentation %}
+  {% include "alsijil/partials/lesson_status_icon.html" with text=_("Data complete") icon="check_circle" color="green" %}
+{% elif not register_object.period %}
+  {% if week %}
+    {% period_to_time_start week register_object.raw_period_from_on_day as time_start %}
+    {% period_to_time_end week register_object.raw_period_to_on_day as time_end %}
+  {% else %}
+    {% period_to_time_start register_object.date_start register_object.period_from as time_start %}
+    {% period_to_time_end register_object.date_end register_object.period_to as time_end %}
+  {% endif %}
+
+  {% if now_dt > time_end %}
+    {% include "alsijil/partials/lesson_status_icon.html" with text=_("Missing data") icon="history" color="red" %}
+  {% elif now_dt > time_start and now_dt < time_end %}
+    {% include "alsijil/partials/lesson_status_icon.html" with text=_("Pending") icon="more_horiz" color="orange" %}
+  {% else %}
+    {% include "alsijil/partials/lesson_status_icon.html" with text=_("Event") icon="event" color="purple" %}
+  {% endif %}
+{% else %}
+  {% period_to_time_start week register_object.period as time_start %}
+  {% period_to_time_end week register_object.period as time_end %}
+
+  {% if substitution.cancelled or register_object.get_substitution.cancelled %}
+    {% include "alsijil/partials/lesson_status_icon.html" with text=_("Lesson cancelled") icon="cancel" color="red" %}
+  {% elif now_dt > time_end %}
+    {% include "alsijil/partials/lesson_status_icon.html" with text=_("Missing data") icon="history" color="red" %}
+  {% elif now_dt > time_start and now_dt < time_end %}
+    {% include "alsijil/partials/lesson_status_icon.html" with text=_("Pending") icon="more_horiz" color="orange" %}
+  {% elif substitution or register_object.get_substitution %}
+    {% include "alsijil/partials/lesson_status_icon.html" with text=_("Substitution") icon="update" color="orange" %}
+  {% endif %}
+{% endif %}
diff --git a/aleksis/apps/alsijil/templates/alsijil/partials/lesson_status_icon.html b/aleksis/apps/alsijil/templates/alsijil/partials/lesson_status_icon.html
index 52f55e9723c3b9650bcd09f63725467a75f8993d..046b3ffbdacbbb5f18232668363fae195457faa1 100644
--- a/aleksis/apps/alsijil/templates/alsijil/partials/lesson_status_icon.html
+++ b/aleksis/apps/alsijil/templates/alsijil/partials/lesson_status_icon.html
@@ -1,31 +1,14 @@
-{% load i18n week_helpers %}
-
-{% now_datetime as now_dt %}
-
-{% if has_documentation or register_object.has_documentation %}
-  <i class="material-icons green{% firstof color_suffix "-text"%} tooltipped {{ css_class }}" data-position="bottom" data-tooltip="{% trans "Data complete" %}" title="{% trans "Data complete" %}">check_circle</i>
-{% elif not register_object.period %}
-  {% period_to_time_start week register_object.raw_period_from_on_day as time_start %}
-  {% period_to_time_end week register_object.raw_period_to_on_day as time_end %}
-
-  {% if now_dt > time_end %}
-    <i class="material-icons red{% firstof color_suffix "-text"%} tooltipped {{ css_class }}"  data-position="bottom" data-tooltip="{% trans "Missing data" %}" title="{% trans "Missing data" %}">history</i>
-  {% elif now_dt > time_start and now_dt < time_end %}
-    <i class="material-icons orange{% firstof color_suffix "-text"%} tooltipped {{ css_class }}"  data-position="bottom" data-tooltip="{% trans "Pending" %}" title="{% trans "Pending" %}">more_horiz</i>
-  {% else %}
-    <i class="material-icons purple{% firstof color_suffix "-text"%} tooltipped {{ css_class }}" data-position="bottom" data-tooltip="{% trans "Event" %}" title="{% trans "Event" %}">event</i>
-  {% endif %}
+{% if chip %}
+  <span class="{% if chip %}chip{% endif %} {{ color }} white-text {{ css_class }}">
+    <i class="material-icons left">
+      {{ icon }}
+    </i>
+    {{ text }}
+  </span>
 {% else %}
-  {% period_to_time_start week register_object.period as time_start %}
-  {% period_to_time_end week register_object.period as time_end %}
-
-  {% if substitution.cancelled or register_object.get_substitution.cancelled %}
-    <i class="material-icons red{% firstof color_suffix "-text"%} tooltipped {{ css_class }}"  data-position="bottom" data-tooltip="{% trans "Lesson cancelled" %}" title="{% trans "Lesson cancelled" %}">cancel</i>
-  {% elif now_dt > time_end %}
-    <i class="material-icons red{% firstof color_suffix "-text"%} tooltipped {{ css_class }}"  data-position="bottom" data-tooltip="{% trans "Missing data" %}" title="{% trans "Missing data" %}">history</i>
-  {% elif now_dt > time_start and now_dt < time_end %}
-    <i class="material-icons orange{% firstof color_suffix "-text"%} tooltipped {{ css_class }}"  data-position="bottom" data-tooltip="{% trans "Pending" %}" title="{% trans "Pending" %}">more_horiz</i>
-  {% elif substitution or register_object.get_substitution %}
-    <i class="material-icons orange{% firstof color_suffix "-text"%} tooltipped {{ css_class }}"  data-position="bottom" data-tooltip="{% trans "Substitution" %}" title="{% trans "Substitution" %}">update</i>
-  {% endif %}
+  <i class="material-icons {{ color }}{% firstof color_suffix "-text" %} tooltipped {{ css_class }}"
+     data-position="bottom"
+     data-tooltip="{{ text }}" title="{{ text }}">
+    {{ icon }}
+  </i>
 {% endif %}