footer.footer
    .container.footer__top
        section.footer1 
            a(href="/features/").footer__title Features
            ul.footer__menu 
                li
                    a(href="/arch/multi-tier-storage.html") Multi-Tier Storage
                li
                    a(href="/arch/native-persistence.html") Native Persistence
                li
                    a(href="/features/sql.html") Distributed SQL
                li
                    a(href="/features/acid-transactions.html") ACID Transactions
                li
                    a(href="/features/key-value-apis.html") Key Value APIs
                li
                    a(href="/features/compute-apis.html") Compute APIs
                li
                    a(href="/features/machinelearning.html") Machine Learning
                li
                    a(href="/features/service-apis.html") Services
                li
                    a(href="/features/streaming.html") Real-Streaming APIs
                li
                    a(href="https://ignite.apache.org/docs/latest/key-value-api/continuous-queries") Continuous Queries
                li
                    a(href="https://ignite.apache.org/docs/latest/messaging") Messaging
        section.footer2
            a(href="/use-cases/").footer__title Use-Cases
            ul.footer__menu 
                li
                    a(href="/use-cases/in-memory-cache.html") In-Memory Cache
                li
                    a(href="/use-cases/in-memory-data-grid.html") In-Memory Data Grid
                li
                    a(href="/use-cases/in-memory-database.html") In-Memory Database
                li
                    a(href="/use-cases/high-performance-computing.html") High-Performance Computing
                li
                    a(href="/use-cases/digital-integration-hub.html") Digital Integration Hub
                li
                    a(href="/use-cases/key-value-store.html") Key-Value Store
                li
                    a(href="/use-cases/spark-acceleration.html") Apache Spark Acceleration
                li
                    a(href="/use-cases/hadoop-acceleration.html") Apache Hadoop Acceleration
        section.footer3
            a(href="/community.html").footer__title Community
            a(href="/resources.html").footer__title Resources
            a(href="/events.html").footer__title Events

        section.footer4
            .footer4__item Join Our <a href="mailto:dev@ignite.apache.org">Dev Mailing List</a>
            .footer4__item.pt-2 Or write your question
            .footer4__item.pt-1 user@ignite.apache.org
            .footer4__item.pt-5 Follow Us:
            .footer4__socwrap.flexi.pt-2
                a.footer4__soc(href="https://github.com/apache/ignite", target="_blank")
                    img(src="/img/icon-github.svg", alt="") 
                a.footer4__soc(href="https://www.linkedin.com/showcase/apache-ignite/", target="_blank")
                    img(src="/img/icon-linkedin.svg", alt="") 
                a.footer4__soc(href="https://twitter.com/apacheignite", target="_blank")
                    img(src="/img/icon-twitter.svg", alt="")
            a.footer4__button(href="https://ignite.apache.org/docs/latest/index").button Start Uing Apache Ignite 
    .container.footer__bot
        p © 2015 - 2021 <a href="http://www.apache.org/">The Apache Software Foundation.</a>
        p.pt-1x Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are either registered trademarks or trademarks of The Apache Software Foundation
        p.pt-1x
            a(href="http://apache.org/foundation/policies/privacy.html") Privacy Policy