/*
 * Copyright 2018 The Cobalt Authors. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
*/

body, html {
  padding: 0;
  font-family: roboto-regular;
  background-color: #2f2f2f;
  bottom: 0;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  overflow: hidden;
  width: 90%;
  height: 100%;
}

.dialog {
  background-color: #000;
  height: 80%;
  margin-top: 7%;
  position: relative;
}

.header {
  border-bottom: 1px solid rgba(255,255,255,.2);
  height: 2.5em;
  margin: 0 1.5em;
}

.title {
  color: rgba(255,255,255,.5);
  display: block;
  font-weight: normal;
  height: 3em;
  line-height: 3em;
  padding-bottom: .5em;
}

.content {
  color: #fff;
  margin-left: 20%;
  margin-right: 20%;
  font-size: 1.4em;
  line-height: 1.1em;
  padding-top: 5em;
}
