@import "client/common";

$fluid-break: 1100px;
$copy-color-on-dark: #b9b9b9;
$copy-color-on-white: #575757;
$cta-color: #e03d04;
$chunkyBorderWidth: 6px;

@mixin layout-small {
  @media (max-width: #{$fluid-break - 1px}) {
    @content;
  }
}

@mixin layout-normal {
  @media (min-width: #{$fluid-break}) {
    @content;
  }
}

body.web.individual_jamtrack {

  h1.web-tagline {
    @include layout-small {
      display: none;
    }
  }
  .wrapper {
    @include layout-small {
      width: auto;
    }
  }
  &.education {
    .row.awesome.jam-class.teachers:nth-of-type(1) {
      padding-top:180px;
    }
    .testimonials.jam-class.teachers {
      top:1081px;
    }
  }

  [data-react-class="JamClassStudentLandingPage"] {
    h2.future-header {
      color: white;
      margin-bottom: 20px;
    }
    ol, ul, li {
      font-size: 16px;
      line-height: 75%;
      color: $copy-color-on-dark;
    }
    ol {
      list-style-type: decimal;
    }
    ul {
      list-style-type: disc;
    }
    li {
      margin-left: 20px;
      margin-bottom: 10px;
    }
  }
  .logo-home {
    @include layout-small {
      margin-left: 20px !important;

    }
  }
  .full-row {
    width: 100%;
    @include layout-small {
      padding-left: 20px !important;
      padding-right: 20px !important;
    }
  }

  .row {
    width: 663px;
    @include layout-small {
      padding-left: 20px !important;
      padding-right: 20px !important;
    }

    @include layout-small {
      width: auto;
    }
  }

  .video-section {
    height:460px;
    width:661px;

    .video-wrapper {
      height:100%;
      width:100%;
      .video-container {
        height:100%;
        width:100%;
      }
    }

    margin-bottom:40px;

    &.second {
      margin-bottom:400px;
    }
  }
  .jamclass-phone {
    position: relative;
    top: -150px;
    right: 107px;
    background-color: black;

    &.school {
      top:8px;
    }
    &.retailer {
      top:8px;
    }
    &.student {
      top: -13px;
    }
  }
  .name-and-artist {
    padding-top: 60px;

    .ios-appstore-badge {
      display: inline !important;
      img {
        width: 33%;
      }
      font-size: 40pt;
    }
  }

  .summary-text {

    p {
      color: $copy-color-on-dark;
      clear: both;
      font-size: 20px;
      line-height: 175%;

      @include layout-small {
        font-size: 40pt;
        line-height: 150%;
      }
    }
  }

  .row.awesome {
    h2 {
      color: $copy-color-on-white;
      font-size: 30px;
      margin-bottom: 20px;
    }
    p {
      color: $copy-color-on-white;
      font-size: 18px;
      line-height: 175%;
    }

    @include layout-small {
      h2 {
        text-align: center;
      }
    }

    &.jam-class {

      padding: 20px 0;
      &:nth-of-type(1) {
        padding-top: 80px;

        &.teachers {
          padding-top: 100px;
        }

        &.retailers {

        }
      }
      width: 1050px;
      p {
        line-height: 125%;
        margin-bottom: 20px;
      }

      a {
        color: $cta-color;
      }

      ol, ul, li {
        font-size: 16px;
        line-height: 125%;
        color: $copy-color-on-white;
      }
      ol {
        list-style-type: decimal;
      }
      ul {
        list-style-type: disc;
      }
      li {
        margin-left: 20px;
        margin-bottom: 10px;
      }

      .video-container {
        width: 700px;
        padding-bottom: 40%;
      }
      .tab-and-return {
        margin-top: 20px;
        font-size: 12px;
        color: $copy-color-on-white;
      }
      .search-area {
        text-align: center;
        a {
          color: $cta-color;
          font-size: 30px;
        }
      }
    }
    padding: 40px 0;
  }

  .awesome-thing {
    color: $copy-color-on-white;
    margin-bottom: 20px;

    &.jam-class {

      &.multi-para {
        p:nth-of-type(2) {
          margin-bottom: 20px;
        }
      }
      .video-wrapper {
        margin-bottom: 10px;

        &.bottomed {
          margin-bottom: 80px;
        }

        &.longbottomed {
          margin-bottom: 110px;
        }

        .cta-text {
          color: $copy-color-on-dark;
        }
      }

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

      .teacher-icons {
        float: right;
        max-width: 250px;
        margin-left: 20px;
        .top-left {
          margin-right: 15px;
          float: left;
        }
        .top-right {
          float: right;
        }
        .bottom-left {
          float: left;
          margin-right: 15px;
        }
        .bottom-right {
          float: right;
        }
        .top-teacher-row {
        }
        .bottom-teacher-row {
        }
        .testdrive-note {
          font-style: italic;
          text-align: center;
          margin-top: 20px;
        }
      }
    }
    .audio-wrapper {
      float: left;
      padding: 10px 20px 20px;
      text-align: center;
      width: 200px;
      a {
        display: inline-block;
        margin-top: 20px;
        color: $cta-color;
        text-decoration: none;
      }
      .sample-audio-text {
        margin-top: 3px;
        text-align: center;
      }
      .listening-note {
        margin-top: 20px;
        font-style: italic;
        font-size: 12px;
      }
    }

    .awesome-item {
      padding: 24px;
      background-color: #dedede;
      border-radius: 12px;
      @include border_box_sizing;
      width: 663px;
      @include layout-small {
        width: auto;
      }
    }

    .video-wrapper {
      float: right;
      margin-left: 10px;
      margin-bottom: 80px;

      .cta-text {
        margin-left: 10px;
        text-align: center;
        margin-top: 20px;
      }
      &.left {
        float: left;
        margin-left: 0;
        margin-right: 10px;

        .cta-text {
          margin-left: 0;
          margin-right: 10px;
        }
      }
    }

    .edit-link {
      font-size: 12px;
    }

    .video-container {
      width: 420px;
      padding-bottom: 53.33%;

      @include layout-small {
        width: 200px;
      }

    }
    .awesome-image {
      float: right;
      margin-left: 10px;

      &.left {
        float: left;
        margin-left: 0;
        margin-right: 10px;
      }
    }

    .awesome-number {
      height: 44px;
      width: 44px;
      display: inline-block;
      background-color: $cta-color;
      color: white;
      font-size: 24px;
      font-family: Arial, Helvetica, sans-serif;
      font-weight: 400;
      text-align: center;
      padding-top: 8px;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%;
      border-radius: 50%;
      border-width: 2px;
      border-color: white;
      border-style: solid;
      margin-right: 10px;
      @include border_box_sizing;
    }

    h3 {
      font-size: 24px;
      margin-bottom: 10px;
    }

    p {
      font-size: 16px;
      line-height: 150%;
    }
  }

  p {
    font-size: 16px;
  }

  .cta-row {
    padding: 40px 0;
    background-color: #262626;

    h2 {
      font-size: 30px;
      margin-bottom: 10px;
    }

    p {
      color: $copy-color-on-dark;
    }
    @include layout-small {
      text-align: center;
    }

    ol, ul, li {
      font-size: 16px;
      line-height: 100%;
      color: $copy-color-on-dark;
    }
    ol {
      list-style-type: decimal;
    }
    p.bump {
      margin-bottom: 20px;
    }
    ul {
      margin: 20px 0;
      list-style-type: disc;
    }
    li {
      margin-left: 20px;
      margin-bottom: 10px;
    }

  }

  .white-bar {
    p {
      color: $copy-color-on-white;
    }

    .top-container {
      padding-bottom: 20px;
    }
  }

  .red-bar {
    font-size: 30px;
    font-weight: bold;
    color: white;
    background-color: #e03c02;
    padding: 40px 0;
    text-align: center;
  }

  img.gift-card-preview {
    width: 300px;
    float: left;
    margin-left: -15px; // because image has black on the left, which you can't see on back background
    margin-right: 20px;
    margin-bottom: 20px;
  }

  img.jam-class-teacher {
    width: 375px;
    height: 215px;
    float: left;
    margin-right: 20px;
    margin-bottom: 20px;
  }
  .jam-class-ed-video {
    width: 375px;
    height: 215px;
    float: left;
    margin-right: 20px;
    margin-bottom: 20px;
    iframe {
      width:100%;
      height:100%;
    }
  }
  p.gift-getter {
    margin-top: 20px;
    line-height: 125%;
  }

  img.app-preview {
    width: 340px;
    height: 178px;
    float: left;
    margin-left: -15px; // because image has black on the left, which you can't see on back background
    margin-right: 20px;
    margin-bottom: 30px;

    @include layout-small {
      width: 33%;
    }
  }
  h1.jam-track-name {
    color: white;
    font-size: 30px !important;
    padding-top: 0;
    margin-left: 35px;

    @include layout-small {
      font-size: 45pt !important;
    }
  }

  h2.original-artist {
    margin-top: 10px;
    color: #8d8d8d;
    font-size: 24px;
    margin-left: 35px;

    @include layout-small {
      font-size: 40pt !important;
    }

    @include layout-small {
      margin-bottom: 20px;
    }
  }

  .preview-text {
    color: #fefefe;
  }

  .cta-button {
    cursor: pointer;
    background-color: $cta-color;

    &.processing {
      background-color: gray;
    }
  }

  .cta-text {
    color: $cta-color !important;
  }

  .privacy-policy {
    color: #ffcf00;
    @include layout-small {
      font-size: 30pt;
    }
  }

  .browse-all {
    color: #ffb800;
    text-decoration: underline;
    text-align: center;
    display: block;
  }

  p {
    line-height: 150%;
    width: 100% ;
  }

  .bottom-banner {
    background-color: #e03c02;
  }

  .arrow1 {
    position: absolute;
    left: -371px;
    top: -80px;

    @include layout-small {
      display: none;
    }
  }

  .arrow2 {
    position: absolute;
    left: -230px;
    top: 373px;

    @include layout-small {
      display: none;
    }
  }

  .arrow1-jamclass {
    position: absolute;
    left: -256px;
    top: 286px;
    width: 225px;
  }

  .testimonials {
    background-color: white;
    position: absolute;
    width: 350px;
    right: 55px;
    top: 287px;
    @include border_box_sizing;
    z-index: 1;

    @include layout-small {
      width: auto;
      position: static;
    }

    &.jam-class {
      top: 557px;

      h3 {
        color: $cta-color;
      }

      &.teachers {
        top: 729px;
      }
    }
    .jamtrack-overview-video {

      h3 {
        font-size: 21px;
        width: 400px;
      }
      .video-wrapper {
        float: left;
        .video-container {
          width: 400px;
          padding-bottom: 53.33%;

        }
      }

      @include layout-small {
        display: inline-block;
        width: 100%;
        text-align: center;

        h3 {
          width: auto;
          text-align: center;
        }
        .video-wrapper {
          float: none;
          display: inline-block;
          margin: auto;
        }
      }
    }

    h3 {
      color: $copy-color-on-white;
      text-align: left;
      margin-bottom: 20px;
      font-size: 30px;
      line-height: 125%;
      @include layout-small {
        text-align: center;
      }
    }

    h4 {
      position: absolute;
      top: 161px;
      left: 173px;
      font-size: 14px;
      color: $copy-color-on-white;
      strong {
        font-weight: bold;
      }
      white-space: nowrap;
    }
    .testimonial {
      position: relative;
      width: 350px;
      margin-bottom: 40px;

      @include layout-small {
        margin: 0 auto 40px;
      }
    }
    .testimonial-speech-bubble {
      width: 350px;
    }
    .testimonial-avatar {
      width: 60px;
      position: relative;
      top: 5px;
      left: 92px;
    }
    .testimonial-youtube {
      width: 143px;
      position: relative;
      left: 112px;
      top: 0;
    }
    .testiminal-background {
      width: 200px;
      position: absolute;
      left: 174px;
      top: 181px;
      font-size: 12px;
      color: $copy-color-on-white;
    }
  }

  .jamclass-h1 {
    font-size: 30px !important;
    padding-top: 0;
  }

  .jamclass-h2 {
    margin: 10px 0 20px;
    color: #8d8d8d;
    font-size: 20px;
  }

  .app-screenshot {

  }

  .video-screenshot {
    position: absolute;
    left: 281px;
    top: 320px;
  }

  .logo-composite {
    background-color: black;
    position: absolute;
    right: 61px;
    width: 320px;
    top: 37px;
    @include border_box_sizing;
  }
  .logo-composite-header {
    text-align: center;
    color: $ColorTextTypical;
  }
  .preview-and-action-box {
    background-color: black;
    position: absolute;
    right: 55px;
    max-width: 330px;
    top: 200px;
    @include border_box_sizing;
    border-width: $chunkyBorderWidth;
    border-style: solid;
    border-color: $copy-color-on-dark;
    z-index: 1;

    @include layout-small {
      margin: 20px 20px;
      position: static;
      width: calc(100% - 40px);
      max-width: calc(100% - 40px);
    }

    &.jamclass {
      top: 209px;

      &.school {
        top:356px;
      }

      &.retailer {
        top:356px;
      }
      &.student {
        top: 541px;

        .cta-button {
          width: 70%;
          margin-left: 15%;
        }
      }
    }

    .preview-jamtrack-header {
      background-color: $cta-color;
      color: white;
      font-size: 24px;
      text-align: center;
      padding: 20px 0;
      border-width: 0 0 $chunkyBorderWidth;
      border-style: solid;
      border-color: $copy-color-on-dark;

      @include layout-small {
        font-size: 40pt;
      }
      &.gift-card {
        padding: 20px 0 10px;
        .jamtrack-title {
          margin-top: 10px;
          font-size: 18px;
          font-style: italic;
        }
      }

    }

    .preview-area {

      padding: 10px;

      border-width: 0 0 $chunkyBorderWidth;

      @include layout-small {
        font-size: 20px;
      }
      &.jam-class {
        border-width: 0 0 2px;
        p {
          padding: 8px 10px;
          text-align: center;
          @include border_box_sizing;
        }
      }

      border-style: solid;
      border-color: $copy-color-on-dark;

      &.logged-in {
        border-width: 0;

        .tracks {
          height: 258px;
        }
      }
      .tracks {
        padding: 10px 0 20px;
        margin-top: 10px;
        overflow-y: scroll;
        height: 160px;
        margin-bottom: 10px;

        @include layout-small {
          max-height: 13em;
          height: auto;
        }
      }

      .cta-buttons {
        text-align: center;
      }
      .cta-button {
        font-size: 24px;
        color: white;
        background-color: $cta-color;
        text-align: center;
        padding: 10px;
        display: block;
        width: 100%;
        border-radius: 8px;
        border: 1px outset buttonface;
        font-family: Raleway, Arial, Helvetica, sans-serif;

        @include layout-small {
          font-size: 30pt;
        }
        &.gift-card {
          font-size: 16px;
          width: 138px;
          margin: 15px 5px;
          display: inline-block;
        }
      }
    }

    .terms-help {
      float: left;
      margin-top: 2px;
      font-size: 12px;
    }
    .register-area {
      @include layout-small {
        label {
          width: 40% !important;
          text-align: right;
          padding-right: 20px;

          &.terms-help {
            height: auto !important;
          }

          @include layout-small {
            height: 40pt;
            font-size: 30pt;
          }
        }
        input {
          width: 60% !important;
          @include layout-small {
            height: 40pt;
            font-size: 30pt;
          }
        }

      }
      &.jam-class {
        padding: 0;
      }
      &.ios {
        background-color: $cta-color;
        font-size: 40pt;

        .ios-appstore-badge {
          display: inline-block;
          text-align: center;
          margin-left: 20px;
          margin-top: 30px;
          width: 100%;
          img {
            width: 50%;
          }
        }
      }
      padding: 10px;
      input {
        background-color: $copy-color-on-dark;
        color: black;
        font-size: 16px;

        @include layout-small {
          font-size: 30pt;
        }
        &[name="terms"] {
          width: auto;
          line-height: 24px;
          vertical-align: middle;

          @include layout-small {
            line-height: 125%;
          }
        }
      }
      .checkbox-wrap {
        float: left;
        margin-top: 6px;
        margin-left: 64px;
        @include border_box_sizing;
        text-align: right;

        input {
          height: auto;
          @include layout-small {
            height: 30pt !important;
            width: 30pt !important;
          }
        }
        @include layout-small {
          width: 40%;
          margin-left: 0;
          .icheckbox_minimal {
            right: -18px;
          }
        }
        .icheckbox_minimal {

        }
      }

      .privacy-policy {
        text-decoration: underline;

      }

      form {
        margin: 0 0 10px;
      }
      .errors {
        font-size: 12px;
        height: 20px;
        margin: 0;
        visibility: hidden;
        text-align: center;
        color: red;
        font-weight: bold;

        &.active {
          visibility: visible;
        }

        @include layout-small {
          font-size: 20pt;
          height: 32pt;
        }
      }
      label {
        display: inline-block;
        height: 36px;
        vertical-align: middle;
        line-height: 36px;
        margin-bottom: 15px;
        @include border-box_sizing;

        &.terms-help {
          width: 205px;
          height: 28px;
          line-height: 14px;
          float: right;
          @include layout-small {
            line-height: 125%;
          }
        }
        @include layout-small {
          height: 40pt;
          font-size: 30pt;
        }
      }
      input {
        width: 206px;
        height: 36px;
        float: right;
        margin-bottom: 15px;
        @include border-box_sizing;

        @include layout-small {
          height: 40pt;
          font-size: 30pt;
        }
      }
    }
    p {
      line-height: 150%;
      color: white;
      font-size: 14px;
      @include layout-small {
        font-size: 40pt;
        line-height: 125%;
      }

    }
  }

  .jam-track-preview-holder {

    margin-bottom: 7px;
    float: left;
    &[data-track-type="Master"] {
      width: 100%;
    }

    &[data-track-type="Track"] {
      width: 100%;
    }
  }

  .jam-track-preview {
    font-size: 12px;

    @include layout-small {
      font-size: 40pt;
      line-height: 40pt;
      width: 100%;
      .instrument-part {
        width: auto;
      }
      .instrument-icon {
        height: 40pt;
        width: 40pt;
      }
      .actions {
        .play-button, .stop-button {
          height: 40pt;
          width: 40pt;
          background-size: contain;
        }
      }
    }
    .instrument-part {
      width: 175px;
      @include layout-small {
        width: calc(100% - 100pt);
        //font-size: 35px;
      }
    }

    .instrument-name, .part {
      display: none;
    }

    .loading-text {
      right: -1px;
      background-color: black;
    }
  }
  .price-advisory {
    font-size: 14px;
    text-align: center;
    color: white;
    margin-top: 10px;
    @include layout-small {
      font-size: 20pt;
    }
  }
  .ios-appstore-badge {
    display: block;
    text-align: center;
  }

  .packaged {
    p {
      margin-bottom:20px;
      line-height:120%;
      color:$copy-color-on-dark;
    }

  }
  .other-options {
    margin-top:20px;
    border:1px solid $copy-color-on-dark;
    padding:20px;
    ul {
      margin-bottom:0;
    }
  }
  .teacher-option {
    margin-bottom:20px;
    height: 98px;
    .bio {
      display: inline-block;
      width: 423px;
      height: 98px;
      vertical-align: top;
      font-style: italic;

      p {
        display:inline-block;
        width: 423px;
        height: 98px;
        margin-bottom:0;
        overflow:hidden;
      }
    }
    .avatar-header {
      display: inline-block;
      width: 140px;
      margin-right: 20px;
      text-align:center;
    }

    .avatar {
      display: inline-block;
      text-align:center;
      padding: 1px;
      width: 64px;
      height: 64px;
      background-color: #ed4818;
      margin: 4px 0px 7px 0;
      -webkit-border-radius: 32px;
      -moz-border-radius: 32px;
      border-radius: 32px;
      float: none;

    }
    .avatar img {
      width: 64px;
      height: 64px;
      -webkit-border-radius: 32px;
      -moz-border-radius: 32px;
      border-radius: 32px;

    }
  }
}