:root {
				
	--color-primary: #0e8a82;
	--color-primary-focus: #096b65;
	--primary--blue-munsell: #028da4;
	--primary--green: #48b99b;
	--color-required: #ff6600;
	
}

html {
	
	height: 100%;
	
}

body {
	
	font-family: "Fira Sans", sans-serif;
	background: #f5f7fa;
	color: #1a1a1a;
	height: 100%;
	min-height: 100%;
	
}

.cursor-pointer {
	
	cursor: pointer;
	
}

a {
	
	color: #1a1a1a;
	
}

a:hover {
	
	text-decoration: none;
	
}

/* Container */

.container {

	max-width: 720px;

}

.color-required {
	
	color: var(--color-required);
	
}

.btn-primary {
	
	--bs-btn-bg: var(--color-primary);
	--bs-btn-border-color: var(--color-primary);
	
}

/* Card */

.card {
	
	border: none;
	border-radius: 14px;
	padding: 30px;
	box-shadow: 0 15px 40px rgba(0,0,0,0.06);

}

/* Inputs */
.form-control {
	
	border-radius: 12px;
	padding: 13px 15px;
	font-size: 14px;

}

/* Buttons */

.btn {
	
	border-radius: 12px;
	font-size: 14px;

}

/* Step line */

.step-line {
	
	display: flex;
	overflow-x: auto;
	gap: 10px;
	margin-bottom: 30px;
	padding-bottom: 10px;

}

.step {
	
	flex: 1 0 auto;
	min-width: 90px;
	text-align: center;
	position: relative;

}

.step::before {
	
	content: "";
	height: 4px;
	background: #dee2e6;
	position: absolute;
	top: 15px;
	left: -59%;
	width: 100%;
	z-index: 0;
	
}

.step:first-child::before {

	display: none;

}

.step.active::before,
.step.completed::before {

	background: #0d6efd;

}



.step-circle {
	
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #e5e7eb;
	line-height: 32px;
	margin: 0 auto;
	font-size: 13px;
	position: relative;
	z-index: 2;
	
}

.step.active .step-circle {

	background: var(--color-primary);
	color: white;
	
}

.step.completed .step-circle {

	background: #2563eb;
	color: white;
	
}

.step small {
	
	display: block;
	margin-top: 6px;
	font-size: 11px;
	
}

/* Content */
.step-content {
	
	display: none;

}

.step-content.active {

	display: block;

}

.logo {

	max-height: 3rem;

}

.font-size-075rem {

	font-size: .75rem;

}

.font-size-085rem {

	font-size: .85rem;

}

.text-style-gradient {
	
	background-image: linear-gradient(285deg, var(--primary--blue-munsell), var(--primary--green));
	-webkit-text-fill-color: transparent;
	-webkit-background-clip: text;
	background-clip: text;
	
}

.flag {
	
	width: 1rem;
	border-radius: 50%;
	
}

.img-success {
	
	height: 8rem;
	
}
			
@media (max-width: 576px) {

	.card {

		padding: 20px;

	}

}