<!--
Copyright (C) 2017 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="shared-styles">
  <template>
    <style>
      /* CSS reset */
      html, body, button, div, span, applet, object, iframe, h1, h2, h3,
      h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite,
      code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub,
      sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form,
      label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article,
      aside, canvas, details, embed, figure, figcaption, footer, header, hgroup,
      main, menu, nav, output, ruby, section, summary, time, mark, audio, video {
        border: 0;
        box-sizing: border-box;
        font-size: 100%;
        font: inherit;
        margin: 0;
        padding: 0;
        vertical-align: baseline;
      }
      input,
      iron-autogrow-textarea {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
      }
      a {
        color: var(--color-link);
      }
      input,
      textarea,
      select,
      button {
        font: inherit;
      }
      body {
        line-height: 1;
      }
      ol, ul {
        list-style: none;
      }
      blockquote, q {
        quotes: none;
      }
      blockquote:before, blockquote:after,
      q:before, q:after {
        content: '';
        content: none;
      }
      table {
        border-collapse: collapse;
        border-spacing: 0;
      }
      /* Other Shared Styles*/
      h1 {
        font-size: 2em;
        font-family: var(--font-family-bold);
      }
      h2 {
        font-size: 1.5em;
        font-family: var(--font-family-bold);
      }
      h3 {
        font-size: 1.17em;
        font-family: var(--font-family-bold);
      }
      iron-icon {
        color: #757575;
        --iron-icon-height: 20px;
        --iron-icon-width: 20px;
      }
      /* Stopgap solution until we remove hidden$ attributes. */
      [hidden] {
        display: none !important;
      }
      .separator {
        background-color: rgba(0, 0, 0, .3);
        height: 20px;
        margin: 0 8px;
        width: 1px;
      }
      .separator.transparent {
        background-color: transparent;
      }
      paper-toggle-button {
        --paper-toggle-button-checked-bar-color: var(--color-link);
        --paper-toggle-button-checked-button-color: var(--color-link);
      }
    </style>
  </template>
</dom-module>
