diff --git a/apps/contacts/css/contacts.css b/apps/contacts/css/contacts.css
index 3eb3144bf4bbfde57b3fa464c377406e3454f3b2..0541f16b66cd162f90c99e3010db6843a33a8fcb 100644
--- a/apps/contacts/css/contacts.css
+++ b/apps/contacts/css/contacts.css
@@ -3,7 +3,6 @@
 }*/
 #leftcontent { top: 3.5em !important; }
 #rightcontent { top: 3.5em !important; padding-top: 5px; }
-#contacts { background: #fff; width: 20em; top: 3.7em; bottom:3em; position: fixed; overflow: auto; }
 #bottomcontrols { padding: 0; bottom:0px; height:2.8em; width: 20em; margin:0; background:#eee; border-top:1px solid #ccc; position:fixed; -moz-box-shadow: 0 0 0 #000, -3px 0 7px #000; -webkit-box-shadow: 0 0 0 #000, -3px 0 7px #000; box-shadow: 0 0 0 #000, -3px 0 7px #000;}
 #contacts_newcontact { float: left; margin: 0.2em 0 0 1em; }
 #chooseaddressbook { float: right; margin: 0.2em 1em 0 0; }
@@ -30,6 +29,8 @@ textarea { width: 80%; min-height: 5em; min-width: 30em; margin: 0 !important; p
 dl.form { width: 100%; float: left; clear: right; margin: 0; padding: 0; }
 .form dt { display: table-cell; clear: left; float: left; width: 7em; margin: 0; padding: 0.8em 0.5em 0 0; text-align:right; text-overflow:ellipsis; o-text-overflow: ellipsis; vertical-align: text-bottom; color: #bbb;/* white-space: pre-wrap; white-space: -moz-pre-wrap !important; white-space: -pre-wrap; white-space: -o-pre-wrap;*/ }
 .form dd { display: table-cell; clear: right; float: left; margin: 0; padding: 0px; white-space: nowrap; vertical-align: text-bottom; }
+.propertycontainer[data-element="EMAIL"] > input[type="email"] { min-width: 19em !important; }
+.propertycontainer[data-element="TEL"] > input[type="text"] { width: 10em !important; }
 #address.form dt { min-width: 5em; }
 #address.form dl { min-width: 10em; }
 .droptarget { margin: 0.5em; padding: 0.5em; border: thin solid #ccc; -moz-border-radius:.3em; -webkit-border-radius:.3em; border-radius:.3em; }
@@ -102,4 +103,5 @@ input[type="checkbox"] { width: 20px; height: 20px; vertical-align: bottom; }
 .propertylist li > input[type="checkbox"],input[type="radio"] { float: left; clear: left; width: 20px; height: 20px; vertical-align: middle; }
 .propertylist li > select { float: left; max-width: 8em; }
 .typelist { float: left; max-width: 10em; border: 0; background-color: #fff; } /* for multiselect */
+.typelist:hover, .typelist:active { background:#fff; color:#333; border:1px solid #ddd; -moz-box-shadow:0 1px 1px #fff, 0 2px 0 #bbb outset; -webkit-box-shadow:0 1px 1px #fff, 0 1px 0 #bbb outset; box-shadow:0 1px 1px #fff, 0 1px 0 #bbb outset; -moz-border-radius:.5em; -webkit-border-radius:.5em; border-radius:.5em; outline:none; }
 .addresslist { clear: both; font-weight: bold; }
diff --git a/apps/contacts/js/contacts.js b/apps/contacts/js/contacts.js
index 68a01174d8326c9a3732235c5d80e4273ab84a19..19f709abff359645daa8714a81ac3a3949d0688e 100644
--- a/apps/contacts/js/contacts.js
+++ b/apps/contacts/js/contacts.js
@@ -171,7 +171,7 @@ Contacts={
 				// Make sure proper DOM is loaded.
 				var newid;
 				if(id == undefined) {
-					newid = $('#contacts li:first-child').data('id');
+					newid = $('#leftcontent li:first-child').data('id');
 				} else {
 					newid = id;
 				}
@@ -184,9 +184,9 @@ Contacts={
 						}
 					});
 				}
-				if($('#contacts li').length > 0) {
-					//var newid = $('#contacts li:first-child').data('id');
-					//$('#contacts li:first-child').addClass('active');
+				if($('#leftcontent li').length > 0) {
+					//var newid = $('#leftcontent li:first-child').data('id');
+					//$('#leftcontent li:first-child').addClass('active');
 					$('#leftcontent li[data-id="'+newid+'"]').addClass('active');
 					$.getJSON(OC.filePath('contacts', 'ajax', 'contactdetails.php'),{'id':newid},function(jsondata){
 						if(jsondata.status == 'success'){
@@ -195,7 +195,7 @@ Contacts={
 							OC.dialogs.alert(jsondata.data.message, t('contacts', 'Error'));
 						}
 					});
-				} else if($('#contacts li').length == 0) {
+				} else if($('#leftcontent li').length == 0) {
 					// load intro page
 					$.getJSON(OC.filePath('contacts', 'ajax', 'loadintro.php'),{},function(jsondata){
 						if(jsondata.status == 'success'){
@@ -295,7 +295,7 @@ Contacts={
 								this.id = this.fn = this.fullname = this.shortname = this.famname = this.givname = this.addname = this.honpre = this.honsuf = '';
 								this.data = undefined;
 								// Load first in list.
-								if($('#contacts li').length > 0) {
+								if($('#leftcontent li').length > 0) {
 									Contacts.UI.Card.update(newid);
 								} else {
 									// load intro page
@@ -1412,7 +1412,7 @@ Contacts={
 			update:function(){
 				$.getJSON(OC.filePath('contacts', 'ajax', 'contacts.php'),{},function(jsondata){
 					if(jsondata.status == 'success'){
-						$('#contacts').html(jsondata.data.page);
+						$('#leftcontent').html(jsondata.data.page);
 						Contacts.UI.Card.update();
 					}
 					else{
@@ -1423,14 +1423,14 @@ Contacts={
 			},
 			// Add thumbnails to the contact list as they become visible in the viewport.
 			lazyupdate:function(){
-				$('#contacts li').live('inview', function(){
+				$('#leftcontent li').live('inview', function(){
 					if (!$(this).find('a').attr('style')) {
 						$(this).find('a').css('background','url('+OC.filePath('contacts', '', 'thumbnail.php')+'?id='+$(this).data('id')+') no-repeat');
 					}
 				});
 			},
 			refreshThumbnail:function(id){
-				$('#contacts [data-id="'+id+'"]').find('a').css('background','url('+OC.filePath('contacts', '', 'thumbnail.php')+'?id='+id+'&refresh=1'+Math.random()+') no-repeat');
+				$('#leftcontent [data-id="'+id+'"]').find('a').css('background','url('+OC.filePath('contacts', '', 'thumbnail.php')+'?id='+id+'&refresh=1'+Math.random()+') no-repeat');
 			}
 		}
 	}
@@ -1486,7 +1486,7 @@ $(document).ready(function(){
 		return false;
 	});
 
-	$('#contacts li').bind('inview', function(event, isInView, visiblePartX, visiblePartY) {
+	$('#leftcontent li').bind('inview', function(event, isInView, visiblePartX, visiblePartY) {
 		if (isInView) { //NOTE: I've kept all conditions for future reference ;-)
 			// element is now visible in the viewport
 			if (visiblePartY == 'top') {
@@ -1525,11 +1525,11 @@ $(document).ready(function(){
 	// Name has changed. Update it and reorder.
 	$('#fn').live('change',function(){
 		var name = $('#fn').val();
-		var item = $('#contacts [data-id="'+Contacts.UI.Card.id+'"]').clone();
-		$('#contacts [data-id="'+Contacts.UI.Card.id+'"]').remove();
+		var item = $('#leftcontent [data-id="'+Contacts.UI.Card.id+'"]').clone();
+		$('#leftcontent [data-id="'+Contacts.UI.Card.id+'"]').remove();
 		$(item).find('a').html(name);
 		var added = false;
-		$('#contacts li').each(function(){
+		$('#leftcontent li').each(function(){
 			if ($(this).text().toLowerCase() > name.toLowerCase()) {
 				$(this).before(item).fadeIn('fast');
 				added = true;
diff --git a/apps/contacts/templates/index.php b/apps/contacts/templates/index.php
index 79825067d82d4332f425694d08c5b3d99ea5c503..fadfb31c03bdc56f84a8e5e48b8ced079b8b53df 100755
--- a/apps/contacts/templates/index.php
+++ b/apps/contacts/templates/index.php
@@ -3,11 +3,9 @@
 	var categories = <?php echo json_encode($_['categories']); ?>;
 	var lang = '<?php echo OCP\Config::getUserValue(OCP\USER::getUser(), 'core', 'lang', 'en'); ?>';
 </script>
-<div id="leftcontent" class="leftcontent">
-	<ul id="contacts">
+<ul id="leftcontent" class="leftcontent">
 		<?php echo $this->inc("part.contacts"); ?>
-	</ul>
-</div>
+</ul>
 	<div id="bottomcontrols">
 		<form>
 			<button class="svg" id="contacts_newcontact" title="<?php echo $l->t('Add Contact'); ?>"><img class="svg" src="<?php echo OCP\Util::linkTo('contacts', 'img/contact-new.svg'); ?>" alt="<?php echo $l->t('Add Contact'); ?>"   /></button>