<!DOCTYPE html>
<html lang="en">

<head>
<title>{{ page.title }} - Apache Brooklyn (incubating)</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
<link href="{{site.url}}/style/css/bootstrap-theme.css" rel="stylesheet">
<link href="{{site.url}}/style/css/theme.css" rel="stylesheet">
</head>

<body>

<nav class="navbar navbar-default navbar-fixed-top" id="header" role="navigation">
    <div class="container">
        <div class="container-fluid">
            <!-- Brand and toggle get grouped for better mobile display -->
            <div class="navbar-header">
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                {% if page.navgroup != 'home' %}<a class="navbar-brand" href="{{site.url}}"><img src="{{site.url}}/style/img/apache-brooklyn-logo-244px-wide.png" alt="brooklyn"></a>{% endif %}
            </div>

            <!-- Collect the nav links, forms, and other content for toggling -->
            <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                <ul class="nav navbar-nav navbar-right">
                    {% for navgroup in site.data.navgroups %}
                    {% if navgroup.page.menu2 %}
                    <li class="dropdown{% if page.navgroup == navgroup.id %} active{% endif %}">
                        <a href="{{site.url}}{{navgroup.page.url}}">{{navgroup.title}}</a>
                        <ul class="dropdown-menu" role="menu">
                            <li>
                                <a href="{{site.url}}{{navgroup.page.url}}">{{navgroup.title_in_menu}}</a>
                            </li>
                            <li class="divider"></li>
                            {% for child in navgroup.page.menu2 %}
                            <li>
                                <a href="{{site.url}}{{child.reference.url}}">{{child.reference.title}}</a>
                            </li>
                            {% endfor %}
                        </ul>
                    </li><!-- {{ navgroup.id }} -->
                    {% else %}
                    <li class="{% if page.navgroup == navgroup.id %}active{% endif %}"><a href="{{site.url}}{{navgroup.page.url}}">{{navgroup.title}}</a></li><!-- {{ navgroup.id }} -->
                    {% endif %}
                    {% endfor %}
                </ul>
            </div><!-- /.navbar-collapse -->
        </div><!-- /.container-fluid -->
    </div>
</nav>

{{ content }}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
<script language="JavaScript" type="application/javascript">
    $(window).resize(function () { 
        $('body').css('padding-top', parseInt($('#header').css("height"))+10);
        $('body').css('padding-bottom', parseInt($('#footer').css("height"))+10);
    });
    
    $(window).load(function () { 
        $('body').css('padding-top', parseInt($('#header').css("height"))+10);        
        $('body').css('padding-bottom', parseInt($('#footer').css("height"))+10);
    });</script>
</body>
</html>

