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

/* Don't use the large margin used for the navigation bar. Settings App uses a
 * 20px margin for headings + 18px for sections.
 */
html.settings-app body.uber-frame {
  -webkit-margin-start: 38px;
}

/* There is a tweak in uber_shared.css to improve touch events around the
 * navigation bar (which is not used for the settings app) in reaction to a
 * webkit bug (wk95204). We need to reset back to the original style.
 */
@media(pointer:coarse) {
  html.settings-app body.uber-frame section {
    -webkit-padding-start: 18px;
  }
  html.settings-app body.uber-frame section > h3 {
    -webkit-margin-start: -18px;
  }
}

html.settings-app body.uber-frame header {
  left: 20px;
  min-width: 400px;
}

html.settings-app #content-settings-page .content-area {
  -webkit-margin-start: 18px;
}

/* Settings App is narrower due to no navigation margin, so the roomy language
 * overlay needs to be trimmed down. 25% is taken off the original height and
 * the width is trimmed proportional to (half) the reduction due to the removal
 * of the left margin.
 */
html.settings-app .language-options-left {
  height: 300px;
  width: 228px;
}

html.settings-app .language-options-right {
  height: 300px;
  width: 288px;
}
