
/* Login page (GMX 3). The page is standalone: it does not go through _core/page.main.php */

body
{
	min-height: 100vh;
	background-color: var(--color-gray-075);
}

/* 3D wireframe of the logo behind the box, drawn by scripts/logo3d.js */

.login-logo3d
{
	position: fixed;
	inset: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	pointer-events: none;
	color: var(--color-gray-800);
}

.login-logo3d path
{
	fill: none;
	stroke: currentColor;
	stroke-width: 1;
	stroke-linejoin: round;
	stroke-linecap: round;
}

.login-logo3d .login-logo3d-front
{
	stroke-width: 1.5;
	opacity: 0.3;
}

.login-logo3d .login-logo3d-back
{
	opacity: 0.12;
}

.login-logo3d .login-logo3d-sides
{
	opacity: 0.16;
}

/* Box */

.login-box
{
	position: absolute;
	top: 50%;
	left: 50%;
	width: min(680px, calc(100% - 32px));
	transform: translate(-50%, -50%);
}

/* Translucent, so panel-blur lets the spinning logo show through */

.login-panel
{
	--panel-bg: color-mix(in srgb, var(--color-white) 70%, transparent);
	overflow: hidden;
	box-shadow: 0 5px 20px var(--color-black-glass-2);
}

/* Brand on the left, form on the right; stacked on the phone */

.login-panel .login-columns
{
	display: grid;
	grid-template-columns: 5fr 6fr;
	padding: 0;
}

.login-brand
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 40px 30px;
	background: color-mix(in srgb, var(--color-gray-100) 40%, transparent);
	border-right: 1px solid var(--color-gray-100);
}

.login-form
{
	padding: 40px;
}

@media (width <= 640px)
{
	.login-panel .login-columns
	{
		grid-template-columns: 1fr;
	}

	.login-brand
	{
		padding: 30px;
		border-right: 0;
		border-bottom: 1px solid var(--color-gray-100);
	}

	.login-form
	{
		padding: 30px;
	}
}

/* Logo: logo.svg as a mask painted with the brand colour, like the side menu */

.login-logo
{
	margin: 0 0 15px;
	line-height: 0;
}

.login-logo-image
{
	display: inline-block;
	width: 200px;
	height: 31px; /* logo.svg is 1920x294 */
	background: var(--color-default);
	-webkit-mask: url(../../images/_core/logo.svg) center / contain no-repeat;
	mask: url(../../images/_core/logo.svg) center / contain no-repeat;
}

.login-logo-name
{
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

/* E-mail and password as one stacked field, with the reset link inside the password */

.login-fields
{
	position: relative;
}

.login-fields .login-email
{
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

.login-fields .login-password
{
	margin-top: 6px; /* room for the e-mail's focus ring (2px outline + 2px offset) */
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}

.login-fields .login-password-reset
{
	position: absolute;
	right: 12px;
	bottom: 10px;
	font-size: 18px;
	color: var(--color-gray-400);
	transition: color var(--transition);
}

.login-fields .login-password-reset:hover
{
	color: var(--color-gray-700);
	text-decoration: none;
}
