// Table of Contents
//
// 01. Utils
// 02. Hero
// 03. Legislation process navigation
// 04. Debate list
// 05. Debate quiz
// 06. Legislation draft
// 07. Legislation allegations
// 08. Legislation changes
// 09. Legislation comments
// 10. Legislation draft comment
//

// 01. Utils
// ---------

$grey-heading: #e6e6e6;
$border-dark:  darken($border, 10%);

.grey-heading {
  background: $grey-heading;
}

// 02. Hero
// --------

.legislation-hero {

  ul {
    list-style: none;
    margin-left: 0;

    li::before {
      color: #8aa8be;
      content: '■';
      padding-right: $line-height / 4;
      vertical-align: text-bottom;
    }
  }

  .debate-add-info {
    border-top: 1px solid $border-dark;
    margin-top: $line-height;
    padding-top: $line-height;

  }

  .title {
    font-weight: bold;
    text-transform: uppercase;
  }

  .description {

    li {

      p {
        display: inline;
      }
    }
  }

  .button-subscribe {
    margin-top: $line-height;

    @include breakpoint(medium) {
      margin-top: $line-height * 2;
      padding: 0.5em 1em;
    }

    h3 {
      margin-bottom: 0;
    }

    p {
      font-size: $small-font-size;
      margin-bottom: 0;
    }

    &:hover h3 {
      color: #fff;
    }
  }
}

// 03. Legislation process navigation
// ----------------------------------

.legislation-process-categories {
  position: relative;

  .legislation-process-list {
    border-bottom: 1px solid $medium-gray;
    margin: 0 1rem 1rem;

    ul {

      list-style: none;
      margin: 0 auto;
      margin-bottom: 0;
      padding-left: 0;
    }

    li {
      cursor: pointer;
      display: inline-block;
      margin-bottom: $line-height;
      margin-right: $line-height;
      transition: all 0.4s;
      border-bottom: 2px solid transparent;

      @include breakpoint(medium) {
        margin-bottom: 0;
      }

      &:hover,
      &:active,
      &:focus {
        border-bottom: 2px solid $brand;
      }

      a,
      h4 {
        display: block;
        color: #6d6d6d;
        margin-bottom: 0;
      }
    }

    a {
      &:hover,
      &:active {
        text-decoration: none;
      }

      p {
        margin-bottom: 0;

        @include breakpoint(medium) {
          margin-bottom: 1rem;
        }
      }
    }

    .active {
      border-bottom: 2px solid $brand;
    }
  }
}

// 04. Debate list
// ----------------

.debate-chooser {
  padding: 2rem 1rem;

  @include breakpoint(medium) {
    .debate-chooser {
      padding: 2rem 3rem;
    }
  }

  .debate-block {
    margin-bottom: 2.5rem;

    .debate-type {
      text-transform: uppercase;
      color: $brand;
      font-weight: 700;
      font-size: $small-font-size;

      .icon-debates {
        margin-left: 0.2rem;
      }
    }

    .debate-title a {
      color: $brand;
    }
  }

  .debate-meta,
  .debate-meta a {
    font-size: $small-font-size;
    color: #6d6d6d;

    .icon-comments {
      margin-right: 0.2rem;
    }
  }

  .debate-info {
    padding: 1rem;
    background: #f4f4f4;
  }
}

// 05. Debate quiz
// ---------------

.debate-questions {

  .comments {
    margin-top: $line-height * 2.5;
  }

  .quiz-header {
    margin-bottom: $line-height;

    .quiz-title,
    .quiz-next {
      padding: $line-height;

      @include breakpoint(medium) {
        height: $line-height * 4;
      }
    }

    .quiz-title {
      background: #e5ecf2;

      .quiz-header-title {
        font-size: $small-font-size;
        font-weight: 700;
        margin-bottom: 0;
        text-transform: uppercase;
      }
    }

    h4 a {
      color: $brand;

      &:hover {
        text-decoration: none;
      }
    }

    .quiz-next-link {
      display: block;

      &:hover,
      &:active {
        text-decoration: none;
      }
    }

    .quiz-next {
      background: #ccdbe5;
      color: $brand;
      font-size: $small-font-size;
      font-weight: bold;
      text-align: right;
      text-transform: uppercase;
      transition: background 0.25s ease-out, background 0.25s ease-out;

      .icon-angle-right {
        vertical-align: middle;
      }

      &:hover,
      &:active {
        background: $brand;
        color: #fff;
        text-decoration: none;
      }
    }
  }

  .quiz-question {
    margin-bottom: $line-height;
  }

  .debate-questions {
    position: relative;
    list-style: none;

    .control {
      background: #fff;
      border: 1px solid $border;
      border-radius: rem-calc(4);
      color: #555;
      cursor: pointer;
      display: inline-block;
      margin-bottom: $line-height / 2;
      margin-right: $line-height;
      padding: $line-height / 2  $line-height * 2;
      position: relative;
    }

    .active {
      background: #ccdbe6;
      border: 0;
    }

    .control input {
      position: absolute;
      opacity: 0;
      z-index: -1;
    }

    .control input:checked ~ .control-indicator {
      background-color: $brand;
      border: 0;
    }

    .radio .control-indicator {
      border-radius: 50%;
    }

    .control-indicator {
      position: absolute;
      top: 0.95rem;
      left: 0.95rem;
      display: block;
      width: 1rem;
      height: 1rem;
      line-height: 1rem;
      font-size: 65%;
      text-align: center;
      border: 2px solid #9c9c9c;
      pointer-events: none;
      user-select: none;
    }
  }
}

// 06. Legislation draft
// ---------------------

.debate-draft {
  padding: 10rem 2rem 15rem;
  display: block;
  background: #f2f2f2;

  button {
    height: rem-calc(90);

    h3 {
      margin-bottom: 0;
    }

    p {
      margin-bottom: 0;
      font-size: $small-font-size;
    }
  }
}

// 07. Legislation allegations
// ---------------------------

.legislation-allegation {
  padding-top: 1rem;

  .headline {
    margin-bottom: 0;

    .headline-small {
      padding-top: 0.75rem;
    }
  }

  .button-circle {
    line-height: 0;
    padding: 0;
    width: rem-calc(30);
    height: rem-calc(30);
    border-radius: 50%;

    span {
      padding-left: rem-calc(1);

      &::before {
        line-height: 1.55;
      }
    }
  }

  .icon-checkmark-circle {
    font-size: 1.5rem;
    vertical-align: bottom;
    color: $text-medium;
    margin-right: 0.5rem;
  }

  .button-subscribed {
    margin-top: 1rem;
    border: 1px solid #d1d1d1;
    background: #f2f2f2;

    @include breakpoint(medium) {
      padding: 0.5em 1em;
    }

    h3 {
      display: inline-block;
      color: $text;
      margin-bottom: 0;
    }

    p {
      margin-bottom: 0;
      font-size: $small-font-size;
    }

    &:hover h3 {
      color: $text;
    }
  }
}

.draft-panels {
  position: relative;
  padding: 2rem 0;

  .draft-chooser {
    margin-bottom: 2rem;

    h3 {
      vertical-align: top;
      display: inline-block;
      font-weight: 400;
      margin-right: 0.5rem;
    }

    span {
      margin-left: 0.25rem;
      font-style: italic;
      font-size: $small-font-size;
      color: $text-medium;
      vertical-align: top;
      line-height: 2.35rem;
    }

    .select-box {
      position: relative;

      @include breakpoint(medium) {
        display: inline-block;
      }

      select {
        margin-bottom: 0;
        display: block;
      }

      span {
        vertical-align: inherit;
        font-style: normal;
      }

      .see-changes {
        color: $text-medium;
        text-decoration: underline;
      }
    }

    .button {
      margin-top: 1rem;

      @include breakpoint(medium) {
        margin-top: 0;
      }
    }
  }

  .draft-allegation {

    @include breakpoint(medium) {
      display: flex;
      padding-left: 0.9375rem;
      padding-right: 0.9375rem;
    }

    .calc-index {
      .draft-panel {
        cursor: pointer;
      }

      .draft-index-rotated {
        display: none;
      }
    }

    @media screen and (min-width: 40em) {
      .calc-index {
        width: calc(35% - 25px);
      }

      .calc-text {
        width: calc(65% - 25px);
      }

      .calc-comments {
        cursor: pointer;
        background: #f2f2f2;
        width: rem-calc(50);

        .draft-panel {

          .panel-title {
            display: none;
          }
        }
      }
    }

    .border-right {
      @include breakpoint(medium) {
        border-right: 1px solid $border;
      }
    }

    .border-left {
      @include breakpoint(medium) {
        border-left: 1px solid $border;
      }
    }

    .draft-panel {
      text-transform: uppercase;
      font-weight: 700;
      padding: 0.5rem 1rem;
      color: #696969;
      background: #f2f2f2;
      font-size: $small-font-size;

      .icon-comments {
        margin-right: 0.25rem;
      }

      .icon-banner {
        line-height: 0;
        color: $text-medium;
        vertical-align: sub;
        margin-right: 0.25rem;
      }
    }

    .draft-index {
      ul:first-child {
        font-size: 1rem;
        text-decoration: underline;
        margin-left: 2.25rem;
        margin-top: 1.5rem;
      }

      ul {
        list-style: none;

        li {
          margin-bottom: 1rem;
        }

        .open::before {
          cursor: pointer;
          position: absolute;
          margin-left: -1.25rem;
          font-family: 'icons';
          content: '\58';
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
        }

        .closed::before {
          cursor: pointer;
          position: absolute;
          margin-left: -1.25rem;
          font-family: 'icons';
          content: '\5a';
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
        }
      }
    }

    .draft-text {
      position: relative;
      padding: 1rem;

      @include breakpoint(medium) {
        padding: 2rem 2rem 2rem 3rem;
      };

      h2 {
        font-weight: 400;
        margin-bottom: 2rem;
        margin-top: 2rem;
      }

      h3 {
        font-weight: 400;
        margin-bottom: 1rem;
      }

      .anchor::before {
        display: none;
        content: '#';
        color: $text-medium;
        position: absolute;
        left: 0;

        @include breakpoint(medium) {
          left: 1.5rem;
        }
      }

      a {
        color: $text;

        &:hover,
        &:active,
        &:focus {
          text-decoration: none;

          h3 {
            color: $text;
          }

          .anchor::before {
            display: block;
          }
        }
      }
    }

    .calc-comments {
      position: relative;

      .comment-box {
        display: none;
      }

      .draft-comments-rotated {
        @include breakpoint(medium) {
          font-size: $small-font-size;
          text-transform: uppercase;
          font-weight: 700;
          color: #696969;
          margin-top: 4rem;
          transform: rotate(-90deg);
          filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
        }
      }

    }
  }

  .comments-on {
    .calc-index {
      width: rem-calc(50);
      background: #f2f2f2;
      cursor: pointer;

      .panel-title {
        display: none;
      }

      .draft-index {
        display: none;
      }

      .draft-index-rotated {
        @include breakpoint(medium) {
          line-height: 1;
          display: block;
          font-size: $small-font-size;
          text-transform: uppercase;
          font-weight: 700;
          color: #696969;
          margin-top: $line-height;
          transform: rotate(-90deg);
          filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);

          .panel-title {
            display: block;
          }
        }
      }
    }

    .calc-text {
      width: calc(65% - 25px);
      border-right: 0;

      .show-comments {
        width: 105%;
        background: #fafafa;
        padding: 0.25rem 2.5rem 0.25rem 0.25rem;
        border: 1px solid $border;
        margin-bottom: 1rem;

        p {
          margin-bottom: 0;
        }
      }

    }

    .calc-comments {
      background: #fff;
      cursor: auto;
      width: calc(35% - 25px);

      .draft-panel {
        cursor: pointer;
      }

      .draft-comments-rotated {
        display: none;
      }

      .comments-box-container {
        position: absolute;
        top: rem-calc(230);
      }

      .comment-box {
        width: rem-calc(375);
        padding: 1rem;
        background: #f9f9f9;
        border: 1px solid $border;
        display: block;
        margin-bottom: 2rem;

        .button {
          font-size: $small-font-size;
          padding: 0.5em 1em;
        }

        .publish-comment {
          float: right;
        }

        .comment-header {
          color: #838383;
          padding-bottom: 0.5rem;
          margin-bottom: 1rem;
          border-bottom: 1px solid $border;

          .comment-number {
            color: $text;
            display: inline-block;
          }

          .icon-comment {
            margin-right: 0.5rem;
          }

          a .icon-expand {
            color: #838383;
            font-size: $small-font-size;
            float: right;
          }
        }

        .comments-wrapper {
          position: relative;

          .participation-not-allowed {
            padding: 1.25rem 0.5rem;
          }
        }

        .comment-footer {
          position: relative;

          .participation-not-allowed {
            font-size: 0.875rem;
            height: rem-calc(50);
            padding: 0.85rem 0.75rem;
            top: -18px;
          }
        }

        .comment-input {
          padding-bottom: 4rem;
          margin-bottom: 1rem;
          margin-top: 1rem;
          border-bottom: 1px solid $border;

          .comment-advice {
            border-top: 1px solid #d0d0d0;
            border-right: 1px solid #d0d0d0;
            border-left: 1px solid #d0d0d0;
            width: 100%;
            padding: 0.5rem;
            display: inline-block;
            font-size: $small-font-size;
            background: #dfdfdf;

            .icon-proposals {
              color: #838383;
            }

            a {
              color: #87a3b9;
              text-decoration: underline;
            }
          }

          textarea {
            border-radius: 0;
            box-shadow: none;
            border-bottom: 1px solid #d0d0d0;
            border-right: 1px solid #d0d0d0;
            border-left: 1px solid #d0d0d0;
            width: 100%;
            height: rem-calc(200);
            margin-bottom: 0.5rem;
          }

          .comment-actions {
            .cancel-comment {
              color: #87a3b9;
              text-decoration: underline;
              font-size: $small-font-size;
              display: inline-block;
            }
          }
        }

        .comment {
          border-bottom: 1px solid $border;
          padding-bottom: 0.75rem;
          margin-bottom: 1rem;
          font-size: $small-font-size;

          .comment-text {
            margin-bottom: 0.5rem;

            p {
              line-height: 1.5;
              font-size: $small-font-size;

              &:last-child {
                margin-bottom: 0.5rem;
              }
            }
          }

          .comment-meta {

            .comment-more-info {
              display: inline-block;

              .comment-expand {
                display: inline-block;

                &::after {
                  content: '|';
                  color: #838383;
                }
              }

              .comment-replies {
                display: inline-block;
              }
            }

            .comment-votes {
              color: #838383;
              float: right;
              display: inline-block;

              .comment-votes-number {
                margin-right: 0.25rem;
                display: inline-block;

                &::after {
                  margin-left: 0.25rem;
                  content: '|';
                }
              }

              .icon-like,
              .icon-unlike {
                cursor: pointer;
                color: #c7c7c7;

                &:hover,
                &:active,
                &:focus {
                  color: #838383;
                }
              }

              .icon-like {
                margin-right: 0.25rem;
              }
            }
          }
        }
      }

      .draft-panel {
        background: #e5e5e5;
        border-left: 1px solid #d4d4d4;

        .panel-title {
          display: inline-block;
        }
      }
    }
  }
}

// 08. Legislation changes
// -----------------

.legislation-changes {

  ul {
    list-style: none;
    margin-left: 0;

    li {
      margin-bottom: 1rem;

      &::before {
        margin-right: 0.25rem;
        content: '—';
      }
    }
  }

  .changes-link {
    display: block;
    margin-left: 1rem;
    font-size: $small-font-size;

    @include breakpoint(medium) {
      display: inline-block;
    }

    a {

      span {
        text-decoration: underline;
      }

      .icon-external {
        text-decoration: none;
        color: #999;
        line-height: 0;
        vertical-align: sub;
        margin-left: 0.5rem;
      }

      &:active,
      &:focus,
      &:hover {
        text-decoration: none;
      }
    }
  }
}

// 09. Legislation comments
// -----------------

.legislation-comments {

  .pull-right {
    float: right;
  }

  .comment-section {
    background: #fafafa;
    padding: 1rem;
    border: 1px solid #dee0e3;
    margin-top: 0.25rem;
    margin-bottom: 1rem;
  }

  .comment {
    margin-bottom: 3rem;

    a {
      span {
        text-decoration: underline;
      }

      .icon-expand,
      .icon-comments {
        text-decoration: none;
        color: #999;
        line-height: 0;
      }

      .icon-expand {
        margin-left: 0.25rem;
      }

      .icon-comments {
        margin-right: 0.25rem;
      }

      &:active,
      &:focus,
      &:hover {
        text-decoration: none;
      }
    }
  }
}

// 10. Legislation draft comment
// -----------------

.legislation-comment {

  .annotation-share-comment {
    margin-bottom: 2rem;
  }

  .pull-right {
    float: right;
  }

  .comment-section {
    background: #fafafa;
    padding: 1rem;
    border: 1px solid #dee0e3;
    margin-top: 0.25rem;
    margin-bottom: 1rem;
  }

  .comment {

    a {
      span {
        text-decoration: underline;
      }

      .icon-expand,
      .icon-comments {
        text-decoration: none;
        color: #999;
        line-height: 0;
      }

      .icon-expand {
        margin-left: 0.25rem;
      }

      .icon-comments {
        margin-right: 0.25rem;
      }

      &:active,
      &:focus,
      &:hover {
        text-decoration: none;
      }
    }
  }
}
