diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
index 53747bf..025a6b7 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
@@ -677,6 +677,7 @@
 	from erpnext.controllers.website_list_for_contact import get_list_context
 	list_context = get_list_context(context)
 	list_context["title"] = _("My Invoices")
+	list_context["show_sidebar"] = True
 	return list_context
 
 @frappe.whitelist()
diff --git a/erpnext/hr/doctype/job_opening/job_opening.py b/erpnext/hr/doctype/job_opening/job_opening.py
index 7c42a76..6b7131e 100644
--- a/erpnext/hr/doctype/job_opening/job_opening.py
+++ b/erpnext/hr/doctype/job_opening/job_opening.py
@@ -7,6 +7,8 @@
 import frappe
 
 from frappe.website.website_generator import WebsiteGenerator
+from frappe.utils import quoted
+from frappe.utils.user import get_fullname_and_avatar
 from frappe import _
 
 class JobOpening(WebsiteGenerator):
@@ -15,6 +17,9 @@
 		condition_field = "publish",
 		page_title_field = "job_title",
 	)
+	
+	def get_route(self):
+		return 'jobs/' + quoted(self.page_name)
 
 	def get_context(self, context):
 		context.parents = [{'name': 'jobs', 'title': _('All Jobs') }]
@@ -22,3 +27,4 @@
 def get_list_context(context):
 	context.title = _("Jobs")
 	context.introduction = _('Current Job Openings')
+	context.show_sidebar=True
diff --git a/erpnext/projects/doctype/project/project.py b/erpnext/projects/doctype/project/project.py
index a74cbee..dd12f5b 100644
--- a/erpnext/projects/doctype/project/project.py
+++ b/erpnext/projects/doctype/project/project.py
@@ -160,11 +160,13 @@
 
 def get_list_context(context=None):
 	return {
+		"show_sidebar": True,
 		"title": _("My Projects"),
 		"get_list": get_project_list,
 		"row_template": "templates/includes/projects/project_row.html"
 	}
 
+
 @frappe.whitelist()
 def get_cost_center_name(project):
 	return frappe.db.get_value("Project", project, "cost_center")
diff --git a/erpnext/public/js/shopping_cart.js b/erpnext/public/js/shopping_cart.js
index f57af3b..666e104 100644
--- a/erpnext/public/js/shopping_cart.js
+++ b/erpnext/public/js/shopping_cart.js
@@ -44,13 +44,12 @@
 		var cart_count = getCookie("cart_count");
 		
 		if($(".cart-icon").length == 0) {
-			$('<div class="cart-icon" style="float:right;padding-top:5px;padding-right:10px;padding-left:10px;border-radius:10px;\
-    			border: 2px solid #2fa5d6;color:#2fa5d6;">\
-				<a href="/cart" style="color:#2fa5d6;">\
-					<i class="icon-shopping-cart"></i> <span style="\
-					position: relative; bottom: 2ex; font-size: 75%; margin-left:-12px;" id="cart-count"></span> Cart\
-					</div>\
-				</a></div>').appendTo($('.hidden-xs'))
+			$('<div class="cart-icon small" style="float:right;padding:3px;border-radius:10px;\
+    			border: 1px solid #78D6FF;">\
+				<a href="/cart" style="color:#78D6FF; text-decoration: none">\
+					Cart\
+					<span style="color:#78D6FF;" class="badge" id="cart-count">5</span>\
+				</a></div>').appendTo($('.shopping-cart'))
 		}
 		
 		var $cart = $('.cart-icon');
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index 4111eb4..60bac8d 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -310,6 +310,7 @@
 def get_list_context(context=None):
 	from erpnext.controllers.website_list_for_contact import get_list_context
 	list_context = get_list_context(context)
+	list_context["show_sidebar"] = True
 	list_context["title"] = _("My Orders")
 	list_context["parents"] = [{"title": _("My Account"), "name": "me"}]
 	return list_context
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py
index 6712ee8..ddfa3e4 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.py
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.py
@@ -330,6 +330,7 @@
 	from erpnext.controllers.website_list_for_contact import get_list_context
 	list_context = get_list_context(context)
 	list_context["title"] = _("My Shipments")
+	list_context["show_sidebar"] = True
 	return list_context
 
 def get_invoiced_qty_map(delivery_note):
diff --git a/erpnext/support/doctype/issue/issue.py b/erpnext/support/doctype/issue/issue.py
index b6ee0b6..af1759d 100644
--- a/erpnext/support/doctype/issue/issue.py
+++ b/erpnext/support/doctype/issue/issue.py
@@ -57,7 +57,8 @@
 	return {
 		"title": _("My Issues"),
 		"get_list": get_issue_list,
-		"row_template": "templates/includes/issue_row.html"
+		"row_template": "templates/includes/issue_row.html",
+		"show_sidebar": True
 	}
 
 def get_issue_list(doctype, txt, filters, limit_start, limit_page_length=20):
diff --git a/erpnext/templates/generators/job_opening.html b/erpnext/templates/generators/job_opening.html
index bbc5fee..ad7f942 100644
--- a/erpnext/templates/generators/job_opening.html
+++ b/erpnext/templates/generators/job_opening.html
@@ -10,8 +10,9 @@
 
 {% block page_content %}
 
+{%- if description -%}
 <div>{{ description }}</div>
-
+{% endif %}
 <p>
 	<a class='btn btn-primary'
 	href='/job_application?job_title={{ doc.name }}'>
diff --git a/erpnext/templates/includes/transaction_row.html b/erpnext/templates/includes/transaction_row.html
index 7c03579..a52bb60 100644
--- a/erpnext/templates/includes/transaction_row.html
+++ b/erpnext/templates/includes/transaction_row.html
@@ -1,23 +1,16 @@
 <div class="web-list-item">
 <a href="/{{ pathname }}/{{ doc.name }}">
 <div class="row">
-	<div class="col-sm-8 col-xs-7">
-		<div class="row">
-			<div class="col-sm-9">
-                <div>{{ doc.name }}</div>
+	<div class="col-sm-6">
+
+                <span class="indicator {{ doc.indicator_color or "darkgrey" }}">{{ doc.name }}</span>
                 <div class="small text-muted">{{ doc.items_preview }}</div>
-            </div>
-			<div class="col-sm-3">
-                <span class="indicator {{ doc.indicator_color or "darkgrey" }}">
-                    {{ doc.indicator_title or doc.status or "Submitted" }}
-                </span>
-			</div>
-		</div>
+
 	</div>
-	<div class="col-sm-2 col-xs-5 text-right">
+	<div class="col-sm-3 col-xs-5">
 		{{ doc.get_formatted("grand_total") }}
 	</div>
-	<div class="col-sm-2 small text-muted text-right" title="{{ frappe.utils.format_datetime(doc.creation, "medium") }}">
+	<div class="col-sm-3 small text-muted text-right" title="{{ frappe.utils.format_datetime(doc.creation, "medium") }}">
 		{{ frappe.utils.pretty_date(doc.creation) }}</div>
 </div>
 </a>
