/*
 * Copyright 2020 The Go Authors. All rights reserved.
 * Use of this source code is governed by a BSD-style
 * license that can be found in the LICENSE file.
 */
*,
:before,
:after {
  box-sizing: border-box;
}
html,
.Site {
  height: 100%;
}
.Site {
  display: flex;
  flex-direction: column;
  font-family: sans-serif;
  margin: 0;
}
h1,
h2 {
  font-weight: 600;
  letter-spacing: 0.03rem;
}

h3,
h4 {
  font-weight: 600;
  letter-spacing: 0.08rem;
}
h5,
h6 {
  font-weight: 500;
  letter-spacing: 0.08rem;
}
.Site-content {
  flex: 1 0 auto;
  width: 100%;
}
.Site-header {
  flex: none;
}
.Header {
  padding: 0.625rem;
  background: #d6d6d6;
  color: #171d27;
}
.Site-header--production .Header {
  background: #e0ebf5;
  color: #375eab;
}
.Header-title {
  font-size: 1.5rem;
  margin: 0;
}
.Workflows,
.NewWorkflow {
  padding: 0 0.625rem;
}
.Workflows-header {
  align-items: center;
  background: #fff;
  border-bottom: 0.0625rem solid #d6d6d6;
  display: flex;
  justify-content: space-between;
  margin: 0 -0.625rem;
  padding: 0 0.625rem;
}
.WorkflowList,
.TaskList {
  list-style: none;
  margin: 0;
  padding: 0;
}
.WorkflowList-title {
  font-weight: normal;
  margin: 0.875rem 0 0.5rem 0;
}
.WorkflowList-params {
  border: none;
  border-spacing: 0;
}
.WorkflowList-workflowStateIcon {
  background-size: contain;
  display: inline-block;
  height: 1.25rem;
  margin: -0.25rem 0;
  width: 1.25rem;
}
.Workflowlist-workflowStateIcon--error {
  background-image: url("images/error_red_24dp.svg");
}
.Workflowlist-workflowStateIcon--success {
  background-image: url("images/check_circle_green_24dp.svg");
}
.Workflowlist-workflowStateIcon--pending {
  background-image: url("images/pending_yellow_24dp.svg");
}
.WorkflowList-titleTime {
  font-size: 1rem;
}
.WorkflowList-titleStop {
  float: right;
}
.WorkflowList-paramData:first-child {
  text-transform: capitalize;
}
.WorkflowList-paramData {
  font-size: 0.875rem;
}
.WorkflowList-sectionTitle {
  font-weight: normal;
  letter-spacing: normal;
  margin: 1rem 0 0.5rem 0;
}
.WorkflowList-item {
  background: #fff;
  border: 0.0625rem solid #d6d6d6;
  border-radius: 0.0625rem;
  margin-top: 1rem;
  padding: 0 0.5rem;
}
.NewWorkflow-workflowSelect {
  padding-bottom: 0.5rem;
  border-bottom: 0.0625rem solid #d6d6d6;
}
.NewWorkflow-parameter {
  padding: 0.5rem 0;
  display: flex;
  gap: 0.5rem;
}
.NewWorkflow-parameter--slice {
  flex-direction: column;
}
.NewWorkflow-parameterRow {
  display: flex;
  gap: 0.5rem;
}
.NewWorkflow-parameter--string input {
  flex-grow: 1;
}
.NewWorkflow-parameter--slice textarea {
  font-family: inherit;
  width: 100%;
  height: 4rem;
}
.NewWorkflow-parameter--slice button {
  font-size: 0.625rem;
}
.NewWorkflow-workflowCreate {
  padding-top: 0.5rem;
  border-top: 0.0625rem solid #d6d6d6;
}
.TaskList {
  align-items: center;
  border-bottom: 0.0625rem solid #d6d6d6;
  border-collapse: collapse;
  margin-bottom: 1rem;
  width: 100%;
}
.TaskList-itemHeaderCol {
  padding: 0.3125rem 0;
}
.TaskList-itemCol {
  border-top: 0.0625rem solid #d6d6d6;
  overflow: hidden;
  padding: 0.5rem 0 0.5rem 1px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.TaskList-itemSummary {
  align-items: center;
  cursor: pointer;
  font-size: 0.8125rem;
  padding: 0.5rem;
}
.TaskList-itemSummary:hover {
  background-color: #fafafa;
}
.TaskList-itemExpand {
  padding: 0.25rem 0 0 0;
  text-align: center;
  width: 2rem;
}
.TaskList-itemExpandControl {
  height: 1.5rem;
  width: 1.5rem;
}
.TaskList-expanded .TaskList-itemExpandClosed {
  display: none;
}
.TaskList-ItemExpandOpened {
  display: none;
}
.TaskList-expanded .TaskList-ItemExpandOpened {
  display: inline;
}
.TaskList-itemLogsRow {
  display: none;
}
.TaskList-expanded.TaskList-itemLogsRow {
  display: table-row;
}
.TaskList-itemCol.TaskList-itemState {
  padding: 0.25rem 0 0 0;
  width: 3.25rem;
}
.TaskList-itemStateIcon {
  height: 1.25rem;
  width: 1.25rem;
}
.TaskList-itemLogs {
  background-color: #f5f5f5;
  box-shadow: inset 0 6px 6px -8px #888;
  font-size: 0.8125rem;
  margin: 0;
  padding: 1rem 0;
}
.TaskList-itemLogLine {
  padding: 0 1rem;
  white-space: pre-wrap;
  tab-size: 4;
  font-family: monospace;
}
.TaskList-itemLogLine:nth-child(even) {
  background-color: #fafafa;
}
.TaskList-itemLogLineError {
  background-color: #c9483c;
  color: white;
  padding: 0.5rem 1rem;
}
.TaskList-item {
}
.TaskList-itemHeader {
  align-items: center;
  font-size: 0.8125rem;
  font-weight: bold;
}
.Button {
  border: none;
  background: #375eab;
  border-radius: 0.1875rem;
  box-shadow: 0 0.1875rem 0.0625rem -0.125rem rgba(0, 0, 0, 0.2),
    0 0.125rem 0.125rem 0 rgba(0, 0, 0, 0.14),
    0 0.0625rem 0.3125rem 0 rgba(0, 0, 0, 0.12);
  color: #fff;
  font-size: 0.875rem;
  min-width: 4rem;
  padding: 0.5rem 1rem;
  text-decoration: none;
}
.Button--small {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
}
.Button:hover,
.Button:focus {
  background: #3b65b3;
  box-shadow: 0 0.125rem 0.25rem -0.0625rem rgba(0, 0, 0, 0.2),
    0 0.25rem 0.3125rem 0 rgba(0, 0, 0, 0.14),
    0 0.0625rem 0.625rem 0 rgba(0, 0, 0, 0.12);
}
.Button:active {
  background: #4373cc;
  box-shadow: 0 0.3125rem 0.3125rem -0.1875rem rgba(0, 0, 0, 0.2),
    0 0.5rem 0.625rem 0.0625rem rgba(0, 0, 0, 0.14),
    0 0.1875rem 0.875rem 0.125rem rgba(0, 0, 0, 0.12);
}
.Button--red {
  background: #d14836;
}
.Button--red:hover,
.Button--red:focus {
  background: #c53727;
}
.Button--red:active {
  background: #d14836;
}
