/**
 * #.# wp-login CSS overwrites
 *
 * These selectors overwrite the core css on the wp-login page
 */

body.login {
	/* Using flexbox to control the vertical alignment of the form and white box */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	height: auto;
	min-height: 100%;
}

/* Don't use Flex alignments for the registration pages, doesn't play nice with content that exceeds the window height  */
body.route-register,
body.route-pending-profile,
body.route-pending-create {
	display: block;
	padding-top: 72px;
}

.login-action-lostpassword.login .message,
.login-action-rp.login .message,
.login-action-login.login .message,
.login .message.reset-pass {
	border-left: none;
	border-right: none;
	background-color: transparent;
	color: #555D66;
	padding: 0;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.wp-core-ui .button-primary, .wp-core-ui.login .button-primary {
	width: 100%;
	height: 40px;
	font-size: 14px;
}
.hidden,
#backtoblog {
	display: none;
}

#pass-strength-result {
	background: #fff;
}

#pass-strength-result.strong {
	background-color: #fff;
	border-color: transparent;
	color: #46b450; /* Green */
	-webkit-box-shadow:
		inset 0 14px #fff,
		inset 0 -14px #fff,
		inset -100px 0 #46b450,
		inset 100px 0 #46b450;
	box-shadow:
		inset 0 14px #fff,
		inset 0 -14px #fff,
		inset -100px 0 #46b450,
		inset 100px 0 #46b450;
}

#pass-strength-result.good {
	background-color: #fff;
	border-color: transparent;
	color: #ffb900; /* Orange */
	-webkit-box-shadow:
		inset 0 14px #fff,
		inset 0 -14px #fff,
		inset -80px 0 #ffb900,
		inset 80px 0 #ffb900;
	box-shadow:
		inset 0 14px #fff,
		inset 0 -14px #fff,
		inset -80px 0 #ffb900,
		inset 80px 0 #ffb900;
}

#pass-strength-result.bad, #pass-strength-result.short {
	background-color: #fff;
	border-color: transparent;
	color: #dc3232; /* Red */
	-webkit-box-shadow:
		inset 0 14px #fff,
		inset 0 -14px #fff,
		inset -80px 0 #dc3232,
		inset 80px 0 #dc3232;
	box-shadow:
		inset 0 14px #fff,
		inset 0 -14px #fff,
		inset -80px 0 #dc3232,
		inset 80px 0 #dc3232;
}

.reset-pass {
	margin-bottom: 0;
}

#loginform {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	-webkit-box-shadow: none !important;
	box-shadow: none !important;
}

#login form p {
	margin: 0;
}

/**
 * #.# Basic CSS
 *
 * The rest of the CSS is for all login pages.
 */

body {
	color: #555d66;
	font-size: 14px;
}

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

a {
	color: #555d66 !important;
	text-decoration: underline !important;
	font-weight: normal;
	outline: 0;
}

a:hover, a:active {
	text-decoration: underline;
}

h2 {
	font-size: 1.5em;
}

p {
	line-height: 1.5;
	margin-bottom: 1em;
}

strong {
	font-weight: bolder;
}

.small {
	font-size: 12px;
	font-weight: normal;
}

.center {
	text-align: center;
}

.wp-core-ui .button-primary {
	-webkit-box-shadow: none;
	box-shadow: none;
}

.singleline {
	position: relative;
	left: -12px;
	width: 278px;
}

#login {
	width: 350px;
	padding: 24px;
	margin: 72px auto 68px; /* top and bottom values of h1 and #nav */
	background: #fff;
	position: relative;
	-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .2);
	box-shadow: 0 1px 2px rgba(0, 0, 0, .2);
}

#login h1 {
	text-align: center;
	margin-bottom: 24px;
	position: absolute;
	top: -72px;
	width: 100%;
	left: 0;
}

#login h1 a {
	background-image: url(https://login.wordpress.org/wp-content/themes/pub/wporg-login/images/wporg-logo.png);
	background-image: none, url(https://login.wordpress.org/wp-content/themes/pub/wporg-login/images/wporg-logo.svg);
	-webkit-background-size: 256px;
	background-size: 256px;
	background-position: center top;
	background-repeat: no-repeat;
	color: #999;
	height: 52px;
	margin: 0 auto;
	padding: 0;
	width: auto;
	text-indent: -9999px;
	outline: none;
	overflow: hidden;
	display: block;
	-webkit-transition: none;
	transition: none;
}

p.intro, #login .message {
	margin-bottom: 24px !important;
}

#login .message + #login_error {
	margin-top: 0 !important;
	border-top: 1px solid #f5f5f5;
}

#login #login_error {
	border-left: 4px solid #dc3232;
	padding: 12px;
	margin: -24px 0 24px -24px;
	background-color: #fbfbfb;
	width: 350px;
	border-bottom: 1px solid #f5f5f5;
	-webkit-box-shadow: none !important;
	box-shadow: none !important;
}

.rtl #login #login_error {
	border-left: 0;
	border-right: 4px solid #dc3232;
	margin: -24px -24px 24px 0;
}

#login #nav {
	font-size: 13px;
	padding: 0;
	margin: 24px auto;
	text-align: center;
	position: absolute;
	left: 0;
	bottom: -68px;
	width: 100%;
}

.login form {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	-webkit-box-shadow: none !important;
	box-shadow: none !important;
	overflow: visible;
	border: none;
}

.mobile #login {
	padding: 24px;
}

.container {
	padding: 0 0 64px;
	margin-top: 24px;
}

form {
	margin-top: 24px;
}

form p {
	margin-bottom: 0;
}

form .forgetmenot,
form .login-remember {
	font-weight: normal;
	margin-bottom: 16px !important;
}

form .forgetmenot label,
form .login-remember label {
	font-size: 12px;
	line-height: 1;
	cursor: pointer;
}

form .submit {
	margin: 8px 0 0 0 !important;
	padding: 0;
}

form input[type="text"],
form input[type="password"] {
	width: 100%;
	padding: 3px 10px;
	margin: 2px 6px 16px 0;
	height: 40px;
	color: #23282d;
	font-weight: 400;
}

.login .password-input-wrapper {
	display: inherit;
}

#loginform p.submit,
.login-action-lostpassword p.submit {
	border: none;
}

.login #pass-strength-result {
	font-weight: 600;
	margin: -1px 5px 16px 0;
	padding: 6px 5px;
	text-align: center;
	width: 100%;
}

body.route-register input.input,
body.route-pending-profile input.input,
body.route-pending-create input.input {
	margin-bottom: 0;
}

body.route-register #login form p,
body.route-pending-profile #login form p,
body.route-pending-create #login form p,
body.route-linkexpired h2,
body.route-linkexpired p {
	margin-bottom: 16px;
}

body.route-root #login form span.wp-pwd {
	display: block;
}

body.login form input.input::-webkit-input-placeholder { /* Chrome/Opera/Safari */
	opacity: 0.5;
}

body.login form input.input::-moz-placeholder { /* Firefox 19+ */
	opacity: 0.5;
}

body.login form input.input:-ms-input-placeholder { /* IE 10+ */
	opacity: 0.5;
}

body.login form input.input:-moz-placeholder { /* Firefox 18- */
	opacity: 0.5;
}

body.login form span.invalid-message {
	display: none;
}
body.login form input.input:invalid + span.invalid-message {
	display: block;
}

body.login form input.error,
body.login form input[pattern]:invalid {
	background-color: #fbeaea;
	border: 2px solid #dc3232;
}

body.login form input.good {
	border-color: #46b450;
}

body.route-register #login .message,
body.route-pending-profile #login .message,
body.route-pending-create #login .message,
body.route-linkexpired #login .message {
	margin-left: -24px;
	padding-left: 24px;
	padding-right: 24px;
	margin-right: -24px;
}

body.route-register #login .message p,
body.route-pending-profile #login .message p,
body.route-pending-create #login .message p,
body.route-linkexpired #login .message p {
	margin: 0;
}

body.route-register #login .message.with-avatar p,
body.route-pending-profile #login .message.with-avatar p,
body.route-pending-create #login .message.with-avatar p {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

body.route-register #login .message.error,
body.route-pending-profile #login .message.error,
body.route-pending-create #login .message.error,
body.route-linkexpired #login .message.error {
	margin-bottom: 30px !important;
	color: #23282d;
	background: #fbfbfb;
	border-left-color: #dc3232;
	-webkit-box-shadow:
		0 1px 2px rgba(0, 0, 0, 0.07),
		0 -1px 2px rgba(0, 0, 0, 0.07);
	box-shadow:
		0 1px 2px rgba(0, 0, 0, 0.07),
		0 -1px 2px rgba(0, 0, 0, 0.07);
}

body.rtl.route-register #login .message.error,
body.rtl.route-pending-profile #login .message.error,
body.rtl.route-pending-create #login .message.error,
body.rtl.route-linkexpired #login .message.error {
	border-right-color: #dc3232;
}

body.route-register .message.error .avatar {
	border-radius: 50%;
	margin-right: 1em;
	max-width: 100%;
	height: auto;
}

body.rtl.route-register .message.error .avatar {
	margin-right: 0;
	margin-left: 1em;
}

body.route-pending-profile #login .message.info {
	margin-top: -24px;
	width: 350px;
}

body.route-pending-profile #login .message.info,
body.route-pending-profile p.intro {
	margin-bottom: 1em !important;
}

body.route-pending-profile input.disabled,
body.route-pending-create input.disabled {
	color: #666;
	background: transparent;
	border: none;
	box-shadow: unset;
	margin-bottom: 0;
}

form p.checkbox.error {
	color: #dc3232;
}

form p.checkbox label {
	position: relative;
	display: block;
	padding-left: 24px;
	font-size: 12px;
	line-height: 19px;
}

.rtl form p.checkbox label {
	padding-left: 0;
	padding-right: 24px;
}

@media screen and (max-width: 782px) {
	form p.checkbox label {
		padding-left: 33px;
	}

	.rtl form p.checkbox label {
		padding-left: 0;
		padding-right: 33px;
	}
}

form p.checkbox label input {
	position: absolute;
	top: 0;
	left: 0;
	margin: 2px 0 0;
}

.rtl form p.checkbox label input {
	left: auto;
	right: 0;
}

/* Clearfix for the forms, allows for non-flex-mode #login div to stretch over the submit button */
form:before,
form:after {
	content: "";
	display: table;
	border-collapse: collapse;
}

form:after {
	clear: both;
}

form {
	min-height: 0; /* clearfix IE7 support */
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(50%);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.language-switcher {
	width: 350px;
	margin: 0 auto 24px;
	text-align: center;
}

.language-switcher label {
	margin-right: .5em;
}

.rtl .language-switcher label {
	margin-right: 0;
	margin-left: .5em;
}

.language-switcher span.dashicons {
	line-height: 30px;
}

.language-switcher select {
	height: 30px;
}

@media (max-width: 375px) {
	body, html {
		background: #fff;
	}

	body.login {
		display: block; /* Overwriting flexbox to remove vertical positioning */
		padding-top: 20px;
		padding-bottom: 20px;
	}

	#login,
	.mobile #login {
		-webkit-box-shadow: none;
		box-shadow: none;
		padding: 24px;
	}

	#login #login_error {
		margin-left: 0;
		width: 100%;
	}

	.rtl #login #login_error {
		margin-right: 0;
	}

	#login {
		margin-top: 52px;
		margin-bottom: 48px;
	}

	#login #nav {
		bottom: -48px;
	}

	#login h1 {
		top: -52px;
	}

	body.route-register .message.error .avatar {
		max-width: 40px
	}

	#rc-imageselect {
		margin: 0 auto;
		transform: scale(0.8);
		-webkit-transform: scale(0.8);
		transform-origin: 0 0;
		-webkit-transform-origin: 0 0;
	}
}

@media (max-width: 360px) {
	#login {
		width: 100%;
		padding: 20px 24px;
	}

	.language-switcher {
		width: 100%;
	}

	#login h1 {
		padding: 0 24px 24px;
	}

	#login h1 a {
		-webkit-background-size: 100%;
		background-size: 100%;
	}
}

/* Disable flex display on smaller screens, as it cuts off the centered content */
@media (max-height: 550px) {
	body.login {
		display: block;
		padding-top: 20px;
		padding-bottom: 20px;
	}
}

/* Two Factor customizations required. */
#loginform {
	position: relative;
}
#login .backup-methods-wrap {
	padding: 0;
	position: absolute;
	top: 100%;
}