@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
body {
	font-family: 'Inter', sans-serif;
}

.login-pf {
	background: #010b0d !important;
}

.login-pf body {
	background: url(../img/portal_login_background.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	position: relative;
}

::placeholder {
	color: #667085;
	font-size: 14px;
	line-height: 24px;
}

#kc-header {
	width: 100%;
	background-color: white;
	margin-bottom: 60px;
	padding: 15px 0px;
	position: absolute;
	top: 0px;
	left: 0px;
	box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.08), 0 2px 4px 0 rgba(0, 0, 0, 0.12);
}

#kc-content {
	width: 100%;
	color: #101828;
	font-size: 13px;
}

.login-pf-page .card-pf p {
	color: #101828;
}

.login-pf-page {
	padding-top: 0px;
	min-height: 100vh;
	display: flex;
	align-items: center;
	max-height: -webkit-fill-available;
}

.pf-c-form-control:not(textarea) {
	background: #fff;
	border-radius: 8px;
	border: 1px solid #D0D5DD !important;
	height: 44px;
	font-size: 14px;
	color: #667085;
	padding: 0px 15px 0px 15px !important;
	width: 100%;
	box-shadow: 0px 1px 2px rgb(16 24 40 / 5%);
	font-family: 'Inter', sans-serif !important;
}

.pf-c-button.pf-m-primary {
	background: #0066FF !important;
	border-color: #0066FF !important;
	height: 40px;
	font-size: 14px;
	font-family: 'Inter', sans-serif;
	padding: 0px;
	color: #fff;
	border-radius: 8px;
}

#kc-header-wrapper {
	padding: 0px 0px 0px;
}

div.kc-logo-text {
	background-image: url(../img/logo.svg);
	background-size: unset;
	width: 249px;
	height: 48px;
}

.logo-fintech {
	content: '';
	position: absolute;
	background-image: url(../img/logo-fintech.svg);
	background-size: cover;
	width: 117px;
	height: 20px;
	z-index: 9;
	right: 20px;
	bottom: 20px;
}

.login-pf-page .card-pf {
	width: 100%;
	margin: 0 auto;
	max-width: 480px;
	padding: 0px;
	background: rgb(255 255 255 / 93%);
	border: 0px;
	color: white;
	box-shadow: unset;
	padding: 3rem;
	box-shadow: 40px 34px 188px rgb(0 0 0 / 10%), 0 10px 10px rgb(0 0 0 / 10%);
	border-radius: 8px;
}

h1#kc-page-title {
	text-align: center;
	font-size: 26px;
	font-weight: 400;
	max-width: 100%;
	line-height: 38px;
	color: #101828;
}

#kc-totp-settings {
	height: 220px;
	overflow: hidden;
	overflow-y: scroll;
	margin: 15px 0px !important;
}

.pf-c-alert.pf-m-warning.pf-m-inline {
	background: #FCE59C;
}

.pf-c-alert.pf-m-inline.pf-m-warning::before {
	background-color: #FFCD34 !important;
}

.pf-c-alert__title {
	padding: 5px 8px !important;
}

.pf-c-alert.pf-m-inline {
	padding-bottom: 0px;
}

#kc-form-login input {
	background: #fff;
	border-radius: 8px;
	border: 1px solid #D0D5DD;
	height: 44px;
	font-size: 16px;
	color: #667085;
	padding: 0px 15px 0px 37px;
	width: 100%;
	box-shadow: 0px 1px 2px rgb(16 24 40 / 5%);
}

.pf-c-form__label-text {
	font-size: 14px;
	margin-bottom: 3px;
}

#kc-form-login input.pf-c-button {
	background: #0066FF;
	border-color: #0066FF;
	height: 40px;
	font-size: 14px;
	font-family: 'Inter', sans-serif;
	padding: 0px;
	color: #fff;
}

.login-pf-page .login-pf-signup {
	color: white;
}

#kc-form-login .kc-form-options input {
	height: unset;
}

#kc-info-wrapper {
	font-size: 14px;
	background-color: transparent;
	max-width: 365px;
	width: 100%;
	text-align: center;
	margin: 0 auto;
	padding-top: 15px;
}

.login-pf-page .login-pf-settings {
	font-size: 14px;
}

.checkbox label,
.radio label {
	color: #fff;
}

#kc-form-login input#rememberMe {
	width: 15px;
	height: 15px;
}

.checkbox label,
.radio label {
	padding-left: 25px;
}

.checkbox input[type=checkbox],
.checkbox-inline input[type=checkbox],
.radio input[type=radio],
.radio-inline input[type=radio] {
	margin-left: -25px;
}

#kc-form-login input:hover,
#kc-form-login input:focus {
	border: 1px solid #99C2FF !important;
	outline: unset !important;
}

#kc-form-login input.pf-c-button:hover,
#kc-form-login input.pf-c-button:focus {
	border: 0px !important;
	outline: unset !important;
}

.pf-c-form-control:hover,
.pf-c-form-control:focus {
	padding-top: 7px;
}

.in-login {
	position: relative;
}

.login-username:before {
	content: '';
	width: 16px;
	height: 18px;
	background-image: url(../img/user-login.svg);
	background-size: cover;
	position: absolute;
	left: 12px;
	top: 12px;
}

.login-password:before {
	content: '';
	width: 17px;
	height: 18px;
	background-image: url(../img/pass-login.svg);
	background-size: cover;
	position: absolute;
	left: 12px;
	top: 12px;
}

#kc-form-buttons {
	margin-top: 45px;
}

.login-pf-page .login-pf-header {
	margin-bottom: 30px;
}

@media(max-width:768px) {
	.login-pf-page .card-pf {
		padding: 3.75rem 1rem;
	}
	.login-pf-page {
		padding: 0px 15px;
	}
}

@media(max-width:480px) {
	.login-pf body {
		background-size: auto 110%;
	}
}