diff --git a/css/all-app.css b/css/all-app.css
index b2fd2e5..97dc509 100644
--- a/css/all-app.css
+++ b/css/all-app.css
@@ -1043,7 +1043,7 @@
 }
 
 div.dialog_body {
-	padding: 8px 4px 16px 4px;
+	padding: 8px 8px 16px;
 	border-radius: 5px;
 	-moz-border-radius: 5px;
 	-webkit-border-radius: 5px;	
@@ -2812,7 +2812,7 @@
 }
 
 .erpnext-footer {
-	margin: 3px auto;
+	margin: 11px auto;
 	text-align: center;
 }
 
diff --git a/css/all-web.css b/css/all-web.css
index 9359de8..c8eb20f 100644
--- a/css/all-web.css
+++ b/css/all-web.css
@@ -362,7 +362,7 @@
 }
 
 div.dialog_body {
-	padding: 8px 4px 16px 4px;
+	padding: 8px 8px 16px;
 	border-radius: 5px;
 	-moz-border-radius: 5px;
 	-webkit-border-radius: 5px;	
@@ -1620,7 +1620,7 @@
 }
 
 .erpnext-footer {
-	margin: 3px auto;
+	margin: 11px auto;
 	text-align: center;
 }
 
diff --git a/erpnext/home/page/activity/activity.js b/erpnext/home/page/activity/activity.js
index d8e22ce..feea380 100644
--- a/erpnext/home/page/activity/activity.js
+++ b/erpnext/home/page/activity/activity.js
@@ -15,8 +15,9 @@
 		this.scrub_data(data);
 		this.add_date_separator(row, data);
 		$(row).append(sprintf('<div style="margin: 0px">\
+			<span style="display: inline-block; min-width: 29px;">
 			<img src="%(imgsrc)s" style= "height: 24px; margin-bottom: -7px; \
-				max-width: 24px; margin-right: 5px"> \
+				max-width: 24px;"></span> \
 			<span %(onclick)s class="label %(add_class)s">%(feed_type)s</span>\
 			%(link)s %(subject)s <span class="user-info">%(by)s</span></div>', data));
 	},
diff --git a/erpnext/home/page/attributions/__init__.py b/erpnext/home/page/attributions/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/home/page/attributions/__init__.py
diff --git a/erpnext/home/page/attributions/attributions.css b/erpnext/home/page/attributions/attributions.css
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/home/page/attributions/attributions.css
diff --git a/erpnext/home/page/attributions/attributions.html b/erpnext/home/page/attributions/attributions.html
new file mode 100644
index 0000000..72703c8
--- /dev/null
+++ b/erpnext/home/page/attributions/attributions.html
@@ -0,0 +1,91 @@
+<div class="layout-wrapper">
+	<a class="close" onclick="window.history.back();">&times;</a>
+	<h1>Attributions</h1>
+	<hr>
+	<p><b>Source Code:</b> <a href="https://github.com/webnotes/erpnext">
+				https://github.com/webnotes/erpnext</a></p>
+	<p><b>Website:</b> <a href="https://erpnext.com">
+				https://erpnext.com</a></p>
+	<hr>
+	<p class="help">ERPNext is an Open Source project and is possible because of the work of
+		thousands of software developers, companies and designers who have contributed their
+		work to the community. We have tried to list as many projects as possible that are
+		used by ERPNext, but this list may not be exhaustive.</p>
+
+
+	<h4>Server</h4>
+	<ul>
+		<li>Linux (GNU)</li>
+		<li>Apache HTTPD server (web server)</li>
+		<li>MySQL (database, Percona build)</li>
+		<li>Git (source code control via Github)</li>
+	</ul>
+		
+	<h4>Programming Languages & Libraries</h4>
+	<ul>
+		<li><a href="http://python.org">Python</a></li>
+		<ul>
+			<li>Python-MySQL</li>
+			<li>pytz (timezones)</li>
+			<li>jinja2 (templating)</li>
+			<li>markdown2 (markdown parser)</li>
+			<li>jsmin (javascript minifier)</li>
+		</ul>
+		<li>Javascript</li>
+		<ul>
+			<li>JQuery</li>
+			<li>JQuery UI (datepicker, sortable)</li>
+			<li>TinyMCE - text editor</li>
+			<li>Twitter Bootstrap</li>
+			<li>jQPlot - graphs</li>
+			<li>JSON2 - JSON builder, parser</li>
+			<li>JSColor - color picker</li>
+			<li>sprintf - string formatting</li>
+			<li>historyjs - AJAX history</li>
+		</ul>
+	</ul>
+
+	<h4>CSS Frameworks</h4>
+	<ul>
+		<li>Twitter Bootstrap</li>
+	</ul>
+		
+	<h4>Icons</h4>
+	<ul>
+		<li>The Noun Project</li>
+		<li>Glyphicons</li>
+	</ul>
+
+	<h4>Web Frameworks</h4>
+	<ul>
+		<li>wnframework</li>
+	</ul>
+
+	<h4>Web Browsers</h4>
+	<ul>
+		<li>Mozilla Firefox</li>
+		<ul>
+			<li>Firebug (debugger)</li>
+		</ul>
+		<li>Apple Safari</li>
+		<li>Google Chorme</li>
+	</ul>
+	<hr>
+	<h2>ERPNext License</h2>
+	<p><b>ERPNext - Open Source, web based ERP</b></p>
+	<p>Copyright &copy; 2008 onwards, Web Notes Technologies Pvt Ltd, India</p>
+
+	<p>This program is free software: you can redistribute it and/or modify
+	    it under the terms of the <b>GNU General Public License</b> as published by
+	    the Free Software Foundation, either version 3 of the License, or
+	    (at your option) any later version.</p>
+
+	    <p>This program is distributed in the hope that it will be useful,
+	    but WITHOUT ANY WARRANTY; without even the implied warranty of
+	    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+	    GNU General Public License for more details.</p>
+
+ 		<p>For complete license see <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a></p>
+	<hr>
+	<p>For more information please write to us at support@erpnext.com</p>
+</div>
\ No newline at end of file
diff --git a/erpnext/home/page/attributions/attributions.js b/erpnext/home/page/attributions/attributions.js
new file mode 100644
index 0000000..fc56784
--- /dev/null
+++ b/erpnext/home/page/attributions/attributions.js
@@ -0,0 +1 @@
+wn.pages['attributions'].onload = function(wrapper) { }
\ No newline at end of file
diff --git a/erpnext/home/page/attributions/attributions.py b/erpnext/home/page/attributions/attributions.py
new file mode 100644
index 0000000..f807eb0
--- /dev/null
+++ b/erpnext/home/page/attributions/attributions.py
@@ -0,0 +1 @@
+import webnotes
\ No newline at end of file
diff --git a/erpnext/home/page/attributions/attributions.txt b/erpnext/home/page/attributions/attributions.txt
new file mode 100644
index 0000000..a15adb9
--- /dev/null
+++ b/erpnext/home/page/attributions/attributions.txt
@@ -0,0 +1,28 @@
+# Page, attributions
+[
+
+	# These values are common in all dictionaries
+	{
+		'creation': '2012-03-01 12:30:42',
+		'docstatus': 0,
+		'modified': '2012-03-01 12:30:42',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
+	},
+
+	# These values are common for all Page
+	{
+		'doctype': 'Page',
+		'module': u'Home',
+		'name': '__common__',
+		'page_name': u'attributions',
+		'standard': u'Yes',
+		'title': u'Attributions'
+	},
+
+	# Page, attributions
+	{
+		'doctype': 'Page',
+		'name': u'attributions'
+	}
+]
\ No newline at end of file
diff --git a/erpnext/startup/startup.css b/erpnext/startup/startup.css
index ae0ef60..1ce0264 100644
--- a/erpnext/startup/startup.css
+++ b/erpnext/startup/startup.css
@@ -16,7 +16,7 @@
 }
 
 .erpnext-footer {
-	margin: 3px auto;
+	margin: 11px auto;
 	text-align: center;
 }
 
diff --git a/erpnext/startup/startup.js b/erpnext/startup/startup.js
index 9a281e2..0de1704 100644
--- a/erpnext/startup/startup.js
+++ b/erpnext/startup/startup.js
@@ -73,7 +73,7 @@
 		// border to the body
 		// ------------------
 		$('footer').html('<div class="web-footer erpnext-footer">\
-			Powered by <a href="https://erpnext.com">ERPNext</a></div>');
+			<a href="#!attributions">ERPNext | Attributions and License</a></div>');
 
 		// complete registration
 		if(in_list(user_roles,'System Manager') && (wn.boot.setup_complete=='No')) { 
diff --git a/js/all-app.js b/js/all-app.js
index 3c65618..5d37f47 100644
--- a/js/all-app.js
+++ b/js/all-app.js
Binary files differ
diff --git a/js/all-web.js b/js/all-web.js
index e802a17..b7c9f35 100644
--- a/js/all-web.js
+++ b/js/all-web.js
@@ -1084,7 +1084,7 @@
 if(wn.boot.user_background){erpnext.set_user_background(wn.boot.user_background);}
 if(user=='Guest'){if(wn.boot.website_settings.title_prefix){wn.title_prefix=wn.boot.website_settings.title_prefix;}}else{wn.boot.profile.allow_modules=wn.boot.profile.allow_modules.concat(['To Do','Knowledge Base','Calendar','Activity'])
 erpnext.toolbar.setup();erpnext.startup.set_periodic_updates();$('footer').html('<div class="web-footer erpnext-footer">\
-   Powered by <a href="https://erpnext.com">ERPNext</a></div>');if(in_list(user_roles,'System Manager')&&(wn.boot.setup_complete=='No')){wn.require("erpnext/startup/js/complete_setup.js");erpnext.complete_setup();}}
+   <a href="#!attributions">ERPNext | Attributions and License</a></div>');if(in_list(user_roles,'System Manager')&&(wn.boot.setup_complete=='No')){wn.require("erpnext/startup/js/complete_setup.js");erpnext.complete_setup();}}
 $('#startup_div').toggle(false);}
 show_chart_browser=function(nm,chart_type){var call_back=function(){if(nm=='Sales Browser'){var sb_obj=new SalesBrowser();sb_obj.set_val(chart_type);}
 else if(nm=='Accounts Browser')
diff --git a/version.num b/version.num
index 19e03cf..eb90589 100644
--- a/version.num
+++ b/version.num
@@ -1 +1 @@
-776
\ No newline at end of file
+780
\ No newline at end of file
