/* Copyright 2016 The Chromium Authors. All Rights Reserved.
 *
 * Use of this source code is governed by a BSD-style
 * license that can be found in the LICENSE file or at
 * https://developers.google.com/open-source/licenses/bsd
 */

.activity-stream-list h4 {
  font-size: 100%;
  font-weight: normal;
  padding: 0;
  margin: 0;
  padding-left: 1em;
  background: var(--chops-table-header-bg);
  line-height: 160%;
}
ul.activity-stream {
  list-style: none;
  margin: 0;
  padding: 0;
}
ul.activity-stream li {
  margin: 0;
  padding: 0.375em 0;
  z-index: 0;
  clear: both;
}
ul.activity-stream li {
  border-bottom: var(--chops-normal-border);
}
ul.activity-stream span.date {
  float: left;
  width: 7.5em;
  text-align: right;
  color: #5f5f5f;
  padding-right: 1em;
  background-repeat: no-repeat;
  background-position: 5px center;
}
ul.activity-stream span.below-more {
  background-image: url(/static/images/plus.gif);
  cursor: pointer;
}
ul.activity-stream li.click span.below-more {
  background-image: url(/static/images/minus.gif);
}
ul.activity-stream span.content {
  display: block;
  overflow: hidden;
  white-space: nowrap;
}
ul.activity-stream span.content span.highlight-column {
  padding-right: 1em;
}
ul.activity-stream span.details-inline {
  color: #676767;
}
ul.activity-stream span.details-inline pre {
  display: inline;
}
ul.activity-stream span.details-inline div,
ul.activity-stream span.details-inline span {
  display: inline;
}
ul.activity-stream div.details-wrapper {
  display: none;
}
ul.activity-stream li.click span.details-inline {
  display: none;
}
ul.activity-stream li.click div.details-wrapper {
  display: block;
  overflow: hidden;
}
ul.activity-stream div.details {
  color: #5f5f5f;
  margin-top: 0.3em;
  padding-top: 0.2em;
  padding-bottom: 0.2em;
  margin-left: 0.2em;
  border-left: 0.3em solid #e5ecf9;
  padding-left: 0.5em;
  line-height: 130%;
}
ul.activity-stream div.details span.ot-logmessage,
ul.activity-stream div.details span.ot-issue-comment,
ul.activity-stream div.details span.ot-project-summary {
  white-space: pre;
}
ul.activity-stream div.details a,
ul.activity-stream span.details-inline a {
  color: var(--chops-link-color);
}
a.showAll,
a.hideAll {
  color: var(--chops-link-color);
}
body.detailedInfo_hidden ul.activity-stream a.details {
  color: var(--chops-link-color);
  text-decoration: underline;
  cursor: pointer;
}
ul.activity-stream div.details pre {
  font-size: 110%;
  line-height: 125%;
  padding: 0;
  margin: 0;
}
ul.activity-stream span.content a.ot-profile-link-1,
ul.activity-stream span.content a.ot-project-link-1 {
  color: var(--chops-link-color);
}
ul.activity-stream span.content a.ot-profile-link-2,
ul.activity-stream span.content a.ot-project-link-2 {
  color: var(--chops-link-color);
}
ul.activity-stream div.details span.ot-revlogs-br-1 {
  display: block;
  padding: 0;
  margin: 0;
}
ul.activity-stream div.details span.ot-revlogs-br-2,
ul.activity-stream div.details span.ot-issue-fields-br {
  display: block;
  padding: 0;
  margin: 0.5em;
}
ul.activity-stream div.details span.ot-issue-field-wrapper,
ul.activity-stream div.details span.ot-labels-field-wrapper  {
  font-family: arial, sans-serif;
}
ul.activity-stream span.details-inline span.ot-issue-field-wrapper,
ul.activity-stream span.details-inline span.ot-labels-field-wrapper  {
  font-family: arial, sans-serif;
}
ul.activity-stream div.details span.ot-issue-field-name,
ul.activity-stream div.details span.ot-labels-field-name {
  font-weight: bold;
}
ul.activity-stream span.details-inline span.ot-issue-field-name,
ul.activity-stream span.details-inline span.ot-labels-field-name  {
  font-weight: bold;
}
div.display-error {
  font-style: italic;
  text-align: center;
  padding: 3em;
}
.results td a {
  color: var(--chops-link-color);
}
.results td a:hover {
  text-decoration: underline;
}
.results td a.closed_ref {
  color: var(--chops-link-color);
  text-decoration: line-through;
}
.results td {
  cursor: auto;
}
.highlight-column {
  overflow: hidden;
  white-space: nowrap;
  display: block;
}

/**
 * Document container designed for fluid width scaling.
 * Alternative g-doc- fixed-width classes are in gui-fixed.css.
 */
.g-doc {
  width: 100%;
  text-align: left;
}

/* For agents that support the pseudo-element selector syntax. */
.g-section:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

/* Disable the clear on nested sections so they'll actually nest. */
.g-unit .g-section:after {
  clear: none;
}
.g-section {
  /* Helps with extreme float-drops in nested sections in IE 6 & 7. */
  width: 100%;
  /* So nested sections' background-color paints the full height. */
  overflow: hidden;
}

/* Forces "hasLayout" for IE. This fixes the usual gamut of peekaboo bugs. */
.g-section,
.g-unit {
  zoom: 1;
}

/* Used for splitting a template's units text-alignment to the outer edges. */
.g-split .g-unit {
  text-align: right;
}
.g-split .g-first {
  text-align: left;
}

/* Document container designed for 1024x768 */
.g-doc-1024 {
  width: 73.074em;
  *width: 71.313em;
  min-width: 950px; /* min-width doesn't work in IE6 */
  margin: 0 auto;
  text-align: left;
}
/* Document container designed for 800x600 */
.g-doc-800 {
  width: 57.69em;
  *width: 56.3em;
  min-width: 750px;  /* min-width doesn't work in IE6 */
  margin: 0 auto;
  text-align: left;
}

.g-tpl-160 .g-unit,
.g-unit .g-tpl-160 .g-unit,
.g-unit .g-unit .g-tpl-160 .g-unit,
.g-unit .g-unit .g-unit .g-tpl-160 .g-unit {
  margin: 0 0 0 8.5em;
  width: auto;
  float: none;
}
.g-unit .g-unit .g-unit .g-tpl-160 .g-first,
.g-unit .g-unit .g-tpl-160 .g-first,
.g-unit .g-tpl-160 .g-first,
.g-tpl-160 .g-first {
  margin: 0;
  width: 8.5em;
  float: left;
}

.g-tpl-300 .g-unit,
.g-unit .g-tpl-300 .g-unit,
.g-unit .g-unit .g-tpl-300 .g-unit,
.g-unit .g-unit .g-unit .g-tpl-300 .g-unit {
  margin: 0 0 0 19.5em;
  width: auto;
  float: none;
}
.g-unit .g-unit .g-unit .g-tpl-300 .g-first,
.g-unit .g-unit .g-tpl-300 .g-first,
.g-unit .g-tpl-300 .g-first,
.g-tpl-300 .g-first {
  margin: 0;
  width: 19.5em;
  float: left;
}
