<!--
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.
-->

<link rel="import" href="../../../behaviors/base-url-behavior/base-url-behavior.html">
<link rel="import" href="../../../bower_components/polymer/polymer.html">

<dom-module id="gr-placeholder">
  <template>
    <style>
      main {
        margin: 2em auto;
        max-width: 46em;
      }
      h1 {
        margin-bottom: .1em;
      }
      @media only screen and (max-width: 67em) {
        main {
          margin: 2em 0 2em 15em;
        }
      }
      @media only screen and (max-width: 53em) {
        .loading {
          padding: 0 var(--default-horizontal-margin);
        }
        main {
          margin: 2em 1em;
        }
      }
    </style>
    <main>
      <h1>[[title]]</h1>
      <section>
        This page is not yet implemented in PolyGerrit. View it in the
        <a id="gwtLink" href$="[[computeGwtUrl(path)]]" rel="external">
        Old UI</a>
      </section>
    </main>
  </template>
  <script src="gr-placeholder.js"></script>
</dom-module>
