<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width,
                                 initial-scale=1,
                                 minimum-scale=1,
                                 maximum-scale=1,
                                 user-scalable=no,
                                 minimal-ui">

  {{! Hide the browser chrome (url bar, bottom nav buttons). }}
  <meta name="apple-mobile-web-app-capable" content="yes">
  <meta name="mobile-web-app-capable" content="yes">

  <meta name="apple-mobile-web-app-status-bar-style" content="black">

  <title>{{# page.title }}{{ page.title }} - {{/ page.title }}Vanadium</title>

  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300italic,400,400italic,500,500italic,700,700italic|Source+Code+Pro">

  <link rel="stylesheet" href="/css/github.css">
  <link rel="stylesheet" href="/css/material.min.css">
  <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">

  <script src="/js/react-0.14.3.min.js"></script>
  <script src="/js/react-dom-0.14.3.min.js"></script>

  <link rel="apple-touch-icon" sizes="57x57" href="/favicons/apple-touch-icon-57x57.png">
  <link rel="apple-touch-icon" sizes="114x114" href="/favicons/apple-touch-icon-114x114.png">
  <link rel="apple-touch-icon" sizes="72x72" href="/favicons/apple-touch-icon-72x72.png">
  <link rel="apple-touch-icon" sizes="144x144" href="/favicons/apple-touch-icon-144x144.png">
  <link rel="apple-touch-icon" sizes="60x60" href="/favicons/apple-touch-icon-60x60.png">
  <link rel="apple-touch-icon" sizes="120x120" href="/favicons/apple-touch-icon-120x120.png">
  <link rel="apple-touch-icon" sizes="76x76" href="/favicons/apple-touch-icon-76x76.png">
  <link rel="apple-touch-icon" sizes="152x152" href="/favicons/apple-touch-icon-152x152.png">
  <link rel="apple-touch-icon" sizes="180x180" href="/favicons/apple-touch-icon-180x180.png">
  <link rel="icon" type="image/png" sizes="16x16" href="/favicons/favicon-16x16.png">
  <link rel="icon" type="image/png" sizes="32x32" href="/favicons/favicon-32x32.png">
  <link rel="icon" type="image/png" sizes="96x96" href="/favicons/favicon-96x96.png">
  <link rel="icon" type="image/png" sizes="160x160" href="/favicons/favicon-160x160.png">
  <link rel="icon" type="image/png" sizes="192x192" href="/favicons/favicon-192x192.png">
  <meta name="msapplication-TileColor" content="#00acc1">
  <meta name="msapplication-TileImage" content="/favicons/mstile-144x144.png">

  <link rel="stylesheet" href="/css/bundle.{{ page.theme }}{{^ page.theme }}cyan{{/ page.theme }}.css">
  <script src="/js/bundle.js"></script>
  <script>
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

    ga('create', 'UA-59720824-6', 'auto');
    ga('send', 'pageview');
  </script>
</head>
