/* Copyright 2016 The Vanadium Authors. All rights reserved. */
/* Use of this source code is governed by a BSD-style */
/* license that can be found in the LICENSE file. */

body {
  font-family: Roboto;
  font-weight: 400;
  font-style: normal;
  font-color: #37474F;
  -webkit-font-smoothing: antialiased;
  font-size: 12px;
  line-height: 20px;
  padding: 0px;
  margin: 0px;
  overflow: hidden;
}

.allocatord {
  overflow: auto;
}

.allocatord .main {
  margin: 84px 24em 28px 28px;
  padding: 28px 56px;
  max-width: 900px;
  margin-right: 10px;
}

.allocatord .btns-col {
  padding: 16px 16px 16px 0;
  width: 130px;
  flex: 0;
  position: relative;
}

.allocatord .btns-col .button-passive {
  width: 110px;
  text-align: center;
  margin-top: 4px;
}

.allocatord .btn-warning a {
  color: #FF4F1A;
  border: 1px solid #FF4F1A;
  -webkit-transition: background-color 0.28s cubic-bezier(0.4, 0.0, 0.2, 1);
  transition: background-color 0.28s cubic-bezier(0.4, 0.0, 0.2, 1);
}

.allocatord .btn-warning a:hover, .allocatord .btn-destroy a:active {
  color: #FFFFFF;
  background-color: #FF4F1A;
}

.allocatord .blessings-item .blessing-details {
  padding: 16px 10px 16px 10px;
  flex: 1;
}

.allocatord .blessing-caveats {
  font-size: 13px;
  line-height: 15px;
  padding-top: 8px;
}

.allocatord .blessing-caveats span {
  font-weight: 500;
}

.allocatord #createBtn {
  margin-top: 20px;
  margin-bottom: 20px;
}

.allocatord #message {
  padding-top: 2px;
  font-size: 11px;
  border-top: 1px solid #CCC;
}

#container {
  position: fixed;
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
}

#header {
  display: flex;
  justify-content: space-between;
  background-color: #00838F;
  box-shadow: rgba(0, 0, 0, 0.20) 0px 2px 4px 0px;
  width: 100%;
  height: 48px;
  line-height: 48px;
  color: white;
  font-size: 16px;
  font-weight: 400;
  z-index: 9999;
  position: absolute;
  top: 0px;
  left: 0px;
}

#header div {
  margin-left: 10px;
  margin-right: 10px;
}

#header #title {
  width: 300px;
}

#header #email {
  width: 300px;
  text-align: right;
}

.mg-y-axis text, .mg-x-axis text {
  font-size: 11px;
}

.mg-header {
  font-size: 16px;
}

.mg-active-datapoint {
  font-size: 12px;
}

#charts {
  display: flex;
  flex-wrap: wrap;
  overflow-y: auto;
  align-content: flex-start;
  position: absolute;
  top: 48px;
  bottom: 0px;
  justify-content: center;
}

.chart {
  margin-top: 20px;
}

.chart.filler {
  width: 700px;
}

#durations-container {
  position: absolute;
  left: 0px;
  bottom: 0px;
  background-color: white;
  opacity: 0.8;
}

#loading-label {
  padding-left: 6px;
  color: #FF4F1A;
}

#durations {
  display: flex;
  height: 20px;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
}

.duration-item {
  font-size: 12px;
  width: 24px;
  height: 20px;
  line-height: 20px;
  text-align: center;
  cursor: pointer;
  color: #777;
}

.duration-item.selected {
  cursor: default;
  background-color: #00838F;
  color: white;
}

.duration-item:not(.selected):hover {
  background-color: #CCC;
}

#error-msg {
  position: fixed;
  right: 0px;
  bottom: 0px;
  padding: 2px 4px 2px 4px;
  background-color: #AA0000;
  color: white;
  display: none;
}
