body {
    font-family:Arial;
    background:#f4f4f4
}

.container{
    max-width:700px;
    margin:40px auto;
    background:#fff;
    padding:20px;
    border-radius:10px;
    box-shadow:0 2px 10px #ccc
}


.container h1 {
    font-size: 1.6rem;
    text-align: center;
}

input,
button{
    width:80%;
    padding:12px;
    margin:8px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    justify-self: center;
}

button{
    background:#f4c400;
    border:none;
    font-weight:bold;
    width: 200px;
    border-radius: 10px;
    font-size: 1rem
}

button:hover {
    color: white;
    background: yellowgreen;
    font-size: 1rem;
}

#result{
    margin-top:20px
}


.route-card{

margin-top:30px;
padding:20px;
background:white;
border-radius:12px;
box-shadow:0 5px 20px rgba(0,0,0,.12);

}

.route{

display:flex;
align-items:center;
justify-content:space-between;
margin-top:40px;

}

.point{

display:flex;
flex-direction:column;
align-items:center;
text-align:center;
font-size:14px;

}

.circle{

width:22px;
height:22px;
border-radius:50%;
background:#00b140;
margin-bottom:12px;

}

.current .circle{

background:#ffb300;

}

.line{

height:5px;
flex:1;
background:#ddd;
margin:0 15px;
border-radius:20px;

}

.line.active{

background:#00b140;

}

.pulse{

animation:pulse 1.4s infinite;

}

@keyframes pulse{

0%{

transform:scale(1);
box-shadow:0 0 0 0 rgba(255,179,0,.7);

}

70%{

transform:scale(1.25);
box-shadow:0 0 0 18px rgba(255,179,0,0);

}

100%{

transform:scale(1);

}

}

.hidden{

display:none;

}

.loader{

text-align:center;
margin-top:30px;

}

.spinner{

width:70px;
height:70px;
border:8px solid #eee;
border-top:8px solid #d40511;
border-radius:50%;
animation:spin 1s linear infinite;
margin:auto;

}

@keyframes spin{

100%{

transform:rotate(360deg);

}

}

@media (max-width:768px){

.container{

padding:18px;

}

h1{

font-size:24px;

}

h2{

font-size:20px;

}

.route{

flex-direction:column;
align-items:center;

}

.line{

width:5px;
height:60px;

}

.point{

margin-bottom:10px;

}

.point p{

font-size:14px;

}

.spinner{

width:55px;
height:55px;

}

button{

font-size:16px;

}

}