<link href="//netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet">
<link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:200,300,400,900' rel='stylesheet' type='text/css'>
<h1>Business Directory</h1>
<div class='sidebar-1'> 
  <div class='sidebar-menu'>Churches & Religious Services<div class='expand'></div></div>
<div class='sub-menu'>
  <ul>
	<li>The Vineyard at Johnstown</li>
	<li>Hillcrest Church of Christ</li>
	<li>Church of the Nativity</li>
	<li>Lighthouse of Utica</li>
	<li>Utica Baptist Temple</li>
	<li>Utica Presbyterian Church</li>
	<li>Utica Church of Christ</li>
	<li>Utica Methodist Church</li>
	<li>Northside Church of Christ</li>
  </ul>
</div>
  <div class='sidebar-menu'>Civic Organizations<div class='expand'></div></div>
<div class='sub-menu'>
  <ul>
	<li>Clubs & Organizations</li>
	<li>Non-Profit</li>
		<li>Utica Sertoma</li>
    <li>Utica Shrine Club</li>
	<li>Resale Store/Non Profit</li>
  </ul>
</div>
  <div class='sidebar-menu'>Business & Professional Services<div class='expand'></div></div>
<div class='sub-menu'>
	<ul>
  <li>Water Conditioning</li>
	<li>Kennel</li>
	<li>Insurance</li>
	<li>Lender</li>
	<li>Electric & Natural Gas</li>
    </ul>
</div>
  <div class='sidebar-menu'>Art, Design, & Entertainment<div class='expand'></div></div>
<div class='sub-menu'>
  <ul>
	<li>Photographers</li>
	<li>Vinyl Graphics & Design</li>
	<li>Newspaper</li>
	<li>Web Development</li>
	<li>Computer Technology</li>
	<li>Bowling</li>
    </ul>
</div>
  <div class='sidebar-menu'>Health & Beauty<div class='expand'></div></div>
<div class='sub-menu'>
  <ul>
	<li>Barber Shop</li>
	<li>Beauty Salon</li>
		<li>Hair Flair Beauty</li>
		<li>Kim's Trims</li>
		<li>Patsy's Beauty Shop</li>
	<li>Chiropractic & Nutritional</li>
	<li>Pharmacies</li>
	<li>Veterinarians</li>
		<li>DVM-VMD Clinic</li>
	<li>Nursing Homes</li>
	<li>Tanning</li>
    </ul>
</div>
  <div class='sidebar-menu'>Food & Dining<div class='expand'></div></div>
<div class='sub-menu'>
  <ul>
	<li>Orchards & Farm Markets</li>
		<li>Branstool Orchard</li>
		<li>Legend Hill Orchard</li>
		<li>Farm Market</li>
	<li>Grocers-Retail</li>
	<li>Pizza</li>
		<li>Big Red's Pizza</li>
		<li>Nick's Village Pizza</li>
		<li>Stone Bros Pizza</li>
		<li>Ice Cream Manufacturers</li>
	<li>Restaurants</li>
		<li>Watts Restaurant</li>
		<li>Pioneer Restaurant</li>
    </ul>
</div>
  <div class='sidebar-menu'>Shopping<div class='expand'></div></div>
<div class='sub-menu'>
  <ul>
	<li>5+10 Store</li>
	<li>Custom Embroidery</li>
		<li>Got Gear 4 U</li>
		<li>Hickory Grove Designs</li>
	<li>Feed/Hardware</li>
	<li>Fireworks</li>
	<li>Outdoor Power Equipment</li>
	<li>Tree Farm</li>
    </ul>
</div>
</div>
$maincolor:  #8aa8bd;
$accent: #A8CC96;

.expand {
  float: right; 
  display: inline; 
  transition: all .2s ease;
  -webkit-transition: all .2s ease;
  margin: 0 10px;
}

h1 {
  font-size: 2.25em;
  text-transform: uppercase;
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 900;
  margin: 0 20px;
  color:$maincolor;
  text-rendering: optimizeLegibility;
  line-height: 1;
  margin-bottom: 10px
}

h2 {
  font-size: 36px;
  font-weight: 700;
  text-rendering: optimizeLegibility;
  letter-spacing: .5px;
}

body, input, textarea {
  font-weight: 200;
	font-family: 'Source Sans Pro', sans-serif;
	line-height: 1.54;
	font-size: 16px;
	background: #efefef;
	-webkit-font-smoothing: subpixel-antialiased;
}

.sidebar-1 {
  /* these are the styles for the container around the menu */
  text-align: right;
  padding: 0px;
  display:inline-block;
  box-shadow: 0 0px 1px 0 rgba(0,0,0,.2);
  margin-left: 20px;
}

.sidebar-menu {
  /*this style impacts the look of the heading containers. */
  cursor: pointer;
  padding: 10px;
  background: #ffffff;
  position: relative;
  color:$maincolor;
  border-bottom: 1px solid #dedede;
  font-size: 1.5em;
  font-weight: 300;
  text-rendering: optimizeLegibility;
  letter-spacing: .5px;
  padding-right: 50px;
  &:before, &:after {
    content: "";
    width: 3px;
    height: 25px;
    background: $accent;
    border-radius: 3px;
    position: absolute;
    right: 22px;
    top: calc(28.7px - 12.5px);
    transition: all .2s ease;
  }
  &:after {
    transform: rotate(90deg);
  }
}

.open:before {
  animation: turn-plus;
  animation-duration: .3s;
  animation-fill-mode: forwards;
}

.open:after {
  animation: turn-crossbar;
  animation-duration: .3s;
  animation-fill-mode: forwards;
}

@keyframes turn-plus {
  0% {
    transform: translate(0,0);
  }
  50% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(90deg);
  }
}

@keyframes turn-crossbar {
  0% {
    transform:none;
    transform: rotate(90deg)
  }
  50% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(90deg);
  }
}

.sidebar-menu:hover {background: darken(#FFFFFF, 5%);}

.sub-menu {
  /*this style is for the sub-menu box*/
  color: darken($maincolor,30%);
  border-bottom: 1px solid #dedede;
  font-size: 1em;
  display: none;
  &:last-child {
    border-bottom: 0;
  }
}

.sub-menu li:hover {
  background: #cccccc;
  cursor: pointer;
}

.sub-menu li {
  /*this styles individual elements in a sub-menu*/
  padding: 10px;
  background: #d7d7d7;
  border-bottom: 1px solid #dedede;
  &:last-child {
    border-bottom: 0;
  }
}
.sub-menu ul {
  /*this just 0s out a bunch of stuff so that it plays nice with the list stylings*/
  list-style-type: none;
  margin: 0;
  padding: 0;
}

@media (max-width: 540px) {
  .sidebar-menu {
    font-size: 1em;
    font-weight: 400;
  }
  .sub-menu {
    font-weight: 400;
  }
  .sidebar-1 {
    margin: 0;
    width: 100%
  }
  .sidebar-menu:after, .sidebar-menu:before {
    top: calc(23.5px - 12.5px);
  }
}
View Compiled

$(document).ready(function () {
  
    $('.sidebar-menu').mouseenter(function(){
      $(this).children('.expand').addClass('turn');
    });
  
    $('.sidebar-menu').mouseleave(function(){
      if ($(this).hasClass('open')) {
      } else {
        $(this).children('.expand').removeClass('turn');
      }
    });
    
    $('.sidebar-menu').click(function () {
      var $this = $(this);
      if ($this.hasClass('open')) {
        $('.sidebar-menu').removeClass('open');
        $('.sub-menu').stop(true).slideUp("fast");
        $('.expand').removeClass('turn');        
        $this.removeClass('open');
        $this.children('.expand').removeClass('turn');
        $this.next().stop(true).slideUp("fast");
      }    
      else {
        $('.sidebar-menu').removeClass('open');
        $('.sub-menu').stop(true).slideUp("fast");
        $('.expand').removeClass('turn');
        
        $this.addClass('open');
        $this.children('.expand').addClass('turn');
        $this.next().stop(true).slideDown("fast");
        }
    });
  
});

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. //cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js