Index: src/js/_enqueues/admin/user-profile.js
===================================================================
--- src/js/_enqueues/admin/user-profile.js	(revision 45562)
+++ src/js/_enqueues/admin/user-profile.js	(working copy)
@@ -5,12 +5,8 @@
 /* global ajaxurl, pwsL10n, userProfileL10n */
 (function($) {
 	var updateLock = false,
-
 		$pass1Row,
-		$pass1Wrap,
 		$pass1,
-		$pass1Text,
-		$pass1Label,
 		$pass2,
 		$weakRow,
 		$weakCheckbox,
@@ -36,7 +32,7 @@
 		}
 
 		if ( 1 !== parseInt( $toggleButton.data( 'start-masked' ), 10 ) ) {
-			$pass1Wrap.addClass( 'show-password' );
+			$pass1.attr( 'type', 'text' );
 		} else {
 			$toggleButton.trigger( 'click' );
 		}
@@ -48,28 +44,6 @@
 	function bindPass1() {
 		currentPass = $pass1.val();
 
-		$pass1Wrap = $pass1.parent();
-
-		$pass1Text = $( '<input type="text"/>' )
-			.attr( {
-				'id':           'pass1-text',
-				'name':         'pass1-text',
-				'autocomplete': 'off'
-			} )
-			.addClass( $pass1[0].className )
-			.data( 'pw', $pass1.data( 'pw' ) )
-			.val( $pass1.val() )
-			.on( 'input', function () {
-				if ( $pass1Text.val() === currentPass ) {
-					return;
-				}
-				$pass2.val( $pass1Text.val() );
-				$pass1.val( $pass1Text.val() ).trigger( 'pwupdate' );
-				currentPass = $pass1Text.val();
-			} );
-
-		$pass1.after( $pass1Text );
-
 		if ( 1 === parseInt( $pass1.data( 'reveal' ), 10 ) ) {
 			generatePassword();
 		}
@@ -80,65 +54,40 @@
 			}
 
 			currentPass = $pass1.val();
-			if ( $pass1Text.val() !== currentPass ) {
-				$pass1Text.val( currentPass );
-			}
-			$pass1.add( $pass1Text ).removeClass( 'short bad good strong' );
+
+			$pass1.removeClass( 'short bad good strong' );
 			showOrHideWeakPasswordCheckbox();
 		} );
 	}
 
-	function resetToggle() {
+	function resetToggle( show ) {
 		$toggleButton
-			.data( 'toggle', 0 )
 			.attr({
-				'aria-label': userProfileL10n.ariaHide
+				'aria-label': show ? userProfileL10n.ariaShow : userProfileL10n.ariaHide
 			})
 			.find( '.text' )
-				.text( userProfileL10n.hide )
+				.text( show ? userProfileL10n.show : userProfileL10n.hide )
 			.end()
 			.find( '.dashicons' )
-				.removeClass( 'dashicons-visibility' )
-				.addClass( 'dashicons-hidden' );
-
-		$pass1Text.focus();
-
-		$pass1Label.attr( 'for', 'pass1-text' );
+				.removeClass( show ? 'dashicons-hidden' : 'dashicons-visibility' )
+				.addClass( show ? 'dashicons-visibility' : 'dashicons-hidden' );
 	}
 
 	function bindToggleButton() {
 		$toggleButton = $pass1Row.find('.wp-hide-pw');
 		$toggleButton.show().on( 'click', function () {
-			if ( 1 === parseInt( $toggleButton.data( 'toggle' ), 10 ) ) {
-				$pass1Wrap.addClass( 'show-password' );
-
-				resetToggle();
-
-				if ( ! _.isUndefined( $pass1Text[0].setSelectionRange ) ) {
-					$pass1Text[0].setSelectionRange( 0, 100 );
-				}
+			if ( 'password' === $pass1.attr( 'type' ) ) {
+				$pass1.attr( 'type', 'text' );
+				resetToggle( false );
 			} else {
-				$pass1Wrap.removeClass( 'show-password' );
-				$toggleButton
-					.data( 'toggle', 1 )
-					.attr({
-						'aria-label': userProfileL10n.ariaShow
-					})
-					.find( '.text' )
-						.text( userProfileL10n.show )
-					.end()
-					.find( '.dashicons' )
-						.removeClass('dashicons-hidden')
-						.addClass('dashicons-visibility');
+				$pass1.attr( 'type', 'password' );
+				resetToggle( true );
 
-				$pass1.focus();
-
-				$pass1Label.attr( 'for', 'pass1' );
-
 				if ( ! _.isUndefined( $pass1[0].setSelectionRange ) ) {
 					$pass1[0].setSelectionRange( 0, 100 );
 				}
 			}
+			$pass1.focus();
 		});
 	}
 
@@ -147,10 +96,9 @@
 			$generateButton,
 			$cancelButton;
 
-		$pass1Row = $('.user-pass1-wrap');
-		$pass1Label = $pass1Row.find('th label').attr( 'for', 'pass1-text' );
+		$pass1Row = $( '.user-pass1-wrap, .user-pass-wrap' );
 
-		// hide this
+		// Hide the confirm password field when JavaScript support is enabled.
 		$('.user-pass2-wrap').hide();
 
 		$submitButton = $( '#submit, #wp-submit' ).on( 'click', function () {
@@ -168,6 +116,9 @@
 		$pass1 = $('#pass1');
 		if ( $pass1.length ) {
 			bindPass1();
+		} else {
+			// Password field for the login form.
+			$pass1 = $( '#user_pass' );
 		}
 
 		/**
@@ -189,7 +140,6 @@
 		if ( $pass1.is( ':hidden' ) ) {
 			$pass1.prop( 'disabled', true );
 			$pass2.prop( 'disabled', true );
-			$pass1Text.prop( 'disabled', true );
 		}
 
 		$passwordWrapper = $pass1Row.find( '.wp-pwd' );
@@ -211,18 +161,10 @@
 			// Enable the inputs when showing.
 			$pass1.attr( 'disabled', false );
 			$pass2.attr( 'disabled', false );
-			$pass1Text.attr( 'disabled', false );
 
-			if ( $pass1Text.val().length === 0 ) {
+			if ( $pass1.val().length === 0 ) {
 				generatePassword();
 			}
-
-			_.defer( function() {
-				$pass1Text.focus();
-				if ( ! _.isUndefined( $pass1Text[0].setSelectionRange ) ) {
-					$pass1Text[0].setSelectionRange( 0, 100 );
-				}
-			}, 0 );
 		} );
 
 		$cancelButton = $pass1Row.find( 'button.wp-cancel-pw' );
@@ -230,7 +172,7 @@
 			updateLock = false;
 
 			// Clear any entered password.
-			$pass1Text.val( '' );
+			$pass1.val( '' );
 
 			// Generate a new password.
 			wp.ajax.post( 'generate-password' )
@@ -248,9 +190,8 @@
 			// Disable the inputs when hiding to prevent autofill and submission.
 			$pass1.prop( 'disabled', true );
 			$pass2.prop( 'disabled', true );
-			$pass1Text.prop( 'disabled', true );
 
-			resetToggle();
+			resetToggle( false );
 
 			if ( $pass1Row.closest( 'form' ).is( '#your-profile' ) ) {
 				// Clear password field to prevent update
@@ -265,7 +206,6 @@
 			$pass1.prop( 'disabled', false );
 			$pass2.prop( 'disabled', false );
 			$pass2.val( $pass1.val() );
-			$pass1Wrap.removeClass( 'show-password' );
 		});
 	}
 
@@ -305,7 +245,7 @@
 		var passStrength = $('#pass-strength-result')[0];
 
 		if ( passStrength.className ) {
-			$pass1.add( $pass1Text ).addClass( passStrength.className );
+			$pass1.addClass( passStrength.className );
 			if ( $( passStrength ).is( '.short, .bad' ) ) {
 				if ( ! $weakCheckbox.prop( 'checked' ) ) {
 					$submitButtons.prop( 'disabled', true );
Index: src/wp-admin/css/forms.css
===================================================================
--- src/wp-admin/css/forms.css	(revision 45562)
+++ src/wp-admin/css/forms.css	(working copy)
@@ -1370,6 +1370,10 @@
 		box-sizing: border-box;
 	}
 
+	#profile-page .form-table #pass1 {
+		padding-right: 88px;
+	}
+
 	.form-table .form-required.form-invalid td:after {
 		float: right;
 		margin: -30px 3px 0 0;
Index: src/wp-admin/css/install.css
===================================================================
--- src/wp-admin/css/install.css	(revision 45562)
+++ src/wp-admin/css/install.css	(working copy)
@@ -212,8 +212,13 @@
 	font-family: Consolas, Monaco, monospace;
 }
 
+.password-input-wrapper {
+	position: relative;
+}
+
 .wp-hide-pw > .dashicons {
-	line-height: inherit;
+	position: relative;
+	top: 3px;
 }
 
 #pass-strength-result {
@@ -220,7 +225,7 @@
 	background-color: #eee;
 	border: 1px solid #ddd;
 	color: #23282d;
-	margin: -2px 5px 5px 0px;
+	margin: -2px 5px 5px 0;
 	padding: 3px 5px;
 	text-align: center;
 	width: 218px;
@@ -374,6 +379,28 @@
 		box-sizing: border-box;
 	}
 
+	.wp-core-ui .wp-hide-pw {
+		background: transparent;
+		border: 1px solid transparent;
+		box-shadow: none;
+		line-height: 2;
+		margin: 0;
+		padding: 5px 9px;
+		position: absolute;
+		right: 0;
+		top: 0;
+	}
+
+	.button.wp-hide-pw .text {
+		display: none;
+	}
+
+	#pass-strength-result {
+		width: 100%;
+		box-sizing: border-box;
+		margin: -1px 0 5px;
+		padding: 8px;
+	}
 }
 
 body.language-chooser {
Index: src/wp-admin/css/login.css
===================================================================
--- src/wp-admin/css/login.css	(revision 45562)
+++ src/wp-admin/css/login.css	(working copy)
@@ -40,10 +40,6 @@
 		0 0 2px 1px rgba(30, 140, 190, 0.8);
 }
 
-.ie8 a:focus {
-	outline: #5b9dd9 solid 1px;
-}
-
 p {
 	line-height: 1.5;
 }
@@ -82,10 +78,6 @@
 	position: relative;
 }
 
-.login .input.password-input {
-	margin: 0;
-}
-
 .login .input::-ms-clear {
 	display: none;
 }
@@ -105,7 +97,7 @@
 	padding: 5px 9px;
 	position: absolute;
 	right: 0;
-	top: 0;
+	top: 3px;
 }
 
 .login .button.button-secondary:hover {
@@ -124,6 +116,14 @@
 	transform: none;
 }
 
+.login .wp-pwd {
+	position: relative;
+}
+
+.no-js .hide-if-no-js {
+	display: none;
+}
+
 .login form {
 	margin-top: 20px;
 	margin-left: 0;
@@ -157,9 +157,10 @@
 	font-size: 14px;
 }
 
-.login form .forgetmenot label {
-	font-size: 12px;
-	line-height: 1.58333333;
+.login form .forgetmenot label,
+.login form .pw-weak label {
+	line-height: 1.5;
+	vertical-align: baseline;
 }
 
 .login h1 {
@@ -232,13 +233,15 @@
 }
 
 .login form .input,
-.login input[type="text"] {
+.login input[type="text"],
+.login input[type="password"] {
 	font-size: 24px;
 	width: 100%;
 	padding: 5px;
-	margin: 2px 6px 16px 0;
+	margin: 3px 6px 16px 0;
 }
 
+.login input[type="password"],
 .login-action-rp form .input,
 .login-action-rp input[type="text"] {
 	padding: 5px 45px 5px 5px;
@@ -250,14 +253,15 @@
 	background: #fbfbfb;
 }
 
-.ie7 .login form .input,
-.ie8 .login form .input {
-	font-family: sans-serif;
+.login-action-rp input[type="text"],
+.login-action-rp input[type="password"] {
+	box-shadow: none;
+	margin-bottom: 0;
 }
 
+
 .login-action-rp input[type="text"] {
 	box-shadow: none;
-	margin: 0;
 }
 
 .login #pass-strength-result {
Index: src/wp-admin/install.php
===================================================================
--- src/wp-admin/install.php	(revision 45562)
+++ src/wp-admin/install.php	(working copy)
@@ -142,7 +142,7 @@
 				</label>
 			</th>
 			<td>
-				<div class="">
+				<div class="password-input-wrapper">
 					<?php $initial_password = isset( $_POST['admin_password'] ) ? stripslashes( $_POST['admin_password'] ) : wp_generate_password( 18 ); ?>
 					<input type="password" name="admin_password" id="pass1" class="regular-text" autocomplete="off" data-reveal="1" data-pw="<?php echo esc_attr( $initial_password ); ?>" aria-describedby="pass-strength-result" />
 					<button type="button" class="button wp-hide-pw hide-if-no-js" data-start-masked="<?php echo (int) isset( $_POST['admin_password'] ); ?>" data-toggle="0" aria-label="<?php esc_attr_e( 'Hide password' ); ?>">
Index: src/wp-login.php
===================================================================
--- src/wp-login.php	(revision 45562)
+++ src/wp-login.php	(working copy)
@@ -186,7 +186,10 @@
 
 	?>
 	</head>
-	<body class="login <?php echo esc_attr( implode( ' ', $classes ) ); ?>">
+	<body class="login no-js <?php echo esc_attr( implode( ' ', $classes ) ); ?>">
+	<script type="text/javascript">
+		document.body.className = document.body.className.replace( 'no-js', 'js' );
+	</script>
 	<?php
 	/**
 	 * Fires in the login page header after the body tag is opened.
@@ -431,6 +434,7 @@
 		$errors->add(
 			'retrieve_password_email_failure',
 			sprintf(
+				/* translators: %s: URL to support page for resetting your password */
 				__( '<strong>ERROR</strong>: The email could not be sent. Your site may not be correctly configured to send emails. <a href="%s">Get support for resetting your password</a>.' ),
 				esc_url( $support )
 			)
@@ -467,7 +471,7 @@
 	}
 
 	$url = dirname( set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] ) );
-	if ( $url != get_option( 'siteurl' ) ) {
+	if ( get_option( 'siteurl' ) != $url ) {
 		update_option( 'siteurl', $url );
 	}
 }
@@ -620,10 +624,9 @@
 		?>
 
 	<form name="lostpasswordform" id="lostpasswordform" action="<?php echo esc_url( network_site_url( 'wp-login.php?action=lostpassword', 'login_post' ) ); ?>" method="post">
-	<p>
-		<label for="user_login" ><?php _e( 'Username or Email Address' ); ?><br />
-		<input type="text" name="user_login" id="user_login" class="input" value="<?php echo esc_attr( $user_login ); ?>" size="20" autocapitalize="off" /></label>
-	</p>
+
+		<label for="user_login"><?php _e( 'Username or Email Address' ); ?></label>
+		<input type="text" name="user_login" id="user_login" class="input" value="<?php echo esc_attr( $user_login ); ?>" size="20" autocapitalize="off" />
 		<?php
 		/**
 		 * Fires inside the lostpassword form tags, before the hidden fields.
@@ -633,11 +636,11 @@
 		do_action( 'lostpassword_form' );
 		?>
 		<input type="hidden" name="redirect_to" value="<?php echo esc_attr( $redirect_to ); ?>" />
-		<p class="submit"><input type="submit" name="wp-submit" id="wp-submit" class="button button-primary button-large" value="<?php esc_attr_e( 'Get New Password' ); ?>" /></p>
+		<div class="submit"><input type="submit" name="wp-submit" id="wp-submit" class="button button-primary button-large" value="<?php esc_attr_e( 'Get New Password' ); ?>" /></div>
 	</form>
 
-	<p id="nav">
-	<a href="<?php echo esc_url( wp_login_url() ); ?>"><?php _e( 'Log in' ); ?></a>
+	<div id="nav">
+		<a href="<?php echo esc_url( wp_login_url() ); ?>"><?php _e( 'Log in' ); ?></a>
 		<?php
 		if ( get_option( 'users_can_register' ) ) :
 			$registration_url = sprintf( '<a href="%s">%s</a>', esc_url( wp_registration_url() ), __( 'Register' ) );
@@ -646,9 +649,9 @@
 
 			/** This filter is documented in wp-includes/general-template.php */
 			echo apply_filters( 'register', $registration_url );
-	endif;
+		endif;
 		?>
-	</p>
+	</div>
 
 		<?php
 		login_footer( 'user_login' );
@@ -720,31 +723,30 @@
 	<input type="hidden" id="user_login" value="<?php echo esc_attr( $rp_login ); ?>" autocomplete="off" />
 
 	<div class="user-pass1-wrap">
-		<p>
-			<label for="pass1"><?php _e( 'New password' ); ?></label>
-		</p>
 
+		<label for="pass1"><?php _e( 'New password' ); ?></label>
+
 		<div class="wp-pwd">
 			<div class="password-input-wrapper">
 				<input type="password" data-reveal="1" data-pw="<?php echo esc_attr( wp_generate_password( 16 ) ); ?>" name="pass1" id="pass1" class="input password-input" size="24" value="" autocomplete="off" aria-describedby="pass-strength-result" />
-				<button type="button" class="button button-secondary wp-hide-pw hide-if-no-js">
+
+				<button type="button" class="button button-secondary wp-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php esc_attr_e( 'Hide password' ); ?>">
 					<span class="dashicons dashicons-hidden" aria-hidden="true"></span>
 				</button>
+
 			</div>
 			<div id="pass-strength-result" class="hide-if-no-js" aria-live="polite"><?php _e( 'Strength indicator' ); ?></div>
 		</div>
 		<div class="pw-weak">
-			<label>
-				<input type="checkbox" name="pw_weak" class="pw-checkbox" />
-				<?php _e( 'Confirm use of weak password' ); ?>
-			</label>
+			<input type="checkbox" name="pw_weak" id="pw-weak" class="pw-checkbox" />
+			<label for="pw-weak"><?php _e( 'Confirm use of weak password' ); ?></label>
 		</div>
 	</div>
 
-	<p class="user-pass2-wrap">
-		<label for="pass2"><?php _e( 'Confirm new password' ); ?></label><br />
+	<div class="user-pass2-wrap">
+		<label for="pass2"><?php _e( 'Confirm new password' ); ?></label>
 		<input type="password" name="pass2" id="pass2" class="input" size="20" value="" autocomplete="off" />
-	</p>
+	</div>
 
 	<p class="description indicator-hint"><?php echo wp_get_password_hint(); ?></p>
 	<br class="clear" />
@@ -760,11 +762,11 @@
 		do_action( 'resetpass_form', $user );
 		?>
 	<input type="hidden" name="rp_key" value="<?php echo esc_attr( $rp_key ); ?>" />
-	<p class="submit"><input type="submit" name="wp-submit" id="wp-submit" class="button button-primary button-large" value="<?php esc_attr_e( 'Reset Password' ); ?>" /></p>
+	<div class="submit"><input type="submit" name="wp-submit" id="wp-submit" class="button button-primary button-large" value="<?php esc_attr_e( 'Reset Password' ); ?>" /></div>
 	</form>
 
-	<p id="nav">
-	<a href="<?php echo esc_url( wp_login_url() ); ?>"><?php _e( 'Log in' ); ?></a>
+	<div id="nav">
+		<a href="<?php echo esc_url( wp_login_url() ); ?>"><?php _e( 'Log in' ); ?></a>
 		<?php
 		if ( get_option( 'users_can_register' ) ) :
 			$registration_url = sprintf( '<a href="%s">%s</a>', esc_url( wp_registration_url() ), __( 'Register' ) );
@@ -773,9 +775,9 @@
 
 			/** This filter is documented in wp-includes/general-template.php */
 			echo apply_filters( 'register', $registration_url );
-	endif;
+		endif;
 		?>
-	</p>
+	</div>
 
 		<?php
 		login_footer( 'user_pass' );
@@ -832,14 +834,14 @@
 		login_header( __( 'Registration Form' ), '<p class="message register">' . __( 'Register For This Site' ) . '</p>', $errors );
 		?>
 	<form name="registerform" id="registerform" action="<?php echo esc_url( site_url( 'wp-login.php?action=register', 'login_post' ) ); ?>" method="post" novalidate="novalidate">
-	<p>
-		<label for="user_login"><?php _e( 'Username' ); ?><br />
-		<input type="text" name="user_login" id="user_login" class="input" value="<?php echo esc_attr( wp_unslash( $user_login ) ); ?>" size="20" autocapitalize="off" /></label>
-	</p>
-	<p>
-		<label for="user_email"><?php _e( 'Email' ); ?><br />
-		<input type="email" name="user_email" id="user_email" class="input" value="<?php echo esc_attr( wp_unslash( $user_email ) ); ?>" size="25" /></label>
-	</p>
+	<div>
+		<label for="user_login"><?php _e( 'Username' ); ?></label>
+		<input type="text" name="user_login" id="user_login" class="input" value="<?php echo esc_attr( wp_unslash( $user_login ) ); ?>" size="20" autocapitalize="off" />
+	</div>
+	<div>
+		<label for="user_email"><?php _e( 'Email' ); ?></label>
+		<input type="email" name="user_email" id="user_email" class="input" value="<?php echo esc_attr( wp_unslash( $user_email ) ); ?>" size="25" />
+	</div>
 		<?php
 		/**
 		 * Fires following the 'Email' field in the user registration form.
@@ -851,14 +853,14 @@
 	<p id="reg_passmail"><?php _e( 'Registration confirmation will be emailed to you.' ); ?></p>
 	<br class="clear" />
 	<input type="hidden" name="redirect_to" value="<?php echo esc_attr( $redirect_to ); ?>" />
-	<p class="submit"><input type="submit" name="wp-submit" id="wp-submit" class="button button-primary button-large" value="<?php esc_attr_e( 'Register' ); ?>" /></p>
+	<div class="submit"><input type="submit" name="wp-submit" id="wp-submit" class="button button-primary button-large" value="<?php esc_attr_e( 'Register' ); ?>" /></div>
 	</form>
 
-	<p id="nav">
-	<a href="<?php echo esc_url( wp_login_url() ); ?>"><?php _e( 'Log in' ); ?></a>
+	<div id="nav">
+		<a href="<?php echo esc_url( wp_login_url() ); ?>"><?php _e( 'Log in' ); ?></a>
 		<?php echo esc_html( $login_link_separator ); ?>
-	<a href="<?php echo esc_url( wp_lostpassword_url() ); ?>"><?php _e( 'Lost your password?' ); ?></a>
-	</p>
+		<a href="<?php echo esc_url( wp_lostpassword_url() ); ?>"><?php _e( 'Lost your password?' ); ?></a>
+	</div>
 
 		<?php
 		login_footer( 'user_login' );
@@ -997,7 +999,7 @@
 				exit;
 			}
 
-			if ( ( empty( $redirect_to ) || $redirect_to == 'wp-admin/' || $redirect_to == admin_url() ) ) {
+			if ( ( empty( $redirect_to ) || 'wp-admin/' == $redirect_to || admin_url() == $redirect_to ) ) {
 				// If the user doesn't belong to a blog, send them to user admin. If the user can't edit posts, send them to their profile.
 				if ( is_multisite() && ! get_active_blog_for_user( $user->ID ) && ! is_super_admin( $user->ID ) ) {
 					$redirect_to = user_admin_url();
@@ -1074,17 +1076,26 @@
 		} else {
 			$aria_describedby_error = '';
 		}
+
+		wp_enqueue_script( 'user-profile' );
 		?>
 
 	<form name="loginform" id="loginform" action="<?php echo esc_url( site_url( 'wp-login.php', 'login_post' ) ); ?>" method="post">
-	<p>
-		<label for="user_login"><?php _e( 'Username or Email Address' ); ?><br />
-		<input type="text" name="log" id="user_login"<?php echo $aria_describedby_error; ?> class="input" value="<?php echo esc_attr( $user_login ); ?>" size="20" autocapitalize="off" /></label>
-	</p>
-	<p>
-		<label for="user_pass"><?php _e( 'Password' ); ?><br />
-		<input type="password" name="pwd" id="user_pass"<?php echo $aria_describedby_error; ?> class="input" value="" size="20" /></label>
-	</p>
+
+		<label for="user_login"><?php _e( 'Username or Email Address' ); ?></label>
+		<input type="text" name="log" id="user_login"<?php echo $aria_describedby_error; ?> class="input" value="<?php echo esc_attr( $user_login ); ?>" size="20" autocapitalize="off" />
+
+		<div class="user-pass-wrap">
+			<label for="user_pass"><?php _e( 'Password' ); ?></label>
+			<div class="wp-pwd">
+				<div class="password-input-wrapper">
+					<input type="password" name="pwd" id="user_pass"<?php echo $aria_describedby_error; ?> class="input password-input" value="" size="20" />
+					<button type="button" class="button button-secondary wp-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php esc_attr_e( 'Show password' ); ?>">
+						<span class="dashicons dashicons-visibility" aria-hidden="true"></span>
+					</button>
+				</div>
+			</div>
+		</div>
 		<?php
 		/**
 		 * Fires following the 'Password' field in the login form.
@@ -1093,23 +1104,23 @@
 		 */
 		do_action( 'login_form' );
 		?>
-	<p class="forgetmenot"><label for="rememberme"><input name="rememberme" type="checkbox" id="rememberme" value="forever" <?php checked( $rememberme ); ?> /> <?php esc_html_e( 'Remember Me' ); ?></label></p>
-	<p class="submit">
+	<div class="forgetmenot"><input name="rememberme" type="checkbox" id="rememberme" value="forever" <?php checked( $rememberme ); ?> /> <label for="rememberme"><?php esc_html_e( 'Remember Me' ); ?></label></div>
+	<div class="submit">
 		<input type="submit" name="wp-submit" id="wp-submit" class="button button-primary button-large" value="<?php esc_attr_e( 'Log In' ); ?>" />
-		<?php	if ( $interim_login ) { ?>
+		<?php if ( $interim_login ) { ?>
 		<input type="hidden" name="interim-login" value="1" />
-	<?php	} else { ?>
+		<?php } else { ?>
 		<input type="hidden" name="redirect_to" value="<?php echo esc_attr( $redirect_to ); ?>" />
-	<?php } ?>
+		<?php } ?>
 		<?php if ( $customize_login ) : ?>
 		<input type="hidden" name="customize-login" value="1" />
-	<?php endif; ?>
+		<?php endif; ?>
 		<input type="hidden" name="testcookie" value="1" />
-	</p>
+	</div>
 	</form>
 
 		<?php if ( ! $interim_login ) { ?>
-	<p id="nav">
+		<div id="nav">
 			<?php
 			if ( ! isset( $_GET['checkemail'] ) || ! in_array( $_GET['checkemail'], array( 'confirm', 'newpass' ) ) ) :
 				if ( get_option( 'users_can_register' ) ) :
@@ -1121,10 +1132,10 @@
 					echo esc_html( $login_link_separator );
 				endif;
 				?>
-		<a href="<?php echo esc_url( wp_lostpassword_url() ); ?>"><?php _e( 'Lost your password?' ); ?></a>
+			<a href="<?php echo esc_url( wp_lostpassword_url() ); ?>"><?php _e( 'Lost your password?' ); ?></a>
 			<?php endif; ?>
-	</p>
-	<?php } ?>
+		</div>
+		<?php } ?>
 
 	<script type="text/javascript">
 	function wp_attempt_focus(){
