table.sidebyside {
  background: white;
  border: 1px #C0C0C0 solid;
  border-collapse: collapse;
  margin: 2px;
  padding: 2px;
  width: 100%;
}

table.sidebyside.diff-error td {
  background: #fff6a6;
  padding: 6px;
}

table.sidebyside.diff-error td a {
  color: blue;
  font-weight: bold;
}

table.sidebyside.diff-error .error-details {
  display: none;
}

table.sidebyside a {
  color: black;
  text-decoration: none;
}

table.sidebyside col.left {
  border-right: 1px #C0C0C0 solid;
  width: 50%;
}

table.sidebyside.newfile col.left {
  border-right: 1px #C0C0C0 solid;
  width: 0%;
}

table.sidebyside col.line {
  border-right: 1px #C0C0C0 solid;
  width: 1%; /* Make sure this doesn't stretch if the header stretches. */
}

table.sidebyside col.right {
  width: 50%;
}

table.sidebyside.newfile col.right {
  width: 100%;
}

table.sidebyside pre {
  font-size: 8pt;
  line-height: 140%;
  margin: 0;
  white-space: pre-wrap;      /* CSS 3 */
  white-space: -moz-pre-wrap; /* Mozilla, 1999+ */
  white-space: -pre-wrap;     /* Opera 4-6 */
  white-space: -o-pre-wrap;   /* Opera 7 */
  word-wrap: break-word;      /* IE 5.5+ */
}

table.sidebyside .moved-to,
table.sidebyside .moved-from
{
  background-color: #66ccff;
  background-image: url("../images/moved_bg.png");
  background-position: top left;
  background-repeat: repeat-x;
  border: 1px #065a8a solid;
  display: block;
  float: left;
  padding: 0px 1em;
  -moz-border-radius: 0px 8px 8px 0px;
  -webkit-border-top-right-radius: 8px;
  -webkit-border-bottom-right-radius: 8px;
  -webkit-border-bottom-left-radius: 0px;
  -webkit-border-top-left-radius: 0px;
  border-radius: 0px 8px 8px 0px;
}

table.sidebyside .moved-to {
  float: right;
  -moz-border-radius: 8px 0px 0px 8px;
  -webkit-border-top-right-radius: 0px;
  -webkit-border-bottom-right-radius: 0px;
  -webkit-border-bottom-left-radius: 8px;
  -webkit-border-top-left-radius: 8px;
  border-radius: 8px 0px 0px 8px;
}

table.sidebyside tr.first td,
table.sidebyside tr.first th {
  border-top: 1px #D0D0D0 solid;
}

table.sidebyside tr.last td,
table.sidebyside tr.last th {
  border-bottom: 1px #D0D0D0 solid;
}

table.sidebyside tbody.whitespace-file {
  display: none;
}

table.sidebyside tbody.binary td,
table.sidebyside tbody.deleted td,
table.sidebyside tbody.whitespace-file td {
  background: #dbebff;
  padding: 4px;
}

table.sidebyside tbody.diff-header a {
  text-decoration: none;
  color: black;
}

table.sidebyside tbody.diff-header td {
  background: #e4d9cb;
  font-size: x-small;
  text-align: center;
}

table.sidebyside tbody.diff-header th {
  background: #e4d9cb;
}

table.sidebyside tbody.diff-header img {
  vertical-align: middle;
  padding: 1px;
}

table.sidebyside tbody.diff-header code {
  margin: 0 2px;
}

table.sidebyside tbody div {
  position: relative;
}

table.sidebyside tbody td .diff-collapse-btn {
  background: #E4D9CB;
  border: 1px #59554F solid;
  padding: 0.5em;
  cursor: pointer;
  position: absolute;
  right: -8px;
  z-index: 100;
  opacity: 0.8;
}

table.sidebyside tbody tr.selected td .diff-collapse-btn {
  background: #E4D9CB;
}

table.sidebyside tbody td .diff-collapse-btn:hover {
  opacity: 1.0;
}

table.sidebyside tbody.delete td {
  background: #ffc5ce;
}

table.sidebyside tbody.delete th {
  background: #ebb1ba;
}

table.sidebyside tbody.delete tr.selected * {
  background: #dfb1b1;
}

table.sidebyside tbody.insert td {
  background: #c5ffc4;
}

table.sidebyside tbody.insert th {
  background: #b1ebb0;
}

table.sidebyside tbody.insert tr.selected * {
  background: #9ae298;
}

table.sidebyside tbody.replace td {
  background: #fdfebc;
}

table.sidebyside tbody.replace th {
  background: #e9eaa8;
}

table.sidebyside tbody.replace tr.selected * {
  background: #e2e179;
}

table.sidebyside tbody.replace .hl {
  background: #eff23d;
}

table.sidebyside tbody.replace tr.dimmed,
table.sidebyside tbody.replace tr.dimmed .hl {
  background: #FFFFFF;
}

table.sidebyside tbody.replace tr.dimmed th {
  background: #F0F0F0;
}

table.sidebyside tbody td {
  vertical-align: top;
}

table.sidebyside tbody th {
  background: #F0F0F0;
  padding-left: 1em;
  text-align: right;
  vertical-align: top;
}

table.sidebyside tbody tr.selected * {
  background: #e2e2e2;
}

table.sidebyside thead th {
  background: #F0F0F0;
  border-bottom: 1px #C0C0C0 solid;
  font-size: 120%;
  font-weight: bold;
  padding: 4px 8px;
  text-align: left;
  text-overflow: ellipsis;
}

table.sidebyside thead th.rev {
  font-size: 100%;
}

table.sidebyside thead th.controls,
table.sidebyside th.controls {
  font-size: 100%;
  font-weight: normal;
  padding: 2px 0 2px 2px;
  vertical-align: top;
}

.commentflag {
  height: 20px;
  left: -0.7em;
  margin-top: -0.3em;
  position: absolute;
  width: 1.6em;
  -moz-border-radius: 4px 4px 4px 4px;
  -webkit-border-top-right-radius: 4px;
  -webkit-border-bottom-right-radius: 4px;
  -webkit-border-bottom-left-radius: 4px;
  -webkit-border-top-left-radius: 4px;
  border-radius: 4px 4px 4px 4px;
}

.commentflag-shadow {
  background-color: black;
  border: 1px solid black;
  bottom: 0;
  left: 0.2em;
  position: absolute;
  right: 0;
  top: 0.2em;
  width: 100%;
  opacity: 0.1;
  filter:alpha(opacity=10);
  -moz-opacity: 0.1;
  -moz-border-radius: 4px 4px 4px 4px;
  -webkit-border-top-right-radius: 4px;
  -webkit-border-bottom-right-radius: 4px;
  -webkit-border-bottom-left-radius: 4px;
  -webkit-border-top-left-radius: 4px;
  border-radius: 4px 4px 4px 4px;
}

.commentflag-inner {
  background-color: #a1c0e3;
  border: 1px solid #204a87;
  bottom: 0.2em;
  cursor: pointer;
  font-size: 90%;
  font-weight: normal;
  left: 0;
  line-height: 1.7em;
  position: absolute;
  right: 0.2em;
  text-align: center;
  top: 0;
  vertical-align: top;
  width: 100%;
  z-index: 900;
  opacity: 0.95;
  filter:alpha(opacity=95);
  -moz-opacity: 0.95;
  -moz-border-radius: 4px 4px 4px 4px;
  -webkit-border-top-right-radius: 4px;
  -webkit-border-bottom-right-radius: 4px;
  -webkit-border-bottom-left-radius: 4px;
  -webkit-border-top-left-radius: 4px;
  border-radius: 4px 4px 4px 4px;
}

.commentflag-inner span {
  background: transparent !important;
}

.selected .commentflag .commentflag-inner {
  background-color: #a1c0e3;
}

.selected .commentflag .commentflag-inner,
.commentflag .commentflag-inner:hover {
  background-color: #a5caf3;
}

.commentflag.draft .commentflag-inner {
  background-color: #aceb6f;
  border-color: #3e7b01;
}

.selected .commentflag.draft .commentflag-inner,
.commentflag.draft .commentflag-inner:hover {
  background-color: #b6f37c;
}

.ghost-commentflag {
  cursor: pointer;
  position: absolute;
  left: 0.1em;
  margin-top: -0.1em;
  height: 21px;
}

.ghost-commentflag .commentflag-inner {
  background-color: #eeeeec;
  border-color: #888a85;
}

#diffs {
  list-style: none;
  margin: 0;
  padding: 0;

  /* Allows highlight chunks to be absolute relative to this. */
  position: relative;
}

#diffs div.index ol {
  margin-bottom: 20px;
  padding-left: 30px;
}

ol.index li {
  padding: 2px 0;
}

ol.index li a.dimmed {
  color: #ABABAB;
}

#diffs table.sidebyside {
  margin-bottom: 20px;
}

#diffs .diff-highlight-border {
  background-color: black;
  display: block;
  font-size: 0; /* Prevents the 13px minimum height in IE6 */
  width: 2px;
  height: 2px;
}


/****************************************************************************
 * Diff information
 ****************************************************************************/
#diff-details {
  border-spacing: 8px;
  border-top: 1px #c2c1b0 solid;
  margin-top: 20px;
  padding: 5px 0px;
  width: 100%;
}

.revision-selector {
  margin-bottom: 6px;
}

.revision-select td {
  padding: 4px;
  margin: 4px;
}

.revision-selector th {
  padding: 4px 6px;
  text-align: right;
  vertical-align: bottom;
  margin: 4px;
}

.revision-selector .revisions {
  padding: 0;
}

.revision-selector .revisions .current {
  font-weight: bold;
  padding: 2px 6px;
}

.revision-selector .revisions a {
  border: 1px #999999 solid;
  color: black;
  padding: 2px 6px;
  text-decoration: none;
}

.revision-selector .revisions a:hover {
  background: #E7E0A2;
  border-color: #003366;
  color: black;
}

.revision-selector .revisions a:visited {
  color: black;
}


/****************************************************************************
 * Pagination
 ****************************************************************************/
.paginate-previous, .paginate-next {
  padding: 2px 3px;
  border: 1px solid #ddd;
}

.paginate-link {
  padding: 2px 4px;
  border: 1px solid #ddd;
}

.paginate-current {
  padding: 2px 4px;
  border: 1px solid #ddd;
  font-weight: bold;
  background: #417690;
  color: #f4f379;
}
