.ps-80-container {
	width: 100%;
	overflow: hidden;
}

.ps-80-wrapper {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	position: relative;
	width: 100%;
}

.ps-80-wrapper::before {
	content: '';
	position: absolute;
	top: 40px; /* Half of default circle size */
	left: 12.5%; /* Prevents line before first item */
	right: 12.5%; /* Prevents line after last item */
	height: 1px;
	background-color: #E0E0E0;
	z-index: 1;
}

.ps-80-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	flex: 1;
	position: relative;
	z-index: 2;
	padding: 0 15px;
}

.ps-80-circle-wrap {
	display: flex;
	justify-content: center;
	margin-bottom: 20px;
	position: relative;
	z-index: 2;
	background: #fff; /* Helps block line underneath if shadow isn't enough */
	border-radius: 50%;
}

.ps-80-circle {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background-color: #1B4332F7;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 0 0 10px #fff; /* Fakes gap in the line */
}

.ps-80-circle span {
	color: #fff;
	font-weight: 800;
	font-size: 1.5em;
}

.ps-80-title {
	margin: 0 0 10px 0;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.ps-80-desc {
	margin: 0;
	font-size: 0.9em;
	line-height: 1.5;
	color: #666;
}

@media (max-width: 767px) {
	.ps-80-wrapper {
		flex-direction: column;
		align-items: flex-start;
	}
	
	.ps-80-wrapper::before {
		top: 40px; /* Start below first circle top */
		bottom: calc(100% - 40px); /* Adjust so it doesn't go to very bottom, but this requires JS or flex changes. Let's use left/right for mobile vertical */
		left: 55px; /* Adjust based on circle size */
		width: 1px;
		height: calc(100% - 80px); /* rough estimate to keep off edges */
		right: auto;
	}
	
	.ps-80-item {
		flex-direction: row;
		align-items: flex-start;
		text-align: left;
		margin-bottom: 30px;
		width: 100%;
	}
	
	.ps-80-circle-wrap {
		margin-bottom: 0;
		margin-right: 20px;
	}
	
	.ps-80-circle {
		box-shadow: 0 10px 0 0 #fff, 0 -10px 0 0 #fff; /* Vertical fake gap */
	}
	
	.ps-80-content {
		padding-top: 10px;
	}
}