Index: bp-themes/bp-default/functions.php
===================================================================
--- bp-themes/bp-default/functions.php	(revision 3695)
+++ bp-themes/bp-default/functions.php	(working copy)
@@ -371,41 +371,54 @@
  * @since 1.2
  */
 function bp_dtheme_blog_comments( $comment, $args, $depth ) {
-	$GLOBALS['comment'] = $comment; ?>
+	$GLOBALS['comment'] = $comment;
 
-	<?php if ( 'pingback' == $comment->comment_type ) return false; ?>
+	if ( 'pingback' == $comment->comment_type )
+		return false;
 
-	<li <?php comment_class(); ?> id="comment-<?php comment_ID(); ?>">
+	if ( 1 == $depth )
+		$avatar_size = 50;
+	else
+		$avatar_size = 20;
+	?>
+	<li <?php comment_class() ?> id="comment-<?php comment_ID() ?>">
 		<div class="comment-avatar-box">
 			<div class="avb">
 				<a href="<?php echo get_comment_author_url() ?>" rel="nofollow">
 					<?php if ( $comment->user_id ) : ?>
-						<?php echo bp_core_fetch_avatar( array( 'item_id' => $comment->user_id, 'width' => 50, 'height' => 50, 'email' => $comment->comment_author_email ) ); ?>
+						<?php echo bp_core_fetch_avatar( array( 'item_id' => $comment->user_id, 'width' => $avatar_size, 'height' => $avatar_size, 'email' => $comment->comment_author_email ) ) ?>
 					<?php else : ?>
-						<?php echo get_avatar( $comment, 50 ) ?>
+						<?php echo get_avatar( $comment, $avatar_size ) ?>
 					<?php endif; ?>
 				</a>
 			</div>
 		</div>
 
 		<div class="comment-content">
+			<div class="comment-meta">
+				<a href="<?php echo get_comment_author_url() ?>" rel="nofollow"><?php echo get_comment_author() ?></a> <?php echo _n( 'said:', 'replied:', $depth, 'buddypress' ) ?></a>
+				<span class="time-since">&nbsp; <?php comment_date() ?></span> 
 
-			<div class="comment-meta">
-				<?php printf( __( '%s said:', 'buddypress' ), '<a href="' . get_comment_author_url() . '" rel="nofollow">' . get_comment_author() . '</a>' ) ?>
-				<em><?php _e( 'On', 'buddypress' ) ?> <a href="#comment-<?php comment_ID() ?>" title=""><?php comment_date() ?></a></em>
+				<?php if ( 1 == $depth ) : ?>
+					&middot; <a href="#comment-<?php comment_ID() ?>"><?php _e( 'View', 'buddypress' ) ?></a> 
+				<?php else: ?>
+					&middot; <?php echo comment_reply_link( array( 'depth' => $depth, 'max_depth' => $args['max_depth'], 'reply_text' => __( 'Reply', 'buddypress' ) ) ) ?> 
+				<?php endif; ?>
+
+				<?php edit_comment_link( __( 'Edit', 'buddypress' ), '&middot; ', '' ) ?>
 			</div>
 
 			<?php if ( $comment->comment_approved == '0' ) : ?>
-			 	<em class="moderate"><?php _e( 'Your comment is awaiting moderation.', 'buddypress' ); ?></em><br />
+			 	<em class="moderate"><?php _e( 'Your comment is awaiting moderation.', 'buddypress' ) ?></em><br />
 			<?php endif; ?>
 
 			<?php comment_text() ?>
 
-			<div class="comment-options">
-				<?php echo comment_reply_link( array( 'depth' => $depth, 'max_depth' => $args['max_depth'] ) ) ?>
-				<?php edit_comment_link( __( 'Edit', 'buddypress' ), '', '' ); ?>
-			</div>
-
+			<?php if ( 1 == $depth ) : ?>
+				<div class="comment-options">
+					<?php echo comment_reply_link( array( 'depth' => $depth, 'max_depth' => $args['max_depth'] ) ) ?>
+				</div>
+			<?php endif; ?>
 		</div>
 <?php
 }
@@ -539,22 +552,61 @@
 	);
 
 	$new_labels = array(
-		'cancel_reply_link'    => '<p id="cancel-comment-reply">' . __( 'Cancel reply', 'buddypress' ) . '</p>',
 		'comment_field'        => '<p class="form-textarea"><label for="comment">' . __( 'Comment', 'buddypress' ) . '</label><textarea name="comment" id="comment" cols="60" rows="10" aria-required="true"></textarea></p>',
 		'comment_notes_after'  => '',
 		'comment_notes_before' => '',
 		'fields'               => apply_filters( 'comment_form_default_fields', $fields ),
 		'logged_in_as'         => '<p class="log-in-out">' . sprintf( __( 'Logged in as <a href="%1$s">%2$s</a>. <a href="%3$s">Log out?</a>', 'buddypress' ), bp_loggedin_user_domain(), $user_identity, wp_logout_url( get_permalink() ) ) . '</p>',
-		'must_log_in'          => '<p class="alert">' . sprintf( __( 'You must be <a href="%1$s">logged in</a> to post a comment.', 'buddypress' ), wp_login_url( get_permalink() ) )	. '</p>',
-		'title_reply'          => '<h3 id="reply" class="comments-header">' . __( 'Leave a reply', 'buddypress' ) . '</h3>',
-		'title_reply_to'       => '<h3 id="reply" class="comments-header">' . __( 'Leave a reply to %s', 'buddypress' ) . '</h3>'
+		'must_log_in'          => '<p class="alert">' . sprintf( __( 'You must be <a href="%1$s">logged in</a> to post a comment.', 'buddypress' ), wp_login_url( get_permalink() ) )	. '</p>'
 	);
 
 	return apply_filters( 'bp_dtheme_comment_form', array_merge( $default_labels, $new_labels ) );
 }
 add_filter( 'comment_form_defaults', 'bp_dtheme_comment_form', 10 );
 
+/**
+ * Adds the user's avatar before the comment form box.
+ *
+ * The 'comment_form_top' action is used to insert our HTML within <div id="reply">
+ * so that the nested comments comment-reply javascript moves the entirety of the comment reply area.
+ * 
+ * @see comment_form()
+ * @since 1.3
+ */
+function bp_dtheme_before_comment_form() {
+?>
+	<div class="comment-avatar-box">
+		<div class="avb">
+			<?php if ( bp_loggedin_user_id() ) : ?>
+				<a href="<?php echo bp_loggedin_user_domain() ?>">
+					<?php echo get_avatar( bp_loggedin_user_id(), 50 ) ?>
+				</a>
+			<?php else : ?>
+				<?php echo get_avatar( 0, 50 ) ?>
+			<?php endif; ?>
+		</div>
+	</div>
 
+	<div class="comment-content standard-form">
+<?php
+}
+add_action( 'comment_form_top', 'bp_dtheme_before_comment_form' );
+
+/**
+ * Closes tags opened in bp_dtheme_before_comment_form().
+ *
+ * @see bp_dtheme_before_comment_form()
+ * @see comment_form()
+ * @since 1.3
+ */
+function bp_dtheme_after_comment_form() {
+?>
+	</div><!-- .comment-content standard-form -->
+<?php
+}
+add_action( 'comment_form', 'bp_dtheme_after_comment_form' );
+
+
 // Everything beyond this point is deprecated as of BuddyPress 1.3. This will be removed in a future version.
 
 /**
Index: bp-themes/bp-default/_inc/css/default.css
===================================================================
--- bp-themes/bp-default/_inc/css/default.css	(revision 3696)
+++ bp-themes/bp-default/_inc/css/default.css	(working copy)
@@ -1494,6 +1494,7 @@
 }
 
 .activity-list .activity-header a:first-child,
+.commentlist .depth-1 > .comment-content .comment-meta a:first-child,
 span.highlight {
 	background: #ebf7ff;
 	border-bottom: 1px solid #a1dcfa;
@@ -1516,7 +1517,8 @@
 	outline: none;
 }
 
-.activity-list .activity-content span.time-since {
+.activity-list .activity-content span.time-since,
+.comment-content .comment-meta span.time-since {
 	color: #bbb;
 }
 
@@ -1669,7 +1671,8 @@
 	padding: 10px 0 0;
 }
 
-div.activity-comments ul li p:last-child {
+div.activity-comments ul li p:last-child,
+.commentlist .comment-content a:first-child {
 	margin-bottom: 10px;
 }
 
@@ -2052,8 +2055,7 @@
 	border-top: 1px solid #eee;
 }
 
-div.post div.author-box,
-div.comment-avatar-box {
+div.post div.author-box {
 	background: #f0f0f0;
 	padding: 10px;
 	float: left;
@@ -2077,20 +2079,18 @@
 	text-decoration: none;
 }
 
-div.post div.author-box img,
-div.comment-avatar-box img {
+div.post div.author-box img {
 	float: none;
 	border: 4px solid #fff;
 	margin: 0;
 }
 
-div.post div.post-content,
-div.comment-content {
+div.post div.post-content {
 	margin-left: 105px;
 }
 
-div.post p.date, div.post p.postmetadata,
-div.comment-meta, div.comment-options {
+div.post p.date,
+div.post p.postmetadata {
 	color: #888;
 	font-size: 12px;
 	font-family: Georgia, times, serif;
@@ -2188,49 +2188,187 @@
 	margin-top: 30px;
 }
 
-#comments h3,
-#trackbacks h3,
-#respond h3 {
-	font-size: 20px;
-	margin: 5px 0 25px 0;
-	font-weight: normal;
-	color: #555;
+.commentlist .bypostauthor {
 }
 
-#comments span.title,
-#trackbacks span.title {
-	color: #aaa;
+#comments ol.commentlist {
+	border-bottom: 1px solid #e4e4e4;
+	margin-bottom: 30px;
 }
 
-.commentlist .bypostauthor {
+ol.commentlist div.comment-avatar-box {
+	float: left;
+	margin: 10px 10px 10px 0;
 }
 
-ol.commentlist li {
-	margin: 0 0 30px 0;
+ul.children div.comment-avatar-box {
+	float: left;
+	margin: 0px 10px 10px 0;
 }
 
-ol.commentlist ul.children {
-	margin-left: 105px;
+div.comment-avatar-box img {
+	border: 2px solid #eee;
 }
 
-div.comment-meta {
+div.comment-content {
+	border-top: 1px solid #e4e4e4;
+	padding-left: 75px;
+}
+
+.commentlist .children .comment { 
+	margin-bottom: 5px;
+}
+
+div.comment-meta,
+div.comment-options {
+	color: #888;
+	font-size: 11px;
+	margin: 10px 0;
+	padding: 0 0 3px;
+}
+
+div.comment-meta em {
+	font-style: normal;
+}
+
+div.comment-meta span.comment-highlight a {
+	background: #EBF7FF;
+	border-bottom: 1px solid #a1dcfa;
+	border-radius: 4px;
+	border-right: 1px solid #a1dcfa;
+	color: #059AE7;
+	margin-right: 3px;
+	padding: 3px 8px;
+	text-decoration: none;
+	-moz-border-radius: 4px;
+	-webkit-border-radius: 4px;
+}
+
+div.comment-meta .comment-highlight a:hover,
+.commentlist .depth-1 > .comment-content .comment-meta a:first-child:hover {
+	background: #059AE7;
+	border-color: #059AE7;
+	color: #fff;
+}
+
+div.comment-options a.comment-reply-link {
+	background: #FFF9DB;
+	border-bottom: 1px solid #FFE8C4;
+	border-radius: 4px;
+	border-right: 1px solid #FFE8C4;
+	color: #ffa200;
+	margin-right: 10px;
+	padding: 3px 8px;
+	text-decoration: none;
+	-moz-border-radius: 4px;
+	-webkit-border-radius: 4px;
+}
+
+div.comment-options a.comment-reply-link:hover {
+	background: #f7740a;
+	border-color: #f7740a;
+	color: #fff;
+}
+
+ul.children {
+	background: #f5f5f5;
+	margin-bottom: 20px;
+	margin-left: 75px;
+	padding: 1px 10px;
+	-moz-border-radius: 4px;
+	-webkit-border-radius: 4px;
+}
+
+ul.children ul {
+	margin-left: 20px;
+	margin-bottom: 0;
+	padding: 0;
+}
+
+ul.children img.avatar {
+	border-style: none;
+	height: 25px;
+	margin: 0;
+	width: 25px;
+}
+
+ul.children div.comment-content {
 	border-top: none;
-	padding-top: 0;
+	padding-left: 35px;
 }
 
-div.comment-meta h5 {
-	font-weight: normal;
+ul.children div.comment-meta {
+	font-size: 11px;
+	margin-top: 0;
 }
 
-div.comment-meta em {
+ul.children div.comment-options {
+	margin-bottom: 5px;
+	margin-top: 0;
+}
+
+ul.children li {
+	border-top: 2px solid #fffeff;
+	padding-top: 10px;
+}
+
+ul.children li:first-child {
+	border-top: none;
+}
+
+ul.children ul li:first-child {
+	border-top: 2px solid #fffeff;
+}
+
+ul.children div.comment-options a.comment-reply-link {
+	background: transparent;
+	border-style: none;
+	color: #1fb3dd;
+	margin-right: 0;
+	padding: 3px 8px;
+	text-decoration: underline;
+}
+
+ul.children div.comment-options a.comment-reply-link:hover {
+	background: transparent;
+	border-style: none;
+	color: #1fb3dd;
+}
+
+#respond {
+	background-color: #fafafa;
+	border: 1px solid #e5e5e5;
+	border-radius: 4px;
+	margin-bottom: 20px;
+	margin-left: 75px;
+	padding: 10px;
+	-moz-border-radius: 4px;
+	-webkit-border-radius: 4px;
+}
+
+ul.children #respond {
+	margin-bottom: 10px;
+	margin-left: 35px;
+	margin-right: 20px;
+}
+
+h3#reply .comments-header {
+	font-size: 14px;
+}
+
+#reply-title small {
 	float: right;
 }
 
-div.comment-options {
-	border-bottom: none;
+#respond div.comment-avatar-box {
+	margin-top: 0;
 }
 
+#respond div.comment-content {
+	border-style: none;
+}
 
+
 /* > Footer
 -------------------------------------------------------------- */
 
Index: bp-themes/bp-default/comments.php
===================================================================
--- bp-themes/bp-default/comments.php	(revision 3695)
+++ bp-themes/bp-default/comments.php	(working copy)
@@ -54,25 +54,7 @@
 <?php endif; ?>
 
 <?php if ( comments_open() ) : ?>
-	<div id="respond">
-
-		<div class="comment-avatar-box">
-			<div class="avb">
-				<?php if ( bp_loggedin_user_id() ) : ?>
-					<a href="<?php echo bp_loggedin_user_domain() ?>">
-						<?php echo get_avatar( bp_loggedin_user_id(), 50 ) ?>
-					</a>
-				<?php else : ?>
-					<?php echo get_avatar( 0, 50 ) ?>
-				<?php endif; ?>
-			</div>
-		</div>
-
-		<div class="comment-content standard-form">
-			<?php comment_form() ?>
-		</div><!-- .comment-content -->
-
-	</div><!-- #respond -->
+	<?php comment_form() ?>
 <?php endif; ?>
 
 <?php if ( !empty( $num_trackbacks ) ) : ?>
