body
{
	margin: 0;

    font-family: Arial, Helvetica, sans-serif;

	--form-accent: #006ebd;
	--error-color: #b23909;
	--success-color: #76ba1d;
	
	--secondary-color: #ccc;
}

#wrapper
{
	background-color: #f2f2f2;

	width: 100vw;
	height: 100vh;

	display: flex;
	justify-content: center;
	align-items: center;
}

#content
{
	background-color: white;
	border-width: 1px;
	border-style: solid;
	border-color: var(--border-color);
	border-radius: 4px;

	display: flex;
}

#content > *
{
	/* box-sizing: border-box; */

	width: 500px;
	min-height: 400px;

	margin-top: 50px;
	margin-bottom: 50px;
}

#formArea
{
	display: flex;

	flex-direction: column;
	justify-content: center;
	align-items: center;

	row-gap: 20px;
}


#formArea section
{
	display: none;
	flex-direction: column;
	justify-content: center;
	align-items: center;

	row-gap: 10px;

	max-width: 360px;
}

#formArea:not([data-form-option]) [data-form-name="ssoCheck"],
#formArea[data-form-option="ssoCheck"] [data-form-name="ssoCheck"],
#formArea[data-form-option="password"] [data-form-name="password"],
#formArea[data-form-option="traditional"] [data-form-name="traditional"],
#formArea[data-form-option="mfaChoice"] [data-form-name="mfaChoice"],
#formArea[data-form-option="mfaInput"] [data-form-name="mfaInput"],
#formArea[data-form-option="passwordReset"] [data-form-name="passwordReset"],
#formArea[data-form-option="changePassword"] [data-form-name="changePassword"],
#formArea[data-form-option="newUser"] [data-form-name="newUser"]
{
	display: flex;
}

#formArea header
{
	text-align: center;

	margin: 0 0 10px 0;
}

#formArea header h1
{
	font-size: 24px;
	line-height: 28px;
	font-weight: normal;

	margin: 0;
}

#formArea header p
{
	font-size: 12px;
	line-height: 14px;
	
	margin: 10px 0 0 0;
}

#formArea header p.error
{
	color: var(--error-color);
}

#formArea header p.success
{
	color: var(--success-color);
}

#formArea label
{
	font-size: 11px;
	line-height: 13px;

	display: flex;
	align-items: center;
	justify-content: space-between;

	column-gap: 10px;

	width: 360px;
}

#formArea label.autofill-password-field
{
	height: 0;
	overflow-y: hidden;
}

#formArea label .text
{
	display: flex;
	justify-content: space-between;
	align-items: center;

	column-gap: 10px;
	text-align: justify;

	width: 125px;
}

#formArea label .error
{
	color: var(--error-color);
}

#formArea label .label
{
	font-weight: bold;
}

#formArea section.wide label .text
{
	width: 100%;
}

#formArea section:not(.wide) label .label::after
{
	content: ':';
}

#formArea .busySign
{
	display: none;
	z-index: 1;

	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;

	font-size: 24px;
	line-height: 28px;
}

#formArea .busySign svg
{
	color: var(--form-accent);

	animation: spin 4s linear infinite;
}

@keyframes spin
{
	100% { rotate: 1turn; }
}

#formArea[data-busy] section
{
	position: relative;
}

#formArea[data-busy] section > :not(.busySign)
{
	filter: blur(4px);
}

#formArea[data-busy] .busySign
{
	display: flex;
	justify-content: center;
	align-items: center;
}

#formArea > section[data-form-name="changePassword"][data-auth-type="reset"] [data-current-password]
{
	display: none;
}

#formArea :is(input, textarea, select)
{
	box-sizing: border-box;
	width: 225px;
	padding: 6px 8px;

	border: 1px solid var(--secondary-color);
	border-radius: 4px;

	-webkit-appearance: none;
	appearance: none;
	resize: none;
}

#formArea label:has(select:not(:empty)) input,
#formArea select:empty
{
	display: none;
}

#formArea label
{
	position: relative;
}

#formArea label:has(select:not(:empty))::after
{
	display: block;
	position: absolute;

	margin: auto;
	top: 4px;
	right: 4px;
	bottom: 0;

	content: '\002304';
	font-size: 18px;
	font-weight: lighter;
	color: var(--secondary-color);
}

#formArea section.wide label
{
	flex-direction: column;
	align-items: flex-start;
	row-gap: 10px;
}

#formArea section.wide :is(input, textarea, select)
{
	width: 360px;
	padding: 10px;
}

#formArea section input + [data-lastpass-icon-root]
{
	display: none;
}

#formArea #mfaFields
{
	display: flex;
	align-items: center;
	justify-content: space-around;
	gap: 8px;

	margin-bottom: 10px;
}

#formArea #mfaFields input
{
	width: 1.5em;
	box-sizing: content-box;

	font-size: 16px;
	text-align: center;
	padding-left: 0px;
	padding-right: 0px;
}

#formArea #mfaFields input::-webkit-inner-spin-button
{
	display: none;
}

#formArea footer
{
	display: flex;
	flex-direction: column;
	row-gap: 20px;

	width: 360px;
}

#formArea footer .actions
{
	display: flex;
	column-gap: 10px;
	align-items: stretch;
}

#formArea footer .actions > a
{
	height: 36px;
	width: 86px;
	
	border: 1px solid black;
	border-radius: 4px; 

	display: flex;
	justify-content: center;
	align-items: center;

	color: black;
	text-decoration: none;
}

#formArea footer .actions > a > .label
{
	font-size: 12px;
	line-height: 14px;
	
	pointer-events: none;
}

#formArea footer .actions a.confirm
{
	border-color: var(--form-accent);
	background-color: var(--form-accent);
	color: white;
}

#formArea footer .actions > a.stretch
{
	flex: 1
}

#formArea footer .links
{
	display: flex;
	justify-content: space-between;

	font-size: 11px;
	line-height: 13px;
}

#formArea footer .links a
{
	color: var(--form-accent);
}

#imageArea
{
	display: flex;
	justify-content: center;
	align-items: center;
}

#imageArea img
{
	max-width: 480px;
	max-height: 480px;
}

@media (width < 1024px) { #imageArea { display: none; } }