<!-- REMEMBER TO COPY ALL CHANGES TO download.html -->
<footer id="footer" class="bg-gray-shadow">
    <div class="wrapper">
    <div class="container">
        <div class="row">
            <nav class="col-md-4">
                <ul class="list-unstyled">
                    <li><a href="/features.html">Features</a></li>
                    <li><a href="/docs-and-apis.html">Documentation</a></li>
                    <li><a href="/community/resources.html">Ask Question</a></li>
                    <li><a href="/download.cgi">Download</a></li>
                    <li><a href="/community/contribute.html">Contribute</a></li>
                </ul>

                <ul class="social-networks list-unstyled">
                    <li><a href="https://www.linkedin.com/company/apache-ignite" aria-label="Linkedin" class="icon-linkedin" target="_blank" rel="noopener"></a></li>
                    <li><a href="https://twitter.com/ApacheIgnite" aria-label="Twitter" class="icon-twitter" target="_blank" rel="noopener"></a></li>
                    <li><a href="https://plus.google.com/109419715166167783665" aria-label="Google Plus" class="icon-google-plus" target="_blank" rel="noopener"></a></li>
                    <li><a href="https://www.facebook.com/Apache-Ignite-813431118713318/" aria-label="Facebook" class="icon-facebook" target="_blank" rel="noopener"></a></li>
                </ul>
            </nav>
            <div class="col-md-8 copyright">
                <p>&copy; 2015 - 2020 <a href="http://www.apache.org/">The Apache Software Foundation</a>.<br/>
                    Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are either registered trademarks
                    or trademarks of The Apache Software Foundation. <br /><a href="http://apache.org/foundation/policies/privacy.html" target="_blank">Privacy Policy</a></p> 

                    <div class="footer-logos">
                        <a class="ignite" href="#wrapper"><img src="/images/ignite_logo_full.svg" alt="Apache Ignite Logo"></a>
                        <a class="apache" href="https://donate.apache.org/"><img src="/images/support-apache-opt.png" alt="Apache Software Foundation" /></a>
                    </div>
                
                    
            </div>
        </div>
    </div>
</div>
</footer>
