{#
    zephyr/layout.html
    ~~~~~~~~~~~~~~~~~~~~~

    Sphinx layout template for the zephyr project theme.

    :copyright: Copyright 2007-2015 by the Sphinx team, see AUTHORS.
    :license: BSD, see LICENSE for details.
#}
{%- extends "basic/layout.html" %}

{# put the sidebar before the body #}
{% block sidebar1 %}{{ sidebar() }}{% endblock %}
{% block sidebar2 %}{% endblock %}
{%- block footer %}
    <div class="footer" role="contentinfo">
    {%- if show_license %}
<a rel="license"
   href="http://creativecommons.org/licenses/by/4.0/"> <img alt="Creative
   Commons License" style="border-width:0; height: 12px"
   src="https://i.creativecommons.org/l/by/4.0/88x31.png" /></a>  This work
   is licensed under a <a rel="license"
   href="http://creativecommons.org/licenses/by/4.0/">Creative Commons
   Attribution 4.0 International License</a> -
    {%- endif %}
    {%- if show_copyright %}
      {%- if hasdoc('copyright') %}
        {% trans path=pathto('copyright'), copyright=copyright|e %}&copy; <a href="{{ path }}">Copyright</a> {{ copyright }}.{%
endtrans %}
      {%- else %}
        {% trans copyright=copyright|e %}&copy; Copyright {{ copyright }}.{% endtrans %}
      {%- endif %}
    {%- endif %}
    {%- if last_updated %}
      {% trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %}
    {%- endif %}
    {%- if show_sphinx %}
      {% trans sphinx_version=sphinx_version|e %}Created using <a href="http://sphinx-doc.org/">Sphinx</a> {{ sphinx_version }}.
{% endtrans %}
    {%- endif %}
    </div>
{%- endblock %}
