<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you 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>

  <!--[if lt IE 7]>
    <html class="lt-ie9 lt-ie8 lt-ie7" lang="en">
  <![endif]-->

  <!--[if IE 7]>
    <html class="lt-ie9 lt-ie8" lang="en">
  <![endif]-->

  <!--[if IE 8]>
    <html class="lt-ie9" lang="en">
  <![endif]-->

  <!--[if gt IE 8]>
    <!-->
    <html lang="en">
    <!--
  <![endif]-->

  <head>
    <meta charset="utf-8">
    <title>Heron Admin</title>
    <meta content="width=device-width, initial-scale=1.0, user-scalable=no" name="viewport">
    <link rel="shortcut icon" href="{{ static_url('img/logo54x54.png') }}" type="image/x-icon" >
    <script src="{{ static_url('js/html5-trunk.js') }}"></script>

    <!-- bootstrap css -->
    <link href="{{ static_url('css/bootstrap.css') }}" rel="stylesheet">

    <!-- custom css -->
    <link href="{{ static_url('css/main.css') }}" rel="stylesheet">

  </head>

  <body>

    <!-- Main Container start -->
    <div class="main-container">
      <div class="row">
        <div class="col-md-12">
          <div class="error-container">
            <h1>Oops!</h1>
            <h2>{{errormessage}}</h2>
            <div class="error-actions">
              <a href="/" class="btn btn-danger">Back to Home</a>
            </div>
          </div>
        </div>
      </div>
    </div>
    <!-- Main Container end -->

  </body>
</html>
