diff --git a/css/styles.css b/css/styles.css
index 5450ec2bb7f2c7e9e402109c80ca11142349a945..1a03f96f7df32891c0b67319ce8240280598cc6d 100644
--- a/css/styles.css
+++ b/css/styles.css
@@ -1948,36 +1948,49 @@ svg:not(:root) {
     padding: 0 16px;
     display: grid;
     font-family: "BureauGrotCond Book", impact, "avenir next condensed heavy", "Droid Sans", sans-serif;
-    grid-template-columns: 100%;
+    grid-template-columns: auto 6rem;
     padding: 16px;
     position: relative; }
     @media (min-width: 75rem) {
       .uw-header__wrapper {
         padding-left: 0;
         padding-right: 0; } }
-    @media (min-width: 48.06rem) {
-      .uw-header__wrapper {
-        grid-template-columns: auto 8rem; } }
     .uw-header__wrapper .uw-site-logo {
-      grid-column: 1 / 3;
+      grid-column: 1 / 2;
       grid-row: 1 / 2; }
-      @media (min-width: 48.06rem) {
-        .uw-header__wrapper .uw-site-logo {
-          grid-column: 1 / 2;
-          grid-row: 1 / 2; } }
     .uw-header__wrapper .uw-header-menu {
-      grid-column: 1 / 3;
-      grid-row: 2 / 3; }
-      @media (min-width: 48.06rem) {
-        .uw-header__wrapper .uw-header-menu {
-          grid-column: 2 / 3;
-          grid-row: 1 / 2; } }
-  .uw-header .uw-site-name {
+      grid-column: 2 / 3;
+      grid-row: 1 / 2; }
+  .uw-header .uw-header__nav {
+    max-width: 100%;
+    padding: 0;
+    width: 100%;
     background-color: #eee; }
+  .uw-header .uw-header__center {
+    margin-left: auto;
+    margin-right: auto;
+    max-width: 75rem;
+    padding: 0 16px;
+    display: grid;
+    grid-template-columns: auto 4rem;
+    padding: 0; }
+    @media (min-width: 75rem) {
+      .uw-header .uw-header__center {
+        padding-left: 0;
+        padding-right: 0; } }
+  .uw-header .uw-header__site-name {
+    grid-column: 1 / 2;
+    grid-row: 1 / 2; }
+  .uw-header .uw-navigation-button {
+    grid-column: 2 / 3;
+    grid-row: 1 / 2; }
+  .uw-header .uw-header__navigation {
+    grid-column: 1 / 3;
+    grid-row: 2 / 3; }
   .uw-header .messages-list {
     background-color: #fff;
-    grid-column: 1 / 5;
-    grid-row: 4 / 5;
+    grid-column: 1 / 3;
+    grid-row: 2 / 3;
     margin-bottom: 0;
     margin-top: 0;
     padding: 0 1rem; }
@@ -4195,6 +4208,7 @@ fieldset,
     .uw-horizontal-nav.uw-horizontal-nav--header .uw-horizontal-nav--menu .menu {
       border: 1px solid #fff;
       height: auto;
+      position: relative;
       width: 6rem; }
       .uw-horizontal-nav.uw-horizontal-nav--header .uw-horizontal-nav--menu .menu a {
         color: #fff;
@@ -4222,10 +4236,7 @@ fieldset,
             right: 0.5rem;
             text-align: center;
             top: 0.5rem;
-            transform: scale(0.75, 0.75); }
-            @media (min-width: 48.06rem) {
-              .uw-horizontal-nav.uw-horizontal-nav--header .uw-horizontal-nav--menu .menu--horizontal > .menu--item.has-submenu > a::after {
-                transform: scale(0.75, 0.75) rotate(90deg); } }
+            transform: scale(0.75, 0.75) rotate(90deg); }
       .uw-horizontal-nav.uw-horizontal-nav--header .uw-horizontal-nav--menu .menu--subnav {
         display: none; }
       .uw-horizontal-nav.uw-horizontal-nav--header .uw-horizontal-nav--menu .menu .submenu-active .menu--subnav {
@@ -4234,8 +4245,8 @@ fieldset,
         left: inherit;
         min-height: auto;
         min-width: 13rem;
-        padding: 1rem;
-        right: 2rem;
+        padding: 1rem 0;
+        right: 0;
         width: auto; }
         .uw-horizontal-nav.uw-horizontal-nav--header .uw-horizontal-nav--menu .menu .submenu-active .menu--subnav .menu--item {
           max-width: inherit; }
@@ -4734,7 +4745,7 @@ fieldset,
     max-width: 75rem;
     padding: 0 16px;
     display: grid;
-    padding: 8px;
+    padding: 0 8px;
     position: relative; }
     @media (min-width: 75rem) {
       .uw-horizontal-nav--wrapper {
@@ -4824,7 +4835,10 @@ fieldset,
     .uw-horizontal-nav--menu .menu .submenu-active.has-submenu--medium .menu--subnav {
       min-height: 25rem; }
     .uw-horizontal-nav--menu .menu .submenu-active.has-submenu--large .menu--subnav {
-      min-height: 35rem; }
+      min-height: 50rem; }
+      @media (min-width: 63.1875rem) {
+        .uw-horizontal-nav--menu .menu .submenu-active.has-submenu--large .menu--subnav {
+          min-height: 35rem; } }
     .uw-horizontal-nav--menu .menu .submenu-active .menu--subnav {
       margin-left: auto;
       margin-right: auto;
@@ -4839,9 +4853,8 @@ fieldset,
       flex-wrap: wrap;
       height: 100%;
       left: 3rem;
-      min-height: 80vh;
       padding-bottom: 1rem;
-      padding-top: 2.5rem !important;
+      padding-top: 2.5rem;
       position: absolute;
       top: 100%;
       width: 100%;
@@ -4850,9 +4863,9 @@ fieldset,
         .uw-horizontal-nav--menu .menu .submenu-active .menu--subnav {
           padding-left: 0;
           padding-right: 0; } }
-      @media (min-width: 75rem) {
+      @media (min-width: 40.06rem) {
         .uw-horizontal-nav--menu .menu .submenu-active .menu--subnav {
-          width: calc(100% - 7rem); } }
+          width: calc(100% - 6rem); } }
       .uw-horizontal-nav--menu .menu .submenu-active .menu--subnav .menu--subnav {
         align-items: inherit;
         background: inherit;
@@ -5150,141 +5163,112 @@ fieldset,
   .messages--warning::before {
     background-image: url("../source/images/icons/messages-warning.svg"); }
 
-.mobile-menu-button {
+.uw-navigation-button {
   outline: 2px solid transparent;
   outline-offset: 2px;
   background-color: transparent;
-  border: 0;
-  border-radius: 0;
-  box-shadow: none;
-  display: inline-block;
-  font-family: Typ1451-Regular,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Oxygen-Sans", Ubuntu, Cantarell, "Fira Sans", Droid Sans, sans-serif;
-  font-size: 1.125rem;
-  font-weight: 600;
-  height: 55px;
-  line-height: 55px;
-  margin: 0;
-  padding: 0 16px;
-  text-decoration: none; }
-  .mobile-menu-button:focus {
+  border-radius: inherit;
+  color: #4e4e4e;
+  cursor: pointer;
+  display: block;
+  font-family: "BureauGrot Book", impact, "avenir next condensed heavy", "Droid Sans", sans-serif;
+  font-size: 9.984px;
+  font-weight: 400;
+  letter-spacing: 0;
+  margin: inherit;
+  margin-bottom: 0;
+  max-width: inherit;
+  padding: 0;
+  padding-top: 16px;
+  position: relative;
+  text-align: center;
+  text-decoration: none;
+  text-transform: uppercase;
+  -webkit-user-select: none;
+     -moz-user-select: none;
+      -ms-user-select: none;
+          user-select: none;
+  vertical-align: inherit;
+  white-space: nowrap;
+  width: 100%; }
+  .uw-navigation-button:focus {
     outline-color: #4773aa; }
-
-.mobile-menu-button__icon {
-  height: 22px;
-  overflow: hidden;
-  width: 22px;
-  background-position: 50% 50%;
-  background-repeat: no-repeat;
-  background-size: 22px 22px;
-  display: inline-block;
-  margin-top: 16px; }
-  .mobile-menu-button__icon::before {
-    content: '';
+  @media (min-width: 48.06rem) {
+    .uw-navigation-button {
+      display: none; } }
+  .uw-navigation-button:hover, .uw-navigation-button:focus {
+    border: 0;
+    outline: none !important; }
+  .uw-navigation-button:active {
+    outline: none !important; }
+  .uw-navigation-button[disabled] {
+    cursor: default;
+    pointer-events: none; }
+  .uw-navigation-button[aria-expanded='true'] > .uw-navigation-button__lines {
+    background-color: transparent;
+    transition: background-color, opacity 0s;
+    width: 1.5rem; }
+  .uw-navigation-button > .uw-navigation-button__lines {
+    background-color: #757575;
     display: block;
-    height: 150%;
-    width: 0; }
-
-.mobile-menu-button--close .mobile-menu-button__icon {
-  background-image: url('data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2222%22%20height%3D%2222%22%20viewBox%3D%220%200%2022%2022%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%3E%0A%3Cpath%20fill%3D%22%23555559%22%20d%3D%22M21.9%202.2l-2.2-2.2-8.8%208.8-8.8-8.8-2.2%202.2%208.8%208.8-8.8%208.8%202.2%202.2%208.8-8.8%208.8%208.8%202.2-2.2-8.8-8.8%208.8-8.8z%22%2F%3E%0A%3C%2Fsvg%3E'); }
-
-.mobile-menu-button--menu .mobile-menu-button__icon {
-  background-image: url('data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2233%22%20height%3D%2222%22%20viewBox%3D%220%200%2033%2022%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%3E%0A%3Cpath%20fill%3D%22%23555559%22%20d%3D%22M0%2022h33.1v-3.7h-33.1v3.7zM0%2012.8h33.1v-3.7h-33.1v3.7zM0%200v3.7h33.1v-3.7h-33.1z%22%2F%3E%0A%3C%2Fsvg%3E');
-  background-size: 33px 22px;
-  width: 33px; }
-
-.mobile-menu {
-  background-color: #eee;
-  background-color: rgba(238, 238, 238, 0.98);
+    font-size: 0;
+    height: 0.125rem;
+    left: 50%;
+    margin-left: -0.75rem;
+    position: absolute;
+    top: 28%;
+    transition: background-color 0.3s;
+    -webkit-user-select: none;
+       -moz-user-select: none;
+        -ms-user-select: none;
+            user-select: none;
+    width: 1.5rem; }
+    .uw-navigation-button > .uw-navigation-button__lines::before, .uw-navigation-button > .uw-navigation-button__lines::after {
+      background: #757575;
+      content: '';
+      height: 100%;
+      left: 0;
+      position: absolute;
+      transition: transform 0.3s;
+      width: 100%; }
+    .uw-navigation-button > .uw-navigation-button__lines::before {
+      transform: translateY(-250%); }
+    .uw-navigation-button > .uw-navigation-button__lines::after {
+      transform: translateY(250%); }
+  .uw-navigation-button[aria-expanded='true'] > .uw-navigation-button__lines::before {
+    transform: translateY(0) rotate(45deg); }
+  .uw-navigation-button[aria-expanded='true'] > .uw-navigation-button__lines::after {
+    transform: translateY(0) rotate(-45deg); }
+
+.no-scroll {
+  bottom: 0;
   left: 0;
-  overflow-y: auto;
+  overflow: auto;
   position: fixed;
-  top: 0;
-  width: 100%;
-  z-index: 999999; }
-
-.mobile-menu__menu {
-  list-style-type: none;
-  margin: 0;
-  padding: 0;
-  margin: 0.75em 0 0; }
-  .mobile-menu__menu li {
-    padding-left: 0; }
-    .mobile-menu__menu li::before {
-      display: none; }
+  right: 0;
+  top: 0; }
 
-.mobile-menu__item {
-  margin: 0;
-  padding: 0;
-  position: relative; }
+.uw-navigation-button[aria-expanded="true"] ~ .uw-header__navigation {
+  display: block; }
 
-.mobile-menu__link {
-  background-color: transparent;
-  border: 0;
-  color: #757575;
-  display: block;
-  font-family: Typ1451-Regular,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Oxygen-Sans", Ubuntu, Cantarell, "Fira Sans", Droid Sans, sans-serif;
-  font-size: 1.266rem;
-  font-weight: 600;
-  line-height: 1.45;
-  margin: 0;
-  padding: 0.76965rem 1rem;
-  text-align: left;
-  text-decoration: none;
-  white-space: normal;
-  width: auto;
-  z-index: 3; }
-  .mobile-menu__link:hover, .mobile-menu__link:focus, .mobile-menu__link:active, .mobile-menu__link.is-active {
-    color: #000; }
-  .mobile-menu__link.has-subnav {
-    margin-right: 44px; }
+.uw-header__navigation {
+  display: none; }
+  .uw-header__navigation.close {
+    display: none; }
+  .uw-header__navigation.open {
+    display: block; }
+  @media (min-width: 48.06rem) {
+    .uw-header__navigation {
+      display: block !important; }
+      .uw-header__navigation.open {
+        display: block !important; } }
 
-.mobile-menu__subnav-arrow {
-  outline: 2px solid transparent;
-  outline-offset: 2px;
-  height: 54px;
-  overflow: hidden;
-  width: 44px;
-  background-image: url('data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2219%22%20height%3D%2212%22%20viewBox%3D%220%200%2019%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%3E%0A%3Cpath%20fill%3D%22%238e8e8e%22%20d%3D%22M2.3%200l7.5%207.5%207.5-7.5%202.3%202.3-9.7%209.7-9.7-9.7%202.3-2.3z%22%2F%3E%0A%3C%2Fsvg%3E');
-  background-attachment: initial;
-  background-color: initial;
-  background-position: 50%;
-  background-repeat: no-repeat;
-  background-size: 19px 12px;
-  border: 0;
-  box-shadow: none;
-  cursor: pointer;
-  display: inline-block;
-  outline-offset: 0;
-  position: absolute;
-  right: 0;
-  top: 0;
-  vertical-align: top;
-  z-index: 2; }
-  .mobile-menu__subnav-arrow:focus {
-    outline-color: #4773aa; }
-  .mobile-menu__subnav-arrow::before {
-    content: '';
-    display: block;
-    height: 150%;
-    width: 0; }
-  [dir='rtl'] .mobile-menu__subnav-arrow {
-    left: 0;
-    right: auto; }
-  .mobile-menu__subnav-arrow[aria-expanded="true"] {
-    background-image: url('data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2219%22%20height%3D%2212%22%20viewBox%3D%220%200%2019%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%3E%0A%3Cpath%20fill%3D%22%238e8e8e%22%20d%3D%22M2.3%2012l7.5-7.5%207.5%207.5%202.3-2.3-9.7-9.7-9.7%209.7%202.3%202.3z%22%2F%3E%0A%3C%2Fsvg%3E'); }
+.no-scroll .uw-header__navigation.open {
+  display: block; }
 
-.mobile-menu__subnav {
-  background-color: #fafafa;
-  background-color: rgba(250, 250, 250, 0.98);
-  display: none;
-  list-style: none;
-  margin: 0;
-  padding: 0; }
-  .mobile-menu__subnav .mobile-menu__link {
-    color: #757575;
-    padding-left: 24px; }
-    .mobile-menu__subnav .mobile-menu__link:hover, .mobile-menu__subnav .mobile-menu__link:focus, .mobile-menu__subnav .mobile-menu__link:active {
-      color: #000; }
+@media (min-width: 48.06rem) {
+  .no-scroll .uw-header__navigation.open {
+    display: block !important; } }
 
 .page-title {
   padding-top: 1rem; }
@@ -5460,17 +5444,23 @@ picture {
     width: 100%; }
 
 .uw-site-logo {
-  width: 12.5rem; }
+  width: 8rem; }
+  @media (min-width: 30rem) {
+    .uw-site-logo {
+      width: 12.5rem; } }
   .uw-site-logo .uw-site-logo__link {
     background: url("../source/images/logos/uwaterloo-logo.svg") 0 50% no-repeat;
     background-color: #000;
     background-size: contain;
     color: #000;
     display: block;
-    height: 2.688rem;
+    height: 100%;
     text-align: center;
     text-indent: -999rem;
     width: 100%; }
+    @media (min-width: 30rem) {
+      .uw-site-logo .uw-site-logo__link {
+        height: 2.688rem; } }
 
 .uw-site-name a:hover {
   text-decoration: underline; }
@@ -5898,3 +5888,9 @@ html:not(.js) .uw-tabcontent[role="tabpanel"][hidden] {
   height: 0;
   overflow: hidden;
   text-indent: -9999px; }
+
+.uw-content-moderation {
+  display: none; }
+
+.admin .uw-content-moderation {
+  display: block; }
diff --git a/js/component_scripts.min.js b/js/component_scripts.min.js
index fd6f029032eccf358797e87391e093898b513acd..6d1d9e0b79a16cdc64be74e10a40de8b0e9a3ae5 100644
--- a/js/component_scripts.min.js
+++ b/js/component_scripts.min.js
@@ -237,23 +237,40 @@
 (function ($, Drupal) {
     Drupal.behaviors.menuhorizontal = {
         attach: function (context, settings) {
+
+
+
+
+
             $(document).ready(function(){
 
 
-                // const toggle = document.querySelector(".toggle");
+                const toggle = document.querySelector(".uw-navigation-button");
+                const navHeader = document.querySelector(".uw-header__navigation");
                 const menus = document.querySelectorAll(".menu--horizontal");
+                // const activeSubs = document.querySelectorAll(".submenu-active");
                 const items = document.querySelectorAll(".menu--item");
 
+
                 /* Toggle mobile menu */
-//                 // function toggleMenu() {
-//                 //     if (menu.classList.contains("active")) {
-//                 //         menu.classList.remove("active");
-//                 //         toggle.querySelector("a").innerHTML = "<i class='fas fa-bars'></i>";
-//                 //     } else {
-//                 //         menu.classList.add("active");
-//                 //         toggle.querySelector("a").innerHTML = "<i class='fas fa-times'></i>";
-//                 //     }
-//                 // }
+                function toggleMenu() {
+
+                    if  (this.classList.contains('active')) {
+                            this.classList.remove('active');
+                            this.setAttribute('aria-expanded', 'false');
+                            navHeader.classList.remove('open');
+                            navHeader.classList.add('close');
+                        $('html').removeClass('no-scroll');
+                    } else {
+                        this.classList.add('active');
+                        this.setAttribute('aria-expanded', 'true');
+                        navHeader.classList.remove('close');
+                        navHeader.classList.add('open');
+                        $('html').addClass('no-scroll');
+
+                    }
+
+                 };
 
                 for (let menu of menus) {
                     /* Activate Submenu */
@@ -297,15 +314,11 @@
                     }
                 }
 
-                /* Event Listeners */
-                /* add to hamburger mobile menu button */
-                // toggle.addEventListener("click", toggleMenu, false);
-
                 for (let item of items) {
                     if (item.querySelector(".menu--subnav")) {
                         item.addEventListener("click", toggleItem, false);
                     }
-                    // add event listeners to keyup event of enter and escape keys for the menu--items .
+                    // Add event listeners to keyup event of enter and escape keys for the menu--items .
                     item.addEventListener('keyup', function(e) {
 
                         if(e.key === "Enter") {
@@ -325,8 +338,61 @@
                         }
                     });
                 }
+
                 document.addEventListener("click", closeSubmenu, false);
+                // Add event listeners on the menu toggle button.
+                toggle.addEventListener("click", toggleMenu, false);
+
+
+
+
+                // apply timeout to the to event firing
+                // so it fires at end of event.
+                function debouncer( func ) {
+                    var timeoutID ,
+                        timeout =  200;
+                    return function () {
+                        var scope = this ,
+                            args = arguments;
+                        clearTimeout( timeoutID );
+                        timeoutID = setTimeout( function () {
+                            func.apply( scope , Array.prototype.slice.call( args ) );
+                        } , timeout );
+                    };
+                }
+                // Check the width of the screen and
+                // force the button click if wider that 767px.
+                function menuCheckWidth() {
+                    // Set screenWidth var
+                    var screenWidth = $(window).width();
+                    if (screenWidth > 767 ) {
+                        console.log('its wider than 767 ');
+                        if($('html').hasClass('no-scroll')){
+                            toggle.click();
+                        }
+                        else{
+                          $('.uw-header__navigation').addClass('open');
+                        }
+
+                    }
+                    else {
+                        if($('.uw-header__navigation').hasClass('open')){
+                            $('.uw-header__navigation').removeClass('open');
+                            $('.uw-header__navigation').addClass('close');
+                        }
+                    }
+                }
+                // Listen to event resize and apply the debouncer
+                // to the menuCheckWidth function.
+                $(window).resize(
+                    debouncer( function () {
+                            menuCheckWidth();
+                        }
+                    )
+                );
+
 
+                menuCheckWidth();
             });
         }
     };
diff --git a/source/_patterns/03-layouts/header/_header.scss b/source/_patterns/03-layouts/header/_header.scss
index 9ed265ba7dccbbf863d30dc91a28af16b034284e..db34feca7ef94941e2f82e49269d5a630c037769 100644
--- a/source/_patterns/03-layouts/header/_header.scss
+++ b/source/_patterns/03-layouts/header/_header.scss
@@ -10,43 +10,50 @@ $site-name-bg: gesso-grayscale(gray-2);
     @include uw-contained-width;
     display: grid;
     font-family:gesso-font-family(condensedbook);
-    grid-template-columns: 100%;
+    grid-template-columns:  auto 6rem;
     padding:gesso-spacing(sm);
     position: relative;
-    @include medium {
-      grid-template-columns:  auto 8rem;
-    }
 
     .uw-site-logo {
-      grid-column: 1 / 3;
+      grid-column: 1 / 2;
       grid-row: 1 / 2;
-      @include medium {
-        grid-column: 1 / 2;
-        grid-row: 1 / 2;
-      }
     }
 
     .uw-header-menu {
-      grid-column: 1 / 3;
-      grid-row: 2 / 3;
-
-      @include medium {
-        grid-column: 2 / 3;
-        grid-row: 1 / 2;
-      }
+      grid-column: 2 / 3;
+      grid-row: 1 / 2;
     }
 
-
   }
 
-  .uw-site-name{
+  .uw-header__nav{
+    @include uw-full-width;
     background-color: $site-name-bg;
 
   }
+  .uw-header__center{
+    @include uw-contained-width;
+    display: grid;
+    grid-template-columns:  auto 4rem;
+    padding:0;
+  }
+  .uw-header__site-name{
+    grid-column: 1 / 2;
+    grid-row: 1 / 2;
+  }
+  .uw-navigation-button{
+    grid-column: 2 / 3;
+    grid-row: 1 / 2;
+  }
+  .uw-header__navigation{
+    grid-column: 1 / 3;
+    grid-row: 2 / 3;
+  }
+
   .messages-list {
     background-color: $uw-white;
-    grid-column: 1 / 5;
-    grid-row: 4 / 5;
+    grid-column: 1 / 3;
+    grid-row: 2 / 3;
     margin-bottom: 0;
     margin-top: 0;
     padding: 0 1rem;
diff --git a/source/_patterns/03-layouts/header/header.twig b/source/_patterns/03-layouts/header/header.twig
index f21bc3ecf05eca28c0ad3e6aab51914d81f7598c..27522a83c0a94f0dfba5fa885a2adfa191e0b3fb 100644
--- a/source/_patterns/03-layouts/header/header.twig
+++ b/source/_patterns/03-layouts/header/header.twig
@@ -16,26 +16,31 @@
       'faculty': faculty
     }%}
 
-
-    <div class="uw-header__site-name">
-      {% include '@components/site-name/site-name.twig' with {
-        'site_name': site_name
-      } %}
-    </div>
-
-    <div class="uw-header__navigation">
-      {% include "@components/menu/menu--horizontal/menu--horizontal.twig" with {
-        'modifier_classes': 'main',
-        'menu_name': 'horizontal',
-        'items': nav_items
-      }%}
-
-      {% include "@components/menu/menu--secondary/menu--secondary.twig" with {
-        'modifier_classes': 'secondary',
-        'items': secondary_items
-      }%}
-
-    </div>
-
+    <nav class="uw-header__nav">
+      <div class="uw-header__center">
+        <div class="uw-header__site-name">
+          {% include '@components/site-name/site-name.twig' with {
+            'site_name': site_name
+          } %}
+        </div>
+        <button class="uw-navigation-button" aria-controls="uw-header__navigation" aria-expanded="false">
+          <span class="uw-navigation-button__text">Menu</span>
+          <span class="uw-navigation-button__lines"></span>
+        </button>
+      </div>
+      <div id="uw-header__navigation" class="uw-header__navigation">
+        {% include "@components/menu/menu--horizontal/menu--horizontal.twig" with {
+          'modifier_classes': 'main',
+          'menu_name': 'horizontal',
+          'items': nav_items
+        }%}
+
+        {% include "@components/menu/menu--secondary/menu--secondary.twig" with {
+          'modifier_classes': 'secondary',
+          'items': secondary_items
+        }%}
+
+      </div>
+    </nav>
 </header>
 
diff --git a/source/_patterns/03-layouts/site-container/site-container.yml b/source/_patterns/03-layouts/site-container/site-container.yml
index e1c37977dc34918c42c2b6e7f86309789cdc6aed..ddfbe58151d40fccbdf893833faa808994a7a7a0 100644
--- a/source/_patterns/03-layouts/site-container/site-container.yml
+++ b/source/_patterns/03-layouts/site-container/site-container.yml
@@ -159,7 +159,7 @@ nav_items:
       options:
         attributes:
           class: ''
-    active_trail: true
+    active_trail: false
     menu_items_count: 10
     submenu:
       - text: 'Research areas'
@@ -175,7 +175,7 @@ nav_items:
           options:
             attributes:
               class: ''
-        active_trail: true
+        active_trail: false
         submenu:
           - text: 'Clinical'
             url: '#'
@@ -211,7 +211,7 @@ nav_items:
               options:
                 attributtes:
                   class: ''
-            active-trial: true
+            active-trial: false
             submenu:
               - text: 'Academic Program for Graduate Study in Industrial-Organizational Psychology'
                 url: '#'
@@ -219,8 +219,7 @@ nav_items:
                   options:
                     attributes:
                       class: ''
-                active_trail: true
-                active: true
+                active_trail: false
           - text: 'Social Psychology'
             url: '#'
             original_link:
diff --git a/source/_patterns/04-components/menu/menu--header/_menu--header.scss b/source/_patterns/04-components/menu/menu--header/_menu--header.scss
index e6bad21ddb0ff320bdcd26d89e9ffceb79a76ec0..283dd2ec384bf83076251a64b2f79a5551ec41a5 100644
--- a/source/_patterns/04-components/menu/menu--header/_menu--header.scss
+++ b/source/_patterns/04-components/menu/menu--header/_menu--header.scss
@@ -25,6 +25,7 @@ $menu-horizontal-bg: gesso-brand(org-default,uw-black,lvl4);
     .menu {
       border:1px solid #fff;
       height:auto;
+      position:relative;
       width:6rem;
       a{
         color: gesso-brand(org-default,uw-white,lvl1);
@@ -64,10 +65,7 @@ $menu-horizontal-bg: gesso-brand(org-default,uw-black,lvl4);
                 right:0.5rem;
                 text-align: center;
                 top:0.5rem;
-                transform: scale(0.75, 0.75);
-                @include medium{
-                  transform: scale(0.75, 0.75) rotate(90deg);
-                }
+                transform: scale(0.75, 0.75) rotate(90deg);
               }
             }
           }
@@ -82,9 +80,10 @@ $menu-horizontal-bg: gesso-brand(org-default,uw-black,lvl4);
         left:inherit;
         min-height:auto;
         min-width:13rem;
-        padding:1rem;
-        right:2rem;
+        padding:1rem 0;
+        right:0;
         width:auto;
+
         .menu--item{
           max-width:inherit;
         }
diff --git a/source/_patterns/04-components/menu/menu--horizontal/_menu--horizontal.scss b/source/_patterns/04-components/menu/menu--horizontal/_menu--horizontal.scss
index f1969f04571b6250f50ddf5dc7910ac29a45cb94..d343ad2440388fb87936b35fec5ddc64ada943df 100644
--- a/source/_patterns/04-components/menu/menu--horizontal/_menu--horizontal.scss
+++ b/source/_patterns/04-components/menu/menu--horizontal/_menu--horizontal.scss
@@ -204,7 +204,7 @@ $faculties: 'org-default', 'org-ahs', 'org-art', 'org-eng', 'org-env', 'org-mat'
   &--wrapper{
     @include uw-contained-width;
     display:grid;
-    padding:gesso-spacing(xs);
+    padding:0 gesso-spacing(xs);
     position:relative;
     @include medium{
       grid-template-columns: 3rem auto;
@@ -303,7 +303,6 @@ $faculties: 'org-default', 'org-ahs', 'org-art', 'org-eng', 'org-env', 'org-mat'
 
       // hide all menus that are classed subnav
       &--subnav {
-
         display: none;
         font-size: $menu-horizontal-sub-font-size;
         text-transform: none;
@@ -322,10 +321,15 @@ $faculties: 'org-default', 'org-ahs', 'org-art', 'org-eng', 'org-env', 'org-mat'
         &.has-submenu--medium .menu--subnav{
           //background: #00f !important;
           min-height: 25rem;
+
         }
         &.has-submenu--large .menu--subnav{
           //background: #800080 !important;
-          min-height: 35rem;
+          min-height:50rem;
+          @include large {
+            min-height: 35rem;
+          }
+
         }
         .menu--subnav{
           @include uw-contained-width;
@@ -338,15 +342,14 @@ $faculties: 'org-default', 'org-ahs', 'org-art', 'org-eng', 'org-env', 'org-mat'
           flex-wrap:wrap;
           height:100%;
           left:3rem;
-          min-height:80vh;
           padding-bottom:1rem;
-          padding-top:2.5rem !important;
+          padding-top:2.5rem;
           position:absolute;
           top:100%;
           width:100%;
           z-index:10;
-          @include xl {
-            width:calc(100% - 7rem);
+          @include small {
+            width:calc(100% - 6rem);
           }
           .menu--subnav{
             align-items: inherit;
diff --git a/source/_patterns/04-components/menu/menu--horizontal/menu--horizontal.js b/source/_patterns/04-components/menu/menu--horizontal/menu--horizontal.js
index f282813177fc6c28b73d6a3f43c7951b6c4df97a..ffed82f0cc1ca04008f4655765995b9ae3e67602 100644
--- a/source/_patterns/04-components/menu/menu--horizontal/menu--horizontal.js
+++ b/source/_patterns/04-components/menu/menu--horizontal/menu--horizontal.js
@@ -1,23 +1,39 @@
 (function ($, Drupal) {
     Drupal.behaviors.menuhorizontal = {
         attach: function (context, settings) {
+
+
+
+
+
             $(document).ready(function(){
 
 
-                // const toggle = document.querySelector(".toggle");
+                const toggle = document.querySelector(".uw-navigation-button");
+                const navHeader = document.querySelector(".uw-header__navigation");
                 const menus = document.querySelectorAll(".menu--horizontal");
                 const items = document.querySelectorAll(".menu--item");
 
+
                 /* Toggle mobile menu */
-//                 // function toggleMenu() {
-//                 //     if (menu.classList.contains("active")) {
-//                 //         menu.classList.remove("active");
-//                 //         toggle.querySelector("a").innerHTML = "<i class='fas fa-bars'></i>";
-//                 //     } else {
-//                 //         menu.classList.add("active");
-//                 //         toggle.querySelector("a").innerHTML = "<i class='fas fa-times'></i>";
-//                 //     }
-//                 // }
+                function toggleMenu() {
+
+                    if  (this.classList.contains('active')) {
+                            this.classList.remove('active');
+                            this.setAttribute('aria-expanded', 'false');
+                            navHeader.classList.remove('open');
+                            navHeader.classList.add('close');
+                        $('html').removeClass('no-scroll');
+                    } else {
+                        this.classList.add('active');
+                        this.setAttribute('aria-expanded', 'true');
+                        navHeader.classList.remove('close');
+                        navHeader.classList.add('open');
+                        $('html').addClass('no-scroll');
+
+                    }
+
+                 };
 
                 for (let menu of menus) {
                     /* Activate Submenu */
@@ -61,15 +77,11 @@
                     }
                 }
 
-                /* Event Listeners */
-                /* add to hamburger mobile menu button */
-                // toggle.addEventListener("click", toggleMenu, false);
-
                 for (let item of items) {
                     if (item.querySelector(".menu--subnav")) {
                         item.addEventListener("click", toggleItem, false);
                     }
-                    // add event listeners to keyup event of enter and escape keys for the menu--items .
+                    // Add event listeners to keyup event of enter and escape keys for the menu--items .
                     item.addEventListener('keyup', function(e) {
 
                         if(e.key === "Enter") {
@@ -89,8 +101,60 @@
                         }
                     });
                 }
+
                 document.addEventListener("click", closeSubmenu, false);
+                // Add event listeners on the menu toggle button.
+                toggle.addEventListener("click", toggleMenu, false);
+
+
+
+
+                // apply timeout to the to event firing
+                // so it fires at end of event.
+                function debouncer( func ) {
+                    var timeoutID ,
+                        timeout =  200;
+                    return function () {
+                        var scope = this ,
+                            args = arguments;
+                        clearTimeout( timeoutID );
+                        timeoutID = setTimeout( function () {
+                            func.apply( scope , Array.prototype.slice.call( args ) );
+                        } , timeout );
+                    };
+                }
+                // Check the width of the screen and
+                // force the button click if wider that 767px.
+                function menuCheckWidth() {
+                    // Set screenWidth var
+                    var screenWidth = $(window).width();
+                    if (screenWidth > 767 ) {
+                        if($('html').hasClass('no-scroll')){
+                            toggle.click();
+                        }
+                        else{
+                          $('.uw-header__navigation').addClass('open');
+                        }
+
+                    }
+                    else {
+                        if($('.uw-header__navigation').hasClass('open')){
+                            $('.uw-header__navigation').removeClass('open');
+                            $('.uw-header__navigation').addClass('close');
+                        }
+                    }
+                }
+                // Listen to event resize and apply the debouncer
+                // to the menuCheckWidth function.
+                $(window).resize(
+                    debouncer( function () {
+                            menuCheckWidth();
+                        }
+                    )
+                );
+
 
+                menuCheckWidth();
             });
         }
     };
diff --git a/source/_patterns/04-components/mobile-menu-button/_mobile-menu-button.scss b/source/_patterns/04-components/mobile-menu-button/_mobile-menu-button.scss
index 3debcb7e2f1c2dc39ea6ff4ca4812bbf4bf16474..98d0e797f6225224eef177180f2f7b1807a6666c 100644
--- a/source/_patterns/04-components/mobile-menu-button/_mobile-menu-button.scss
+++ b/source/_patterns/04-components/mobile-menu-button/_mobile-menu-button.scss
@@ -1,42 +1,103 @@
 // @file
 // Styles for the mobile menu buttons.
 
-.mobile-menu-button {
+.uw-navigation-button{
   @include focus();
   background-color: transparent;
-  border: 0;
-  border-radius: 0;
-  box-shadow: none;
-  display: inline-block;
-  font-family: gesso-font-family(system);
-  font-size: rem(gesso-font-size(1));
-  font-weight: gesso-font-weight(bold);
-  height: 55px;
-  line-height: 55px;
-  margin: 0;
-  padding: 0 gesso-spacing(sm);
+  border-radius: inherit;
+  color: gesso-grayscale('gray-6');
+  cursor: pointer;
+  display:block;
+  @include medium{
+    display:none;
+  }
+  font-family: gesso-font-family(book);
+  font-size: gesso-font-size(-4);
+  font-weight: 400;
+  letter-spacing:0;
+  margin: inherit;
+  margin-bottom: 0;
+  max-width: inherit;
+  padding:0;
+  padding-top: gesso-spacing(sm);
+  position: relative;
+  text-align: center;
   text-decoration: none;
-}
+  text-transform: uppercase;
+  user-select: none;
+  vertical-align: inherit;
+  white-space: nowrap;
+  width: 100%;
+
+  &:visited {
+    //color: $color-text;
+  }
+
+  &:hover,
+  &:focus {
+    //background-color: $color-background-hover;
+    //background-image:$button-background-image;
+    border: 0;
+    outline: none !important;
 
-.mobile-menu-button__icon {
-  @include image-replace(22px, 22px);
-  background-position: 50% 50%;
-  background-repeat: no-repeat;
-  background-size: 22px 22px;
-  display: inline-block;
-  margin-top: gesso-spacing(sm);
-}
 
-.mobile-menu-button--close {
-  .mobile-menu-button__icon {
-    @include svg-background-inline(mobile-close);
   }
-}
 
-.mobile-menu-button--menu {
-  .mobile-menu-button__icon {
-    @include svg-background-inline(mobile-menu);
-    background-size: 33px 22px;
-    width: 33px;
+  &:active {
+    //background-color: $color-background-active;
+    //background-image:$button-background-image;
+    //color: $color-text-active;
+    outline: none !important;
+  }
+
+  &[disabled] {
+    //background-color: $color-background-disabled;
+    //background-image:$button-background-image;
+    //color: $color-text-disabled;
+    cursor: default;
+    pointer-events: none;
+  }
+  &[aria-expanded='true'] >.uw-navigation-button__lines{
+    background-color: transparent;
+    transition: background-color, opacity 0s;
+    width: 1.5rem;
+  }
+  > .uw-navigation-button__lines {
+    background-color: gesso-grayscale(gray-5);
+    display: block;
+    font-size: 0;
+    height: 0.125rem;
+    left: 50%;
+    margin-left: -0.75rem;
+    position: absolute;
+    top:28%;
+    transition: background-color 0.3s;
+    user-select: none;
+    width: 1.5rem;
+    &::before,
+    &::after{
+      background: gesso-grayscale(gray-5);
+      content: '';
+      height: 100%;
+      left: 0;
+      position: absolute;
+      transition: transform 0.3s;
+      width: 100%;
+    }
+    &::before{
+      transform: translateY(-250%);
+    }
+    &::after{
+      transform: translateY(250%);
+    }
+  }
+
+  &[aria-expanded='true'] > .uw-navigation-button__lines::before{
+    transform: translateY(0) rotate(45deg);
+
   }
+  &[aria-expanded='true'] > .uw-navigation-button__lines::after{
+    transform: translateY(0) rotate(-45deg);
+  }
+
 }
diff --git a/source/_patterns/04-components/mobile-menu/_mobile-menu.scss b/source/_patterns/04-components/mobile-menu/_mobile-menu.scss
index 81b8be5d03e38741dbf97e1208d0365fad34b599..304ea99b817ce9aa404f618b2712079c55d70e3a 100644
--- a/source/_patterns/04-components/mobile-menu/_mobile-menu.scss
+++ b/source/_patterns/04-components/mobile-menu/_mobile-menu.scss
@@ -1,118 +1,167 @@
-// @file
-// Styles for the mobile menu.
+//// @file
+//// Styles for the mobile menu.
+//
+//$mobile-menu-fallback-bg-color: gesso-color(ui, generic, background-light) !default;
+//$mobile-menu-bg-color: rgba(gesso-color(ui, generic, background-light), 0.98) !default;
+//$mobile-menu-link-color: gesso-color(ui, generic, text-dark) !default;
+//$mobile-menu-link-hover-color: gesso-color(ui, generic, text-darker) !default;
+//$mobile-menu-submenu-fallback-bg-color: gesso-color(ui, generic, background-lighter) !default;
+//$mobile-menu-submenu-bg-color: rgba(gesso-color(ui, generic, background-lighter), 0.98) !default;
+//$mobile-menu-submenu-link-color: gesso-color(ui, generic, text-dark) !default;
+//$mobile-menu-submenu-link-hover-color: gesso-color(ui, generic, text-darker) !default;
+//$mobile-menu-button-height: 54px;
+//$mobile-menu-button-width: 44px;
+//$mobile-menu-font-size: gesso-font-size(2);
+//$mobile-menu-line-height: gesso-line-height(base);
+//
+//.mobile-menu {
+//  background-color: $mobile-menu-fallback-bg-color;
+//  background-color: $mobile-menu-bg-color;
+//  left: 0;
+//  overflow-y: auto;
+//  position: fixed;
+//  top: 0;
+//  width: 100%;
+//  z-index: 999999;
+//}
+//
+//.mobile-menu__menu {
+//  @include list-clean;
+//  margin: 0.75em 0 0;
+//}
+//
+//.mobile-menu__item {
+//  margin: 0;
+//  padding: 0;
+//  position: relative;
+//}
+//
+//.mobile-menu__link {
+//  background-color: transparent;
+//  border: 0;
+//  color: $mobile-menu-link-color;
+//  display: block;
+//  font-family: gesso-font-family(system);
+//  font-size: rem($mobile-menu-font-size);
+//  font-weight: gesso-font-weight(bold);
+//  line-height: $mobile-menu-line-height;
+//  margin: 0;
+//  padding: rem(($mobile-menu-button-height - ($mobile-menu-font-size * $mobile-menu-line-height)) / 2) rem(gesso-spacing(sm));
+//  text-align: left;
+//  text-decoration: none;
+//  white-space: normal;
+//  width: auto;
+//  z-index: 3;
+//
+//  &:hover,
+//  &:focus,
+//  &:active,
+//  &.is-active {
+//    color: $mobile-menu-link-hover-color;
+//  }
+//
+//  &.has-subnav {
+//    margin-right: $mobile-menu-button-width;
+//  }
+//}
+//
+//.mobile-menu__subnav-arrow {
+//  @include focus();
+//  @include image-replace($mobile-menu-button-width, $mobile-menu-button-height);
+//  @include svg-background-inline(mobile-arrow-down);
+//  background-attachment: initial;
+//  background-color: initial;
+//  background-position: 50%;
+//  background-repeat: no-repeat;
+//  background-size: 19px 12px;
+//  border: 0;
+//  box-shadow: none;
+//  cursor: pointer;
+//  display: inline-block;
+//  outline-offset: 0;
+//  position: absolute;
+//  right: 0;
+//  top: 0;
+//  vertical-align: top;
+//  z-index: 2;
+//
+//  @if $support-for-rtl {
+//    [dir='rtl'] & {
+//      left: 0;
+//      right: auto;
+//    }
+//  }
+//
+//  &[aria-expanded="true"] {
+//    @include svg-background-inline(mobile-arrow-up);
+//  }
+//}
+//
+//.mobile-menu__subnav {
+//  background-color: $mobile-menu-submenu-fallback-bg-color;
+//  background-color: $mobile-menu-submenu-bg-color;
+//  display: none;
+//  list-style: none;
+//  margin: 0;
+//  padding: 0;
+//
+//  .mobile-menu__link {
+//    color: $mobile-menu-submenu-link-color;
+//    padding-left: gesso-spacing(md);
+//
+//    &:hover,
+//    &:focus,
+//    &:active {
+//      color: $mobile-menu-submenu-link-hover-color;
+//    }
+//  }
+//}
 
-$mobile-menu-fallback-bg-color: gesso-color(ui, generic, background-light) !default;
-$mobile-menu-bg-color: rgba(gesso-color(ui, generic, background-light), 0.98) !default;
-$mobile-menu-link-color: gesso-color(ui, generic, text-dark) !default;
-$mobile-menu-link-hover-color: gesso-color(ui, generic, text-darker) !default;
-$mobile-menu-submenu-fallback-bg-color: gesso-color(ui, generic, background-lighter) !default;
-$mobile-menu-submenu-bg-color: rgba(gesso-color(ui, generic, background-lighter), 0.98) !default;
-$mobile-menu-submenu-link-color: gesso-color(ui, generic, text-dark) !default;
-$mobile-menu-submenu-link-hover-color: gesso-color(ui, generic, text-darker) !default;
-$mobile-menu-button-height: 54px;
-$mobile-menu-button-width: 44px;
-$mobile-menu-font-size: gesso-font-size(2);
-$mobile-menu-line-height: gesso-line-height(base);
 
-.mobile-menu {
-  background-color: $mobile-menu-fallback-bg-color;
-  background-color: $mobile-menu-bg-color;
+.no-scroll {
+  bottom: 0;
   left: 0;
-  overflow-y: auto;
+  overflow: auto;
   position: fixed;
+  right: 0;
   top: 0;
-  width: 100%;
-  z-index: 999999;
-}
 
-.mobile-menu__menu {
-  @include list-clean;
-  margin: 0.75em 0 0;
-}
 
-.mobile-menu__item {
-  margin: 0;
-  padding: 0;
-  position: relative;
 }
 
-.mobile-menu__link {
-  background-color: transparent;
-  border: 0;
-  color: $mobile-menu-link-color;
-  display: block;
-  font-family: gesso-font-family(system);
-  font-size: rem($mobile-menu-font-size);
-  font-weight: gesso-font-weight(bold);
-  line-height: $mobile-menu-line-height;
-  margin: 0;
-  padding: rem(($mobile-menu-button-height - ($mobile-menu-font-size * $mobile-menu-line-height)) / 2) rem(gesso-spacing(sm));
-  text-align: left;
-  text-decoration: none;
-  white-space: normal;
-  width: auto;
-  z-index: 3;
 
-  &:hover,
-  &:focus,
-  &:active,
-  &.is-active {
-    color: $mobile-menu-link-hover-color;
-  }
-
-  &.has-subnav {
-    margin-right: $mobile-menu-button-width;
-  }
+.uw-navigation-button[aria-expanded="true"] ~  .uw-header__navigation  {
+  display:block;
 }
 
-.mobile-menu__subnav-arrow {
-  @include focus();
-  @include image-replace($mobile-menu-button-width, $mobile-menu-button-height);
-  @include svg-background-inline(mobile-arrow-down);
-  background-attachment: initial;
-  background-color: initial;
-  background-position: 50%;
-  background-repeat: no-repeat;
-  background-size: 19px 12px;
-  border: 0;
-  box-shadow: none;
-  cursor: pointer;
-  display: inline-block;
-  outline-offset: 0;
-  position: absolute;
-  right: 0;
-  top: 0;
-  vertical-align: top;
-  z-index: 2;
-
-  @if $support-for-rtl {
-    [dir='rtl'] & {
-      left: 0;
-      right: auto;
-    }
+.uw-header__navigation{
+  display:none;
+  &.close{
+    display:none;
+  }
+  &.open{
+    display:block;
   }
+  @include medium{
+    display:block !important;
+    &.open{
+      display:block !important;
+    }
 
-  &[aria-expanded="true"] {
-    @include svg-background-inline(mobile-arrow-up);
   }
 }
 
-.mobile-menu__subnav {
-  background-color: $mobile-menu-submenu-fallback-bg-color;
-  background-color: $mobile-menu-submenu-bg-color;
-  display: none;
-  list-style: none;
-  margin: 0;
-  padding: 0;
+.no-scroll{
+  .uw-header__navigation{
+    &.open{
+      display:block;
+    }
+    @include medium{
 
-  .mobile-menu__link {
-    color: $mobile-menu-submenu-link-color;
-    padding-left: gesso-spacing(md);
+      &.open{
+        display:block !important;
+      }
 
-    &:hover,
-    &:focus,
-    &:active {
-      color: $mobile-menu-submenu-link-hover-color;
     }
   }
-}
+}
\ No newline at end of file
diff --git a/source/_patterns/04-components/site-logo/_site-logo.scss b/source/_patterns/04-components/site-logo/_site-logo.scss
index 519e64099c9f10d4de8b7715661703d4a2bd0b32..538c3adee4897a75291b41ec0b2d562ac53760b1 100644
--- a/source/_patterns/04-components/site-logo/_site-logo.scss
+++ b/source/_patterns/04-components/site-logo/_site-logo.scss
@@ -2,14 +2,21 @@
 // Styles for Site logo.
 
 .uw-site-logo {
-  width:12.5rem;
+  width:8rem;
+  @include xs {
+    width:12.5rem;
+  }
   .uw-site-logo__link{
     background: url('../source/images/logos/uwaterloo-logo.svg') 0 50% no-repeat;
     background-color: gesso-brand(org-default,uw-black,lvl4);
     background-size: contain;
     color: gesso-brand(org-default,uw-black,lvl4);
     display: block;
-    height: 2.688rem;
+    height: 100%;
+
+    @include xs {
+      height: 2.688rem;
+    }
     text-align:center;
     text-indent: -999rem;
     width: 100%;