<div class="city"> 
<ul id="listCity" >
        <li class="activeLi" >Киев</li>
        <li class="activeLi" >Днепр</li>
        <li class="activeLi" > Одесса</li>
        <li class="activeLi" > Харьков</li>
        <li class="activeLi" > Кривой Рог</li>
        <li class="activeLi" > Черновцы</li>
    </ul>
 <div class="X" onclick="clos();">
   <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 viewBox="0 0 50 50" style="enable-background:new 0 0 50 50;" xml:space="preserve">
<circle style="fill:#D75A4A;" cx="25" cy="25" r="25"/>
<polyline style="fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;" points="16,34 25,25 34,16 
	"/>
<polyline style="fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;" points="16,16 25,25 34,34 
	"/>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg></div> 
 
</div>

<div class="circleStatic" onmouseover="Taxi();">
  <div class="shadow"></div>       
  <div class="circle">
</div>
  <div class="line1">
  <div class="b" >
  </div><div class="a" >
  </div><div class="b" >
  </div><div class="a" >
  </div><div class="b" >
  </div>
</div><div class="line2">
  <div class="a" >
  </div><div class="b" >
  </div><div class="a" >
  </div><div class="b" >
  </div><div class="a" >
  </div>
</div>
  <div class="circleBig">
</div>
</div>
$top: 200px;
$left: 200px;
$size: 50px;
$color: #feb000;
$height: 230px;


.city{
    position: fixed;
  top: calc(50% - 100px);
  left: 200px;
  z-index: 0;
font-size: 0;
  
}

.X {
  display: inline-block;
  vertical-align: top;
  user-select: none;
  cursor: pointer;

}
#listCity {
  display: inline-block;
  list-style-type: none;
  padding-left: 10px; 
  padding-right: 10px;
  margin: 0;
  border-radius: 5px;
  box-shadow:  -20px 20px 30px rgba(0,0,0,0.5);
}
.circle {
   height: 0;
   width: 0;
   padding: $size;
   border-radius: $size;
   border: 2px solid $color;
   position: fixed;
   top: $top;
   left: $left;
   animation-name: increase;
   animation-duration: 1s;
   animation-iteration-count: infinite;
   animation-direction: alternate;
  z-index: 2;
  box-shadow: 0 0 10px $color;
}
.circleStatic {
   height: 0;
   width: 0;
   padding: $size;
   border-radius: $size;
   border: 2px solid $color;
   position: fixed;
   top: $top;
   left: $left;
   background: $color;
   z-index: 2;
  box-shadow:  0 0 30px rgba(0,0,0,0.5);
  
}
.shadow {
  height: 0;
   width: 0;
   padding: $size;
   border-radius: $size;
   border: 2px solid rgba(25, 21, 23, 0.1);
   position: fixed;
   top: $top;
   left: $left;
   z-index: 3;
   box-shadow: inset 0 0 30px rgba(20, 23, 13, 0.3);
}
.circleBig {
   visibility: hidden;
   height: 0;
   width: 0;
   padding: $size + 25px;
   border-radius: $size + 25px;
   border: 2px solid $color;
   position: fixed;
   top: $top - 25px;
   left: $left - 25px;
  z-index: 2;
  box-shadow: 0 0 10px $color;
}


.a {
  display: inline-block;
  background: #000;
    height: 15px;
  width: 15px;
}
.b {
  display: inline-block;
  height: 15px;
  width: 15px;
}
.line1 {
  position: fixed;
  top: $top + $size/2+10px;
  left: $left + $size/4;
}
.line2 {
  position: fixed;
  top: $top + $size/2+25px;
  left: $left + $size/4;
}
.circleStatic:hover {
  .circle {
    animation-name: big;
    animation-duration: 1s;
    animation-iteration-count: 1;
  }
  .circleBig {
    visibility: visible;
  }

@keyframes increase {
  from {
   padding: $size;
   border-radius: $size;
  }
  to {
   padding: $size + 25px;
   border-radius: $size + 25px;
   top: $top - 25px;
   left: $left - 25px;

    
  }
}


}
@keyframes big {
  from {
   padding: $size;
   border-radius: $size;

  }
  to {
   padding: $size + 25px;
   border-radius: $size + 25px;
   top: $top - 25px;
   left: $left - 25px;
    
  }
}
View Compiled
var i = 200;
var height = 0;
var fSize =0;
function Taxi() {
  if(i<=400) {
  i+=20;
  height+=15;
  fSize+=2;
  $(".city").css({'left': i +'px', 'font-size': fSize});
    $(".X").css("width", fSize+"px");
  $("#listCity").css({'height': height+'px', 'border':'1px solid lightgray'});
    setTimeout("Taxi()", 20);
  }
  
}

function clos() {
  i-=20;
  height-=15;
  fSize-=2;
  $(".city").css({'left': i +'px', 'font-size': fSize});
  $(".X").css("width", fSize+"px");
  $("#listCity").css({'height': height+'px', 'border':'0px solid lightgray'});
   if(i>=200) setTimeout("clos()", 20);
  
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js