//
// improve.less
// --------------------------------------------------

.jumbotron{
  background-image:url(../../../images/header.jpg);
  background-size:cover;
  @media ( min-width : 768px) {
    padding:80px 0;
  }
  h1{
    font-size:32px;
    @media ( min-width : 768px) {
      font-size:42px;
    }
    color:#fff;
  }
  p{
    font-size:16px;
    @media ( min-width : 768px) {
      font-size:21px;
    }
    color:#fff;
    strong{
      color:#f7941e;
    }
  }
}
.content{
  h2{
    margin-bottom: 30px;
    margin-top: 0;
    font-size:24px;
    @media ( min-width : 768px) {
      font-size:30px;
      margin-bottom:60px;
    }
  }
  input[type=submit],
  input[type=text],
  input[type=email],
  textarea{
    width:100%;
    padding:10px;
  }
  input[type=text],
  input[type=email]
  {
    margin-bottom:10px;
  }
  @media ( max-width : 767px) {
    input[type=submit]{
      margin-bottom:20px;
    }
  }
  input.total-amount{
    width: 64px;

    padding:0 4px;
    margin-bottom:0;
    margin-left:6px;
  }
  textarea{
    min-height:110px;
  }

  input#other-amount{
    margin-bottom:0;
    @media ( max-width : 767px) {
      margin-bottom:20px;
    }
  }
  #choose-amount-container{
    @media ( max-width : 767px) {
      border-bottom:1px solid #ccc;
      margin-bottom:9px;
    }
  }
}

.total-amount-container{
    padding:12px 12px 1px;
    box-shadow:none;
    border:none;
    font-size:17px;
    font-weight:bold;
    border-radius:0;
    li{
      padding:10px 0 20px 0;
      @media ( min-width : 768px) {
        padding:0 0 6px;
      }
    }
    &:before{
      @media ( min-width : 768px) {
        width: 0;
        height: 0;
        border-top: 10px solid transparent;
        border-left: 10px solid #f5f5f5; 
        border-bottom: 10px solid transparent;
        position:absolute;
        right:5px;
        top:15px;
      }
    }
}
.sidebar{
  box-shadow:none;
  border:none;
  border-radius:0;
  padding:25px 40px;
  font-size:1.05em;
  h2{
    margin-top:0;
    margin-bottom:20px;
  }
  ul{
    padding-left:15px;
    li{
      &:before {
        font-family: 'FontAwesome';
        content: '\f138';
        margin:0 5px 0 -15px;
        color: #f7941e;
      }
    }
  }
}

.participate-message{
  color:#fff;
}
.jumbotron .download-link-msg{
  font-size:13px;
}
.direct-link{
  a{
    color:#fff;
    &:hover{
      color:#ccc;
    }
  }
}

.payment-type{
  img{
    margin-top:-2px
  }
  input{
    margin:7px 5px 0 0;
  }
}

/*Donate buttons*/
.btn-square{
  width: 50px;
  height: 50px;
  padding: 0;
  font-size: 1em;
  font-weight: 600;
  margin: 0 6px 6px 6px;
  border:none;
  background-color:#231b43;
  border-color:#2c2255;
  color:#fff;
  &.active, &.active:hover, &:hover{
    background-color:#f7941e;
    color:#fff;
  }
}

.amount-body{
  margin-top:15px;
  span{
    font-size:0.8em;
  }
}

.amount-body.two-lines{
  margin-top:5px;
}

.is_anonymous{
  color:#333;
}
.download-page h2{
  text-align: center;
}

#subscription_container{
  font-size:0.8em;
  li{
    padding-bottom:9px;
  }
}