extend ../_components/base.pug

block pagetitle
    | Powered By 

block css 
    link(rel="stylesheet", href="../css/usecases.css")


block main
    - global.pageHref = "use-cases/provenusecases.html"
    - config.hdrClassName = "hdr__grey"
    include ../_components/header.pug


    section.grayhero 
        .container 
            h1.grayhero__h1.h1.
                Apache Ignite Is Chosen
                By&nbsp;Leading Companies
                Across The World
            .grayhero__logos.flexi
                span.grayhero__logo
                    img(src="/public/img/poweredby/logos/microsoft.svg", alt="") 
                span.grayhero__logo
                    img(src="/public/img/poweredby/logos/netflix.svg", alt="") 
                span.grayhero__logo
                    img(src="/public/img/poweredby/logos/apple.png", alt="") 
                span.grayhero__logo
                    img(src="/public/img/poweredby/logos/dreamworks.png", alt="") 
                span.grayhero__logo
                    img(src="/public/img/poweredby/logos/yahoo.svg", alt="") 
                span.grayhero__logo
                    img(src="/public/img/poweredby/logos/bloomberg.svg", alt="")
                span.grayhero__logo
                    img(src="/public/img/poweredby/logos/sberbank.svg", alt="") 
                span.grayhero__logo
                    img(src="/public/img/poweredby/logos/paypal.svg", alt="") 
                span.grayhero__logo
                    img(src="/public/img/poweredby/logos/banco-do-brasil.svg", alt="")
    // /.grayhero



    section.powered2.container
        h2.h4 Explore Featured Stories
        p.powered2__descr.h5.pt-2 You can find dozens of&nbsp;Apache Ignite case-studies across various industries:
        .powered2__grid.pt-5
            .powered2item eCommerce
            .powered2item Pharma & Healthcare
            .powered2item Financial Services
            .powered2item Banking
            .powered2item Internet of things
            .powered2item Logistics & Transportation
            .powered2item Retail
            .powered2item Leisure & Hospitality
            .powered2item Entertainment
            .powered2item Defense
            .powered2item Gaming
            .powered2item Biotech
            .powered2item Software & SaaS
            .powered2item Telecommunications
    // /.powered2

    section.poweredbanner.container
        .poweredbanner__bg.flexi
            .poweredbanner__left.flexi 
                h3.h4 Do&nbsp;you have an&nbsp;Apache Ignite use-case to&nbsp;share?
                p.pt-1.fz20 Reach&nbsp;us out on&nbsp;the <a href="mailto:dev@ignite.apache.org" target="_blank">Ignite dev list</a>, and we&rsquo;ll add it&nbsp;to&nbsp;this page
            .poweredbanner__right
                //- a.button(href="#").poweredbanner__button Lets go
    // /.poweredbanner


    include ../_components/powered-videos.pug




            
