/*
 * Copyright (c) 2019-2020 Arm Limited. All rights reserved.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */

/* Result colors */
.success {
  background-color: #b4fd98;
}
.failure {
  background-color: #ffb8b8;
}
.unstable {
  background-color: #ffe133;
}

/* TF report */
#tf-report-main {
  margin-bottom: 10px;
  margin-top: 10px;
}
#tf-report-main table {
  border: 1px dotted #aaa;
  border-collapse: collapse;
  font: 10px monospace;
}
#tf-report-main td, #tf-report-main th {
  border: 1px solid #c8c8c8;
  padding: 5px 10px;
  font: 10px monospace;
  vertical-align: middle;
}
#tf-report-main th {
  background-color: #e0f7ff;
  font-weight: bold;
}
#tf-report-main .buildlink {
  display: inline-block;
  height: 16px;
  margin-left: 10px;
  vertical-align: middle;
  /* Console icon 16x16 */
  background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACJUlEQVR42qVTO4saYRS9n/EtCoKvQgZBFCyUyDba2BgRJF2a7QQDYmOhhSJCViw0oI2NU7gsFrEQZKsUEVKIGMXB/AQ3jJjOahVf6yNzvzAQAm4WcuEyMPPdc8853xkC/1mk1WppdTrdW71eLyeEwPl8vngYv2Efj0eYzWY/o9HoV9Ltdr+EQqEwDj9XIrAIslwuIZ/Pvye9Xo+32WxMo9EAr9f7T5DD4QCLxQLi8Tik02mW9Pt93mAwMN84DqxWK3wfj2H5+PgskFarhVQqBdlsliWDwYA3Go3Mh5sbeHd9DaFIBD4WCsA/PFwEcDqdEIvFoFqtsmQ4HFKAu1YL3oTD8Pn+HrjhkBp1SYbdbodisQi1Wo0lo9GIN5lMjNvtBolEAsKNgD8QgNdXV4DGfrq9hfV6TQFRP5oXDAahUqlAvV5nyXg8pgAOhwOUSiUoFApQq9X0iQDb7ZYO7vd72Gw2sNvtICLILJfLIBjPEo7jeIvFwng8HlCpVLTlcjlIpVIQc/H09EQHEQDZIIOC4FOz2WTJZDLhzWYz4/P5QKPR0O3IRCaTUYDT6US3IxMcXq1WEBAkZjIZEEL4GwAlICpejwiCLNAT1I7bxWH0wO/3QzKZhHa7TT344XK5bNPpFMQ0imkTY4seoAyxkSFK7HQ6dZLL5UqJRCLzSig8/Gcj/b/fiS2kcVkqlaJEiK9kPp/bhO2Kl/6ByEwAXwtSZ+SlQ5fqF5qGN9ApekVGAAAAAElFTkSuQmCC') no-repeat left top;
  width: 16px;
}
#tf-report-main .emptycell {
  background-color: #eee;
}
#tf-report-main .failure {
  vertical-align: middle;
}
#tf-report-main .success {
  vertical-align: middle;
}
#tf-report-main .unstable {
  vertical-align: middle;
}
#tf-report-main .result {
  display: inline-block;
  min-width: 50px;
}
#tf-report-main .dim {
  opacity: 0.2;
}
#tf-report-main input[type="checkbox"] {
  margin-left: 10px;
  vertical-align: middle;
}

/* Label container */
.tf-label-container {
  margin-bottom: 10px;
  margin-top: 10px;
  position: relative;
}
.tf-label-container .tf-label-label {
  background-color: white;
  left: 10px;
  position: absolute;
  top: -0.65em;
}
.tf-label-container pre {
  white-space: pre;
}
.tf-label-container .tf-label-content,
.tf-label-container pre {
  border: 1px dotted #ffb8b8;
  padding: 1em;
}

/* Rebuild table */
#tf-rebuild-button, #tf-rebuild-all-button {
  background-color: #4b758b; /* Same color as Jenkis buttons */
  border: 1px solid #aaa;
  color: #eee;
  display: block;
  font-weight: bold;
  margin-bottom: 10px;
  padding: 5px 15px;
  width: 250px;
}
#tf-rebuild-button[disabled] {
  background-color: #ccc;
  color: #ddd;
}
#tf-rebuild-table {
  margin-bottom: 20px;
  margin-top: 20px;
}
#tf-rebuild-table .desc-col {
  padding-right: 10px;
  vertical-align: middle;
}
#tf-rebuild-table .button-col {
  border-left: 1px solid #c8c8c8;
  padding-left: 10px;
  vertical-align: middle;
}
#tf-rebuild-table .select-row {
  font-size: 0.8em;
  padding-bottom: 15px;
  padding-top: 10px;
  text-align: center;
}
#tf-rebuild-table .select-all {
  border: 1px solid #ccc;
  border-radius: 3px;
  cursor: pointer;
  display: inline-block;
  padding: 2px 3px 0px 3px;
}
