html,
body {
	min-height: 100%;
}

.adecopa-login {
	background: #f4f8fb;
	min-height: 100vh;
}

.adecopa-login.half,
.adecopa-login.half .container > .row {
	background: #f4f8fb;
	min-height: 100vh;
}

.adecopa-login .adecopa-login-panel {
	align-items: center;
	display: flex;
	min-height: 100vh;
	padding: 42px 0;
	width: 50%;
}

.adecopa-login .adecopa-login-visual {
	background-position: center;
	background-size: cover;
	min-height: 100vh;
	position: relative;
	width: 50%;
}

.adecopa-login .adecopa-login-visual::after {
	background: linear-gradient(90deg, rgba(244, 248, 251, 0.35), rgba(244, 248, 251, 0));
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.adecopa-login-card {
	background: #ffffff;
	border: 1px solid #dce5ee;
	border-radius: 8px;
	box-shadow: 0 18px 45px rgba(21, 43, 68, 0.12);
	padding: 34px;
}

.adecopa-login-brand {
	align-items: center;
	display: flex;
	gap: 18px;
	margin-bottom: 28px;
}

.adecopa-login-brand img {
	height: auto;
	max-width: 118px;
}

.adecopa-login-brand h1 {
	color: #172b4d;
	font-size: 25px;
	font-weight: 700;
	line-height: 1.15;
	margin: 0 0 5px;
}

.adecopa-login-brand p {
	color: #5f6f82;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.35;
	margin: 0;
}

.half .contents .adecopa-login-field,
.half .bg .adecopa-login-field {
	background: transparent;
	border: 0;
	margin-bottom: 16px;
	padding: 0;
}

.adecopa-login-field label {
	color: #25364a !important;
	font-size: 13px !important;
	font-weight: 700;
	margin-bottom: 7px !important;
}

.adecopa-login-input {
	align-items: center;
	background: #f8fbff;
	border: 1px solid #c8d7e8;
	border-radius: 7px;
	display: flex;
	min-height: 48px;
	padding: 0 13px;
	transition: border-color 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease;
}

.adecopa-login-input:focus-within {
	background: #ffffff;
	border-color: #2574c7;
	box-shadow: 0 0 0 3px rgba(37, 116, 199, 0.15);
}

.adecopa-login-input i {
	color: #3b76ba;
	flex: 0 0 auto;
	font-size: 14px;
	margin-right: 10px;
}

.half .contents .adecopa-login-input .form-control,
.half .bg .adecopa-login-input .form-control {
	background: transparent;
	border: 0;
	color: #162638;
	font-size: 15px;
	font-weight: 500;
	height: 46px;
	padding: 0;
}

.adecopa-login-input .form-control::placeholder {
	color: #8a98a8;
	font-weight: 400;
}

.adecopa-login-submit,
.adecopa-login-recover {
	border-radius: 7px;
	font-size: 16px;
	font-weight: 700;
	height: 48px !important;
	margin-top: 14px;
	padding: 0 18px !important;
}

.adecopa-login-submit {
	background: #2f78bf;
	border-color: #2f78bf;
	box-shadow: 0 8px 18px rgba(47, 120, 191, 0.22);
}

.adecopa-login-submit:hover,
.adecopa-login-submit:focus {
	background: #2469aa;
	border-color: #2469aa;
}

.adecopa-login-recover {
	background: #ffffff;
	border-color: #b8cbe0;
	color: #2f78bf;
}

.adecopa-login-recover:hover,
.adecopa-login-recover:focus {
	background: #eef6ff;
	border-color: #2f78bf;
	color: #2469aa;
}

.adecopa-login-credit {
	align-items: center;
	border-top: 1px solid #e4ebf3;
	display: flex;
	gap: 14px;
	justify-content: center;
	margin-top: 26px;
	padding: 18px 18px 0;
}

.adecopa-login-credit span {
	color: #6b7785;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: uppercase;
	white-space: nowrap;
}

.adecopa-login-credit a {
	display: inline-flex;
	line-height: 0;
}

.adecopa-login-credit img {
	height: auto;
	max-height: 30px;
	max-width: 205px;
	object-fit: contain;
}

@media (max-width: 1199.98px) {
	.adecopa-login .adecopa-login-panel,
	.adecopa-login .adecopa-login-visual {
		width: 50%;
	}

	.adecopa-login-credit {
		align-items: center;
		flex-direction: column;
		gap: 9px;
		padding-left: 12px;
		padding-right: 12px;
		text-align: center;
	}
}

@media (max-width: 991.98px) {
	.adecopa-login {
		display: flex;
		flex-direction: column;
	}

	.adecopa-login .adecopa-login-visual {
		min-height: 220px;
		order: 1;
		width: 100%;
	}

	.adecopa-login .adecopa-login-panel {
		min-height: auto;
		order: 2;
		padding: 22px 0 30px;
		width: 100%;
	}

	.adecopa-login.half,
	.adecopa-login.half .container > .row {
		min-height: auto;
	}
}

@media (max-width: 575.98px) {
	.adecopa-login .adecopa-login-visual {
		min-height: 155px;
	}

	.adecopa-login-card {
		border-radius: 0;
		border-left: 0;
		border-right: 0;
		box-shadow: none;
		padding: 24px 18px;
	}

	.adecopa-login-brand {
		align-items: flex-start;
		display: block;
		margin-bottom: 22px;
	}

	.adecopa-login-brand img {
		margin-bottom: 16px;
		max-width: 102px;
	}

	.adecopa-login-brand h1 {
		font-size: 22px;
	}

	.adecopa-login-credit {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
	}

	.adecopa-login-credit img {
		max-width: 100%;
	}
}
