/*!
 * Login page styling
 */

/** General */
	.container {
		max-width: 400px;
		margin: 0px auto;
		padding: 0 2%;
	}

	@media only screen and (max-width: 500px) {

		.container {
			max-width: 350px;
		}

	}

	body {
		font: 17px/1.4em futura-pt, Helvetica, Helvetica Neue, Arial, sans-serif;
		color: #444;
		position: relative;
		background: #2b2e83;
		background-attachment: fixed;
		padding: 30px 0
	}
	body::before {
		content: '';
		background: url('/assets/images/icon/circle-left.svg') no-repeat;
		background-size: cover;
		display: block;
		width: 181px;
		height: 370px;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		pointer-events: none;
	}
	body::after {
		content: '';
		background: url('/assets/images/icon/circle-right.svg') no-repeat;
		background-size: cover;
		display: block;
		width: 225px;
		height: 510px;
		position: absolute;
		top: 120px;
		right: 0;
		z-index: -1;
		pointer-events: none;
	}

		body > div {
			position: relative;
			z-index: 1;
		}

/** Logo */
	#header-logo {
		padding: 0;
	}

		#header-logo .logo {
			width: 100%;
			height: 162px;
			display: block;
			background-image: url(/assets/images/logo.svg);
			background-repeat: no-repeat;
			background-position: center;
			background-size: contain;
		}

/** Notifications */
	#messages {
		margin: 1.25em 0;
	}

		.alert {
			background: #FFF;
			border-radius: 3px;
			border: none;
			font-size: 0.813em;
			color: #393c3b;
			display: flex;
			padding: 10px 15px;
			margin: 0 0 1em;
		}
		.alert::before {
			content: '';
			width: 15px;
			margin: 0 10px 0 0;
		}
		.alert-danger::before {
			background: url(/assets/images/icon/danger.svg) no-repeat;
			background-position: center;
			background-size: contain;
		}

/** Login Form */
	#login-form input,
	#login-form select {
		width: 100%;
		border: none;
		padding: 1em 1.5em;
		border-radius: 50px;
		margin: 0 0 15px;
		font-size: 0.938em;
		color: #444343;
	}

	#login-form input[type="password"] {
		letter-spacing: -0.01em;
	}

	#login-form select {
		cursor: pointer;
		-webkit-appearance: none;
		appearance: none;
		background-image: url(/assets/images/icon/arrow-down-blue.svg);
		background-position: calc(100% - 2.25em) 50%;
		background-repeat: no-repeat;
	}

	#login-form input:focus,
	#login-form select:focus {
		outline: none;
	}
	#login-form select:focus {
		background-color: #F6F6F6;
	}
	#login-form input:focus {
		background: #F6F6F6;
	}

	#login-form button {
		width: 100%;
		border: none;
		padding: 0 2em;
		height: 50px;
		border-radius: 50px;
		margin: 0 0 15px;
		font-size: 0.813em;
		color: #FFF;
		background: #ed1f82;
		font-weight: 600;
		text-transform: uppercase;
		-webkit-transition: all .3s ease;
		   -moz-transition: all .3s ease;
		    -ms-transition: all .3s ease;
		     -o-transition: all .3s ease;
		        transition: all .3s ease;
	}
	#login-form button:hover {
		background: #BA1866;
	}

	.form-links {
		margin: 0 0 35px;
		display: flex;
		align-items: center;
		justify-content: center;
	}

		.form-links a {
			color: #FFF;
			margin: 0 1em;
			font-size: 0.85em;
			font-weight: 500;
			text-decoration: none;
			position: relative;
			z-index: 1;
		}
		.form-links a::after {
			content: "";
			width: 100%;
			display: block;
			position: absolute;
			bottom: 1px;
			height: 1px;
			background-color: #ffffff;
			left: 0;
			z-index: -1;
			-webkit-transition: all .2s ease-in-out;
			-o-transition: all .2s ease-in-out;
			-moz-transition: all .2s ease-in-out;
			transition: all .2s ease-in-out;
		}
		.form-links a:hover::after {
			bottom: -1px
		}

	#login-form input.checkbox,
	#login-form input.radio {
		width: auto !important;
		background: transparent; /* ie6 */
		border: none !important; /* ie6 */
		margin: 0 10px 0 0;
	}
	#login-form label {
		display: flex;
		align-items: center;
		margin: 15px 0 10px;
		cursor: pointer;
		color: #FFF;
		opacity: 0.7;
		font-size: 14px;
	}
	#login-form label input {
		position: absolute;
		opacity: 0;
		cursor: pointer;
		height: 0;
		width: 0;
	}
	#login-form label span {
		position: relative;
		display: flex;
		height: 20px;
		width: 20px;
		margin-right: 13px;
		border: 2px solid #c4d9e7;
		justify-content: center;
		align-items: center;
		background-color: transparent;
	}
	#login-form label input[type="radio"] ~ span {
		border-radius: 10px;
	}
	#login-form label input[type="radio"]:checked ~ span:before {
		content: '';
		display: block;
		border-radius: 4px;
		width: 8px;
		height: 8px;
		background: #3c80b1;
	}
	#login-form label input[type="checkbox"]:checked ~ span:before {
		content: '';
		display: block;
		height: 10px;
		width: 10px;
		background-image: url('/assets/images/icon/tickbox-white.svg');
		background-position: 50% 65%;
		background-repeat: no-repeat;
	}

	#login-form p {
		color: #FFF;
	}

	#login-form p.prompt-2fa {
		text-align: center;
		margin: 2.5em 0;
	}

/** FAQ */
	#accordion {
		margin-top: 3em;
	}

	#accordion h3 {
		display: flex;
		align-items: center;
		cursor: pointer;
		background: #3474a3;
		border-radius: 3px;
		margin: 15px 0 0 0;
		font-size: 0.9em;
		font-weight: 500;
		color: #FFF;
		padding: 0;
		border: 0;
		font-family: 'futura-pt', Helvetica, Helvetica Neue, Arial, sans-serif;
	}
	#accordion h3:focus {
		outline: none;
	}

		#accordion h3 span {
			position: relative;
			display: block;
			width: 50px;
			height: 50px;
			background: #283890;
			margin: 0 15px 0 0;
		}
		#accordion h3 span::before,
		#accordion h3 span::after {
			position: absolute;
			content: '';
			width: 15px;
			height: 3px;
			background: #FFF;
			top: 50%;
			left: 50%;
			transform: translateX(-50%) translateY(-50%);
			-webkit-transition: all .3s ease;
			   -moz-transition: all .3s ease;
			    -ms-transition: all .3s ease;
			     -o-transition: all .3s ease;
			        transition: all .3s ease;
		}
		#accordion h3.ui-accordion-header-collapsed span::after {
			transform: translateX(-50%) translateY(-50%) rotate(90deg);
		}

	#accordion .content {
		font-size: 0.9em;
		line-height: 1.5;
		color: #FFF;
		padding: 1em 0;
		background-color: transparent;
		border: 0;
		font-family: 'futura-pt', Helvetica, Helvetica Neue, Arial, sans-serif;
	}
	#accordion .content p:last-child {
		margin-bottom: 0;
	}

	#accordion .content ul {
		padding: 0 0.5em;
	}

	#accordion .content ul li {
		margin: 0.75em 0.25em;
		list-style: none;
		padding-left: 15px;
		position: relative;
	}

	#accordion .content ul li strong {
		color: #aeb3ce;
		font-weight: 500;
	}

	#accordion .content ul li:before {
		content: '';
		width: 6px;
		height: 6px;
		border-radius: 50%;
		background-color: #3c80b1;
		display: inline-block;
		position: absolute;
		left: 0;
		top: 8px;
	}

	#accordion .content ul li a, #accordion .content a {
		color: #fff;
	}

	#accordion .content ul li a:hover, #accordion .content a:hover {
		text-decoration: none;
	}


	#accordion .content p.download a {
		display: flex;
		align-items: center;
		gap: 15px;
	}

	#accordion .content p.download a:before {
		content: '';
		display: inline-block;
		background: url(/assets/images/icon/download-pink.svg);
		background-repeat: no-repeat;
		background-size: contain;
		width: 19px;
		height: 19px;
	}

/* 2FA */

#login-form .trusted-device {
	margin-bottom: 2em;
}

#login-form label.save-device {
	opacity: 1;
	color: #fff;
	font-weight: 500;
	margin: 1.5em 0;
}

#login-form label.save-device small {
	display: block;
	color: #cbccde;
}

#login-form label.save-device span {
	width: 65px;
    height: 40px;
    border-radius: 40px;
    background-color: rgba(255,255,255,0.2);
	border: 0;
}

#login-form label.save-device input[type="checkbox"] ~ span:before {
	content: '';
	display: inline-block;
    width: 24px;
    height: 24px;
	border-radius: 50%;
    background-image: none;
    background-color: #fff;
	position: absolute;
	left: 7px;
	opacity: 0.5;
}

#login-form label.save-device input[type="checkbox"]:checked ~ span:before {
    background-color: #43b75b;
    right: 7px;
	left: auto;
	opacity: 1;
}

#login-form .trusted-device p.prompt-2fa {
	margin: 1.5em 0;
}


.site-error-block h1 {
	color: #FFFFFF;
}
