diff --git a/home/page/desktop/desktop.js b/home/page/desktop/desktop.js
index fc5f22b..70bd656 100644
--- a/home/page/desktop/desktop.js
+++ b/home/page/desktop/desktop.js
@@ -15,6 +15,7 @@
 }
 
 erpnext.desktop.render = function() {
+	document.title = "Desktop";
 	var add_icon = function(m) {
 		var module = wn.modules[m];
 		if(!module.label) 
diff --git a/website/css/website.css b/website/css/website.css
index daf0318..d1be219 100644
--- a/website/css/website.css
+++ b/website/css/website.css
@@ -18,7 +18,7 @@
 }
 
 p, li {
-	line-height: 1.6em;
+	line-height: 1.5em;
 }
 
 .layout-wrapper {
@@ -30,10 +30,7 @@
 
 .layout-main {
 	min-height: 400px;
-}
-
-.layout-side-section {
-	padding: 8px;
+	padding: 30px;
 }
 
 .web-footer-menu {
diff --git a/website/templates/html/product_group.html b/website/templates/html/product_group.html
index feebafe..a503882 100644
--- a/website/templates/html/product_group.html
+++ b/website/templates/html/product_group.html
@@ -36,6 +36,8 @@
 					{% endfor %}
 				</table>
 			</div>
+			{% else %}
+				<div class="alert">No items listed.</div>
 			{% endif %}
 		</div>
 	</div>
diff --git a/website/templates/pages/about.html b/website/templates/pages/about.html
index 669aed9..7ccfa77 100644
--- a/website/templates/pages/about.html
+++ b/website/templates/pages/about.html
@@ -7,7 +7,7 @@
 {% block content %}
 <div class="layout-wrapper">
 	<div class="layout-main">
-	{{ obj.doc.company_introduction or "Some Introduction about your company that you would like your website visitor to know. More people than you think will read your About page. People always like to know who the are doing business with. Be authentic and avoid using jargon like 'value added services' etc. Be sure to update your company history and list of key team members in Website > About Us Settings" }}
+	{{ obj.doc.company_introduction or "<h2>About Us</h2><p>Some Introduction about your company that you would like your website visitor to know. More people than you think will read your About page. People always like to know who the are doing business with. Be authentic and avoid using jargon like 'value added services' etc. Be sure to update your company history and list of key team members in Website > About Us Settings</p>" }}
 	{% if obj.doclist.get({"doctype":"Company History"}) %}
 	<h3>{{ obj.doc.company_history_heading or "Company History" }}</h3>
 	<table class="table table-bordered" style="width: 100%; table-layout: fixed">
diff --git a/website/templates/pages/contact.html b/website/templates/pages/contact.html
index e5ba27c..005d36a 100644
--- a/website/templates/pages/contact.html
+++ b/website/templates/pages/contact.html
@@ -10,13 +10,15 @@
 
 {% block content %}
 <div class="layout-wrapper">
-	<div class="layout-main">
+	<div class="layout-main row">
 		<div class="web-form span5 pull-left">
 			{{ obj.doc.introduction or "<h3>Contact Us</h3>"}}
-			<div class="span4" style="margin-left:0px;">
+			<div class="row">
+			<div class="span4">
 				<p id="contact-alert" class="alert" 
 					style="display: none;">&nbsp;</p>
 			</div>
+			</div>
 			<div class="clearfix"></div>
 			<p><select class="span4" name="subject">
 				{% for option in obj.doc.query_options %}
@@ -28,25 +30,25 @@
 			<p><button class="btn btn-primary btn-send">Send</button></p>
 		</div>
 		{% if obj.doc.address %}
-		<div class="pull-right span3" itemscope itemtype="http://schema.org/PostalAddress">
-			<h4>{{ obj.address.address_title }}</h4>
+		<div class="pull-right span3 alert" itemscope itemtype="http://schema.org/PostalAddress">
+			<h4><i class="icon-map-marker"></i> {{ obj.address.address_title }}</h4>
 			{% if obj.address.address_line1 %}
-				<p itemprop="streetAddress">{{ obj.address.address_line1 }}</p>
+				<span itemprop="streetAddress">{{ obj.address.address_line1 }}</span><br>
 			{% endif %}
 			{% if obj.address.address_line2 %}
-				<p itemprop="streetAddress">{{ obj.address.address_line2 }}</p>
+				<span itemprop="streetAddress">{{ obj.address.address_line2 }}</span><br>
 			{% endif %}
 			{% if obj.address.city %}
-				<p itemprop="addressLocality">{{ obj.address.city }}</p>
+				<span itemprop="addressLocality">{{ obj.address.city }}</span><br>
 			{% endif %}
 			{% if obj.address.state %}
-				<p itemprop="addressRegion">{{ obj.address.state }}</p>
+				<span itemprop="addressRegion">{{ obj.address.state }}</span><br>
 			{% endif %}
 			{% if obj.address.pincode %}
-				<p itemprop="postalCode">{{ obj.address.pincode }}</p>
+				<span itemprop="postalCode">{{ obj.address.pincode }}</span><br>
 			{% endif %}
 			{% if obj.address.country %}
-				<p itemprop="addressCountry">{{ obj.address.country }}</p>
+				<span itemprop="addressCountry">{{ obj.address.country }}</span><br>
 			{% endif %}
 		</div>
 		{% endif %}
