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

<link rel="import" href="/bower_components/polymer/polymer.html">
<link rel="import" href="/bower_components/iron-overlay-behavior/iron-overlay-behavior.html">
<link rel="import" href="../../../styles/shared-styles.html">

<dom-module id="gr-overlay">
  <template>
    <style include="shared-styles">
      :host {
        background: var(--dialog-background-color);
        box-shadow: rgba(0, 0, 0, 0.3) 0 1px 3px;
      }

      @media screen and (max-width: 50em) {
        :host {
          height: 100%;
          left: 0;
          position: fixed;
          right: 0;
          top: 0;
        }
      }
    </style>
    <slot></slot>
  </template>
  <script src="gr-overlay.js"></script>
</dom-module>
