/* 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. */

/* The main (outer) container. */
#metro-setup-outer-container {
  -webkit-box-align: center;
  -webkit-box-orient: vertical;
  -webkit-box-pack: start;
  background-color: rgba(255, 255, 255, 0.75);
  bottom: 0;
  display: -webkit-box;
  left: 0;
  overflow: auto;
  position: fixed;
  right: 0;
  top: 0;
  transition: 200ms opacity;
}

/* The page block within the outer container. */
#metro-setup-outer-container .page {
  -webkit-box-orient: vertical;
  background: white;
  background-color: white;
  border-radius: 3px;
  color: #333;
  display: -webkit-box;
  min-width: 40px;
  padding-top: 90px;
  position: relative;
  user-select: none;
  width: 500px;
}

#metro-setup-outer-container .page .content-area {
  -webkit-box-flex: 1;
  margin: 0;
  overflow: auto;
  padding: 0;
}

#metro-setup-overlay {
  background-color: transparent;
  margin: 0;
  width: 100%;
}

/* Page Title. */
#metro-title-container {
  display: block;
  margin: 37px 44px 35px;
  text-align: center;
}

#metro-setup-outer-container .page h1 {
  border-bottom: 0;
  color: #323232;
  font-size: 300%;
  font-weight: normal;
  margin: 0;
  padding-bottom: 0;
  padding-top: 0;
  text-align: center;
}

#metro-setup-outer-container .page h2 {
  border-bottom: 0;
  color: #787878;
  font-size: 150%;
  font-weight: normal;
  margin-bottom: 84px;
  margin-top: 15px;
  text-align: center;
}

#metro-setup-overlay .content-area {
  padding: 10px 15px;
  text-align: end;
}

/* Action buttons. */
#metro-action-box button {
  -webkit-margin-end: 0.4em;
  -webkit-margin-start: 0;
  border-radius: 2px;
  display: inline-block;
  font-size: 13px;
  height: 32px;
  line-height: 27px;
  margin-top: 0;
  min-width: 80px;
  transition: all 218ms;
  user-select: none;
}

#metro-action-box button:hover {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
  transition: all 0ms;
}

#metro-action-box button:focus {
  box-shadow: inset 0 0 0 1px white;
  outline: none;
  z-index: 4 !important;
}

#metro-action-box button:active,
#metro-action-box button:focus:active {
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
}

#metro-action-box button:focus:hover {
  box-shadow: inset 0 0 0 1px white, 0 1px 1px rgba(0, 0, 0, 0.1);
}

#metro-action-box button[disabled],
#metro-action-box button[disabled]:hover,
#metro-action-box button[disabled]:active {
  background-color: rgb(77, 144, 254);
  border: 1px solid rgb(48, 121, 237);
  box-shadow: none;
  color: white;
  opacity: 0.5;
}

/* Launch button has a special look-and-feel. */
#metro-action-box #launch-button {
  background-image: -webkit-linear-gradient(top, rgb(77, 144, 254),
                                                 rgb(71, 135, 237));
  border: 1px solid rgb(48, 121, 237);
  color: white;
  font-weight: bold;
}

#metro-action-box #launch-button:hover {
  background-image: -webkit-linear-gradient(top, rgb(77, 144, 254),
                                                 rgb(53, 122, 232));
  border-color: rgb(47, 91, 183);
  color: white;
}

#metro-action-box #launch-button:focus {
  border-color: rgb(77, 144, 254);
  outline: none;
  z-index: 4 !important;
}

.button-strip {
  margin: 1px;
  text-align: center;
}

#chrome-logo-box {
  bottom: 30px;
  position: absolute;
  text-align: center;
  width: 100%;
}
