/* Copyright lowRISC contributors.
 * Licensed under the Apache License, Version 2.0, see LICENSE for details.
 * SPDX-License-Identifier: Apache-2.0
 */

/* CSS for reports.opentitan.org.
 * This is referenced by all results published to the reports server for some basic styling.
 */

.results {
  width: 80%;
  max-width: 960px;
  padding-left: 40px;
  padding-right: 40px;
  margin: 0 auto;
  position: relative;
  font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
  padding-top: 15px;
}

.results p {
  text-align: justify;
}

.results pre {
   overflow-x: auto;
   white-space: pre-wrap;
}

.results h1, .results h2, .results h3 {
  text-align: center;
  padding-bottom: 15px;
}

.results table {
  width: 90%;
  margin: 2% auto;
  border: 1px solid #f2f2f2;
  border-collapse: collapse;
  text-align: center;
  vertical-align: middle;
  display: table;
  table-layout: auto;
}

.results th {
  padding-top: 12px;
  padding-bottom: 12px;
  background-color: #3D1067;
  text-transform: uppercase;
  color: white;
}

.results th, .results td {
  border: 1px solid #f2f2f2;
  padding: 8px;
}

.results tr:hover {
  background-color: #f2f2f2;
}

.results tbody tr:nth-child(even) {
  background: #f2f2f2;
}

/* Color encoding for percentages. */
.cna  {
  color: #000000;
  background-color: #f8f8f8;
}

.c0  {
  color: #ffffff;
  background-color: #EF5757;
}

.c1  {
  color: #ffffff;
  background-color: #EF6D57;
}

.c2  {
  color: #000000;
  background-color: #EF8357;
}

.c3  {
  color: #000000;
  background-color: #EF9957;
}

.c4  {
  color: #000000;
  background-color: #EFAF57;
}

.c5  {
  color: #000000;
  background-color: #EFC557;
}

.c6  {
  color: #000000;
  background-color: #EFDB57;
}

.c7  {
  color: #000000;
  background-color: #ECEF57;
}

.c8  {
  color: #000000;
  background-color: #D6EF57;
}

.c9  {
  color: #000000;
  background-color: #C0EF57;
}

.c10  {
  color: #000000;
  background-color: #57EF57;
}
