@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,200..800&family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap');
@import url("reboot.css");
@import url("general.css");
@import url("buttons.css");
@import url("header.css");
@import url("footer.css");
@import url("grid-background.css");

::-webkit-scrollbar {
	width: 12px;
}
::-webkit-scrollbar-track {
	background: #fafafa;
}
::-webkit-scrollbar-thumb {
	background: #c2c2c2;
	border-radius: 6px;
	border: 3px solid #fafafa;
}
::-webkit-scrollbar-thumb:hover {
	background: #7d7d7d;
}
* {
	scrollbar-width: thin;
	scrollbar-color: #7d7d7d #fafafa;
}

input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 30px white inset;
}

html {
	padding: 0;
	margin: 0;
}


body {
	background: var(--color-bg);
	padding: 0;
	margin: 0;
	font-family: 'Lato', sans-serif;
	font-weight: 400;
}

.inner-content {
	position: relative;
	overflow: hidden;
}
.inner-content form,
.document,
.orsignup {
	transition: transform 150ms ease-in-out;
}

.form {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 32px;
}

.form-header {
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.error .form-wrapper {
	text-align: center;
}

@media (min-width: 1024px) {
	.reset-pw .form-header {
		--font-h2: 600 3.6125rem/1.2 var(--font-headline-family);
	}
	.error .form-header {
		--font-h2: 600 2.6125rem/1.2 var(--font-headline-family);
	}
	.error .form-wrapper {
		text-align: center;
	}
}

.document {
	position: absolute;
	top: 0;
	left: calc(100% + 3rem);
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.document > div {
	display: none;
}

.document .visible {
	display: block;
	overflow: hidden;
	overflow-y: scroll;
}

.inner-content.pull-back form,
.document.pull-back {
	transform: translateX( calc(-100% - 3rem) );
}

.document p {
	margin-bottom: 1rem;
}

.alert {
    min-height: 42px;
    padding: 6px 16px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    background: var(--Success60);
    transition-property: opacity, transform;
    transition-duration: 150ms;
    transition-timing-function: ease-in-out;
    transition-delay: unset;
    cursor: pointer;
    
    font: var(--font-c1);
	color: var(--Snow);
}

.alert-error {
	background: var(--Error-60);
}

a {
	color: var(--color-text);
	font-weight: 700;
	font-family: var(--font-body-family);
	text-decoration: none;
}

.alert-wrapper {
	max-width: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, 106px);
	z-index: 1;
}

.orsignup {
	text-align: center;
}
.orsignup a,
.forgot-pw {
	font-size: 14px;
}

/* social log and sign up options */
.separator {
	width: 100%;
	height: 14px;
	position: relative;
	/*overflow: hidden;*/
}
.separator-text {
	font: var(--font-headline-family);
	font-size: 20px;
	line-height: 1;
	color: var(--color-text);
	text-align: center;
	height: 20px;
	width: max-content;
	padding: 0 19px;
	background: var(--color-bg);
	margin: 0 auto;
	position: relative;
	z-index: 1;

}

.vertical-group {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.separator:before {
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background: var(--Rain);
	position: absolute;
	z-index: 0;
	left: 0;
	top: 50%;
	transform: translateY(-50%);

}

.accept-terms {
	font-family: 'Lato', sans-serif;
	font-size: 0.75rem;
	font-weight: normal;
	color: #778390;
	margin: 0 0 20px 0;
}

.accept-terms a {
	text-transform: none;
	font-weight: normal;
	font-size: 0.75rem;
}
.accept-terms a:hover {
	text-decoration: underline
}


.social-logins {
	width: 100%;
	display: flex;
	flex-direction: row;
	gap: 14px;
}

.social-logins .button {
	flex: 1;
}

@media(max-width: 433px) {
	.social-logins {
		flex-direction: column;
		gap: 24px;
	}
}

/* terms and conditions container */
.terms-wrapper {
	height: calc(100vh - 98px);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.terms-wrapper .kc-terms-text {
	flex: 1;
	overflow: auto;
	margin-bottom: 30px;
	font-family: 'Lato', sans-serif;
}

.terms-wrapper .kc-terms-form {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 48px;
}

.terms-wrapper .kc-terms-form input {
	margin: 0;
}

.remember-me {
	margin-bottom: 30px;
}

form {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

/**** inputs ****/
.ufo-input {
	width: 100%;
	display: flex;
	flex-direction: column;
	position: relative;
	border-radius: 4px;
}
.inside-label {
	font: var(--font-b2);
	font-size: 12px;
	height: 22px;
	line-height: 1;
	display: none;
	color: var(--color-form-elem-label);
}
.inside-label.focus {
	color: var(--color-form-elem-label-focus);
	position: absolute;
	font-size: 12px;
	display: block;
	left: 1rem;
	top: 8px;
}
input {
	font-weight: 400;
	font-size: 14px;
	line-height: 24px;
	margin: 0;
	font: var(--font-b2);
	font-size: 14px;
	height: 48px;
	padding: 0 1rem;
	background-color: var(--color-bg);
	border: solid 2px var(--color-form-elem-border);
	color: var(--color-form-elem-text);
}
input::placeholder {
	/* Chrome, Firefox, Opera, Safari 10.1+ */
	color: var(--color-form-elem-text);
	opacity: 1;
	/* Firefox */
}
input:-ms-input-placeholder {
	/* Internet Explorer 10-11 */
	color: var(--color-form-elem-text);
}
input::-ms-input-placeholder {
	/* Microsoft Edge */
	color: var(--color-form-elem-text);
}
input:hover {
	color: var(--color-form-elem-text-hover);
	border-color: var(--color-form-elem-border-hover);
}
input:focus {
	color: var(--color-form-elem-text-focus);
	border-color: var(--color-form-elem-border-focus);
	outline: none;
}
input.down {
	padding-bottom: 8px;
	padding-top: 23px;
}
input[readonly] {
	background-color: var(--color-form-elem-bg-disabled);
	border-color: var(--color-form-elem-border-disabled);
	color: var(--color-form-elem-text-disabled);
	cursor: pointer;
}
input[readonly]:focus {
	border-color: var(--color-form-elem-border-focus);
}
input[disabled] {
	color: var(--color-form-elem-text-disabled);
	background-color: var(--color-form-elem-bg-disabled);
	border-color: var(--color-form-elem-border-disabled);
	cursor: not-allowed;
}
input.error {
	border-color: var(--color-form-elem-border-error);
}
input[type="number"] {
	padding: 0 28px 0 12px;
	/* Chrome, Safari, Edge, Opera */
	/* Firefox */
	-moz-appearance: textfield;
}
input[type="number"]::-webkit-outer-spin-button, input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.assist {
	font: var(--font-b2);
	font-size: 12px;
	margin-top: 8px;
}
.alert-message {
	font: var(--font-b2);
	font-size: 12px;
	margin-top: 8px;
	padding-left: 18px;
	color: var(--color-form-elem-border-error);
}
.feedback {
	font: var(--font-b2);
	font-size: 12px;
	position: absolute;
	top: 50%;
	right: 16px;
	transform: translateY(-50%);
}
.feedback .success {
	color: var(--Success60);
}


/* chekcboxes */
.ufo-input.checkbox {
	display: flex;
	flex-direction: column;
	width: auto;
	
}
.ufo-input.checkbox input {	
	width: 24px;
    height: 24px;
    min-width: 24px;
    margin: 0;    
    padding: 0;
}

/* Customize the label (the wrapper) */
.ufo-input.checkbox label {
	color: var(--color-text);
	font-family: var(--font-body-family);
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.2;

	display: flex;
	align-items: center;
	gap: 8px;
	position: relative;
	margin-bottom: 0;
	cursor: pointer;

	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.ufo-input.checkbox.sign-up-cb label {
	font-size: 12px;
}
/* Hide the browser's default checkbox */
.ufo-input.checkbox input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0;
}
/* Create a custom checkbox */
.checkmark {
 	position: relative;
	width: 14px;
	height: 14px;
	min-width: 14px;
	margin: 0;
	padding: 0;
	background-color: transparent;
	border: 2px solid var(--color-text);
}
.checkmark:hover {
	border-color: var(--meta60);
}
/* When the checkbox is checked, add a blue background */
.ufo-input.checkbox input:focus ~ .checkmark {
	border-color: var(--color-text);
}
.ufo-input.checkbox input:checked ~ .checkmark {
	background-color: var(--color-text);
}
/* Create the checkmark/indicator (hidden when not checked) */
.ufo-input.checkbox .checkmark:after {
	content: "";
	position: absolute;
	display: none;
}
/* Show the checkmark when checked */
.ufo-input.checkbox input:checked ~ .checkmark:after {
	display: block;
}
.ufo-input.checkbox input.error ~ .checkmark {
	border-color: var(--color-form-elem-border-error);
}
/* Style the checkmark/indicator */
.ufo-input.checkbox .checkmark:after {
	left: 3px;
	top: 0;
	width: 5px;
	height: 8px;
	border: solid var(--color-bg);
	border-width: 0 2px 2px 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
 
 

.multi {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
}

.pw-toggler {
	position: absolute;
	right: 1rem;
	top: 11px;
	height: auto;
	margin: 0;
	cursor: pointer;
}

.pw-toggler input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	width: 24px;
	height: 24px;
	margin: 0;
	z-index: 1;

}

.pw-toggler span {
	position: relative;
	display: block;
}
.pw-toggler span:after {
	font-size: 26px;
	position: absolute;
	top: -2px;
	left: 7px;
	color: var(--color-form-elem-text);
	transform: rotate(30deg);
}
.pw-toggler span svg path {
	--iconFill: var(--color-form-elem-text);
}

.pw-toggler input:checked ~ span:after {
	content: "/";
}

.ufo-input input.error ~ .pw-toggler span svg path {
	--iconFill: var(--color-form-elem-border-error);
}
.ufo-input input.error ~ .pw-toggler span:after {
	color: var(--color-form-elem-border-error);
}

