<!--
Copyright (C) 2016 The Android Open Source Project

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.
-->
<dom-module id="gr-form-styles">
  <template>
    <style>
      .gr-form-styles h1 {
        margin-bottom: .1em;
      }
      .gr-form-styles h2 {
        margin-bottom: .3em;
      }
      .gr-form-styles fieldset {
        border: none;
        margin-bottom: 2em;
      }
      .gr-form-styles section {
        margin: .25em 0;
        min-height: 2em;
      }
      .gr-form-styles section * {
        vertical-align: middle;
      }
      .gr-form-styles .title,
      .gr-form-styles .value {
        display: inline-block;
      }
      .gr-form-styles .title {
        color: #666;
        font-weight: bold;
        padding-right: .5em;
        width: 11em;
      }
      .gr-form-styles iron-autogrow-textarea {
        font-size: 1em;
      }
      .gr-form-styles th {
        color: #666;
        text-align: left;
        vertical-align: bottom;
      }
      .gr-form-styles td,
      .gr-form-styles tfoot th {
        height: 2em;
        padding: .25em 0;
        vertical-align: middle;
      }
      .gr-form-styles .emptyHeader {
        text-align: right;
      }
      .gr-form-styles tbody tr:nth-child(even):not(.loading) {
        background-color: #f4f4f4;
      }
      .gr-form-styles table {
        width: 50em;
      }
      .gr-form-styles th:first-child,
      .gr-form-styles td:first-child {
        width: 11em;
      }
      .gr-form-styles th:first-child input,
      .gr-form-styles td:first-child input {
        width: 10em;
      }
      .gr-form-styles input:not([type="checkbox"]),
      .gr-form-styles select,
      .gr-form-styles textarea {
        border: 1px solid #d1d2d3;
        border-radius: 2px;
        font-size: 1em;
        height: 2em;
        padding: 0 .15em;
      }
      .gr-form-styles td:last-child {
        width: 5em;
      }
      .gr-form-styles th:last-child gr-button,
      .gr-form-styles td:last-child gr-button {
        width: 100%;
      }
      .gr-form-styles iron-autogrow-textarea {
        border: none;
        height: auto;
        min-height: 2em;
        --iron-autogrow-textarea: {
          border: 1px solid #d1d2d3;
          border-radius: 2px;
          box-sizing: border-box;
          font-size: 1em;
          padding: .25em .15em 0 .15em;
        }
      }
      .gr-form-styles gr-autocomplete {
        border: none;
        --gr-autocomplete: {
          border: 1px solid #d1d2d3;
          border-radius: 2px;
          font-size: 1em;
          height: 2em;
          padding: 0 .15em;
          width: 10em;
        }
      }
      @media only screen and (max-width: 40em) {
        .gr-form-styles section {
          margin-bottom: 1em;
        }
        .gr-form-styles .title,
        .gr-form-styles .value {
          display: block;
        }
        .gr-form-styles table {
          width: 100%;
        }
      }
    </style>
  </template>
</dom-module>
