// studio - views - unit
// ====================

body.course.unit,.view-unit {

  .main-wrapper {
    margin-top: ($baseline*2);
  }

  //Problem Selector tab menu requirements
  .js .tabs .tab {
   display: none;
  }
  //end problem selector reqs

  .main-column {
    clear: both;
    float: left;
    width: 70%;
  }

  .unit-body.published {
    .components > li {
      border: none;

      .rendered-component {
        padding: 0 $baseline;
      }
    }
  }

  .unit-body {

    .unit-name-input {
      padding: $baseline 2*$baseline;

      label {
        display: block;
      }

      input {
        width: 100%;
        font-size: 20px;
      }
    }

    .breadcrumbs {
      border-radius: 3px 3px 0 0;
      border-bottom: 1px solid #cbd1db;
      @include linear-gradient(top, rgba(255, 255, 255, .3), rgba(255, 255, 255, 0) 70%);
      background-color: #edf1f5;
      box-shadow: 0 1px 0 rgba(255, 255, 255, .7) inset;
      @include clearfix;

      li {
        float: left;
      }

      a,
      .current-page {
        display: block;
        padding: 15px 35px 15px 30px;
        font-size: 14px;
        background: url(../img/breadcrumb-arrow.png) no-repeat right center;
      }
    }

    h2 {
      margin: 30px 40px 30px 0;
      color: #646464;
      font-size: 19px;
      font-weight: 300;
      letter-spacing: 1px;
      text-transform: uppercase;
    }
    // ====================

    // Component List Meta
    .components {

      > li {
        position: relative;
        z-index: 10;
        margin: $baseline 2*$baseline;

        .title {
          margin: 0 0 15px 0;
          color: $mediumGrey;

          .value {
          }
        }

        // ====================

        // New Components
        &.new-component-item {
          margin: $baseline 0px;
          border-top: 1px solid $mediumGrey;
          box-shadow: 0 2px 1px rgba(182, 182, 182, 0.75) inset;
          background-color: $lightGrey;
          margin-bottom: 0px;
          padding-bottom: $baseline;

          .new-component-button {
            display: block;
            padding: $baseline;
            text-align: center;
            color: #edf1f5;
          }

          h5 {
            margin: $baseline 0px;
            color: #fff;
            font-weight: 600;
            font-size: 18px;
          }

          .rendered-component {
            display: none;
            background: #fff;
            border-radius: 3px 3px 0 0;
          }

          .new-component-type {

            a,
            li {
              display: inline-block;
            }

            a {
              border: 1px solid $mediumGrey;
              width: 100px;
              height: 100px;
              color: #fff;
              margin-right: 15px;
              margin-bottom: $baseline;
              border-radius: 8px;
              font-size: 15px;
              line-height: 14px;
              text-align: center;
              box-shadow: 0 1px 1px rgba(0, 0, 0, .2), 0 1px 0 rgba(255, 255, 255, .4) inset;

              .name {
                position: absolute;
                bottom: 5px;
                left: 0;
                width: 100%;
                padding: $baseline/2;
                @include box-sizing(border-box);
                color: #fff;
              }
            }
          }

          .new-component-templates {
            display: none;
            margin: $baseline 2*$baseline;
            border-radius: 3px;
            border: 1px solid $mediumGrey;
            background-color: #fff;
            box-shadow: 0 1px 1px rgba(0, 0, 0, .2), 0 1px 0 rgba(255, 255, 255, .4) inset;
            @include clearfix;

            .cancel-button {
              margin: $baseline 0px $baseline/2 $baseline/2;
              @include white-button;
            }

            .problem-type-tabs {
              display: none;
            }

            // specific menu types
            &.new-component-problem {
              padding-bottom: $baseline/2;

              [class^="icon-"], .editor-indicator {
                display: inline-block;
              }

              .problem-type-tabs {
                display: inline-block;
              }
            }
          }

          .new-component-type,
          .new-component-template {
            @include clearfix;

            a {
              position: relative;
              border: 1px solid $darkGreen;
              background: tint($green,20%);
              color: #fff;

              &:hover {
                background: $brightGreen;
              }
            }
          }

          .problem-type-tabs {
            list-style-type: none;
            border-radius: 0;
            width: 100%;
            @include linear-gradient(top, rgba(255, 255, 255, .4), rgba(255, 255, 255, 0));
            background-color: $lightBluishGrey;
            box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 -1px 0 rgba(0, 0, 0, 0.2) inset;

            li:first-child {
              margin-left: $baseline;
            }

            li {
              float:left;
              display:inline-block;
              text-align:center;
              width: auto;
              @include linear-gradient(top, rgba(255, 255, 255, .4), rgba(255, 255, 255, 0));
              background-color: tint($lightBluishGrey, 10%);
              box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 -1px 0 rgba(0, 0, 0, 0.2) inset;
              opacity: 0.8;

              &:hover {
                opacity: 0.9;
                background-color: tint($lightBluishGrey, 20%);
              }

              &.ui-state-active {
                border: 0px;
                @include active;
                opacity: 1.0;
              }
            }

            a {
              display: block;
              padding: 15px 25px;
              font-size: 15px;
              line-height: 16px;
              text-align: center;
              color: #3c3c3c;
              text-shadow: 0 1px 0 rgba(255, 255, 255, 0.3);
            }
          }

          .new-component-template {

            a {
              @include transition(none);
              background: #fff;
              border: 0px;
              color: #3c3c3c;

              &:hover {
                @include transition(background-color $tmg-f2 linear 0s);
                background: tint($green,30%);
                color: #fff;
              }
            }

            li {
                border:none;
                border-bottom: 1px dashed $lightGrey;
                color: #fff;
            }

            li:first-child {
              a {
                border-top: 0px;
              }
            }

            li:nth-child(2) {
              a {
                border-radius: 0px;
              }
            }

            a {
              @include clearfix();
              display: block;
              padding: 7px $baseline;
              border-bottom: none;
              font-weight: 500;

              .name {
                float: left;

                [class^="icon-"] {
                  @include transition(opacity $tmg-f2 linear 0s);
                  display: inline-block;
                  top: 1px;
                  margin-right: 5px;
                  opacity: 0.5;
                  width: 17;
                  height: 21px;
                  vertical-align: middle;
                }
              }

              .editor-indicator {
                @include transition(opacity $tmg-f2 linear 0s);
                float: right;
                position: relative;
                top: 3px;
                font-size: 12px;
                opacity: 0.3;
              }

              [class^="icon-"], .editor-indicator {
                display: none;
              }

              &:hover {
                color: #fff;

                [class^="icon-"] {
                  opacity: 1.0;
                }

                .editor-indicator {
                  opacity: 1.0;
                }
              }
            }

            // specific editor types
            .empty {

              a {
                line-height: 1.4;
                font-weight: 400;
                background: #fff;
                color: #3c3c3c;


                &:hover {
                background: tint($green,30%);
                color: #fff;
              }
              }
            }
          }

          .new-component {
            text-align: center;

            h5 {
              color: $darkGreen;
            }

          }
        }

      .wrapper-alert-error {
          margin-top: ($baseline*1.25);
          box-shadow: none;
          border-top: 5px solid $red-l1;

          .copy,
          .title {
            color: $white;
          }

      }


      }
    }

    // ====================

    // Component Drag and Drop, Non-Edit Module Rendering, Styling
    .component {
      border: 1px solid $lightBluishGrey2;
      border-radius: 3px;
      background: #fff;
      @include transition(none);

      &:hover {
        border-color: #6696d7;

        .drag-handle {
          background-color: $blue;
          border-color: $blue;
        }
      }

      &.editing {
        border: 1px solid $lightBluishGrey2;
        z-index: auto;

        .drag-handle,
        .component-actions {
          display: none;
        }
      }

      &.component-placeholder {
        border-color: #6696d7;
      }

      .drag-handle {
        position: absolute;
        display: block;
        top: -1px;
        right: -16px;
        z-index: 10;
        width: 15px;
        height: 100%;
        border-radius: 0 3px 3px 0;
        border: 1px solid $lightBluishGrey2;
        background: url(../img/white-drag-handles.png) center no-repeat $lightBluishGrey2;
        cursor: move;
        @include transition(none);
      }
    }

    .xmodule_display {
      padding: 2*$baseline $baseline $baseline;
      overflow-x: auto;

      h1 {
        float: none;
        margin-left: 0;
      }
    }

    // UI: DnD - specific elems/cases - unit
    .courseware-unit {

      // STATE: was dropped
      &.was-dropped {

        > .section-item {
          background-color: $ui-update-color !important; // nasty, but needed for specificity
        }
      }
    }

    // ====================

    // Component Editing
    .wrapper-component-editor {
      z-index: 9999;
      position: relative;
      background: $white;
    }

    .component-editor {
      @include edit-box;
      box-shadow: none;
      display: none;
      padding: 0;
      border-radius: 2px 2px 0 0;

      h3 {
        margin-bottom: $baseline/2;
        font-size: 18px;
        font-weight: 700;
      }

      h5 {
        margin-bottom: 8px;
        color: #fff;
        font-weight: 700;
      }

      .row {
        margin-bottom: 0px;
      }

      // Module Actions, also used for Static Pages
      .module-actions {
        box-shadow: inset 0 1px 2px $shadow;
        border-top: 1px solid $gray-l1;
        padding: ($baseline*0.75) $baseline;
        background: $gray-l6;

        .action {
          display: inline-block;
          vertical-align: middle;
          margin-right: ($baseline/4);

          &:last-child {
            margin-right: 0;
          }
        }

        .action-primary {
          @include blue-button;
          @extend %t-action2;
          @include transition(all .15s);
          display: inline-block;
          padding: ($baseline/5) $baseline;
          font-weight: 600;
          text-transform: uppercase;
        }

        .action-secondary {
          @include grey-button;
          @extend %t-action2;
          @include transition(all .15s);
          display: inline-block;
          padding: ($baseline/5) $baseline;
          font-weight: 600;
          text-transform: uppercase;
        }
      }
    }
  }
}

// Edit Header (Component Name, Mode-Editor, Mode-Settings)
.component-edit-header {
  @include box-sizing(border-box);
  padding: 18px 0 18px $baseline;
  top: 0;
  right: 0;
  background-color: $blue;
  border-bottom: 1px solid $blue-d2;
  color: $white;

  //Component Name
  .component-name {
    @extend %t-copy-sub1;
    width: 50%;
    color: $white;
    font-weight: 600;

    em {
      display: inline-block;
      margin-right: ($baseline/4);
      font-weight: 400;
      color: $white;
    }
  }

  //Nav-Edit Modes
  .nav-edit-modes {
    list-style: none;
    right: 0;
    top: 0;
    position: absolute;
    padding: 12px ($baseline*0.75);

    .mode {
      display: inline-block;
      margin-left: 8px;

      &.inactive-mode{
        display: none;
      }

      &.active-mode a {

        @include blue-button;

        &.is-set {
          @include linear-gradient($blue, $blue);
          color: $blue-d1;
          box-shadow: inset 0 1px 2px 1px $shadow-l1;
          background-color: $blue-d4;
          cursor: default;

          &:hover {
            box-shadow: inset 0 1px 2px 1px  $shadow;
          }
        }
      }
    }
  }
}

// Editor Wrapper
.wrapper-comp-editor {
  display: block;

  // Because the editor may be a CodeMirror editor (which must be visible at the time it is created
  // in order for it to properly initialize), we must toggle "is-inactive" instead of the more common "is-active".
  &.is-inactive {
    display: none;
  }
}

// Settings Wrapper
.wrapper-comp-settings {
  display: none;

  &.is-active {
    display: block;
  }

  //settings-list
  .list-input.settings-list {
    margin: 0;
    padding: 0;
    list-style: none;

    overflow: auto;
    max-height: 400px;

    //chrome scrollbar visibility correction
    &::-webkit-scrollbar {
      -webkit-appearance: none;
      width: 11px;
      height: 11px;
    }

    &::-webkit-scrollbar-thumb {
      border-radius: 8px;
      border: 2px solid $gray-l2;
      background-color: rgba(0, 0, 0, .5);
    }

    //component-setting-entry
    .field.comp-setting-entry {
      background-color: $white;
      padding: $baseline;
      border-bottom: 1px solid $gray-l2;
      opacity: 0.7;

      &:last-child {
        //margin-bottom: 0;
      }

      //no required component settings currently
      &.required {
        label {
          //font-weight: 600;
        }
        label:after {
          //margin-left: ($baseline/4);
          //content: "*";
        }
      }

      &:hover {
        @include transition(opacity $tmg-f2 ease-in-out 0s);
        opacity: 1.0;
      }

      &.is-set {
        opacity: 1.0;
        background-color: $white;

        .setting-input {
          color: $blue-l1;
        }
      }

      .wrapper-comp-setting {
        display: inline-block;
        min-width: 300px;
        width: 55%;
        top: 0;
        vertical-align: top;
        margin-bottom:5px;
        position: relative;
      }

      .setting-label {
        @extend %t-copy-sub1;
        @include transition(color $tmg-f2 ease-in-out 0s);
        vertical-align: middle;
        display: inline-block;
        position: relative;
        left: 0;
        width: 33%;
        min-width: 100px;
        margin-right: ($baseline/2);
        font-weight: 600;

        &.is-focused {
          color: $blue;
        }
      }

      input, select, input[type="number"] {
        @include placeholder($gray-l4);
        @include font-size(16);
        @include size(100%,100%);
        padding: ($baseline/2);
        min-width: 100px;
        width: 45%;

        //&.long {
          //
        //}

        //&.short {
        //}

        //&.error {
        // border-color: $red;
        //}

        //&:focus {
        //  + .tip {
        //    color: $gray;
        //  }
        border-radius: 3px;
        border: 1px solid $gray-l2;
        text-overflow: ellipsis;
      }

      //Allows users to copy full value of disabled inputs.
      input.is-disabled{
        text-overflow: clip;
        opacity: .5;
      }

      input[type="number"] {

        width: 38.5%;
        box-shadow: 0 1px 2px $shadow-l1 inset;
        //For webkit browsers which render number fields differently, make input wider.
        -moz-column-width: {
          width: 32%;
        }

        &:active {
          background-color: #FFFCF1;
        }
      }

      select {
        //box-shadow: 0 1px 2px $shadow-l1 inset;

        &:focus {
          box-shadow: 0 0 1px $shadow;
          @include transition(opacity $tmg-f2 ease-in-out 0s);
          background-color: $yellow;
        }

        &:active {
          background-color: $yellow;
        }
      }

      .action.setting-clear {
        @include font-size(11);
        color: $gray;
        width: 25px;
        height: 25px;
        vertical-align: middle;
        padding: 5px;
        border-radius: 50%;
        margin: 0 $baseline/2;
        box-shadow: none;
        text-shadow: none;
        border: 1px solid $gray-l1;
        background-color: $gray-l4;

        &:hover {
          box-shadow: 0 1px 1px $shadow;
          @include transition(opacity $tmg-f2 ease-in-out 0s);
          background-color: $blue-s3;
          border: 1px solid $blue-s3;
          color: $white;
        }

        &.inactive {
          visibility: hidden;
        }
      }

      .setting-help {
        @include font-size(12);
        display: inline-block;
        font-color: $gray-l6;
        min-width: ($baseline*10);
        width: 35%;
        vertical-align: top;
      }



      // TYPE: enumerated lists of metadata sets
      .metadata-list-enum {

        * {
          @include box-sizing(border-box);
        }

        // label
        .setting-label {
          vertical-align: top;
          margin-top: ($baseline/2);
        }

        // inputs and labels
        .wrapper-list-settings {
          @include size(45%,100%);
          display: inline-block;
          min-width: ($baseline*5);

          // enumerated fields
          .list-settings {
            margin: 0;

            .list-settings-item {
              margin-bottom: ($baseline/2);
            }

            // inputs
            .input {
              width: 80%;
              margin-right: ($baseline/2);
              vertical-align: middle;
            }
          }
        }

        // actions
        .create-action, .remove-action, .setting-clear {

        }

        .setting-clear {
          vertical-align: top;
          margin-top: ($baseline/4);
        }

        .create-setting {
          @extend %ui-btn-flat-outline;
          @extend %t-action3;
          display: block;
          width: 100%;
          padding: ($baseline/2);
          font-weight: 600;

          *[class^="icon-"] {
            margin-right: ($baseline/4);
          }

          // STATE: disabled
          &.is-disabled {

          }
        }

        .remove-setting {
          @include transition(color 0.25s ease-in-out);
          @include font-size(20);
          display: inline-block;
          background: transparent;
          color: $blue-l3;

          &:hover {
            color: $blue;
          }

          // STATE: disabled
          &.is-disabled {

          }
        }
      }
    }
  }
}
// ====================

// Editing Units from Courseware
//uses similar styling as static-pages.scss
body.unit {

  .component {
    padding-top: 30px;


    .wrapper-component-action-header {
      @include box-sizing(border-box);
      position: absolute;
      width: 100%;
      padding: $baseline/4 $baseline/2;
      top: 0;
      left: 0;
      border-bottom: 1px solid $gray-l4;
      background: $gray-l5;
    }

    .component-header {
      display: inline-block;
      width: 50%;
      vertical-align: middle;
    }

    .component-actions {
      display: inline-block;
      float: right;
      vertical-align: middle;
      text-align: center;
    }

    &.editing {
      padding-top: 0;
    }
  }
}

// ====================

// Component Header Actions
// uses similar styling as assets.scss, static-pages.scss

body.unit {

  .component-actions {

    .action-item {
      display: inline-block;
      margin: ($baseline/4) 0 ($baseline/4) ($baseline/4);

      .action-button {
        @include transition(all $tmg-f2 ease-in-out 0s);
        display: block;
        padding: 0 $baseline/2;
        width: auto;
        height: ($baseline*1.5);
        border-radius: 3px;
        color: $gray-l1;

        &:hover {
          background-color: $blue;
          color: $gray-l6;
        }

        .action-button-text {
          padding-left: 1px;
          vertical-align: bottom;
          line-height: 17px;
        }

        &.delete-button:hover {
          background-color: $gray-l1;
        }
      }

      [class^="icon-"] {
        display: inline-block;
        vertical-align: bottom;
      }
    }
  }
}

// ====================

// Unit Page Sidebar

.sidebar {

  label {
    @extend %t-title8;
  }
}

.unit-settings {

  .window-contents {
    padding: $baseline/2 $baseline;
  }

  .unit-actions {
    border-bottom: none;
    padding-bottom: 0;
  }

  .published-alert {
    display: none;
    padding: $baseline/2;
    border: 1px solid #edbd3c;
    border-radius: 3px;
    background: #fbf6e1;
    font-size: 14px;
    line-height: 1.4;

    div {
      margin-top: 15px;
    }
  }



  input[type="radio"] {
      margin-right: 7px;
  }

  .status {
    @extend %t-copy-sub2;

    strong {
      font-weight: 700;
    }
  }

  .preview-button, .view-button {
    @include white-button;
    margin-bottom: $baseline/2;
  }

  .publish-button {
    @include orange-button;
  }

  .delete-button {
    @include blue-button;
  }

  .delete-draft {
    display: inline-block;
  }

  .delete-button,
  .preview-button,
  .publish-button,
  .view-button {
    font-size: 11px;
    margin-top: $baseline/2;
    padding: 6px 15px 8px;
  }
}

.unit-history {
  &.collapsed {
    h4 {
      border-bottom: none;
      border-radius: 3px;
    }

    .window-contents {
      display: none;
    }
  }

  ol {
    border: 1px solid #ced2db;

    li {
      display: block;
      padding: 6px 8px 8px $baseline/2;
      background: #edf1f5;
      font-size: 12px;

      &:hover {
        background: #fffcf1;

        .item-actions {
          display: block;
        }
      }

      &.checked {
        background: #d1dae3;
      }

      .item-actions {
        display: none;
      }

      input[type="radio"] {
        margin-right: 7px;
      }
    }
  }
}

.unit-location {

  // unit id
  .wrapper-unit-id {

    .unit-id {

      .label {
        @extend %t-title7;
        margin-bottom: ($baseline/4);
        color: $gray-d1;
      }

      .value {
        margin-bottom: 0;
      }
    }
  }

  .url {
    box-shadow: none;
    width: 100%;
    margin-bottom: $baseline/2;
  }

  .draft-tag,
  .hidden-tag,
  .private-tag,
  .has-new-draft-tag {
    font-size: 8px;
  }

  .unit-tree-location {

    .section-name {
      @extend %t-title8;
    }


    .subsection,
    .courseware-unit {
      margin: ($baseline/4) 0 0 ($baseline);
    }

    .courseware-unit .section-item {
      background-color: transparent;
    }

    .section-item {
      @include transition(background $tmg-avg ease-in-out 0);
      @include box-sizing(border-box);
      @extend %t-copy-sub2;
      display: inline-block;
      width: 100%;
      background: $gray-l5;
      padding: 6px 8px 8px 16px;
      vertical-align: top;
      text-overflow: ellipsis;
      white-space: nowrap;
      overflow: hidden;
      color: $gray;

      &:hover {
        background: $blue-l5;
        color: $blue;
      }

      &.editing {
        background-color: $orange-l3;
      }

      .public-item {
        color: $black;
      }

      .private-item {
        color: $gray-l1;
      }

      .draft-item {
        color: $yellow-d1;
      }

      .public-item:hover,
      .private-item:hover,
      .draft-item:hover {
        color: $blue;
      }

      .draft-item:after,
      .public-item:after,
      .private-item:after {
        @include font-size(9);
        margin-left: 3px;
        font-weight: 600;
        text-transform: uppercase;
      }

      .draft-item:after {
        content: "- draft";
      }

      .private-item:after {
        content: "- private";
      }
    }

    .new-unit-item {
      @extend %ui-btn-flat-outline;
      @extend %t-action4;
      width: 90%;
      margin: 0 0 ($baseline/2) ($baseline/4);
      border: 1px solid transparent;
      padding: ($baseline/4) ($baseline/2);
      font-weight: normal;
      color: $gray-l2;
      text-align: left;

      &:hover {
        box-shadow: none;
        background-image: none;
      }
    }
  }
}

.edit-state-draft {
  .visibility,

  .edit-draft-message,
  .view-button {
    display: none;
  }

  .published-alert {
    display: block;
  }
}

.edit-state-public {
  .delete-draft,
  .wrapper-component-action-header,
  .new-component-item,
  .editing-draft-alert,
  .publish-draft-message,
  .preview-button {
    display: none;
  }

  .published-alert {
    display: block;
  }

  .drag-handle {
    display: none !important;
  }
}

.edit-state-private {
  .delete-draft,
  .publish-draft,
  .editing-draft-alert,
  .create-draft,
  .view-button {
    display: none;
  }
}
// ====================

// Latex Compiler
.launch-latex-compiler {
  background-color: $white;
  padding: $baseline/2 0 $baseline/2 $baseline;
  border-bottom: 1px solid $gray-l2;
  opacity: 0.8;


  &:hover {
    @include transition(opacity $tmg-f2 ease-in-out 0s);
    opacity: 1.0s;
  }
}

//  hides latex compiler button if settings mode is-active
div.wrapper-comp-editor.is-inactive ~ div.launch-latex-compiler{
 display: none;
}
