$blue: #5597dd;
$lightGrey: #edf1f5;
$mediumGrey: #ced2db;
$darkGrey: #8891a1;
$extraDarkGrey: #3d4043;
$paleYellow: #fffcf1;

@mixin button {
  display: inline-block;
  padding: 4px $baseline 6px;
  font-family: $sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .3) inset, 0 0 0 $transparent;
  @include transition(background-color .15s linear 0s, box-shadow .15s linear 0s);

  &.disabled {
    border: 1px solid $lightGrey !important;
    border-radius: 3px !important;
    background: $lightGrey !important;
    color: $darkGrey !important;
    pointer-events: none;
    cursor: none;
    &:hover, &:focus {
      box-shadow: 0 0 0 0 !important;
    }
  }

  &:hover, &:focus {
    box-shadow: 0 1px 0 rgba(255, 255, 255, .3) inset, 0 1px 1px rgba(0, 0, 0, .15);
    text-decoration: none;
  }
}

@mixin blue-button {
  @include button;
  border: 1px solid #437fbf;
  border-radius: 3px;
  @include linear-gradient(top, rgba(255, 255, 255, .3), rgba(255, 255, 255, 0));
  background-color: $blue;
  color: $white;

  &:hover, &:focus {
    background-color: #62aaf5;
    color: $white;
  }
}

@mixin grey-button {
  @include button;
  border: 1px solid $darkGrey;
  border-radius: 3px;
  @include linear-gradient(top, rgba(255, 255, 255, .3), rgba(255, 255, 255, 0));
  background-color: #d1dae3;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .3) inset;
  color: #6d788b;

  &:hover, &:focus {
    background-color: #d9e3ee;
    color: #6d788b;
  }
}

.edge-landing {
  border-top: 5px solid $blue;

  header {
    @include clearfix();
    background: $extraDarkGrey;
    border-bottom: 3px solid $blue;
  }

  a:hover, a:focus {
    text-decoration: none;
  }

  .content-wrapper {
    background: $body-bg;
  }

  .main-wrapper {
    width: 942px;
    margin: auto;

    .content {
      padding: ($baseline*2) 60px 36px;
      background: $white;
      border: 1px solid $darkGrey;
      border-radius: 3px;
      box-shadow: 0 1px 2px $shadow-l1;
      @include clearfix();
    }

    .log-in-form {
      float: left;
      width: 470px;
      margin-right: ($baseline*2.5);
      padding-right: 49px;
      border-right: 1px solid $lightGrey;

      .row {
        margin-bottom: $baseline;
        border-bottom: none;
      }

      label {
        font-family: $sans-serif;
        font-size: 13px;
        font-weight: 700;
        font-style: normal;
      }

      input {
        width: 100%;
        height: 43px;
        font-family: $sans-serif;
        font-size: 21px;
        font-style: normal;
        font-weight: 300;
      }

      .log-in-submit-button {
        @include blue-button;
        width: 130px;
        padding: 8px 20px 10px;
        font-size: 16px;
        text-shadow: none;
      }

      .forgot-button {
        font-size: 12px;
        line-height: 41px;
        margin-left: ($baseline/2);
      }
    }

    .sign-up {
      float: left;
      width: 250px;

      .register-button {
        @include grey-button;
        padding: 10px 20px 12px;
        margin-top: $baseline;
      }
    }

    h2 {
      margin-bottom: ($baseline*1.5);
      font-family: $sans-serif;
      font-size: 24px;
      font-weight: 300;
      text-transform: none;
      letter-spacing: 0;
      color: #3c3c3c;
    }

    h3 {
      margin-bottom: ($baseline*1.5);
      font-family: $sans-serif;
      font-size: 24px;
      font-weight: 300;
      color: #3c3c3c;
    }

    p {
      font-family: $sans-serif;
    }
  }

  .edx-edge-logo-large {
    display: block;
    width: 263px;
    height: 72px;
    margin: 150px auto 50px;
    background: url('#{$static-path}/images/edx-theme/edx-edge-logo-large.png') no-repeat;
    text-indent: -9999px;
    overflow: hidden;
  }

  #signup-modal {
    padding: 0;
    border: none;
    background: none;

    .inner-wrapper {
      border-radius: 3px;
    }
  }

  #password-reset {
    header {
      background: none;
      border-bottom: none;
    }
  }

  #register {
    font-family: $sans-serif;

    * {
      font-family: $sans-serif;
      font-style: normal;
      letter-spacing: 0;
      text-transform: none;
      color: #3c3c3c;
    }

    header {
      padding-top: 13px;
      margin-bottom: ($baseline*0.75);
      border: none;
      background: none;
    }

    h2 {
      font-size: 21px;
    }

    label {
      font-size: 13px;
      font-weight: 700;
    }

    input[type="email"],
    input[type="text"],
    input[type="password"] {
      height: 40px;
      margin-bottom: ($baseline*0.75);
      font-size: 13px;
      font-weight: 400;
    }

    input[type="submit"] {
      @include blue-button;
      display: block;
      color: $white;
      text-shadow: none;
    }

    textarea {
      height: 50px;
      font-size: 13px;
      font-weight: 400;
    }

    .input-group {
      margin-bottom: $baseline;
      padding: 0;
    }

    .terms-of-service {
      margin-bottom: ($baseline/4);
    }

    .honor-code {
      margin-bottom: $baseline;
    }

    .login-extra {
      display: none;
    }

    .modal-form-error {
      font-size: 14px;
      color: $white;
    }
  }
}
