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

body {
  margin: 10px;
  min-width: 47em;
}

a {
  color: blue;
  font-size: 103%;
}

#header {
  -webkit-padding-start: 0;
  box-sizing: border-box;
  margin-bottom: 1.05em;
  /* 67px is the height of the header's background image. */
  min-height: 67px;
  overflow: hidden;
  padding-bottom: 20px;
  padding-top: 20px;
  position: relative;
}

#header > h1 {
  background: -webkit-image-set(
      url('../../app/theme/default_100_percent/common/extensions_section.png') 1x,
      url('../../app/theme/default_200_percent/common/extensions_section.png') 2x)
      0 20px no-repeat;
  display: inline;
  margin: 0;
  padding-bottom: 40px;
  padding-left: 75px;
  padding-top: 40px;
}

html[dir=rtl] #header > h1 {
  background: -webkit-image-set(
      url('../../app/theme/default_100_percent/common/extensions_section.png') 1x,
      url('../../app/theme/default_200_percent/common/extensions_section.png') 2x)
      right no-repeat;
  padding-left: 0;
  padding-right: 95px;
}

h1 {
  font-size: 156%;
  font-weight: bold;
  margin: 0;
  padding: 0;
}

#disabled-container {
  font-size: 120%;
  padding-bottom: 1.5em;
}

#disabled-header {
  color: red;
  font-weight: bold;
}

.content {
  margin-top: 5px;
}

.section-header {
  -webkit-padding-start: 5px;
  background: rgb(235, 239, 249);
  border-top: 1px solid rgb(181, 199, 222);
  font-size: 99%;
  padding-bottom: 2px;
  padding-top: 3px;
  width: 100%;
}

.section-header > table tr td:first-child {
  width: 100%;
}

.section-header > table tr {
  vertical-align: center;
}

.section-header > table {
  width: 100%;
  border-collapse:collapse
}

.section-header-title {
  font-weight: bold;
}

.vbox-container {
  -webkit-box-orient: vertical;
  display: -webkit-box;
}

.wbox {
  -webkit-box-align: stretch;
  -webkit-box-flex: 1;
  display: -webkit-box;
}

#top {
  -webkit-padding-end: 5px;
}

.show-in-tmi-mode {
  overflow: hidden;
}

body.hide-tmi-mode-initial .show-in-tmi-mode {
  height: 0 !important;
  opacity: 0;
}

body.hide-tmi-mode .show-in-tmi-mode {
  -webkit-transition: all 100ms ease-out;
  height: 0 !important;
  opacity: 0;
}

body.show-tmi-mode-initial .show-in-tmi-mode {
  opacity: 1;
}

body.show-tmi-mode .show-in-tmi-mode {
  -webkit-transition: all 100ms ease-in;
  opacity: 1;
}

.wbox-tmi-mode {
  -webkit-box-align: stretch;
  -webkit-box-flex: 1;
}

.tmi-mode-image {
  margin-top: 2px;
  padding-left: 5px;
  padding-right: 5px;
}

.tmi-mode-link {
  margin-right: 3px;
  white-space: nowrap;
}

.tmi-mode-link a {
  font-size: 97%;
}

.tmi-mode {
  -webkit-padding-start: 10px;
  background: rgb(244, 246, 252);
  border-bottom: 1px solid rgb(237, 239, 245);
  font-size: 89%;
  padding-bottom: 0.8em;
  padding-top: 0.8em;
  width: 100%;
}

.component-disabled {
  background-color: #f0f0f0;
  color: #a0a0a0;
}

.component > tr > td {
  padding-bottom: 4px;
  padding-top: 5px;
  vertical-align: top;
}

.component > table {
  width: 100%;
  border-collapse:collapse
}

.plugin-file {
  padding-bottom: 5px;
  padding-top: 5px;
}

.component {
  border-bottom: 1px solid #cdcdcd;
}

.critical {
  color: red;
}

/* Indent the text related to each plug-in. */
.component-text {
  -webkit-padding-start: 5px;
}

.component-name {
  font-weight: bold;
}

.no-components {
  font-size: 1.2em;
  margin: 6em 0 0;
  text-align: center;
}

/* Use tables for layout, so eliminate extra spacing. */
.plugin-details table {
  -webkit-border-horizontal-spacing: 0;
  -webkit-border-vertical-spacing: 0;
}

.plugin-details {
  -webkit-padding-start: 1em;
}

/* Separate the inital line, Description, Location, and MIME Types lines. */
.plugin-details > div {
  padding-top: 0.1em
}

/* Align rows of tables along the top. */
.plugin-details tr {
  vertical-align: top;
}

/* Separate columns by 1em for the most part. */
.plugin-details td+td {
  -webkit-padding-start: 1em;
}

/* Make the MIME Types tables smaller. */
.plugin-details .mime-types {
  font-size: 95%;
}

/* Separate the header from the contents in each MIME Types table. */
.plugin-details .mime-types .header td {
  border-bottom: 1px solid black;
  padding-bottom: 0.1em;
}

/* Separate the columns for tables used for horizontal listings only a bit. */
.hlisting td+td {
  -webkit-padding-start: 0.4em;
}

/* Match the indentation of .plugin-text. */
.component-actions {
  -webkit-padding-start: 5px;
  margin-bottom: 0.2em;
  margin-top: 0.2em;
}

.always-allow {
  -webkit-margin-start: 30px;
}

button {
  font-size: 104%;
}
