diff --git a/applications/subscriberPortal/src/app/fw/foot/foot.html b/applications/subscriberPortal/src/app/fw/foot/foot.html
index ac21269..b8a7f62 100644
--- a/applications/subscriberPortal/src/app/fw/foot/foot.html
+++ b/applications/subscriberPortal/src/app/fw/foot/foot.html
@@ -1,10 +1,8 @@
 <!--Foot partial html-->
-<div class="foot">
-    <div class="left">
-
-    </div>
-
-    <div class="right">
-        © ONOS Project. All rights reserved.
+<div class="footer">
+    <div class="container">
+        <div class="col-xs-12 text-right">
+            © CORD Project. All rights reserved.
+        </div>
     </div>
 </div>
diff --git a/applications/subscriberPortal/src/app/fw/mast/mast.html b/applications/subscriberPortal/src/app/fw/mast/mast.html
index 8a8571e..30bae4b 100644
--- a/applications/subscriberPortal/src/app/fw/mast/mast.html
+++ b/applications/subscriberPortal/src/app/fw/mast/mast.html
@@ -13,23 +13,20 @@
             </a>
         </div>
         <div id="navbar" class="collapse navbar-collapse">
-            <ul class="nav navbar-nav">
-                <li class="active"><a href="#/">Home</a></li>
-                <li><a href="#/about">About</a></li>
-                <li><a href="#/contact">Contact</a></li>
+            <ul ng-show="page.curr !== 'login'" class="nav navbar-nav pull-right">
+                <li ng-class="{active: page.curr === 'dashboard'}">
+                    <a href="#/home">Home</a>
+                </li>
+                <li ng-class="{active: page.curr === 'user'}">
+                    <a href="#/user">User</a>
+                </li>
+                <li ng-class="{active: page.curr === 'bundle'}">
+                    <a href="#/bundle">Bundle</a>
+                </li>
+                <li ng-click="logout()">
+                    <a href="#/contact">Logout</a>
+                </li>
             </ul>
         </div><!--/.nav-collapse -->
     </div>
 </nav>
-<!--<div class="mast" ng-controller="CordMastCtrl">-->
-    <!--<div class="left">-->
-        <!--<img src="/imgs/logo.png">-->
-    <!--</div>-->
-
-    <!--<div class="right">-->
-        <!--<nav ng-show="page.curr !== 'login'"></nav>-->
-        <!--<li class="logout"-->
-           <!--ng-show="page.curr !== 'login'"-->
-           <!--ng-click="logout()">LOGOUT</li>-->
-    <!--</div>-->
-<!--</div>-->
diff --git a/applications/subscriberPortal/src/app/fw/nav/nav.css b/applications/subscriberPortal/src/app/fw/nav/nav.css
deleted file mode 100644
index 464f95b..0000000
--- a/applications/subscriberPortal/src/app/fw/nav/nav.css
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-.nav ul {
-    display: table;
-    table-layout: fixed;
-    list-style-type: none;
-    width: 80%;
-}
-
-.nav li {
-    padding: 2.5% 0;
-    color: #3C3C3C;
-}
-.nav li:hover {
-    border-bottom: 2px solid #CE5650;
-    color: black;
-}
-.nav li.selected {
-    font-weight: bolder;
-    color: #3C3C3C;
-    letter-spacing: 0.03em;
-    border-bottom: 2px solid #CE5650;
-}
-
-.nav a,
-.nav a:visited {
-    display: table-cell;
-    text-align: center;
-    text-decoration: none;
-    color: black;
-}
diff --git a/applications/subscriberPortal/src/app/fw/nav/nav.html b/applications/subscriberPortal/src/app/fw/nav/nav.html
deleted file mode 100644
index d87f961..0000000
--- a/applications/subscriberPortal/src/app/fw/nav/nav.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!--Nav HTML-->
-<div class="nav">
-    <ul>
-        <a href="#/home">
-            <li ng-class="{selected: page.curr === 'dashboard'}"
-                ng-click="$route.reload()">Home</li>
-        </a>
-        <a href="#/user">
-            <li ng-class="{selected: page.curr === 'user'}"
-                ng-click="$route.reload()">Users</li>
-        </a>
-        <a href="#/bundle">
-            <li ng-class="{selected: page.curr === 'bundle'}"
-                ng-click="$route.reload()">Bundles</li>
-        </a>
-    </ul>
-</div>
diff --git a/applications/subscriberPortal/src/app/fw/nav/nav.js b/applications/subscriberPortal/src/app/fw/nav/nav.js
deleted file mode 100644
index f22ca2f..0000000
--- a/applications/subscriberPortal/src/app/fw/nav/nav.js
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-angular.module('cordNav', [])
-    .directive('navigation', function () {
-        return {
-            restrict: 'E',
-            templateUrl: 'app/fw/nav/nav.html'
-        };
-    });
diff --git a/applications/subscriberPortal/src/cord.js b/applications/subscriberPortal/src/cord.js
index c7a5b65..a937af5 100644
--- a/applications/subscriberPortal/src/cord.js
+++ b/applications/subscriberPortal/src/cord.js
@@ -25,7 +25,6 @@
       'cordRest',
       'cordMast',
       'cordFoot',
-      'cordNav',
       'cordLogin',
       'cordHome',
       'cordUser',
diff --git a/applications/subscriberPortal/src/sass/main.scss b/applications/subscriberPortal/src/sass/main.scss
index abe2359..b18fe8d 100644
--- a/applications/subscriberPortal/src/sass/main.scss
+++ b/applications/subscriberPortal/src/sass/main.scss
@@ -9,28 +9,45 @@
 @import '../app/view/user/user.css';
 @import '../app/view/bundle/bundle.css';
 
+$cord-red: #CE5650;
+
+/* Navigation styles
+-------------------------------------------------- */
+nav {
+  .navbar-brand {
+    padding-top: 0;
+    img {
+      width: 130px;
+    }
+  }
+
+  li:hover,
+  li.active {
+    border-bottom: 2px solid $cord-red;
+  }
+
+  li > a{
+    padding-top: 10px !important;
+    padding-bottom: 10px !important;
+    margin-top: 5px;
+  }
+}
+
 /* Sticky footer styles
 -------------------------------------------------- */
 html {
   position: relative;
   min-height: 100%;
 }
-body {
-  /* Margin bottom by footer height */
-  margin-bottom: 60px;
-}
+
 .footer {
-  position: absolute;
+  position: fixed;
   bottom: 0;
   width: 100%;
   /* Set the fixed height of the footer here */
-  height: 60px;
+  height: 30px;
+  line-height: 30px;
   background-color: #f5f5f5;
+  z-index: 100;
+  box-shadow: 0 10px 5px 10px gray;
 }
-
-.navbar-brand {
-  padding-top: 0;
-  img {
-    width: 130px;
-  }
-}
\ No newline at end of file
diff --git a/applications/subscriberPortal/src/style/main.css b/applications/subscriberPortal/src/style/main.css
index 74128c0..cc90c90 100644
--- a/applications/subscriberPortal/src/style/main.css
+++ b/applications/subscriberPortal/src/style/main.css
@@ -6,27 +6,37 @@
 @import url(../app/view/home/home.css);
 @import url(../app/view/user/user.css);
 @import url(../app/view/bundle/bundle.css);
+/* Navigation styles
+-------------------------------------------------- */
+nav .navbar-brand {
+  padding-top: 0; }
+  nav .navbar-brand img {
+    width: 130px; }
+
+nav li:hover,
+nav li.active {
+  border-bottom: 2px solid #CE5650; }
+
+nav li > a {
+  padding-top: 10px !important;
+  padding-bottom: 10px !important;
+  margin-top: 5px; }
+
 /* Sticky footer styles
 -------------------------------------------------- */
 html {
   position: relative;
   min-height: 100%; }
 
-body {
-  /* Margin bottom by footer height */
-  margin-bottom: 60px; }
-
 .footer {
-  position: absolute;
+  position: fixed;
   bottom: 0;
   width: 100%;
   /* Set the fixed height of the footer here */
-  height: 60px;
-  background-color: #f5f5f5; }
+  height: 30px;
+  line-height: 30px;
+  background-color: #f5f5f5;
+  z-index: 100;
+  box-shadow: 0 10px 5px 10px gray; }
 
-.navbar-brand {
-  padding-top: 0; }
-  .navbar-brand img {
-    width: 130px; }
-
-/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAic3JjL3N0eWxlL21haW4uY3NzIiwKCSJzb3VyY2VzIjogWwoJCSJzcmMvc2Fzcy9tYWluLnNjc3MiCgldLAoJIm1hcHBpbmdzIjogIkFBQUEsT0FBTyxDQUFQLGtDQUFPO0FBRVAsT0FBTyxDQUFQLDRCQUFPO0FBQ1AsT0FBTyxDQUFQLDBCQUFPO0FBQ1AsT0FBTyxDQUFQLDRCQUFPO0FBRVAsT0FBTyxDQUFQLGdDQUFPO0FBQ1AsT0FBTyxDQUFQLDhCQUFPO0FBQ1AsT0FBTyxDQUFQLDhCQUFPO0FBQ1AsT0FBTyxDQUFQLGtDQUFPO0FBRVA7cURBQ3FEO0FBQ3JELElBQUksQ0FBQztFQUNILFFBQVEsRUFBRSxRQUFTO0VBQ25CLFVBQVUsRUFBRSxJQUFLLEdBQ2xCOztBQUNELElBQUksQ0FBQztFQUNILG9DQUFvQztFQUNwQyxhQUFhLEVBQUUsSUFBSyxHQUNyQjs7QUFDRCxPQUFPLENBQUM7RUFDTixRQUFRLEVBQUUsUUFBUztFQUNuQixNQUFNLEVBQUUsQ0FBRTtFQUNWLEtBQUssRUFBRSxJQUFLO0VBQ1osNkNBQTZDO0VBQzdDLE1BQU0sRUFBRSxJQUFLO0VBQ2IsZ0JBQWdCLEVBQUUsT0FBUSxHQUMzQjs7QUFFRCxhQUFhLENBQUM7RUFDWixXQUFXLEVBQUUsQ0FBRSxHQUloQjtFQUxELGFBQWEsQ0FFWCxHQUFHLENBQUM7SUFDRixLQUFLLEVBQUUsS0FBTSxHQUNkIiwKCSJuYW1lcyI6IFtdCn0= */
\ No newline at end of file
+/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAic3JjL3N0eWxlL21haW4uY3NzIiwKCSJzb3VyY2VzIjogWwoJCSJzcmMvc2Fzcy9tYWluLnNjc3MiCgldLAoJIm1hcHBpbmdzIjogIkFBQUEsT0FBTyxDQUFQLGtDQUFPO0FBRVAsT0FBTyxDQUFQLDRCQUFPO0FBQ1AsT0FBTyxDQUFQLDBCQUFPO0FBQ1AsT0FBTyxDQUFQLDRCQUFPO0FBRVAsT0FBTyxDQUFQLGdDQUFPO0FBQ1AsT0FBTyxDQUFQLDhCQUFPO0FBQ1AsT0FBTyxDQUFQLDhCQUFPO0FBQ1AsT0FBTyxDQUFQLGtDQUFPO0FBSVA7cURBQ3FEO0FBQ3JELEdBQUcsQ0FDRCxhQUFhLENBQUM7RUFDWixXQUFXLEVBQUUsQ0FBRSxHQUloQjtFQU5ILEdBQUcsQ0FDRCxhQUFhLENBRVgsR0FBRyxDQUFDO0lBQ0YsS0FBSyxFQUFFLEtBQU0sR0FDZDs7QUFMTCxHQUFHLENBUUQsRUFBRSxBQUFBLE1BQU07QUFSVixHQUFHLENBU0QsRUFBRSxBQUFBLE9BQU8sQ0FBQztFQUNSLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDQWRqQixPQUFPLEdBZWY7O0FBWEgsR0FBRyxDQWFELEVBQUUsR0FBRyxDQUFDLENBQUE7RUFDSixXQUFXLEVBQUUsZUFBZ0I7RUFDN0IsY0FBYyxFQUFFLGVBQWdCO0VBQ2hDLFVBQVUsRUFBRSxHQUFJLEdBQ2pCOztBQUdIO3FEQUNxRDtBQUNyRCxJQUFJLENBQUM7RUFDSCxRQUFRLEVBQUUsUUFBUztFQUNuQixVQUFVLEVBQUUsSUFBSyxHQUNsQjs7QUFFRCxPQUFPLENBQUM7RUFDTixRQUFRLEVBQUUsS0FBTTtFQUNoQixNQUFNLEVBQUUsQ0FBRTtFQUNWLEtBQUssRUFBRSxJQUFLO0VBQ1osNkNBQTZDO0VBQzdDLE1BQU0sRUFBRSxJQUFLO0VBQ2IsV0FBVyxFQUFFLElBQUs7RUFDbEIsZ0JBQWdCLEVBQUUsT0FBUTtFQUMxQixPQUFPLEVBQUUsR0FBSTtFQUNiLFVBQVUsRUFBRSxvQkFBcUIsR0FDbEMiLAoJIm5hbWVzIjogW10KfQ== */
\ No newline at end of file
diff --git a/applications/subscriberPortal/src/style/nav.css b/applications/subscriberPortal/src/style/nav.css
new file mode 100644
index 0000000..7c3a18c
--- /dev/null
+++ b/applications/subscriberPortal/src/style/nav.css
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+.nav li {
+  /*padding: 2.5% 0;*/
+  /*color: #3C3C3C;*/ }
+
+/*.nav li:hover {*/
+/*border-bottom: 2px solid #CE5650;*/
+/*color: black;*/
+/*}*/
+/*.nav li.selected {*/
+/*font-weight: bolder;*/
+/*color: #3C3C3C;*/
+/*letter-spacing: 0.03em;*/
+/*border-bottom: 2px solid #CE5650;*/
+/*}*/
+.nav a,
+.nav a:visited {
+  display: table-cell;
+  text-align: center;
+  text-decoration: none;
+  color: black; }
+
+/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAic3JjL3N0eWxlL25hdi5jc3MiLAoJInNvdXJjZXMiOiBbCgkJInNyYy9hcHAvZncvbmF2L25hdi5jc3MiCgldLAoJIm1hcHBpbmdzIjogIkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFJSCxJQUFJLENBQUMsRUFBRSxDQUFDO0VBQ0osb0JBQW9CO0VBQ3BCLG1CQUFtQixFQUN0Qjs7QUFDRCxtQkFBbUI7QUFDZixxQ0FBcUM7QUFDckMsaUJBQWlCO0FBQ3JCLEtBQUs7QUFDTCxzQkFBc0I7QUFDbEIsd0JBQXdCO0FBQ3hCLG1CQUFtQjtBQUNuQiwyQkFBMkI7QUFDM0IscUNBQXFDO0FBQ3pDLEtBQUs7QUFFTCxJQUFJLENBQUMsQ0FBQztBQUNOLElBQUksQ0FBQyxDQUFDLEFBQUEsUUFBUSxDQUFDO0VBQ1gsT0FBTyxFQUFFLFVBQVc7RUFDcEIsVUFBVSxFQUFFLE1BQU87RUFDbkIsZUFBZSxFQUFFLElBQUs7RUFDdEIsS0FBSyxFQUFFLEtBQU0sR0FDaEIiLAoJIm5hbWVzIjogW10KfQ== */
\ No newline at end of file
