/**
 * Note Form
 */
.diff-file .diff-content {
  .diff-tr.line_holder:hover > .diff-td .line_note_link,
  tr.line_holder:hover > td .line_note_link {
    opacity: 1;
    filter: alpha(opacity = 100);
  }
}

.diff-file,
.discussion {
  .new-note {
    margin: 0;
    border: 0;
  }
}

.new-note,
.note-edit-form {
  .note-form-actions {
    position: relative;
    margin: $gl-padding 0 0;
  }

  .note-preview-holder {
    > p {
      overflow-x: auto;
    }
  }

  img {
    max-width: 100%;
  }
}

.note-textarea {
  display: block;
  padding: 10px 0;
  color: $gl-text-color;
  font-family: $regular-font;
  border: 0;

  &:focus {
    outline: 0;
  }
}

.note-image-attach {
  @extend .col-lg-4;
  margin-left: 45px;
  float: none;
}

.common-note-form {
  .md-area {
    padding: $gl-padding-top $gl-padding;
    border: 1px solid $border-color;
    border-radius: $border-radius-base;
    transition: border-color ease-in-out 0.15s,
      box-shadow ease-in-out 0.15s;
    background-color: $white;

    &.is-focused {
      border-color: $input-focus-border-color;
      box-shadow: $input-focus-box-shadow;

      .comment-toolbar,
      .nav-links {
        border-color: $blue-300;
      }
    }

    &.is-dropzone-hover {
      border-color: $green-500;
      box-shadow: 0 0 2px $black-transparent,
        0 0 4px $green-500-focus;

      .comment-toolbar,
      .nav-links {
        border-color: $green-500;
      }
    }
  }
}

.md-header .nav-links {
  display: flex;
  flex-flow: row wrap;
  width: 100%;

  .float-right {
    // Flexbox quirk to make sure right-aligned items stay right-aligned.
    margin-left: auto;
  }
}

.issuable-note-warning {
  color: $orange-600;
  background-color: $orange-50;
  border-radius: $border-radius-default $border-radius-default 0 0;
  padding: 3px 12px;
  margin: auto;
  align-items: center;

  a {
    color: $orange-600;
    text-decoration: underline;
  }

  .icon {
    margin-right: $issuable-warning-icon-margin;
    vertical-align: text-bottom;
    fill: $orange-600;
  }

  + .md-area {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }

  .disabled-comment {
    border: 0;
    border-radius: $label-border-radius;
    padding-top: $gl-vert-padding;
    padding-bottom: $gl-vert-padding;

    .icon svg {
      position: relative;
      top: 2px;
      margin-right: $btn-margin-5;
      width: $gl-font-size;
      height: $gl-font-size;
      fill: $orange-600;
    }
  }
}

.sidebar-item-icon {
  border-radius: $border-radius-default;
  margin: 0 5px 0 0;
  vertical-align: text-bottom;

  &.is-active {
    fill: $orange-600;
  }

  .sidebar-collapsed-icon & {
    margin: 0;
  }

  .sidebar-item-value & {
    fill: $gray-500;
  }
}

.sidebar-item-warning-message {
  line-height: 1.5;
  padding: 16px;

  .text {
    color: $text-color;
  }

  .sidebar-item-warning-message-actions {
    display: flex;

    .btn {
      flex-grow: 1;
    }
  }
}

.discussion-form {
  background-color: $white;

  @include media-breakpoint-down(xs) {
    .user-avatar-link {
      display: none;
    }

    .note-edit-form {
      margin-left: 0;
    }
  }
}

table {
  .discussion-form-container {
    padding: $gl-padding;
  }
}

.discussion-notes .disabled-comment {
  padding: 6px 0;
}

.notes.notes-form > li.timeline-entry {
  @include notes-media('max', map-get($grid-breakpoints, md) - 1) {
    padding: 0;
  }

  .timeline-content {
    @include notes-media('max', map-get($grid-breakpoints, md) - 1) {
      margin: 0;
    }
  }

  .timeline-entry-inner {
    border: 0;
  }
}

// Snippets are the only non-vue form left
.snippets.note-edit-form {
  display: none;
}

.note-edit-form {
  font-size: 14px;

  .md-area {
    background-color: $white;
  }
}

.js-note-attachment-delete {
  display: none;
}

.error-alert > .alert {
  margin-top: 5px;
  margin-bottom: 5px;

  &.alert-dismissable {
    .close {
      color: $white;
      opacity: 0.85;
      font-weight: $gl-font-weight-normal;

      &:hover {
        opacity: 1;
      }
    }
  }
}

.discussion-body,
.diff-file,
.commit-diff {
  .discussion-reply-holder {
    background-color: $gray-light;
    border-radius: 0 0 3px 3px;
    padding: $gl-padding;
    border-top: 1px solid $gray-50;

    + .new-note {
      background-color: $gray-light;
      border-top: 1px solid $gray-50;
    }

    &.is-replying {
      padding-bottom: $gl-padding;
    }

    .user-avatar-link {
      img {
        margin-top: -3px;
      }
    }
  }
}

.discussion-with-resolve-btn {
  @include media-breakpoint-up(sm) {
    display: flex;
  }

  .discussion-actions {
    display: table;

    svg {
      fill: $gray-500;
    }

    .btn-group {
      display: table-cell;

      &:first-child {
        padding-right: 0;
      }

      &:first-child:not(:last-child) > div {
        border-right: 0;
      }
    }
  }

  @include media-breakpoint-down(xs) {
    .btn {
      width: 100%;
    }
  }

  .btn-text-field {
    @include media-breakpoint-down(xs) {
      margin-bottom: $gl-padding-8;
    }
  }
}

.comment-toolbar {
  padding-top: $gl-padding-top;
  color: $gl-text-color-secondary;
  border-top: 1px solid $border-color;
}

.toolbar-button {
  padding: 0;
  background: none;
  border: 0;
  font-size: 14px;
  line-height: 16px;

  &:hover,
  &:focus {
    color: $blue-600;
    outline: 0;
  }

  @include media-breakpoint-up(md) {
    float: left;
    margin-right: $gl-padding;

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

.toolbar-text {
  font-size: 14px;
  line-height: 16px;
  margin-top: 2px;

  @include media-breakpoint-up(md) {
    float: left;
  }
}

.note-form-actions {
  color: $gl-text-color;

  @include media-breakpoint-down(xs) {
    .btn {
      float: none;
      width: 100%;

      &:not(:last-child) {
        margin-bottom: 10px;
      }
    }
  }
}

.note-edit-warning.settings-message {
  display: none;
  padding: 5px 10px;
  position: absolute;
  left: 127px;
  top: 2px;

  @include media-breakpoint-down(xs) {
    position: relative;
    top: 0;
    left: 0;
    margin-bottom: 10px;
  }
}

.comment-type-dropdown {
  .btn-success {
    width: auto;
  }

  .dropdown-toggle {
    float: right;

    i {
      color: $white;
      padding-right: 2px;
      margin-top: 2px;
    }

    &[disabled] {
      i {
        color: $gl-text-color-disabled;
      }
    }
  }

  .dropdown-menu {
    top: initial;
    bottom: 100%;
    width: 298px;
  }

  @include media-breakpoint-down(xs) {
    display: flex;
    width: 100%;
    margin-bottom: 10px;

    .btn-success {
      flex-grow: 1;
      flex-shrink: 0;
      width: auto;
    }

    .dropdown-toggle {
      flex-grow: 0;
      flex-shrink: 1;
      width: auto;
    }
  }
}

.uploading-container {
  float: right;

  @include media-breakpoint-down(xs) {
    float: left;
    margin-top: 5px;
  }
}

.uploading-error-icon,
.uploading-error-message {
  color: $red-500;
}

.uploading-error-message {
  @include media-breakpoint-down(xs) {
    &::after {
      content: '\a';
      white-space: pre;
    }
  }
}

.uploading-progress {
  margin-right: 5px;
}

.markdown-selector {
  color: $blue-600;
}

.comment-warning-wrapper {
  .md-area {
    border: 0;
  }
}
