section.course-index {
  @extend .sidebar;
  @extend .tran;
  @include border-radius(3px 0 0 3px);
  border-right: 1px solid #ddd;

  #open_close_accordion {
    display: none;
  }

  header {
    max-height: 47px;

    h2 {
      white-space: nowrap;
    }
  }

  div#accordion {
    width: auto;
    font-size: 14px;

    h3 {
      @include border-radius(0);
      margin: 0;
      overflow: hidden;

      &:first-child {
        border: none;
      }

      &:hover {
        color: #666;
      }

      &.ui-state-hover {
        a {
          color: #666;
        }
      }

      &.ui-accordion-header {
        border-bottom: none;
        color: #000;

        a {
          @include border-radius(0);
          @include box-shadow(none);
          padding-left: 19px;
        }

        &.ui-state-active {
          @extend .active;
          border-bottom: none;

          &:hover {
            background: none;
          }
        }

        span.ui-icon {
          left: 0;
          background-image: url("/static/images/ui-icons_222222_256x240.png");
          opacity: .3;
        }
      }
    }

    .chapter {
      width: 100%;
      @include box-sizing(border-box);
      padding: 11px 14px;
      @include linear-gradient(top, rgba(255, 255, 255, .6), rgba(255, 255, 255, 0));
      background-color: #eee;
      @include box-shadow(0 1px 0 #fff inset, 0 -1px 0 rgba(0, 0, 0, .1) inset);
      @include transition(background-color .1s);

      &.is-open {
        background: #fff;
      }

      &:first-child {
        border-radius: 3px 0 0 0;
      }

      &:last-child {
        border-radius: 0 0 0 3px;
        @include box-shadow(0 1px 0 #fff inset);
      }

      &:hover {
        background-color: #fff
      }
    }

    ul.ui-accordion-content {
      background: transparent;
      border: none;
      @include border-radius(0);
      margin: 0;
      padding: 9px 0 9px 9px;

      li {
        border-bottom: 0;
        @include border-radius(0);
        margin-bottom: 4px;

        a {
          background: transparent;
          @include border-radius(4px);
          display: block;
          padding: 5px 36px 5px 10px;
          position: relative;
          text-decoration: none;

          p {
            font-weight: bold;
            font-family: $sans-serif;
            margin-bottom: 0;
            line-height: 1.3;

            &.subtitle {
              color: #666;
              font-size: 13px;
              font-weight: normal;
              display: block;
              margin: 0;

              &:empty {
                display: none;
              }
            }
          }

          &:hover {
            background: rgba(0, 0, 0, .1);

            > a p {
              color: #333;
            }
          }

          &:active {
            @include box-shadow(inset 0 1px 14px 0 rgba(0,0,0, 0.1));

            &:after {
              opacity: 1;
              right: 15px;
            }
          }
        }

        &.active {
          font-weight: bold;

          &:after {
            content: '›';
            position: absolute;
            top: 50%;
            right: 20px;
            margin-top: -13px;
            font-size: 30px;
            font-weight: normal;
            color: #333;
            opacity: 0;
            @include transition();
          }

          > a {
            border: 1px solid #bbb;
            @include box-shadow(0 1px 0 rgba(255, 255, 255, .35) inset);
            @include linear-gradient(top, #e6e6e6, #d6d6d6);

            &:after {
              opacity: 1;
              right: 15px;
            }

            p {
              color: #333;
            }
          }

          span.subtitle {
            font-weight: normal;
          }
        }

        &.graded {
         > a {
           background-image: url('../images/graded.png');
           background-repeat: no-repeat;
           background-position: 97% center;
          }

          &.active > a {
            @include background-image(url('../images/graded.png'), linear-gradient(top, #e6e6e6, #d6d6d6));
          }
        }
      }
    }
  }
}
