@mixin blue-button {
  display: block;
  height: 35px;
  padding: 0 15px;
  border-radius: 3px;
  border: 1px solid #2d81ad;
  @include linear-gradient(top, #6dccf1, #38a8e5);
  font-size: 13px;
  font-weight: 700;
  line-height: 32px;
  color: #fff;
  text-shadow: 0 1px 0 rgba(0, 0, 0, .4);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4) inset, 0 1px 1px rgba(0, 0, 0, .15);

  &:hover {
    border-color: #297095;
    @include linear-gradient(top, #4fbbe4, #2090d0);
  }
}

@mixin white-button {
  display: block;
  height: 35px;
  padding: 0 15px;
  border-radius: 3px;
  border: 1px solid #444;
  background: -webkit-linear-gradient(top, #eee, #ccc);
  font-size: 13px;
  font-weight: 700;
  line-height: 32px;
  color: #333;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4) inset, 0 1px 1px rgba(0, 0, 0, .15);

  &:hover {
    background: -webkit-linear-gradient(top, #fff, #ddd);
  }
}




body.discussion {
  .course-tabs .right {
    float: right;

    .new-post-btn {
      @include blue-button;
      margin-right: 4px;
    }

    .new-post-icon {
      display: block;
      float: left;
      width: 16px;
      height: 17px;
      margin: 8px 7px 0 0;
      background: url(../images/new-post-icon.png) no-repeat;
    }
  }

  .new-post-article {
    display: none;
    margin-top: 20px;

    .inner-wrapper {
      max-width: 1180px;
      min-width: 760px;
      margin: auto;
    }

    .left-column {
      float: left;
      width: 32%;
      padding: 40px;
      box-sizing: border-box;

      label {
        font-size: 22px;
        font-weight: 700;
        color: #fff;
        text-shadow: none;
      }

      .topic-drop {
        position: relative;

        ul {
          list-style: none;
          margin: 0;
          padding: 0;
        }
      }

      .topic-drop-btn {
        position: relative;
        z-index: 10000;
        @include white-button;
        height: 40px;
        margin-top: 15px;
        line-height: 36px;

        .drop-arrow {
          float: right;
          color: #999;
          line-height: 36px;
        }
      }

      .topic-drop-menu {
        display: none;
        position: absolute;
        top: 40px;
        left: 0;
        z-index: 9999;
        width: 100%;
        box-sizing: border-box;
        background: #737373;
        border: 1px solid #333;
        box-shadow: 0 2px 50px rgba(0, 0, 0, .4);

        a {
          display: block;
          padding: 10px 15px;
          border-top: 1px solid #5f5f5f;
          font-size: 14px;
          font-weight: 700;
          color: #eee;        

          &:hover {
            background-color: #666;
          }
        }

        li li {
          a {
            padding-left: 39px;
            background: url(../images/nested-icon.png) no-repeat 17px 10px;
          }
        }

        li li li {
          a {
            padding-left: 63px;
            background: url(../images/nested-icon.png) no-repeat 41px 10px;
          }
        }
      }
    }

    .right-column {
      float: left;
      width: 68%;
      padding: 40px;
      box-sizing: border-box;
    }
  }

  .new-post-form {
    width: 100%;
    margin-bottom: 20px;
    border-radius: 3px;
    background: rgba(0, 0, 0, .55);
    color: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .5) inset, 0 1px 0 rgba(255, 255, 255, .5);
    @include clearfix;

    .form-row {
      margin-bottom: 20px;
    }

    .new-post-body {
      position: relative;
      width: 100%;
      height: 200px;
      z-index: 1;
      padding: 10px;
      box-sizing: border-box;
      border: 1px solid #333;
      border-radius: 3px 3px 0 0;
      background: #fff;
      font-family: 'Monaco', monospace;
      font-size: 13px;
      line-height: 1.6;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) inset;
    }

    .new-post-preview {
      position: relative;
      width: 100%;
      height: 50px;
      margin-top: -1px;
      padding: 10px;
      box-sizing: border-box;
      border: 1px solid #333;
      border-radius: 0 0 3px 3px;
      background: #e6e6e6;    
      color: #333;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) inset;
    }

    .new-post-preview-label {
      position: absolute;
      top: 4px;
      left: 4px;    
      font-size: 11px;
      color: #aaa;
      text-transform: uppercase;    
    }

    .new-post-title,
    .new-post-tags {
      width: 100%;
      height: 40px;
      padding: 0 10px;
      box-sizing: border-box;
      border-radius: 3px;
      border: 1px solid #333;
      font-size: 16px;
      font-family: 'Open Sans', sans-serif;
      color: #333;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) inset;
    }

    .new-post-title {
      font-weight: 700;
    }

    .submit {
      @include blue-button;
      float: left;
      height: 37px;
      margin-top: 10px;
      padding-bottom: 2px;
      border-color: #333;

      &:hover {
        border-color: #222;
      }
    }

    .new-post-cancel {
      @include white-button;
      float: left;
      margin: 10px 0 0 15px;
    }

    .options {
      margin-top: 40px;

      label {
        display: inline;
        margin-left: 8px;
        font-size: 15px;
        color: #fff;
        text-shadow: none;
      }
    }
  }
}

.discussion-body {
  line-height: 1.4;

  .sidebar {
    display: table-cell;
    vertical-align: top;
    width: 32%;
    background: #f6f6f6;
    border-radius: 3px 0 0 3px;
    border-right: 1px solid #bcbcbc;
  }

  .browse-search {
    display: block;
    position: relative;
    height: 60px;
    border-bottom: 1px solid #a3a3a3;
    border-radius: 3px 0 0 0;
    

    .browse,
    .search {
      position: relative;
      float: left;
      width: 20%;
      height: 100%;
      @include linear-gradient(top, rgba(255, 255, 255, .5), rgba(255, 255, 255, 0));
      background-color: #dcdcdc;
      @include transition(all .2s ease-out);

      &:hover {
        background-color: #e9e9e9;
      }

      &.is-open {
        width: 80%;
      }
    }

    .browse {
      border-radius: 3px 0 0 0;
      box-shadow: -1px 0 0 #aaa inset;

      &.is-open {
        .board-drop-btn span {
          opacity: 1;
        }

        .board-drop-icon {
          opacity: 0;
        }

        &.is-dropped {
          .board-drop-btn {

            span {
              color: #fff;
              text-shadow: none;
            }

            border-color: #4b4b4b;
          }
        }
      }

      &.is-dropped {
        .board-drop-btn {
          background-color: #616161;
        }
      }

      &.is-dropped {
        .board-drop-icon {
          background-position: 0 -16px;
        }
      }
    }

    .search {
      cursor: pointer;

      &.is-open {
        cursor: auto;

        .post-search {
          padding: 0 10px;
          max-width: 1000px;
        }

        .post-search-field {
          cursor: text;
          pointer-events: auto;

          &::-webkit-input-placeholder,
          &:-moz-placeholder,
          &:-ms-input-placeholder {
            opacity: 1;
          }
        }
      }
    }

    .board-drop-btn {
      display: block;
      position: absolute;
      top: -1px;
      left: -1px;
      z-index: 50;
      width: 100%;
      height: 100%;
      border-radius: 3px 0 0 0;
      border: 1px solid transparent;
      text-align: center;
      overflow: hidden;
      @include transition(none);

      .current-board {
        white-space: nowrap;
      }

      span {
        font-size: 16px;
        font-weight: 700;
        line-height: 58px;
        color: #333;
        text-shadow: 0 1px 0 rgba(255, 255, 255, .8);
        opacity: 0;
        @include transition(opacity .2s);
      }
    }

    .board-drop-icon {
      display: block;
      position: absolute;
      top: 21px;
      left: 50%;
      z-index: 100;
      width: 29px;
      height: 16px;
      margin-left: -12px;
      background: url(../images/browse-icon.png) no-repeat;
      opacity: 1;
      @include transition(opacity .2s);
    }

    .board-drop-menu {
      display: none;
      position: absolute;
      top: 60px;
      left: -1px;
      z-index: 9999;
      width: 100%;
      background: #737373;
      border: 1px solid #4b4b4b;
      border-radius: 0 0 3px 3px;

      > li:first-child a {
        border-top: none;
      }

      a {
        display: block;
        height: 50px;
        padding: 0 20px;
        border-top: 1px solid #5f5f5f;
        font-size: 14px;
        font-weight: 700;
        line-height: 48px;
        color: #fff;

        &:hover {
          background-color: #636363;
        }

        .unread {
          float: right;
          padding: 0 5px;
          margin-top: 13px;
          font-size: 11px;
          line-height: 22px;
          border-radius: 2px;
          @include linear-gradient(top, #4c4c4c, #5a5a5a);
        }
      }

      li li {
        a {
          padding-left: 44px;
          background: url(../images/nested-icon.png) no-repeat 22px 14px;
        }
      }

      li li li {
        a {
          padding-left: 68px;
          background: url(../images/nested-icon.png) no-repeat 46px 14px;
        }
      }
    }

    .post-search {
      width: 100%;
      max-width: 30px;
      margin: auto;
      @include box-sizing(border-box);
      @include transition(all .2s);
    }

    .post-search-field {
      display: block;
      width: 100%;
      height: 30px;
      padding: 0;
      margin: 14px auto;
      @include box-sizing(border-box);
      border: 1px solid #acacac;
      border-radius: 30px;
      box-shadow: 0 1px 3px rgba(0, 0, 0, .1) inset, 0 1px 0 rgba(255, 255, 255, .5);
      background: url(../images/search-icon.png) no-repeat 7px center #fff;
      font-family: 'Open Sans', sans-serif;
      font-weight: 400;
      font-size: 13px;
      line-height: 20px;
      text-indent: 30px;
      color: #333;
      outline: 0;
      cursor: pointer;
      pointer-events: none;
      @include transition(all .2s ease-out);

      &::-webkit-input-placeholder,
      &:-moz-placeholder,
      &:-ms-input-placeholder {
        opacity: 0;
        @include transition(opacity .2s);
      }

      &:focus {
        border-color: #4697c1;
      }
    }
  }

  .sort-bar {
    height: 27px;
    border-bottom: 1px solid #a3a3a3;
    @include linear-gradient(top, rgba(255, 255, 255, .3), rgba(255, 255, 255, 0));
    background-color: #aeaeae;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .2) inset;

    span,
    a {
      font-size: 9px;
      font-weight: bold;
      line-height: 25px;
      color: #333;
      text-transform: uppercase;
      text-shadow: 0 1px 0 rgba(255, 255, 255, .4);
    }

    .sort-label {
      display: block;
      float: left;
      margin: 0 10px;
    }

    li {
      float: left;
      margin: 4px 4px 0 0;
    }

    a {
      display: block;
      height: 18px;
      padding: 0 9px;
      border-radius: 19px;
      color: #333;
      line-height: 17px;

      &:hover {
        @include linear-gradient(top, rgba(255, 255, 255, .4), rgba(255, 255, 255, .2));
        color: #333;
      }

      &.active {
        @include linear-gradient(top, rgba(0, 0, 0, .3), rgba(0, 0, 0, 0));
        background-color: #999;
        color: #fff;
        text-shadow: 0 -1px 0 rgba(0, 0, 0, .3);
        box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 1px rgba(0, 0, 0, .2) inset;
      }
    }
  }

  .post-list-wrapper {
    overflow-y: scroll;
  }

  .post-list {
    background-color: #ddd;

    a {
      position: relative;
      display: block;
      height: 36px;
      padding: 0 10px;
      margin-bottom: 1px;
      @include linear-gradient(top, rgba(255, 255, 255, .7), rgba(255, 255, 255, 0));
      background-color: #fff;

      &:hover {
        @include linear-gradient(top, rgba(255, 255, 255, .7), rgba(255, 255, 255, 0));
        background-color: #eee;
      }

      .title {
        font-size: 13px;
        font-weight: 700;
        line-height: 34px;
        color: #333;
      }

      &.read .title {
        font-weight: 400;
        color: #737373;
      }

      &.resolved:before {
        content: '';
        position: absolute;
        top: 12px;
        right: 75px;
        width: 9px;
        height: 8px;
        background: url(../images/sidebar-resolved-icons.png) no-repeat;
      }

      &.followed:after {
        content: '◥';
        position: absolute;
        top: -4px;
        right: 0;
        width: 10px;
        height: 10px;
        font-size: 10px;
        color: #53bdfb;
        text-align: right;
      }

      &.active {
        @include linear-gradient(top, #96e0fd, #61c7fc);
        border-color: #4697c1;
        box-shadow: 0 1px 0 #4697c1, 0 -1px 0 #4697c1;

        .title {
          color: #333;  
        }

        .votes-count,
        .comments-count {
          @include linear-gradient(top, #3994c7, #4da7d3);
          color: #fff;

          &:after {
            color: #4da7d3;
          }
        }

        &.followed:after {
          color: #2d79aa;
        }

        &.resolved:before {
          background-position: 0 -8px;
        }
      }
    }

    .title {
      display: block;
      float: left;
      width: 70%;
      white-space: nowrap;
      text-overflow: ellipsis;
      overflow: hidden;
    }

    .votes-count,
    .comments-count {
      display: block;
      float: right;
      width: 32px;
      height: 16px;
      margin-top: 9px;
      border-radius: 2px;
      @include linear-gradient(top, #d4d4d4, #dfdfdf);
      font-size: 9px;
      font-weight: 700;
      line-height: 16px;
      text-align: center;
      color: #767676;
    }

    .comments-count {
      position: relative;
      width: 25px;
      margin-left: 4px;

      &:after {
        content: '◥';
        display: block;
        position: absolute;
        top: 11px;
        right: 3px;
        font-size: 6px;
        color: #dfdfdf;
      }

      &.new {
       @include linear-gradient(top, #84d7fe, #99e0fe);
        color: #333;

        &:after {
          color: #99e0fe;
        }
      }
    }
  }




  .discussion-column {
    display: table-cell;
    vertical-align: top;
    width: 68%;
  }

  .discussion-article {
    position: relative;
    padding: 40px;

    h1 {
      margin-bottom: 10px;
      font-size: 28px;
      font-weight: 700;
      line-height: 1.2;
    }

    .posted-details {
      font-size: 12px;
      font-style: italic;
      color: #888;
    }

    p + p {
      margin-top: 20px;
    }

    .dogear {
      display: block;
      position: absolute;
      top: -1px;
      right: -1px;
      width: 52px;
      height: 51px;
      background: url(../images/follow-dog-ear.png) 0 -52px no-repeat;
      @include transition(none);

      &.is-followed {
        background-position: 0 0;
      }
    }
  }

  .discussion-post {
    padding: 10px 20px;

    > header .vote-btn {
      margin-top: 5px;
    }
  }

  .discussion-post header,
  .responses li header {
    margin-bottom: 20px;
  }

  .responses {
    list-style: none;
    margin-top: 40px;
    padding: 0;    

    > li {
      position: relative;
      margin: 0 -10px 30px;
      padding: 26px 30px 30px;
      border-radius: 3px;
      border: 1px solid #b2b2b2;
      box-shadow: 0 1px 3px rgba(0, 0, 0, .15);

      &.staff {
        padding-top: 38px;
        border-color: #009fe2;
      }

      .staff-banner {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 14px;
        padding: 1px 5px;
        @include box-sizing(border-box);
        border-radius: 2px 2px 0 0;
        background: #009fe2;
        font-size: 9px;
        font-weight: 700;
        color: #fff;
        text-transform: uppercase;
      }
    }

    .posted-by {
      font-weight: 700;
    }
  }

  .vote-btn {
    float: right;
    display: block;
    height: 27px;
    padding: 0 8px;
    border-radius: 5px;
    border: 1px solid #b2b2b2;
    @include linear-gradient(top, #fff 35%, #ebebeb);
    box-shadow: 0 1px 1px rgba(0, 0, 0, .15);
    font-size: 12px;
    font-weight: 700;
    line-height: 25px;
    color: #333;

    .plus-icon {
      float: left;
      display: block;
      width: 10px;
      height: 10px;
      margin: 8px 6px 0 0;
      background: url(../images/vote-plus-icon.png) no-repeat;
      font-size: 18px;
      text-indent: -9999px;
      color: #17b429;
      overflow: hidden;
    }

    &.is-cast {
      border-color: #379a42;
      @include linear-gradient(top, #50cc5e, #3db84b);
      color: #fff;
      text-shadow: 0 1px 0 rgba(0, 0, 0, .3);
      box-shadow: 0 1px 0 rgba(255, 255, 255, .4) inset, 0 1px 2px rgba(0, 0, 0, .2);

      .plus-icon {
        background-position: 0 -10px;
        color: #336a39;
        text-shadow: 0 1px 0 rgba(255, 255, 255, .4);
      }
    }
  }

  .endorse-btn {
    display: block;
    float: right;
    width: 27px;
    height: 27px;
    margin-right: 10px;
    border-radius: 27px;
    border: 1px solid #a0a0a0;
    @include linear-gradient(top, #fff 35%, #ebebeb);
    box-shadow: 0 1px 1px rgba(0, 0, 0, .1);

    .check-icon {
      display: block;
      width: 13px;
      height: 12px;
      margin: 8px auto;
      background: url(../images/endorse-icon.png) no-repeat;
    }

    &.is-endorsed {
      border: 1px solid #4697c1;
      @include linear-gradient(top, #6dccf1, #38a8e5);
      box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, .4) inset;

      .check-icon {
        background-position: 0 -12px;
      }
    }
  }

  .comments {
    list-style: none;
    margin-top: 20px;
    padding: 0;
    border-top: 1px solid #ddd;

    li {
      background: #f6f6f6;
      border-bottom: 1px solid #ddd;

      &.new-comment-form {
        background: #eee;
      }
    }

    p {
      font-size: 13px;
      padding: 10px 20px;

      .posted-details {
        font-size: 11px;
        white-space: nowrap;
      }
    }

    .staff-label {
      margin-left: 2px;
      padding: 0 4px;
      border-radius: 2px;
      background: #009FE2;
      font-size: 9px;
      font-weight: 700;
      font-style: normal;   
      color: white;   
      text-transform: uppercase;
    }
  }

  .comment-form {
    padding: 8px 20px;
  }

  .comment-form-input {
    width: 100%;
    height: 31px;
    padding: 0 10px;
    @include box-sizing(border-box);
    border: 1px solid #b2b2b2;
    border-radius: 3px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .1) inset;
    @include transition(border-color .1s);
    outline: 0;

    &:focus {
      border-color: #4697c1;
    }
  }

  .moderator-actions {
    margin-top: 20px;
    @include clearfix;

    li {
      float: left;
      margin-right: 8px;
    }

    a {
      display: block;
      height: 26px;
      padding: 0 12px;
      border-radius: 3px;
      border: 1px solid #b2b2b2;
      @include linear-gradient(top, #fff 35%, #ebebeb);
      font-size: 13px;
      line-height: 24px;
      color: #737373;
      box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);

      .delete-icon {
        display: block;
        float: left;
        width: 10px;
        height: 10px;
        margin: 8px 4px 0 0;
        background: url(../images/moderator-delete-icon.png) no-repeat;
      }

      .edit-icon {
        display: block;
        float: left;
        width: 10px;
        height: 10px;
        margin: 7px 4px 0 0;
        background: url(../images/moderator-edit-icon.png) no-repeat;
      }
    }
  }





  .tooltip {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 99999;
    padding: 0 10px;
    border-radius: 3px;
    background: rgba(0, 0, 0, .85);
    font-size: 11px;
    font-weight: 400;
    line-height: 26px;
    color: #fff;
    pointer-events: none;
    opacity: 0;
    @include transition(opacity .1s);

    &:after {
      content: '▾';
      display: block;
      position: absolute;
      bottom: -14px;
      left: 50%;
      margin-left: -7px;
      font-size: 20px;
      color: rgba(0, 0, 0, .85);
    }
  }




  .main-article.new {
    display: none;
    padding: 50px;
  }

  .new-post-form {
    margin-top: 20px;
    @include clearfix;
  }

  .new-post-form .submit {
    @include blue-button;
    float: left;
    margin-top: 10px;
    padding-bottom: 2px;
  }

  .new-post-form .options {
    float: right;
    margin-top: 20px;
    font-size: 14px;

    label {
      margin-left: 4px;
    }
  }
}










.global-discussion-actions {
  height: 60px;
  @include linear-gradient(top, #ebebeb, #d9d9d9);
  border-radius: 0 3px 0 0;
  border-bottom: 1px solid #bcbcbc;
}



















