/* Pathfinder container */
.pathfinder {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0;
	align-items: stretch;
	justify-content: flex-start;
	overflow: hidden;
}

/* Pathfinder header "sentence" states */
.pathfinder header .selection {
	color: var(--primary-50, rgba(10, 49, 97, 0.50));
	text-align: center;
	/* h4/desktop */
	font-size: 1.25rem;
	display: inline-block;
	padding: 12px 8px;
	justify-content: center;
	align-items: center;
	gap: 10px;
	border-bottom: 1px solid var(--color-brand-blue, #0a3161);
}

.pathfinder header .selected .selection {
	color: var(--color-brand-red, #b6151d);
	font-weight: 700;
	border-bottom: none;
	font-size: inherit;
	position: relative;
	transition: all .3s ease-in-out;
	cursor: pointer;
}
.pathfinder header .selected .selection::after {
	content: '';
	position: relative;
	width: 0px;
	height: 1em;
	display: inline-block;
    background-position: bottom;
    background-repeat: no-repeat;
	background-size: 1em;
    top: .125em;
	background-image: url('data:image/svg+xml,<svg width="23" height="24" viewBox="0 0 23 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21.2812 9.98438H15.2812H13.7812V6.98438H15.2812H17.625L16.8281 6.1875C13.875 3.28125 9.14062 3.28125 6.1875 6.1875C3.28125 9.14062 3.28125 13.875 6.1875 16.8281C9.14062 19.7344 13.875 19.7344 16.8281 16.8281L18.9375 18.9375C14.8125 23.0156 8.20312 23.0156 4.07812 18.9375C0 14.8125 0 8.20312 4.07812 4.07812C8.20312 0 14.8125 0 18.9375 4.07812L19.7812 4.92188V2.48438V0.984375H22.7812V2.48438V8.48438V9.98438H21.2812Z" fill="%23B6151D"/></svg>');
	transition: all .3s ease-in-out;
}

.pathfinder header .pathfinder-steps-feedback {
	position: relative;
	overflow: hidden;
}

.pathfinder header .header-step2  {
	position: absolute;
	left: -1000px;
	transition: all .5s ease-in-out;
	max-height: 0;
}

.pathfinder header .header-step1.selected + .header-step2 {
	position: relative;
	left: 0;
	max-height: 200px;
}

.pathfinder header .button {
	text-align: center;
	margin: 1rem 0 0;
	padding: 0.625rem 1.5rem;
}

/* Pathfinder Steps (slide containers)*/
.pathfinder .pathfinder-steps {
	position: relative;
}

.pathfinder .pathfinder-step {
	visibility: hidden;
	opacity: 0;
	transform: translateX(100%);
	transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out, visibility 0s 0.4s;
	position: absolute;
	width: 100%;
	left: 0;
	top: 0;
}

.pathfinder .pathfinder-step.active {
	visibility: visible;
	opacity: 1;
	transform: translateX(0);
	transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out, visibility 0s 0s;
	position: relative;
}

.pathfinder .pathfinder-step {
	padding-top: 1.5rem;
}

.pathfinder .pathfinder-step.step1,
.pathfinder .pathfinder-step .path-options {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.pathfinder .pathfinder-step .path-options {
	display: none;
}

.pathfinder .pathfinder-step .path-options.active {
	display: flex;
}

.pathfinder .pathfinder-step .path-item {
	padding: 1rem;
	color: #ffffff;
	background-color: var(--color-brand-blue, #0a3161);
	position: relative;
}

.pathfinder .pathfinder-step .path-item h4 {
	margin: 0;
	padding-left: 1em;
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="26" height="36" viewBox="0 0 26 36" fill="none"><path d="M12.1797 0L25.6895 18L12.1797 36H0L13.5098 18L0 0H12.1797Z" fill="%23ffffff"/></svg>');
	background-repeat: no-repeat;
	background-position: left center;
	background-size: auto 1em;
	color: #ffffff;
	position: relative;
	z-index: 2;
	font-size: 1.5rem;
}

@media (pointer:coarse) {
	.pathfinder header .selected .selection {
		background: rgba(182, 21, 29, 0.08);
		text-decoration: underline;
	}

	.pathfinder header .selected .selection::after {
		width: 1.25em;
		top: .25em;
	}
}

@media (max-width: 767px) {
	.pathfinder .pathfinder-steps-feedback > span {
		display: block;
		margin-bottom: .5rem;
	}

	.pathfinder .pathfinder-step .path-item {
		background-image: none !important;
	}
}

@media (min-width: 768px) {
	
	/* Pathfinder Steps (slide containers)*/

	.pathfinder .pathfinder-step.step1,
	.pathfinder .pathfinder-step .path-options {
		flex-direction: row;
		justify-content: space-between;
		align-items: stretch;
		gap: 1rem;
	}

	.pathfinder .pathfinder-step .path-item {
		cursor: pointer;
		flex: 0 0 calc(33.333% - .6666rem);
		background-size: cover;
		position: relative;
		overflow: hidden;
	}

	.pathfinder .pathfinder-step .path-item:last-child {
		margin-right: auto;
	}

	.pathfinder .pathfinder-step .path-item h4 {
		position: relative;
		z-index: 2;
	}

	.pathfinder .pathfinder-step .path-item::after,
	.pathfinder .pathfinder-step .path-item::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 0;
		transition: all .3s ease-in-out;
	}

	.pathfinder .pathfinder-step .path-item::after {
		background-image: linear-gradient(to bottom, var(--color-brand-blue, #0a3161) 0 0, rgba(0, 0, 0, 0) 36% 100%);
		
		transition: all .3s ease-in-out;
	}

	.pathfinder .pathfinder-step .path-item::before {
		background-image: linear-gradient(to bottom, var(--color-brand-blue, #0a3161), rgba(0, 0, 0, 0));
		top: -100%;
	}

	.pathfinder .pathfinder-step .path-item:hover::before {
		top: 0
	}
	.pathfinder .pathfinder-step .path-item h4 {
		transition: all .3s ease-in-out;
		padding-left: 0;
		background-position: -100px center;
	}
	.pathfinder .pathfinder-step .path-item:hover h4 {
		padding-left: 1em;
		background-position: 0 center;
	}

	.pathfinder .pathfinder-step.step1 .path-item {
		aspect-ratio: 389/682;
	}

	.pathfinder .pathfinder-step.step2 .path-options {
		flex-wrap: wrap;
	}

	.pathfinder .pathfinder-step.step2 .path-item {
		aspect-ratio: 389/333;
	}

	.pathfinder .pathfinder-step.step2 .options-1 .path-item,
	.pathfinder .pathfinder-step.step2 .options-2 .path-item {
		flex-basis: calc(50% - .5rem);
	}

	.pathfinder .pathfinder-step.step2 .options-4 .path-item {
		flex-basis: calc(25% - .75rem);
	}
}

@media (min-width: 1024px){
	.pathfinder .pathfinder-step {
		padding-top: 1.5rem;
	}
	
	.pathfinder header .selected .selection:hover {
		background: rgba(182, 21, 29, 0.08);
		text-decoration: underline;
	}

	.pathfinder header .selected .selection:hover::after {
		width: 1.25em;
	}

	.pathfinder .pathfinder-steps-feedback {
		display: flex;
		flex-direction: row;
		justify-content: flex-start;
		align-items: center;
		gap: .25rem;
	}

	.pathfinder .pathfinder-steps-feedback .button {
		width: auto;
		margin: 0;
		margin-left: auto;
	}
}