%commit-description-base {
  padding: $gl-padding-8 0 $gl-padding-8 $gl-padding-8;
  margin-top: $gl-padding-8;
  border: 0;
  border-radius: unset;
  background: none;
  word-break: normal;
  overflow-x: auto;
  border-left: 3px solid $white-dark;
  color: $gl-text-color-secondary;
}

.commit-description {
  @extend %commit-description-base;
}

.js-details-expand {
  &:hover {
    text-decoration: none;
  }
}

.commit-box {
  border-top: 1px solid $border-color;
  padding: $gl-padding 0;

  .commit-title {
    margin: 0;
    color: $gl-text-color;
  }
}

.commit-hash-full {
  @include media-breakpoint-down(sm) {
    width: 80px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-block;
    vertical-align: bottom;
  }
}

.pipeline-info {
  .status-icon-container {
    display: inline-block;
    vertical-align: middle;
    margin-right: 3px;

    svg {
      display: block;
      width: 22px;
      height: 22px;
    }
  }

  .mr-widget-pipeline-graph {
    display: inline-block;
    vertical-align: middle;

    .stage-cell .stage-container {
      margin: 0 3px 3px 0;
    }

    .stage-container:last-child {
      margin-right: 0;
    }

    .dropdown-menu {
      margin-top: 11px;
    }
  }
}

.branch-info .commit-icon {
  margin-right: 8px;

  svg {
    top: 3px;
  }
}

/*
 * Commit message textarea for web editor and
 * custom merge request message
 */
.commit-message-container {
  background-color: $body-bg;
  position: relative;
  font-family: $monospace-font;
  $left: 12px;
  overflow: hidden; // See https://gitlab.com/gitlab-org/gitlab-ce/issues/13987
  .max-width-marker {
    width: 72ch;
    color: $commit-max-width-marker-color;
    font-family: inherit;
    left: $left;
    height: 100%;
    border-right: 1px solid mix($input-border, $white-light);
    position: absolute;
    z-index: 1;
  }

  textarea {
    background-color: $commit-message-text-area-bg;
    font-family: inherit;
    padding-left: $left;
    position: relative;
    z-index: 2;
  }
}

.commits-compare-switch {
  float: left;
  margin-right: 9px;
}

.commit-header {
  padding: 5px 10px;
  background-color: $gray-light;
  border-bottom: 1px solid $gray-darker;
  border-top: 1px solid $gray-darker;
  font-size: 14px;

  &:first-child {
    border-top-width: 0;
  }
}

.commit-row-title {
  .notes_count {
    float: right;
    margin-right: 10px;
  }

  .str-truncated {
    max-width: 70%;
  }

  .commit-row-message {
    color: $gl-text-color;
  }
}

.text-expander {
  display: inline-flex;
  background: $white-light;
  color: $gl-text-color-secondary;
  padding: 1px $gl-padding-4;
  cursor: pointer;
  border: 1px solid $border-gray-dark;
  border-radius: $border-radius-default;
  margin-left: 5px;
  font-size: 12px;
  line-height: $gl-font-size;
  outline: none;

  &.open {
    background-color: darken($gray-light, 10%);
    box-shadow: inset 0 0 2px rgba($black, 0.2);
  }

  &:hover {
    background-color: darken($gray-light, 10%);
    text-decoration: none;
  }
}

.commit.flex-list {
  display: flex;
}

.avatar-cell {
  width: 46px;

  img {
    margin-right: 0;
  }
}

.commit-detail {
  display: flex;
  justify-content: space-between;
  align-items: start;
  flex-grow: 1;
  min-width: 0;

  .project_namespace {
    color: $gl-text-color-secondary;
  }
}

.commit-content {
  padding-right: 10px;
  white-space: normal;
  overflow: hidden;

  .commit-title {
    display: flex;
    align-items: center;
  }
}

.commit-actions {
  @include media-breakpoint-up(sm) {
    .fa-spinner {
      font-size: 12px;
    }
  }

  .ci-status-link {
    display: inline-flex;
  }

  .ci-status-icon svg {
    vertical-align: text-bottom;
  }

  > .ci-status-link,
  > .btn,
  > .commit-sha-group {
    margin-left: $gl-padding;
  }
}

.clipboard-group,
.commit-sha-group {
  display: inline-flex;

  .label,
  .btn {
    padding: $gl-vert-padding $gl-btn-padding;
    border: 1px $border-color solid;
    font-size: $gl-font-size;
    line-height: $line-height-base;
    border-radius: 0;
    display: flex;
    align-items: center;
  }

  .label-monospace {
    @extend .monospace;
    user-select: text;
    color: $gl-text-color;
    background-color: $gray-light;
  }

  .btn svg {
    top: auto;
    fill: $gl-text-color-secondary;
  }

  :first-child {
    border-bottom-left-radius: $border-radius-default;
    border-top-left-radius: $border-radius-default;
  }

  :not(:first-child) {
    border-left: 0;
  }

  :last-child {
    border-bottom-right-radius: $border-radius-default;
    border-top-right-radius: $border-radius-default;
  }
}

.commit,
.generic_commit_status {
  a,
  button {
    vertical-align: baseline;
  }

  a {
    color: $gl-text-color;

    &.autodevops-badge {
      color: $white-light;
    }

    &.autodevops-link {
      color: $blue-600;
    }
  }

  .commit-row-description {
    @extend %commit-description-base;
    display: none;
    flex: 1;

    a {
      color: $gl-text-color;
    }
  }

  &.inline-commit {
    .commit-row-title {
      font-size: 13px;
    }

    .committed_ago {
      @extend .cgray;
      float: right;
    }
  }
}

.branch-commit {
  color: $gl-text-color;

  .commit-icon {
    text-align: center;
    display: inline-block;

    svg {
      height: 14px;
      width: 14px;
      vertical-align: middle;
      fill: $gl-text-color-secondary;
    }
  }

  .commit-sha {
    color: $blue-600;
  }

  .commit-row-message {
    color: $gl-text-color;
  }
}

.gpg-status-box {
  padding: 2px 10px;

  &:empty {
    display: none;
  }

  &.valid {
    @include green-status-color;
  }

  &.invalid {
    @include status-color($gray-dark, color("gray"), $gray-darkest);
    border-color: $gray-darkest;

    &:not(span):hover {
      color: color("gray");
    }
  }
}

.gpg-popover-status {
  display: flex;
  align-items: center;
  font-weight: $gl-font-weight-normal;
  line-height: 1.5;
}

.gpg-popover-icon {
  // same margin as .s32.avatar
  margin-right: $btn-side-margin;

  &.valid {
    svg {
      border: 1px solid $brand-success;
      fill: $brand-success;
    }
  }

  &.invalid {
    svg {
      border: 1px solid $gray-darkest;
      fill: $gray-darkest;
    }
  }

  svg {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    vertical-align: middle;
  }
}

.gpg-popover-user-link {
  display: flex;
  align-items: center;
  margin-bottom: $gl-padding / 2;
  text-decoration: none;
  color: $gl-text-color;
}

.commit .gpg-popover-help-link {
  display: block;
  color: $link-color;
}
