@CHARSET "UTF-8";

/* Used to remove webkit styling on apple devices */
* {
	-webkit-appearance: none;
}

html, body {
	margin: 0;
	height: 100%;
	font-family: 'Open Sans', Arial, sans-serif;
	font-size: 14px;
}

h3 {
	margin: 0;
	text-align: center;
}

/*Removes the yellow default styling when autofilling inputs*/
/*Animation used to detect autofill and remove class is-empty from filled fields*/
@-webkit-keyframes autofill {
	from { }
	to { }
}

input:-webkit-autofill {
	-webkit-animation-name: autofill;
	transition: background-color 50000s ease-in-out 0s;
	-webkit-animation-fill-mode: both;
}

/* ============ Footer ============ */

.headerContainer {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-family: 'Poppins', sans-serif;
	font-size: 18px;
}

.headerContainer > * {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.dp-HeaderLogo {
	max-width: 225px;
	max-height: 90px;
	height: auto;
	width: auto;
}

.footerContainer {
	align-self: end;
	justify-self: end;
	font-family: 'Poppins', sans-serif;
	max-width: 100%;
	overflow: hidden;
}

.footerContainer a {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}


#dpLogo {
	width: 8em;
}

#dpLogoFibeX {
	width: 14em;
}

#appTitleS {
	color: #fff;
	margin: 0;
	max-width: 100%;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

#appTitleFibeX {
	color: #fff;
	font-size: 1.535rem;
	margin: 0;
	max-width: 100%;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	position: relative;
	top: 0.8em;
}

#trustContainer {
	padding: 1em 0;
	display: flex;
	gap: 8px;
	align-items: center;
}

#qrcode {
	display:none;
	object-fit: none;
	width: 200px;
	justify-self: center;
}

/*---------------------------------*/

.dp-LoginFormContainer {
	display: grid;
	grid-template-columns: 100%;
	gap: 8px;
	height: 100%;
}

a, a:visited {
	color: rgb(var(--primarycolor));
	text-decoration: none;
}

.hidden {
	display: none;
}

/* ======================================= OpendId / passkey ======================================= */

.other-auth-container, .auth-buttons-container {
	display: grid;
	gap: 8px;
	grid-template-columns: 1fr;
}

.other-auth-container .other-auth-divider {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.other-auth-container .auth-buttons-container {
	overflow: auto;
	max-height: 90px;
}

.other-auth-container .auth-buttons-container md-outlined-button {
	width: 100%;
	overflow: hidden;
}

/* ======================================= Desktop layout style ======================================= */

.dp-LoginBackgroundDesktop {
	background-color: rgb(249, 250, 251);
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}

.dp-LoginPageDesktop {
	position: relative;
	width: 840px;
	height: 500px;
	display: grid;
	border-radius: 20px;
	overflow: hidden;
	grid-template-columns: 50% 50%;
	align-items: center;
	justify-items: center;
	background-color: rgb(255, 255, 255);
	box-shadow: 3px 3px 7px 3px rgba(32, 33, 36, 0.28);
}

.dp-LoginRightSide {
	overflow: hidden;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	position: relative;
}

.dp-LoginRightSide .rightBackground {
	object-fit: contain;
}

.dp-LoginRightSideContent {
	position: absolute;
	padding: 2em;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	display: grid;
	grid-template-rows: minmax(0, 1fr) auto;
	grid-template-columns: 1fr;
	justify-items: center;
	align-items: center;
}

#FibeX-LoginRightSideContent {
    padding: 0.5em;
}

.dp-LoginFormDivDesktop {
	display: flex;
	flex-direction: column;
	width: 60%;
	padding: 2em;
}

.dp-LoginFormDivDesktop md-linear-progress {
	position: absolute;
	top: 0;
	display: none;
	width: 50%;
	left: 0;
}

/* ======================================= Mobile layout style ======================================= */

.dp-LoginPageMobile {
	width: 100%;
	height: 100%;
	display: grid;
	grid-template-columns: 100%;
	align-items: center;
	justify-items: center;
}

.dp-LoginBackgroundMobile {
	position: absolute;
	width: 100vw;
	height: 100vh; /* Fallback for browsers that do not support Custom Properties */
	height: calc(var(--vh, 1vh) * 100);
	display: flex;
	justify-content: center;
	overflow: hidden;
}

.dp-LoginBackgroundMobile .mobileBackground {
	object-fit: cover;
	width: 100%;
}

.dp-LoginPageContentMobile {
	position: relative;
	width: 100%;
	height: 100%;
	display: grid;
	padding: 2em;
	grid-template-columns: 100%;
	grid-template-rows: 1fr auto;
	gap: 2em;
	box-sizing: border-box;
	align-items: center;
	justify-items: center;
}

.dp-LoginFormDivMobile {
	position: relative;
	align-self: baseline;
	overflow: hidden;
	height: 100%;
	width: 100%;
	border-radius: 20px;
	background-color: white;
	padding: 2em;
	box-sizing: border-box;
	box-shadow: 3px 3px 7px 3px rgba(32, 33, 36, 0.28);
}

.dp-LoginFormDivMobile md-linear-progress {
	position: absolute;
	top: 0;
	display: none;
	width: 100%;
	left: 0;
}

.login-error {
	color: var(--error-color);
	font-size: 12px;
	font-weight: 600;
}

/* =================================================================================================== */

.buttonRow {
	display: flex;
	flex-direction: row-reverse;
	justify-content: end;
	gap: 8px;
	align-items: center;
}

.dp-MessageContainer {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
	max-height: 330px;
	max-width: 100%;
	overflow: auto;
	box-sizing: border-box;
	padding: 2em;
	border-radius: 20px;
	background: white;
	font-size: 12px;
}

/* Phones */
@media screen and (max-width: 767px) {
	.buttonRow {
		flex-direction: column;
	}

	.buttonRow > * {
		width: 100%;
	}

	.dp-messagePanelGlass {
		background: rgba(0,0,0,0.30);
		width: 100%;
		height: 100%;
		position: absolute;
		box-sizing: border-box;
		top: 0px;
		left: 0px;
		z-index: 10;
	}

	.dp-MessageContainer {
		background-color: rgb(255,255,255);
		position: absolute;
		width: 86%;
		left: 50%;
		top: 40%;
		transform: translateX(-50%) translateY(-50%);
		max-height: 75%;
		box-shadow: 0 1px 6px rgba(32, 33, 36, 0.28);
		z-index: 11;
	}
}

/* Tablets*/
@media screen and (min-width: 768px) {	
	.dp-LoginFormDivMobile {
		max-width: 500px;
		max-height: 550px;
		position: relative;
	}

	@media (orientation: landscape) {	
		.dp-LoginFormDivMobile {
			top: 10%;
		}
	}

	@media (orientation: portrait) {	
		.dp-LoginFormDivMobile {
			top: 20%;
		}
	}
}
