:root {
	--primary: #272955;
	--secondary: #DEE3F7;
	--primary-blue: #5975D9;
}

input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus, 
input:-webkit-autofill:active{
    -webkit-box-shadow: 0 0 0 30px var(--primary-blue) inset !important;
		-webkit-text-fill-color: #fff !important;
}
input::-webkit-input-placeholder{
	color: #fff;
}

* {
	box-sizing: border-box;
	border-width: 0;
}
html *, body * {
	color: var(--primary);
}

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

body * {
	font-family: Poppins, sans-serif !important;
}

h1, h2, h3, h4, h5 {
	overflow: hidden;
	text-overflow: ellipsis;
	margin-top: 0;
	font-weight: 500;
}

a {
	text-decoration: none;
}

ul {
	padding: 0;
}

ul li {
	list-style-type: none;
}

[role=button], a, area, button, input:not([type=range]), label, select, summary, textarea {
	touch-action: manipulation;
}

.sr-only {
	border: 0 !important;
	clip: rect(1px, 1px, 1px, 1px) !important; /* 1 */
	-webkit-clip-path: inset(50%) !important;
	clip-path: inset(50%) !important;  /* 2 */
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	width: 1px !important;
	white-space: nowrap !important;            /* 3 */
}

.display-center {
	display: flex;
	justify-content: center;
}

.align-center {
	align-items: center;
}

.top-margin {
	margin-top: 50px;
}

.svg-back-icon {
  width: 16px;
  height: 14px;
}
.svg-back-icon svg {
	stroke: #FFFFFF;
}

.text-btn {
	line-height: 1;
	font-size: 14px;
	font-weight: 400;
	height: 48px;
	padding: 16px 14px 18px;
	margin-right: 10px;
	text-align: center;
	min-width: 160px;
}
.text-btn-primary {
	background-color: var(--primary-blue);
	color: #fff;
	border-radius: 16px;
}
.text-btn-primary:hover {
	background-color: var(--primary);
	color: #fff;
}
.text-btn-secondary {
	background-color: #fff;
	color: var(--primary);
	border: solid 1px var(--secondary);
	border-radius: 16px;
}
.text-btn-secondary:hover {
	background-color: var(--primary);
	color: #fff;
}
.text-btn:disabled, .auth-wrapper .text-btn:disabled {
	opacity: 0.5;
}
.home-link, .auth-wrapper .home-link {
	display: none;
}

.auth-wrapper {
	margin: 0 auto;
	max-width: 1920px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #fff;
	z-index: 10;
}

.auth-wrapper .aside-image-wrapper {
	height: 100vh;
	width: 35%;
	min-width: 350px;
	max-width: 650px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}
.input-field {
	width: 100%;
	text-align: left;
	margin: 15px 0 15px;
	position: relative;
	display: flex;
	flex-direction: column-reverse;
}
.input-field input {
	width: 100%;
	height: 48px;
	padding: 10px;
	box-shadow: none;
	box-sizing: border-box;
	outline: none;
	color: #fff;
	font-size: 14px;
	background-color: var(--primary-blue);
	border: solid 1px var(--primary-blue);
	border-radius: 16px;
}

.input-field .top-label {
	padding-bottom: 5px;
	display: block;
	font-size: 12px;
	line-height: 14px;
}

 .auth-wrapper .error-state .aside-image-wrapper .aside-content-top {
	 display: none;
}
.auth-wrapper .main-content {
	 overflow-y: auto;
	 max-height: 100vh;
	 width: 66%;
	 display: flex;
	 justify-content: center;
	 padding: 0 15px;
}
.flex-row {
	 display: flex;
	 flex-direction: row;
	 align-items: center;
}
.space-between {
	display: flex;
	justify-content: space-between;
}
.main-content-form, .auth-wrapper .main-content-form {
	 max-width: 530px;
	 width: 100%;
	 box-sizing: content-box;
	 padding: 10px 40px;
}
.main-content-form p, .auth-wrapper .main-content-form p {
	 margin: 20px 0;
	 font-style: normal;
	 font-weight: normal;
	 line-height: 30px;
	 font-size: 18px;
}
.main-content-form h2, .auth-wrapper .main-content-form h2 {
	 font-style: normal;
	 font-weight: 600;
	 line-height: normal;
	 font-size: 36px;
	 margin: 0 0 30px;
}

.auth-wrapper .main-content-form.info-auth-page h2 {
	font-style: normal;
	font-weight: 600;
	line-height: normal;
	font-size: 30px;
	margin: 0 0 20px;
}

label, .auth-wrapper label {
	 font-size: 12px;
	 line-height: 14px;
	 vertical-align: middle;
}
.auth-wrapper h5 {
	font-size: 14px;
	margin-bottom: 0px;
}
.btn, .auth-wrapper .btn {
	width: 100%;
	height: 44px;
	padding: 10px, 16px, 10px, 16px;
	border-radius: 16px;
	font-weight: 500;
	font-size: 15px;
	line-height: 24px;
	margin-bottom: 16px;
	cursor: pointer;
}
.btn.btn-primary {
	background-color: var(--secondary);
	color: var(--primary);
}
.btn.btn-primary:hover {
	background-color: var(--primary);
	color: #fff;
}
.login-provider {
	background-color: #fff;
	color: var(--primary);
	border: solid 1px var(--primary-blue);
	border-radius: 16px;
}
.btn.login-provider:hover {
	background-color: var(--secondary);
}

.error-button {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 15px;
}

#kc-register-form .btn.btn-primary {
	margin-top: 10px;
}
.info-auth-page .btn.btn-primary {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
}
.info-auth-page .action-buttons {
	display: flex;
	align-items: center;
}
.btn:disabled, .auth-wrapper .btn:disabled, .btn.disabled, .auth-wrapper .btn.disabled {
	 opacity: 0.5;
	 cursor: default;
}
a.link, .auth-wrapper a.link {
	font-size: 14px;
	font-weight: 500;
	line-height: 21px;
	text-decoration: underline;
	color: var(--primary);
	outline: none;
}
.login-options-wrapper:empty {
	display: none;
}
.forgot-pass-wrapper {
	display: flex;
	justify-content: end;
	margin-bottom: 10px;
	margin-right: 10px;
}

/* Checkbox */
input[type=checkbox] {
	width: 18px;
	height: 18px;
	border-radius: 2px;
	cursor: pointer;
	background: #FFFFFF;
	border: 1px solid var(--primary);
	margin: 0;
	opacity: .3;
}
input[type=checkbox]:checked {
	background: #FFFFFF !important;
	border: 1px solid var(--primary) !important;
	opacity: 1;
	color: var(--primary);
}
.checkbox label {
	display: flex;
	align-items: center;
	font-style: normal;
	font-weight: normal;
	font-size: 14px;
	line-height: 21px;
	color: var(--primary);
}
.checkbox input[type=checkbox] {
	margin-left: 10px;
	margin-right: 5px;
}
.or-divider {
	width: 100%;
	height: 20px;
	border-bottom: 1px solid var(--primary-blue);
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 30px 0 30px;
}
.or-divider .span-wrapper {
	background-color: white;
	padding: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	top: 10px;
}
.or-divider .span-wrapper span {
	width: 40px;
	height: 40px;
	font-size: 12px;
	color: var(--primary-blue);
	text-align: center;
	vertical-align: middle;
	line-height: 40px;
}

.learncove-logo {
  position: relative;
  height: 30px;
  width: 100px;
}
.learncove-logo::after {
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0%;
  margin: auto;
  background-image: url("../img/learncove-logo.png");
  background-position: center;
  background-size: contain;
	background-repeat: no-repeat;
}

.kc-logo-text {
	margin-bottom: 20px;
}

.custom-logo {
	position: relative;
	max-width: 200px;
	max-height: 120px;
}

/* login providers */
#kc-social-providers {
	width: 100%;
}
#kc-social-providers .providers-list {
	width: 100%;
}
#kc-social-providers .providers-list .zocial {
	width: 100%;
	padding: 11px 11px;
	margin-bottom: 20px;
	display: flex;
	justify-content: center;
	cursor: pointer;
	border-radius: 4px;
}
#kc-social-providers .providers-list .zocial .provider-name {
	font-style: normal;
	font-weight: 500;
	font-size: 15px;
	line-height: 16px;
	text-align: center;
}
#kc-social-providers .provider-icon-wrapper {
	display: flex;
	align-items: center;
}
#kc-social-providers .providers-list .zocial .provider-icon-wrapper .icon {
	height: 18px;
	width: 18px;
	margin: 0px 8px 0px -8px;
	display: inline-block;
}
#kc-social-providers .providers-list .google .provider-icon-wrapper .icon {
	background-image: url("../img/google-icon.svg");
}

#kc-social-providers .providers-list .island\.is .provider-icon-wrapper .icon {
	height: 20px;
	width: 20px;
	background-image: url("../img/island-icon.svg");
}

#zocial-kenni .icon {
	background-image: url("../img/kenni-icon.svg");
}
/* reset password form */
#kc-reset-password-form h2, #kc-passwd-update-form h2{
	font-size: 30px;
}

#kc-reset-password-form .input-field, #kc-passwd-update-form .input-field {
	font-size: 30px;
	margin-top: 20px;
}
#kc-reset-password-form .btn.btn-primary, #kc-passwd-update-form .btn.btn-primary {
	margin-top: 10px;
}
#kc-reset-password-form h5, #kc-passwd-update-form h5 {
	color: rgb(68, 69, 69);
}

#kc-passwd-update-form .private-policy, .private-policy a {
	font-size: 12px !important;
	line-height: 18px;
	margin-bottom: 30px;
}

#kc-passwd-update-form .grayed.private-policy {
	color: rgba(68, 69, 69, .5);
}


#kc-passwd-update-form #kc-form-buttons {
	margin: 30px 0;
}

#kc-passwd-update-form .btn.btn-primary.save-password {
	margin: 0 30px 0 0;
}

/* alerts */
.alert {
	position: absolute;
	left: 50%;
	top: 20px;
	border-radius: 4px;
	padding: 20px 20px 20px 20px;
	font-size: 15px;
	background-color: #fff;
	border: 1px solid rgb(68, 69, 69);
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	z-index: 11;
	width: 500px;
	/* Animations */
	-moz-animation: fadeAndSlideUp 1s ease-in 5s forwards;
    /* Firefox */
    -webkit-animation: fadeAndSlideUp 1s ease-in 5s forwards;
    /* Safari and Chrome */
    -o-animation: fadeAndSlideUp 1s ease-in 5s forwards;
    /* Opera */
    animation: fadeAndSlideUp 1s ease-in 5s forwards;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}

.alert.alert-error {
	border-color: #FF1921;
	background-color: rgb(255, 232, 233);
}

.alert.alert-error .icon {
	background-image: url(../img/error.svg);
	margin-right: 20px;
	width: 20px;
	height: 20px;
	background-size: contain;
	background-repeat: no-repeat;
}

.alert.alert-error .kc-feedback-text {
	max-width: calc(100% - 40px);
}

@keyframes fadeAndSlideUp {
	0% { opacity: 1;}
	90% { opacity: 0.01;top: 20px;}
	100% { opacity: 0;top: -200px;}
}

@-webkit-keyframes fadeAndSlideUp {
	0% { opacity: 1;}
	90% { opacity: 0.01;top: 20px;}
	100% { opacity: 0;top: -200px;}
}

/* mobile views */
@media (max-width: 768px) {
	.auth-wrapper {
		min-height: 100vh;
	}
	.auth-wrapper .main-content {
		padding-top: 0;
		width: 100%;
		max-height: unset;
	}
	.auth-wrapper .aside-image-wrapper,
	.auth-wrapper .aside-image-wrapper .aside-content-wrapper {
		display: none;
	}
	.auth-wrapper .aside-image-wrapper .aside-content-top {
		position: absolute;
		top: 30px;
		left: 30px;
	}
	.auth-wrapper .aside-image-wrapper .aside-content-wrapper .aside-content-top {
		color: var(--primary);
	}
	.auth-wrapper .aside-image-wrapper .aside-content-wrapper .aside-content-top .svg-back-icon svg {
		stroke: var(--primary);
	}
	.svg-back-icon {
		stroke: var(--primary);
	}
	.home-link, .auth-wrapper .home-link {
		display: block;
		position: absolute;
		top: 30px;
		right: 30px;
	}
	.alert {
		width: calc(100% - 40px);
	}
}
