diff --git a/cms/static/images/fav/android-chrome-144x144.png b/cms/static/images/fav/android-chrome-144x144.png
new file mode 100644
index 0000000..6dbda88
Binary files /dev/null and b/cms/static/images/fav/android-chrome-144x144.png differ
diff --git a/cms/static/images/fav/android-chrome-192x192.png b/cms/static/images/fav/android-chrome-192x192.png
new file mode 100644
index 0000000..9216fb3
Binary files /dev/null and b/cms/static/images/fav/android-chrome-192x192.png differ
diff --git a/cms/static/images/fav/android-chrome-36x36.png b/cms/static/images/fav/android-chrome-36x36.png
new file mode 100644
index 0000000..1b21583
Binary files /dev/null and b/cms/static/images/fav/android-chrome-36x36.png differ
diff --git a/cms/static/images/fav/android-chrome-48x48.png b/cms/static/images/fav/android-chrome-48x48.png
new file mode 100644
index 0000000..c860bd4
Binary files /dev/null and b/cms/static/images/fav/android-chrome-48x48.png differ
diff --git a/cms/static/images/fav/android-chrome-72x72.png b/cms/static/images/fav/android-chrome-72x72.png
new file mode 100644
index 0000000..fa98ca1
Binary files /dev/null and b/cms/static/images/fav/android-chrome-72x72.png differ
diff --git a/cms/static/images/fav/android-chrome-96x96.png b/cms/static/images/fav/android-chrome-96x96.png
new file mode 100644
index 0000000..114d66a
Binary files /dev/null and b/cms/static/images/fav/android-chrome-96x96.png differ
diff --git a/cms/static/images/fav/apple-touch-icon-114x114.png b/cms/static/images/fav/apple-touch-icon-114x114.png
new file mode 100644
index 0000000..4450f01
Binary files /dev/null and b/cms/static/images/fav/apple-touch-icon-114x114.png differ
diff --git a/cms/static/images/fav/apple-touch-icon-120x120.png b/cms/static/images/fav/apple-touch-icon-120x120.png
new file mode 100644
index 0000000..2c2783a
Binary files /dev/null and b/cms/static/images/fav/apple-touch-icon-120x120.png differ
diff --git a/cms/static/images/fav/apple-touch-icon-144x144.png b/cms/static/images/fav/apple-touch-icon-144x144.png
new file mode 100644
index 0000000..6dbda88
Binary files /dev/null and b/cms/static/images/fav/apple-touch-icon-144x144.png differ
diff --git a/cms/static/images/fav/apple-touch-icon-152x152.png b/cms/static/images/fav/apple-touch-icon-152x152.png
new file mode 100644
index 0000000..3d15e65
Binary files /dev/null and b/cms/static/images/fav/apple-touch-icon-152x152.png differ
diff --git a/cms/static/images/fav/apple-touch-icon-180x180.png b/cms/static/images/fav/apple-touch-icon-180x180.png
new file mode 100644
index 0000000..a3788be
Binary files /dev/null and b/cms/static/images/fav/apple-touch-icon-180x180.png differ
diff --git a/cms/static/images/fav/apple-touch-icon-57x57.png b/cms/static/images/fav/apple-touch-icon-57x57.png
new file mode 100644
index 0000000..90a3deb
Binary files /dev/null and b/cms/static/images/fav/apple-touch-icon-57x57.png differ
diff --git a/cms/static/images/fav/apple-touch-icon-60x60.png b/cms/static/images/fav/apple-touch-icon-60x60.png
new file mode 100644
index 0000000..0152ed7
Binary files /dev/null and b/cms/static/images/fav/apple-touch-icon-60x60.png differ
diff --git a/cms/static/images/fav/apple-touch-icon-72x72.png b/cms/static/images/fav/apple-touch-icon-72x72.png
new file mode 100644
index 0000000..fa98ca1
Binary files /dev/null and b/cms/static/images/fav/apple-touch-icon-72x72.png differ
diff --git a/cms/static/images/fav/apple-touch-icon-76x76.png b/cms/static/images/fav/apple-touch-icon-76x76.png
new file mode 100644
index 0000000..72a068a
Binary files /dev/null and b/cms/static/images/fav/apple-touch-icon-76x76.png differ
diff --git a/cms/static/images/fav/apple-touch-icon-precomposed.png b/cms/static/images/fav/apple-touch-icon-precomposed.png
new file mode 100644
index 0000000..bdd388f
Binary files /dev/null and b/cms/static/images/fav/apple-touch-icon-precomposed.png differ
diff --git a/cms/static/images/fav/apple-touch-icon.png b/cms/static/images/fav/apple-touch-icon.png
new file mode 100644
index 0000000..a3788be
Binary files /dev/null and b/cms/static/images/fav/apple-touch-icon.png differ
diff --git a/cms/static/images/fav/browserconfig.xml b/cms/static/images/fav/browserconfig.xml
new file mode 100644
index 0000000..65380f3
--- /dev/null
+++ b/cms/static/images/fav/browserconfig.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+ #da532c
+
+
+
diff --git a/cms/static/images/fav/favicon-16x16.png b/cms/static/images/fav/favicon-16x16.png
new file mode 100644
index 0000000..0eed991
Binary files /dev/null and b/cms/static/images/fav/favicon-16x16.png differ
diff --git a/cms/static/images/fav/favicon-32x32.png b/cms/static/images/fav/favicon-32x32.png
new file mode 100644
index 0000000..16be34c
Binary files /dev/null and b/cms/static/images/fav/favicon-32x32.png differ
diff --git a/cms/static/images/fav/favicon-96x96.png b/cms/static/images/fav/favicon-96x96.png
new file mode 100644
index 0000000..114d66a
Binary files /dev/null and b/cms/static/images/fav/favicon-96x96.png differ
diff --git a/cms/static/images/fav/favicon.ico b/cms/static/images/fav/favicon.ico
new file mode 100644
index 0000000..45f0674
Binary files /dev/null and b/cms/static/images/fav/favicon.ico differ
diff --git a/cms/static/images/fav/manifest.json b/cms/static/images/fav/manifest.json
new file mode 100644
index 0000000..b8c71c0
--- /dev/null
+++ b/cms/static/images/fav/manifest.json
@@ -0,0 +1,41 @@
+{
+ "name": "AVA",
+ "icons": [
+ {
+ "src": "\/android-chrome-36x36.png",
+ "sizes": "36x36",
+ "type": "image\/png",
+ "density": "0.75"
+ },
+ {
+ "src": "\/android-chrome-48x48.png",
+ "sizes": "48x48",
+ "type": "image\/png",
+ "density": "1.0"
+ },
+ {
+ "src": "\/android-chrome-72x72.png",
+ "sizes": "72x72",
+ "type": "image\/png",
+ "density": "1.5"
+ },
+ {
+ "src": "\/android-chrome-96x96.png",
+ "sizes": "96x96",
+ "type": "image\/png",
+ "density": "2.0"
+ },
+ {
+ "src": "\/android-chrome-144x144.png",
+ "sizes": "144x144",
+ "type": "image\/png",
+ "density": "3.0"
+ },
+ {
+ "src": "\/android-chrome-192x192.png",
+ "sizes": "192x192",
+ "type": "image\/png",
+ "density": "4.0"
+ }
+ ]
+}
diff --git a/cms/static/images/fav/mstile-144x144.png b/cms/static/images/fav/mstile-144x144.png
new file mode 100644
index 0000000..6b2564e
Binary files /dev/null and b/cms/static/images/fav/mstile-144x144.png differ
diff --git a/cms/static/images/fav/mstile-150x150.png b/cms/static/images/fav/mstile-150x150.png
new file mode 100644
index 0000000..32a7dd9
Binary files /dev/null and b/cms/static/images/fav/mstile-150x150.png differ
diff --git a/cms/static/images/fav/mstile-310x150.png b/cms/static/images/fav/mstile-310x150.png
new file mode 100644
index 0000000..8fc18a4
Binary files /dev/null and b/cms/static/images/fav/mstile-310x150.png differ
diff --git a/cms/static/images/fav/mstile-310x310.png b/cms/static/images/fav/mstile-310x310.png
new file mode 100644
index 0000000..2a1fd8f
Binary files /dev/null and b/cms/static/images/fav/mstile-310x310.png differ
diff --git a/cms/static/images/fav/mstile-70x70.png b/cms/static/images/fav/mstile-70x70.png
new file mode 100644
index 0000000..34ea51c
Binary files /dev/null and b/cms/static/images/fav/mstile-70x70.png differ
diff --git a/cms/static/images/fav/safari-pinned-tab.svg b/cms/static/images/fav/safari-pinned-tab.svg
new file mode 100644
index 0000000..39028ee
--- /dev/null
+++ b/cms/static/images/fav/safari-pinned-tab.svg
@@ -0,0 +1,20 @@
+
+
+
diff --git a/lms/templates/main-ava.html b/lms/templates/main-ava.html
index 3fb16d3..5e11992 100644
--- a/lms/templates/main-ava.html
+++ b/lms/templates/main-ava.html
@@ -76,10 +76,9 @@
-
-
-
+
+
+
+
+
+
+
+
+## Define a couple of helper functions to make life easier when
+## embedding theme conditionals into templates. All inheriting
+## templates have access to these functions, and we can import these
+## into non-inheriting templates via the %namespace tag.
+
+## this needs to be here to prevent the title from mysteriously appearing in the body, in one case
+<%def name="pagetitle()" />
+ <%block name="title">
+
+ ${static.get_page_title_breadcrumbs(self.pagetitle())}
+
+ %block>
+
+ % if not allow_iframing:
+
+ % endif
+
+ <%
+ jsi18n_path = "js/i18n/{language}/djangojs.js".format(language=LANGUAGE_CODE)
+ %>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <%static:css group='style-vendor'/>
+ <%static:css group='${self.attr.main_css}'/>
+
+ % if disable_courseware_js:
+ <%static:js group='base_vendor'/>
+ <%static:js group='base_application'/>
+ % else:
+ <%static:js group='main_vendor'/>
+ <%static:js group='application'/>
+ % endif
+
+
+
+ <%block name="js_overrides">
+ ${render_require_js_path_overrides(settings.REQUIRE_JS_PATH_OVERRIDES)}
+ %block>
+
+ % if not disable_courseware_js:
+ <%static:js group='module-js'/>
+ % endif
+
+ <%block name="headextra"/>
+
+ <%static:optional_include_mako file="head-extra.html" is_theming_enabled="True" />
+
+ <%include file="widgets/optimizely.html" />
+ <%include file="widgets/segment-io.html" />
+
+
+
+
+<% ga_acct = static.get_value("GOOGLE_ANALYTICS_ACCOUNT", settings.GOOGLE_ANALYTICS_ACCOUNT) %>
+% if ga_acct:
+
+% endif
+
+
+
+
+<%static:optional_include_mako file="body-initial.html" is_theming_enabled="True" />
+
+% if not disable_window_wrap:
+
+% endif
+
#content%block>">${_("Skip to main content")}
+
+ % if not disable_header:
+ <%include file="${static.get_template_path('header.html')}" />
+ % endif
+
+
+ ${self.body()}
+ <%block name="bodyextra"/>
+
+
+ % if not disable_footer:
+ <%include file="themable-footer.html" />
+ % endif
+
+% if not disable_window_wrap:
+
+% endif
+
+ <%block name="js_extra"/>
+ <%include file="widgets/segment-io-footer.html" />
+
+
+ <%static:optional_include_mako file="body-extra.html" is_theming_enabled="True" />
+
+
+
+<%def name="login_query()">${
+ u"?next={0}".format(urlquote_plus(login_redirect_url)) if login_redirect_url else ""
+}%def>
+
+
+% if settings.FEATURES.get('ENABLE_ONLOAD_BEACON', False):
+
+% endif