    <div class="footer-tools">
        {{ with .File }}
            <a title="Improve this document, receive free virtual hugs &hearts;" href="https://github.com/apache/camel-website/edit/master/content/{{ .Path | replaceRE "^/" "" }}">Edit this Page</a>
        {{ end }}
        <a href="#top" title="Reach the top of the page">Back to top</a>
    </div>
    <footer>
        <div class="footer">
            <dl>
                <figure class="logo">
                    <img class="logo" src="/_/img/logo-d.svg" alt="Apache Camel Logo"
                        aria-label="white silhouette of a camel in front of a sand dune">
                </figure>
                <dt>Overview</dt>
                <input type="checkbox" id="show-overview"/>
                <label for="show-overview"><img class="show-menu" src="/_/img/show-footer-menu.svg"></label>
                <label for="show-overview"><img class="hide-menu" src="/_/img/hide-footer-menu.svg"></label>
                <div class="footer-menu">
                    <dd><a href="/blog/">Blog</a></dd>
                    <dd><a href="/docs/">Documentation</a></dd>
                    <dd><a href="/community/support/">Community</a></dd>
                    <dd><a href="/blog/">Download</a></dd>
                </div>
            </dl>
            <dl>
                <dt>Documentation</dt>
                <input type="checkbox" id="show-docs"/>
                <label for="show-docs"><img class="show-menu" src="/_/img/show-footer-menu.svg"></label>
                <label for="show-docs"><img class="hide-menu" src="/_/img/hide-footer-menu.svg"></label>
                <div class="footer-menu">
                    <dd><a href="/manual/latest/">User Manual</a></dd>
                    <dd><a href="/components/latest/index.html">Components</a></dd>
                    <dd><a href="/camel-k/latest/">Camel-K</a></dd>
                    <dd><a href="/camel-kafka-connector/latest/">Camel Kafka Connector</a></dd>
                    <dd><a href="/camel-quarkus/latest/">Camel Quarkus</a></dd>
                    <dd><a href="/camel-spring-boot/latest/">Camel Spring Boot</a></dd>
                    <dd><a href="/camel-karaf/latest/">Camel Karaf</a></dd>
                    <dd><a href="/manual/latest/faq/index.html">FAQ</a></dd>
                </div>
            </dl>
            <dl>
                <dt>Community</dt>
                <input type="checkbox" id="show-community"/>
                <label for="show-community"><img class="show-menu" src="/_/img/show-footer-menu.svg"></label>
                <label for="show-community"><img class="hide-menu" src="/_/img/hide-footer-menu.svg"></label>
                <div class="footer-menu">
                    <dd><a href="/community/support/">Support</a></dd>
                    <dd><a href="/manual/latest/contributing.html">Contributing</a></dd>
                    <dd><a href="/manual/latest/mailing-lists.html">Mailing Lists</a></dd>
                    <dd><a href="/community/user-stories/">User stories</a></dd>
                    <dd><a href="/community/articles/">Articles</a></dd>
                    <dd><a href="/community/books/">Books</a></dd>
                    <dd><a href="/community/team/">Team</a></dd>
                </div>
            </dl>
            <dl>
                <dt>About</dt>
                <input type="checkbox" id="show-about"/>
                <label for="show-about"><img class="show-menu" src="/_/img/show-footer-menu.svg"></label>
                <label for="show-about"><img class="hide-menu" src="/_/img/hide-footer-menu.svg"></label>
                <div class="footer-menu">
                    <dd><a href="/acknowledgments/">Acknowledgments</a></d>
                    <dd><a target="_blank" rel="noopener noreferrer nofollow" href="https://www.apache.org/events/current-event.html" title="Apache Events">Apache Events</a></dd>
                    <dd><a target="_blank" rel="noopener noreferrer nofollow" href="https://www.apache.org/licenses/" title="License">License</a></dd>
                    <dd><a target="_blank" rel="noopener noreferrer nofollow" href="https://www.apache.org/security/" title="Security">Security</a></dd>
                    <dd><a target="_blank" rel="noopener noreferrer nofollow" href="https://www.apache.org/foundation/sponsorship.html" title="Sponsorship">Sponsorship</a></dd>
                    <dd><a target="_blank" rel="noopener noreferrer nofollow" href="https://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></dd>
                </div>
            </dl>
            <p class="remark">
                &copy; 2004-{{ now.Format "2006" }} The <a href="https://apache.org">Apache Software Foundation</a>.<br>
                Apache Camel, Camel, Apache, the Apache feather logo, and the Apache Camel project logo are trademarks of
                The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of
                their respective owners.
                {{ if and (not .Page.Section) (eq (getenv "CAMEL_ENV") "netlify") }}
                    <a href="https://netlify.com">This site is powered by Netlify</a>
                {{ end }}
            </p>
            <div class="resources">
                <div class="context">
                    <a href="/privacy-policy/">Privacy Policy</a>
                </div>
                <div class="context">
                    <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.apache.org/foundation/policies/conduct">Code of Conduct</a>
                </div>
            </div>
            <div class="break-row-footer"></div>
            <div id="social-media" class="footer-icons">
                <a rel="noopener noreferrer nofollow" href="https://github.com/apache/camel/" title="Collaborate on GitHub"><svg class="brand-icon"><use href="{{ "_/img/brand-logos.svg#github" | relURL }}" /></svg></a>
                <a rel="noopener noreferrer nofollow" href="https://gitter.im/apache/apache-camel" title="Chat on Gitter"><svg class="brand-icon"><use href="{{ "/_/img/brand-logos.svg#gitter" | relURL }}" /></svg></a>
                <a rel="noopener noreferrer nofollow" href="https://twitter.com/ApacheCamel" title="Follow Apache Camel on Twitter"><svg class="brand-icon"><use href="{{ "/_/img/brand-logos.svg#twitter" | relURL }}" /></svg></a>
            </div>
        </div>
    </footer>
    <script src="{{ path.Join "_" (index .Site.Data "rev-manifest" "js/vendor/algoliasearch.js") | relURL }}"></script>
    <script src="{{ path.Join "_" (index .Site.Data "rev-manifest" "js/site.js") | relURL }}"></script>
    <script async src="{{ path.Join "_" (index .Site.Data "rev-manifest" "js/vendor/highlight.js") | relURL }}"></script>
    <script async src="{{ path.Join "_" (index .Site.Data "rev-manifest" "js/vendor/svg4everybody.js") | relURL }}"></script>
    {{ partial "seo/main" . }}

</body>
</html>
