<div class="pmsteps-container">
<h1 class="pmsteps-title" style="text-align:center;font-weight:normal;">The Simplest Process for Finding Health Treatment at <br> <strong>Zero Cost, Zero Worries & complete peace of mind</strong></h1>
<div class="pmsteps-process">
<div class="pmsteps-step pmsteps-step-1"><div class="pmsteps-step-circle">1</div><div class="pmsteps-step-label">Explore & Match</div><div class="pmsteps-step-connector"></div></div>
<div class="pmsteps-step pmsteps-step-2"><div class="pmsteps-step-circle">2</div><div class="pmsteps-step-label">Doctor Opinion & Diagnosis</div><div class="pmsteps-step-connector"></div></div>
<div class="pmsteps-step pmsteps-step-3"><div class="pmsteps-step-circle">3</div><div class="pmsteps-step-label">Cost Estimate</div><div class="pmsteps-step-connector"></div></div>
<div class="pmsteps-step pmsteps-step-4"><div class="pmsteps-step-circle">4</div><div class="pmsteps-step-label">Medical Visa</div><div class="pmsteps-step-connector"></div></div>
<div class="pmsteps-step pmsteps-step-5"><div class="pmsteps-step-circle">5</div><div class="pmsteps-step-label">On Filed Assistance</div><div class="pmsteps-step-connector"></div></div>
<div class="pmsteps-step pmsteps-step-6"><div class="pmsteps-step-circle">6</div><div class="pmsteps-step-label">Treat & Get Fit</div><div class="pmsteps-step-connector"></div></div>
</div>
<div style="text-align:center;">
<div class="pmsteps-footer-note" style="display:inline-block;">
*We do not collect any charges
</div>
</div>
</div>
body{
margin: auto 2%;
}
.pmsteps-process {
display: flex;
flex-wrap: wrap; /* Allow wrapping for responsive behavior */
justify-content: space-between;
align-items: center;
gap: 1rem;
position: relative;
padding: 2rem 0;
}
.pmsteps-step {
flex: 1;
text-align: center;
min-width: 120px; /* Ensure each step has a minimum width */
max-width: 200px; /* Limit maximum width for better spacing on smaller screens */
position: relative;
min-height: 90px;
overflow: hidden; /* Ensure the pseudo-element stays within bounds */
}
/* Custom hover animations for the step circle */
.pmsteps-step:hover .pmsteps-step-circle {
animation: pmsteps-tada 0.5s ease-in-out, pmsteps-swing 0.5s ease-in-out, pmsteps-balloon 0.5s ease-in-out; /* Combine all three animations */
transform: scale(1.1); /* Keep the existing scale effect */
}
/* Custom Animation: Tada (shaking and slight scaling) */
@keyframes pmsteps-tada {
0% { transform: scale(1); }
10%, 20% { transform: scale(1.1) rotate(-3deg); }
30%, 50%, 70%, 90% { transform: scale(1.1) rotate(3deg); }
40%, 60%, 80% { transform: scale(1.1) rotate(-3deg); }
100% { transform: scale(1.1) rotate(0); }
}
/* Custom Animation: Swing (pendulum-like motion with left-to-right/right-to-left movement) */
@keyframes pmsteps-swing {
0% { transform: rotate(0deg) translateX(0); }
20% { transform: rotate(15deg) translateX(10px); } /* Swing right and move right */
40% { transform: rotate(-10deg) translateX(-10px); } /* Swing left and move left */
60% { transform: rotate(5deg) translateX(5px); } /* Swing right and move right (smaller) */
80% { transform: rotate(-5deg) translateX(-5px); } /* Swing left and move left (smaller) */
100% { transform: rotate(0deg) translateX(0); } /* Return to center */
}
/* Custom Animation: Balloon (gentle bouncing/floating effect) */
@keyframes pmsteps-balloon {
0% { transform: translateY(0); }
50% { transform: translateY(-10px); }
100% { transform: translateY(0); }
}
/* Step bottom border with rounded corners */
.pmsteps-step::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 10px; /* Match the border thickness */
border-radius: 0 0 10px 10px; /* Rounded corners at the bottom */
z-index: -1; /* Place behind other content */
}
/* Color progression for step circles, connectors, labels, and the bottom border (via ::after) */
.pmsteps-step-1 .pmsteps-step-circle { background-color: #4a47a3; }
.pmsteps-step-1 .pmsteps-step-connector { background: repeating-linear-gradient(to bottom, #4a47a3, #4a47a3 2px, transparent 2px, transparent 4px); }
.pmsteps-step-1 .pmsteps-step-label { color: #4a47a3; }
.pmsteps-step-1::after { background-color: #4a47a3; }
.pmsteps-step-2 .pmsteps-step-circle { background-color: #007bff; }
.pmsteps-step-2 .pmsteps-step-connector { background: repeating-linear-gradient(to bottom, #007bff, #007bff 2px, transparent 2px, transparent 4px); }
.pmsteps-step-2 .pmsteps-step-label { color: #007bff; }
.pmsteps-step-2::after { background-color: #007bff; }
.pmsteps-step-3 .pmsteps-step-circle { background-color: #00b4d8; }
.pmsteps-step-3 .pmsteps-step-connector { background: repeating-linear-gradient(to bottom, #00b4d8, #00b4d8 2px, transparent 2px, transparent 4px); }
.pmsteps-step-3 .pmsteps-step-label { color: #00b4d8; }
.pmsteps-step-3::after { background-color: #00b4d8; }
.pmsteps-step-4 .pmsteps-step-circle { background-color: #0096c7; }
.pmsteps-step-4 .pmsteps-step-connector { background: repeating-linear-gradient(to bottom, #0096c7, #0096c7 2px, transparent 2px, transparent 4px); }
.pmsteps-step-4 .pmsteps-step-label { color: #0096c7; }
.pmsteps-step-4::after { background-color: #0096c7; }
.pmsteps-step-5 .pmsteps-step-circle { background-color: #2ecc71; }
.pmsteps-step-5 .pmsteps-step-connector { background: repeating-linear-gradient(to bottom, #2ecc71, #2ecc71 2px, transparent 2px, transparent 4px); }
.pmsteps-step-5 .pmsteps-step-label { color: #2ecc71; }
.pmsteps-step-5::after { background-color: #2ecc71; }
.pmsteps-step-6 .pmsteps-step-circle { background-color: #27ae60; }
.pmsteps-step-6 .pmsteps-step-connector { background: repeating-linear-gradient(to bottom, #27ae60, #27ae60 2px, transparent 2px, transparent 4px); }
.pmsteps-step-6 .pmsteps-step-label { color: #27ae60; }
.pmsteps-step-6::after { background-color: #27ae60; }
.pmsteps-step-circle {
width: 30px;
height: 30px; /* Ensure consistent height */
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
font-weight: bold;
color: #fff;
margin: 0 auto 1rem; /* Consistent margin for all steps */
transition: transform 0.3s ease;
position: relative;
left: -75px; /* Keep the left positioning but ensure alignment */
top: 0; /* Reset any unintended top positioning */
}
.pmsteps-step-label {
font-size: clamp(0.8rem, 2vw, 1rem);
margin-top: 10px; /* Add consistent spacing between circle and label */
position: absolute;
bottom: 10px;
right: 15px;
width: 120px;
font-weight: 600;
padding-bottom:10px;
}
.pmsteps-line {
height: 0px;
position: absolute;
top: 15px;
width: 100%;
background-color: #007bff;
z-index: 1;
}
.pmsteps-step-connector {
position: absolute;
width: 2px;
height: 50px; /* Consistent height for all connectors */
top: 10px; /* Align with the bottom of the circle */
left: 11% !important; /* Center the connector under the circle relative to its parent */
transform: translateX(-50%) translateY(15px); /* Adjust vertically to align with circle bottom and center horizontally */
z-index: 2;
}
/* Ensure connectors follow the circle's position */
.pmsteps-step-1 .pmsteps-step-connector { background: repeating-linear-gradient(to bottom, #4a47a3, #4a47a3 2px, transparent 2px, transparent 4px); }
.pmsteps-step-2 .pmsteps-step-connector { background: repeating-linear-gradient(to bottom, #007bff, #007bff 2px, transparent 2px, transparent 4px); }
.pmsteps-step-3 .pmsteps-step-connector { background: repeating-linear-gradient(to bottom, #00b4d8, #00b4d8 2px, transparent 2px, transparent 4px); }
.pmsteps-step-4 .pmsteps-step-connector { background: repeating-linear-gradient(to bottom, #0096c7, #0096c7 2px, transparent 2px, transparent 4px); }
.pmsteps-step-5 .pmsteps-step-connector { background: repeating-linear-gradient(to bottom, #2ecc71, #2ecc71 2px, transparent 2px, transparent 4px); }
.pmsteps-step-6 .pmsteps-step-connector { background: repeating-linear-gradient(to bottom, #27ae60, #27ae60 2px, transparent 2px, transparent 4px); }
.pmsteps-footer-note {
text-align: center;
margin-top: 2rem;
padding: 1rem 2rem;
background-color: #f0f8ff;
color: #666;
border-radius: 20px;
font-size: clamp(0.8rem, 2vw, 1rem);
display: inline-block;
}
/* Animations */
@keyframes pmsteps-fadeIn {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
.pmsteps-step {
animation: pmsteps-fadeIn 0.5s ease-out forwards;
}
.pmsteps-step:nth-child(1) { animation-delay: 0.1s; }
.pmsteps-step:nth-child(2) { animation-delay: 0.3s; }
.pmsteps-step:nth-child(3) { animation-delay: 0.5s; }
.pmsteps-step:nth-child(4) { animation-delay: 0.7s; }
.pmsteps-step:nth-child(5) { animation-delay: 0.9s; }
.pmsteps-step:nth-child(6) { animation-delay: 1.1s; }
/* Responsive design */
@media (max-width: 576px) {
/* Mobile View: Single step per row */
.pmsteps-process {
flex-direction: column; /* Stack steps vertically */
align-items: center; /* Center steps */
gap: 1.5rem; /* Increase gap for better spacing */
padding: 1rem 0; /* Reduce padding for mobile */
}
.pmsteps-step {
flex: 100%; /* Full width for each step */
min-width: 100%; /* Ensure full width */
max-width: 100%; /* Ensure full width */
margin: 0; /* Remove margins for stacking */
}
.pmsteps-step-circle {
left: 0; /* Center circle on mobile */
margin-bottom: 0.5rem;
}
.pmsteps-step-label {
position: static; /* Reset to static positioning for stacking */
width: auto; /* Allow full width */
margin-top: 0.5rem; /* Adjust spacing */
right: auto; /* Reset right positioning */
bottom: auto; /* Reset bottom positioning */
}
.pmsteps-step-connector {
display: none; /* Hide connectors on mobile since steps stack */
}
.pmsteps-line {
display: none; /* Hide the horizontal line on mobile */
}
.pmsteps-step::after {
border-radius: 0; /* Remove border radius on mobile for simplicity */
}
/* Remove hover animations on mobile for better usability */
.pmsteps-step:hover .pmsteps-step-circle {
animation: none;
transform: scale(1); /* Reset scale on mobile hover */
}
}
@media (min-width: 577px) and (max-width: 1024px) {
/* Tablet View: 2–3 steps per row */
.pmsteps-process {
flex-wrap: wrap; /* Allow wrapping for 2–3 steps */
justify-content: space-around; /* Distribute steps evenly */
gap: 1rem; /* Maintain gap */
}
.pmsteps-step {
flex: 0 1 calc(33.33% - 1rem); /* Approximately 3 steps per row, accounting for gap */
max-width: calc(33.33% - 1rem); /* Limit to about 1/3 of the container width */
min-width: 120px; /* Minimum width to ensure readability */
}
.pmsteps-step-circle {
left: -75px; /* Maintain desktop positioning */
}
.pmsteps-step-label {
position: absolute; /* Keep label positioned absolutely */
bottom: 10px;
right: 15px;
width: 120px;
}
.pmsteps-step-connector {
left: 50%; /* Center the connector under the circle */
transform: translateX(-50%) translateY(15px); /* Maintain alignment with circle */
}
.pmsteps-line {
display: block; /* Keep the horizontal line visible */
}
.pmsteps-step::after {
border-radius: 0 0 10px 10px; /* Maintain rounded corners */
}
/* Adjust for narrower tablets (2 steps per row) */
@media (max-width: 768px) {
.pmsteps-step {
flex: 0 1 calc(50% - 1rem); /* 2 steps per row on narrower tablets */
max-width: calc(50% - 1rem); /* Limit to half the container width */
}
}
}
@media (min-width: 1025px) {
/* Desktop View: All 6 steps in a single row */
.pmsteps-process {
justify-content: space-between; /* Distribute steps evenly across the full width */
}
.pmsteps-step {
flex: 1; /* Allow equal distribution */
max-width: 200px; /* Maintain maximum width */
min-width: 120px; /* Maintain minimum width */
}
.pmsteps-step-circle {
left: -75px; /* Maintain desktop positioning */
}
.pmsteps-step-label {
position: absolute; /* Keep label positioned absolutely */
bottom: 10px;
right: 15px;
width: 120px;
}
.pmsteps-step-connector {
left: 50%; /* Center the connector under the circle */
transform: translateX(-50%) translateY(15px); /* Maintain alignment with circle */
}
.pmsteps-line {
display: block; /* Keep the horizontal line visible */
}
.pmsteps-step::after {
border-radius: 0 0 10px 10px; /* Maintain rounded corners */
}
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.