// Table of Contents
//
// 01. Votes and supports
// 02. New participation
// 03. Show participation
// 04. List participation
// 05. Featured
//

// 01. Votes and supports
// ----------------------

@mixin votes {
  background: $votes-bg;
  border-top: 1px solid $votes-border;
  margin: 0 rem-calc(-12);
  padding: rem-calc(14) rem-calc(12);
  position: relative;

  .icon-like {
    background: white;
    border: 2px solid $votes-border;
    border-radius: rem-calc(3);
    color: $text-light;
    display: inline-block;
    font-size: rem-calc(30);
    line-height: rem-calc(30);
    padding: rem-calc(3) rem-calc(6);
    position: relative;

    &:hover {
      background: $votes-like;
      border-color: white;
      color: white;
      cursor: pointer;
      opacity: 1 !important;
    }

    &:active {
      border-color: $votes-like-act;
    }
  }

  .icon-unlike {
    background: white;
    border: 2px solid $votes-border;
    border-radius: rem-calc(3);
    color: $text-light;
    display: inline-block;
    font-size: rem-calc(30);
    line-height: rem-calc(30);
    padding: rem-calc(3) rem-calc(6);
    position: relative;

    &:hover {
      background: $votes-unlike;
      border-color: white;
      color: white;
      cursor: pointer;
      opacity: 1 !important;
    }

    &:active {
      border-color: $votes-unlike-act;
    }
  }

  .like, .unlike {
    line-height: rem-calc(48);
    vertical-align: super;

    span.percentage {
      color: white;
      display: inline-block;
      font-size: rem-calc(16);
      line-height: $line-height*2;
      padding-left: rem-calc(8);
      vertical-align: top;
    }
  }

  .voted {
    .icon-like {
      background: $votes-like;
      border-color: white;
      color: white;
    }

    .icon-unlike {
      background: $votes-unlike;
      border-color: white;
      color: white;
    }
  }

  .no-voted {
    .icon-like, .icon-unlike {
      opacity: .5;
    }
  }

  .total-votes {
    color: white;
    float: right;
    line-height: $line-height*2;
  }

  .divider {
    margin: 0 rem-calc(6);
  }

  .not-logged {
    background: rgba(22,99,135,.9);
    color: white;
    font-size: $small-font-size;
    height: 100%;
    left: 0;
    position: absolute;
    text-align: center;
    top: 0;
    width: 100%;
    filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#222222', endColorstr='#222222'); /* IE */

    a {
      color: white;
      text-decoration: underline;
    }
  }

  .anonymous-votes, .organizations-votes {
    background: $warning-bg;
    color: $color-warning;
    height: 100%;
    left: 0;
    line-height: $line-height;
    padding-top: rem-calc(12);
    position: absolute;
    text-align: center;
    top: 0;
    width: 100%;

    p {
      color: $color-warning;
      margin: 0 rem-calc(12);
      text-align: left;
    }

    a {
      color: $color-warning;
      font-weight: bold;
      text-decoration: underline;
    }
  }
}

@mixin supports {
  background: $proposals;
  border-top: 1px solid $proposals-border;
  margin: 0 rem-calc(-12);
  padding: rem-calc(14) rem-calc(12);
  position: relative;

  .progress {
    background-color: rgba(255,255,255,.8);
    height: $line-height/2;

    .meter {
      background: $votes-like;
      display: block;
      height: $line-height/2;
    }
  }

  .percentage {
    font-size: rem-calc(10);
    color: $brand;
    vertical-align: top;
    position: absolute;
    top: 13px;
    right: 20px;
  }

  abbr {
    color: white;

    &[title] {
      border-bottom: 1px dotted white;
    }
  }

  .button-support {
    background: white;
    color: $text;
    display: inline-block;
    font-size: $small-font-size;
    margin-top: rem-calc(12);

    &:hover {
      background: $proposals-border;
      color: white;
      cursor: pointer;
    }

    &:active {
      opacity: .75;
    }
  }

  .total-supports {
    color: white;
    text-align: center;
    font-size: $small-font-size;

    span {
      display: block;
    }
  }

  .divider {
    margin: 0 rem-calc(6);
  }

  .not-logged {
    background: rgba(255,164,45,.9);
    color: white;
    font-size: $small-font-size;
    height: 100%;
    left: 0;
    position: absolute;
    text-align: center;
    top: 0;
    width: 100%;
    filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#222222', endColorstr='#222222'); /* IE */

    a {
      color: white;
      text-decoration: underline;
    }
  }

  .anonymous-votes, .organizations-votes, .no-supports-allowed {
    background: $warning-bg;
    color: $color-warning;
    height: 100%;
    left: 0;
    line-height: $line-height;
    padding-top: rem-calc(12);
    position: absolute;
    text-align: center;
    top: 0;
    width: 100%;

    p {
      color: $color-warning;
      margin: 0 rem-calc(12);
      text-align: left;
    }

    a {
      color: $color-warning;
      font-weight: bold;
      text-decoration: underline;
    }
  }

  .supported {
    color: white;
    margin-top: rem-calc(12);
  }
}

// 02. New participation
// ---------------------

.debate-new, .debate-edit,
.proposal-new, .proposal-edit,
.spending-proposal-new, .spending-proposal-edit {

  .icon-debates {
    color: $debates;
    font-size: rem-calc(60);
    line-height: $line-height;
    opacity: .5;
  }

  .icon-proposals {
    color: $proposals;
    font-size: rem-calc(50);
    line-height: $line-height;
    opacity: .5;
  }

  .icon-budget {
    color: $budget;
    font-size: rem-calc(50);
    line-height: $line-height;
    opacity: .5;
  }

  .recommendations {
    list-style-type: none;
    margin-left: 0;
    margin-top: $line-height;

    li {
      font-size: $small-font-size;
      margin: $line-height/2 0;

      &:before {
        content: "l ";
        font-family: "icons" !important;
      }
    }
  }
}

.debate-new, .debate-edit {

  .recommendations li:before {
    color: $debates;
  }
}

.proposal-new, .proposal-edit {

  .recommendations li:before {
    color: $proposals;
  }
}

// 03. Show participation
// ----------------------

.debate-show, .proposal-show, .investment-project-show {

  p {
    word-wrap: break-word;
  }

  .callout.proposal-retired {
    font-size: $base-font-size;
  }

  .social-share-full .social-share-button {
    display:inline;
  }

  .whatsapp:before {
    background-color: #43d854;
    color: white;
    font-size: 1.7em;
    margin-left: rem-calc(0.5);
    padding: rem-calc(9.5) rem-calc(9.8);
    vertical-align: rem-calc(10);
  }

  .edit-debate, .edit-proposal {
    margin-bottom: 0;
  }

  .debate-info, .proposal-info, .investment-project-info {
    clear: both;
    color: $text-medium;
    font-size: $small-font-size;
    min-height: $line-height*2;
    position: relative;

    a {
      color: $text-medium;
    }

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

    .author-deleted {
      left: 0;
      top: 4px;
    }

    .author.deleted {
      margin-left: rem-calc(48);
    }
  }

  .debate-description, .proposal-description {
    font-size: rem-calc(15);
    line-height: rem-calc(30);
  }

  ul, ol {
    margin: rem-calc(12) 0;

    li {
      font-size: rem-calc(15);
      margin-bottom: rem-calc(15);
    }
  }

  .author-photo {
    line-height: $line-height*2;
    margin-right: rem-calc(6);
    vertical-align: middle;
    width: 32px;
  }

  .author {
    font-weight: bold;

    a {
      color: $link !important;

      &:hover {
        color: $link-hover !important;
      }
    }
  }

  aside {

    h3 {
      border-top: 2px solid $brand;
      display: inline-block;
      font-size: rem-calc(16);
      margin: -1px 0 rem-calc(12);
      padding-top: rem-calc(6);
      text-transform: uppercase;
    }
  }

  blockquote {
    margin-top: rem-calc(12);
    padding-top: 0;
    font-size: rem-calc(15);
    line-height: rem-calc(30);
  }

  .document-link, .video-link {
    border: 1px solid $border;
    display: block;
    margin: $line-height/2 0;
    padding: $line-height/2;
    position: relative;

    a {
      padding-left: rem-calc(24);
    }

    :before {
      color: #007BB7;
      content: "G";
      font-family: "icons" !important;
      font-size: rem-calc(24);
      left: rem-calc(6);
      padding-top: rem-calc(3);
      position: absolute;
      top: 0;
    }
  }

  .video-link {

    :before {
      color: #CC181E;
      content: "D";
    }
  }

  .votes {
    @include votes;
    border: 0;
    border-radius: 0;
    margin: 0;

    .total-votes {
      display: block;
      float: none;
      line-height: $line-height;
    }

    .not-logged {
      line-height: $line-height;
      padding: rem-calc(24);
    }

    @include breakpoint(small + rem-calc(1) and medium down) {
      .in-favor, .against {
        text-align: left;
        width: rem-calc(100);
      }
    }

    .divider {
      display: none;
    }

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

  .supports {
    @include supports;
    border: 0;
    border-radius: 0;
    margin: 0;

    .total-supports {
      display: block;
      float: none;
      line-height: $line-height;
    }

    .not-logged {
      line-height: $line-height;
      padding: rem-calc(24);
    }
  }

  .leave-comment {
    display: inline-block;
    margin-top: rem-calc(24);
  }

  .tags {
    display: block;

    a {
      margin-right: rem-calc(6);
    }
  }
}

.bullet {
  color: $border;
}

.investment-project-show p {
  word-break: break-word;
}

// 04. List participation
// ----------------------

.debates-list, .proposals-list, .investment-projects-list {

  @include breakpoint(small) {
    margin-bottom: rem-calc(48);
  }
}

.investment-projects-list {

  @include breakpoint(small) {
    min-height: $line-height*15;
  }
}

.debate, .proposal, .investment-project {
  margin-bottom: 0;
  margin-top: 0;

  .panel {
    background: white;
    border: 1px solid;
    border-color: #e5e6e9 #dfe0e4 #d0d1d5;
    border-radius: 0;
    box-shadow: 0px 1px 3px 0 $border;
    margin-bottom: rem-calc(12);
    min-height: rem-calc(192);
    padding: rem-calc(12) rem-calc(12) 0 rem-calc(12);

    @include breakpoint(small) {
      margin-bottom: rem-calc(-1);
      padding-bottom: rem-calc(12);
    }

    .label-debate, .label-proposal, .label-investment-project {
      background: none;
      clear: both;
      display: block;
      font-size: rem-calc(12);
      font-weight: bold;
      line-height: $line-height;
      padding-bottom: 0;
      padding-left: 0;
      padding-top: 0;
      text-transform: uppercase;
    }

    .label-debate {
      color: $debates;
    }

    .label-proposal {
      color: $proposals;
    }

    .label-investment-project {
      color: $budget;
    }

    h3 {
      font-weight: bold;
      margin: 0;

      a {
        color: $text;
      }
    }

    .debate-content, .proposal-content, .investment-project-content {
      margin: 0;
      min-height: rem-calc(180);
      position: relative;

      .tags {
        display: block;
      }
    }

    .icon-debates, .icon-proposals, .icon-budget {
      font-size: rem-calc(18);
      line-height: $line-height;
      margin-left: rem-calc(6);
      top: 0;
    }

    .icon-debates {
      color: $debates;
    }

    .icon-proposals {
      color: $proposals;
    }

    .icon-budget {
      color: $budget;
      font-size: $small-font-size;
    }

    .debate-info, .proposal-info, .investment-project-info {
      color: $text-medium;
      font-size: $small-font-size;
      margin: rem-calc(6) 0 0;

      .icon-comments {
        font-size: rem-calc(16);
        vertical-align: top;
      }

      a {
        color: $text-medium;
      }
    }

    .debate-description, .proposal-description, .investment-project-description {
      color: $text;
      font-size: rem-calc(13);
      height: rem-calc(72);
      line-height: $line-height;
      margin-bottom: rem-calc(12);
      margin-top: 0;
      overflow: hidden;
      position: relative;

      a {
        color: $text;
      }

      ul, ol {

        li {
          font-size: rem-calc(13);
          margin-bottom: rem-calc(12);
        }
      }
    }

    .truncate {
      background: image-url('truncate.png');
      background-repeat: repeat-x;
      bottom: 0;
      height: 24px;
      position: absolute;
      width: 100%;
    }

    p {
      color: $text;
    }
  }

  .not-logged {
    line-height: $line-height;
    padding-top: rem-calc(24);
  }

  .anonymous-votes, .organizations-votes {
    padding-top: rem-calc(24);
  }

  .divider {
    display: none;
  }

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

.more-info {
  clear: both;
  color: $text-medium;
  font-size: $small-font-size;

  a {
    color: $text-medium;
  }
}

.debate {

  .votes {
    @include votes;
    border: 1px solid $votes-border;
    margin: 0 rem-calc(-12);

    @include breakpoint(small) {
      border-top-left-radius: 3px;
      border-bottom-left-radius: 3px;
      margin: 0 rem-calc(-25) 0 rem-calc(12);
    }

    &:after {
      content: none;
      position: absolute;
      display: block;
      border-style: solid;
      border-color: #166387 transparent transparent transparent;
      bottom: -14px;
      border-left-width: 0;
      border-right-color: transparent;
      right: -1px;
      border-width: 13px 13px 0 0;

      @include breakpoint(small) {
        content: "";
      }
    }

    .total-votes {
      display: inline-block;
      line-height: $line-height;
      margin-left: rem-calc(24);
      padding-top: rem-calc(12);
      vertical-align: top;

      @include breakpoint(small) {
        display: block;
        float: none;
        line-height: $line-height*2;
        margin-left: 0;
        padding-top: 0;
      }
    }

    @include breakpoint(small) {
      .like, .unlike {

        span.percentage {
          display: block;
          line-height: $line-height/2;
        }
      }
    }
  }
}

.proposal {

  .supports {
    @include supports;
    border: 1px solid $proposals-border;
    margin: 0 rem-calc(-12);

    @include breakpoint(small) {
      border-top-left-radius: 3px;
      border-bottom-left-radius: 3px;
      margin: 0 rem-calc(-25) 0 rem-calc(12);
    }

    &:after {
      content: none;
      position: absolute;
      display: block;
      border-style: solid;
      border-color: #664212 transparent transparent transparent;
      bottom: -14px;
      border-left-width: 0;
      border-right-color: transparent;
      right: -1px;
      border-width: 13px 13px 0 0;

      @include breakpoint(small) {
        content: "";
      }
    }

    .total-supports {
      display: inline-block;
      line-height: $line-height;
      padding-top: rem-calc(12);
      vertical-align: top;

      @include breakpoint(small) {
        display: block;
        float: none;
        margin-left: 0;
        padding-top: 0;
      }
    }
  }
}

.investment-project, .investment-project-show {

  .supports {
    @include supports;
    background: none;
    border: 0;
    border-left: 1px solid $border;
    margin: 0 rem-calc(-12);
    min-height: rem-calc(180);
    padding-top: 0;

    @include breakpoint(small) {
      padding-top: $line-height*1.5;
    }

    &:after {
      content: none;
    }

    .investment-project-amount {
      color: $budget;
      font-size: rem-calc(20);
      font-weight: bold;
      margin-bottom: 0;
    }

    .button-support {
      background: $budget;
      color: white;

      &:hover {
        background: $budget-hover;
        color: white;
        cursor: pointer;
      }

      &:active {
        opacity: .75;
      }
    }

    .total-supports {
      color: $budget;
      font-size: $base-font-size;
      font-weight: bold;
    }

    .supported {
      color: $budget;
      margin-top: 0;
      width: 100%;
    }

    .remove .icon-check-circle {
      display: block;
      font-size: rem-calc(70);
      line-height: rem-calc(70);
    }

    .no-supports-allowed {
      background: rgba(69,67,114,.96);
      color: white;
      padding: rem-calc(12);
    }

    .no-supports-allowed p, .no-supports-allowed a {
      color: white;
    }

    .share-supported {

      .social-share-button-twitter,
      .social-share-button-facebook,
      .social-share-button-google_plus {
        color: $budget;
      }
    }
  }
}

.investment-project-show .supports {
  border: 0;
}

.proposals-summary {

  .panel {
    min-height: 0;
  }
}

.investment-project .supports .total-supports.no-button,
.investment-project-show .supports .total-supports.no-button {
  display: block;
  margin-top: $line-height*1.5;
}

// 05. Featured
// ------------

.featured-debates, .featured-proposals {
  padding: $line-height/2 0;

  @include breakpoint(medium) {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  h2 {
    font-size: $small-font-size;
    line-height: $line-height;
    text-transform: uppercase;
  }

  h3 {
    margin-bottom: 0;

    a {
      color: $text;
      font-size: rem-calc(24);
    }
  }

  a, .info {
    color: lighten($text, 15%);
    font-size: $small-font-size;
  }

}

.featured-debates {
  background: $highlight;
}

.featured-proposals {
  background: $featured;

  .proposal-featured {
    min-height: $line-height*3.5;
  }

  .supports {
    @include supports;
    background: none;
    border: 0;
    padding-bottom: 0;
    padding-top: 0;

    &:after {
      content: none;
    }

    .total-supports {
      display: none;
    }

    .button-support {
      margin-top: 0;
    }

    .not-logged,
    .organizations-votes,
    .anonymous-votes {
      background: $featured;
      color: $color-warning;
      font-size: $small-font-size;
      line-height: $line-height;
      padding-top: 0;

      a {
        color: $color-warning;
        font-weight: bold;
      }

      p {
        color: $color-warning;
        font-size: $small-font-size;
        line-height: $line-height;
      }
    }

    .supported {
      margin-top: 0;
    }

    .share-supported {

      .social-share-button-twitter,
      .social-share-button-facebook,
      .social-share-button-google_plus {
        height: rem-calc(33);

        &:before {
          font-size: rem-calc(18);
          line-height: rem-calc(33);
        }
      }
    }
  }
}
