<!--
// 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.
-->
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta name="viewport" content="width=device-width,initial-scale=1">
  <meta http-equiv="Content-Language" content="en" />
  <link rel="shortcut icon" type="image/png" href="dashboard.assets/img/couchdb-logo.png"/>
  <title><%= htmlWebpackPlugin.options.title %></title>

  <!-- Application styles. -->
  <style>
    .noscript-warning {
      font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
      padding: 1px 30px 10px 30px;
      color: #fff;
      background: @brandHighlight;
      margin: 100px;
      box-shadow: 2px 2px 5px #989898;
    }
  </style>

</head>

<body id="home">

  <noscript>
    <div class="noscript-warning">
      <h1>Please turn on JavaScript</h1>
      <p>Fauxton <strong>requires</strong> JavaScript to be enabled.</p>
    </div>
  </noscript>


  <div id="app"></div>

 <!-- <%= htmlWebpackPlugin.options.generationLabel %> : <%= htmlWebpackPlugin.options.generationDate %> -->
</body>
</html>
