<div class="container">
  <header class="page-header">
    <h1>Collapse/Accordion</h1>
  </header>
  <main>
    <article class="panel-group bs-accordion" id="accordion" role="tablist" aria-multiselectable="true">
      <section class="panel panel-default">
        <div class="panel-heading" role="tab" id="headingOne">
          <h4 class="panel-title">
            <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
              Chapter 1: The Collision of Cultures
              <span class="glyphicon glyphicon-chevron-right pull-right" aria-hidden="true"></span>
            </a>
          </h4>
        </div>
        <div id="collapseOne" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne">
          <div class="panel-body">
            <ul>
              <li><a href="#" id="link01-01">Link 1</a> | <a href="#" aria-describedby="link01-01">View Transcript</a></li>
              <li><a href="#" id="link01-02">Link 2</a> | <a href="#" aria-describedby="link01-02">View Transcript</a></li>
              <li><a href="#" id="link01-03">Link 3</a> | <a href="#" aria-describedby="link01-03">View Transcript</a></li>
            </ul>
          </div>
        </div>
      </section>
      <section class="panel panel-default">
        <div class="panel-heading" role="tab" id="headingTwo">
          <h4 class="panel-title">
            <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
              Chapter 2: England’s Colonies
              <span class="glyphicon glyphicon-chevron-right pull-right" aria-hidden="true"></span>
            </a>
          </h4>
        </div>
        <div id="collapseTwo" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingTwo">
          <div class="panel-body">
            <ul>
              <li><a href="#" id="link02-01">Link 1</a> | <a href="#" aria-describedby="link02-01">View Transcript</a></li>
              <li><a href="#" id="link02-02">Link 2</a> | <a href="#" aria-describedby="link02-02">View Transcript</a></li>
              <li><a href="#" id="link02-03">Link 3</a> | <a href="#" aria-describedby="link02-03">View Transcript</a></li>
            </ul>
          </div>
        </div>
      </section>
      <section class="panel panel-default">
        <div class="panel-heading" role="tab" id="headingThree">
          <h4 class="panel-title">
            <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
              Chapter 3: Colonial Ways of Life
              <span class="glyphicon glyphicon-chevron-right pull-right" aria-hidden="true"></span>
            </a>
          </h4>
        </div>
        <div id="collapseThree" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingThree">
          <div class="panel-body">
            <ul>
              <li><a href="#" id="link03-01">Link 1</a> | <a href="#" aria-describedby="link03-01">View Transcript</a></li>
              <li><a href="#" id="link03-02">Link 2</a> | <a href="#" aria-describedby="link03-02">View Transcript</a></li>
              <li><a href="#" id="link03-03">Link 3</a> | <a href="#" aria-describedby="link03-03">View Transcript</a></li>
            </ul>
          </div>
        </div>
      </section>
    </article>
  </main>
</div>
.bs-accordion {
  .panel-heading {
    // remove the padding on the heading so we can increase the click area of the anchor
    padding: 0;
    a {
      // increase the click area of the anchor trigger to match the original .panel-heading
      display: block;
      padding: 10px 15px;
      
      // spin the chevron!
      &[aria-expanded=true] {
        .glyphicon.glyphicon-chevron-right {
          transform: rotate(90deg);
          transition: transform 350ms cubic-bezier(0.645, 0.045, 0.355, 1);
        }
      }
      .glyphicon.glyphicon-chevron-right {
        transition: transform 350ms cubic-bezier(0.645, 0.045, 0.355, 1);
      }
    }
  }
}
View Compiled

External CSS

  1. https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery.min.js
  2. https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js