/*
 * 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-titleTime {
  font-size: 1rem;
}
.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 input {
  flex-grow: 1;
}
.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;
}
.TaskList-itemLogLine:nth-child(even) {
  background-color: #fafafa;
}
.TaskList-itemLogLineError {
  background-color: #c9483c;
  color: white;
}
.TaskList-errorBody {
  display: block;
  white-space: pre-wrap;
}
.TaskList-item {
}
.TaskList-itemHeader {
  align-items: center;
  font-size: 0.8125rem;
  font-weight: bold;
}
.Button {
  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: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);
}
