<!--
Copyright (C) 2015 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-change-list-styles">
  <template>
    <style>
      .keyboard,
      .star {
        align-items: center;
        display: flex;
        justify-content: center;
        padding: 0;
        width: 2em;
      }
      .star {
        padding-top: .05em;
      }
      .subject {
        flex-grow: 1;
        flex-shrink: 1;
        word-break: break-word;
      }
      .status {
        width: 9em;
      }
      .owner {
        width: 15em;
      }
      .project,
      .branch {
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
      }
      .project {
        width: 10em;
      }
      .branch {
        width: 7em;
      }
      .updated {
        width: 6em;
        text-align: right;
      }
      .size {
        width: 9em;
        text-align: right;
      }
      .label {
        width: 2.6em;
        text-align: center;
      }
      :host {
        font-size: 11px;
      }
      @media only screen and (min-width: 1240px) {
        :host {
          font-size: 12px;
        }
      }
      @media only screen and (min-width: 1340px) {
        :host {
          font-size: 13px;
        }
      }
      @media only screen and (min-width: 1450px) {
        :host {
          font-size: 14px;
        }
      }
    </style>
  </template>
</dom-module>
