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

#error-message {
  max-width: 650px;
}

.show-with-ui-state-update,
.show-with-ui-state-signin,
.show-with-ui-state-locally-managed,
.show-with-ui-state-kiosk-mode,
.show-with-ui-state-local-state-error,
.show-with-error-state-portal,
.show-with-error-state-offline,
.show-with-error-state-proxy,
.show-with-error-state-auth-ext-timeout,
.guest-signin,
.offline-login {
  display: none;
}

.ui-state-update .show-with-ui-state-update,
.ui-state-signin .show-with-ui-state-signin,
.ui-state-locally-managed .show-with-ui-state-locally-managed,
.ui-state-kiosk-mode .show-with-ui-state-kiosk-mode,
.ui-state-local-state-error .show-with-ui-state-local-state-error,
.error-state-portal .show-with-error-state-portal,
.error-state-offline .show-with-error-state-offline,
.error-state-proxy .show-with-error-state-proxy,
.error-state-auth-ext-timeout .show-with-error-state-auth-ext-timeout,
.allow-guest-signin .guest-signin,
.allow-offline-login .offline-login {
  display: block;
}

#oobe.error-message #step-logo {
  z-index: 1;
}

.error-header {
  background-clip: padding-box;
  background-image: -webkit-linear-gradient(rgba(255,255,255,0.99),
                                            rgba(255,255,255,0.97));
  border-bottom: 1px solid rgba(238,238,238,0.97);
  padding: 71px 20px 50px;
  text-align: center;
}

.error-icon {
  -webkit-margin-after: 40px;
}

.error-title {
  color: #606060;
  font-size: 15px;
}

.error-body {
  background-image: -webkit-linear-gradient(rgba(249,249,249,0.97),
                                            rgba(249,249,249,0.95));
  padding: 20px 20px 20px;
}

.error-controls {
  background-image: -webkit-linear-gradient(rgba(249,249,249,0.95),
                                            rgba(249,249,249,0.93));
  padding: 20px 20px 20px;
}

.error-message-paragraph {
  font-size: 12px;
  line-height: 18px;
}

.error-message-paragraph {
  -webkit-margin-before: 20px;
}

.error-message-paragraph a {
  color: rgb(17,85,204);
  text-decoration: none;
}

#offline-network-control {
  -webkit-align-items: center;
  display: -webkit-flex;
}

.offline-network-list-label {
  -webkit-margin-end: 10px;
}
