-  var config = { hdrClassName: '' }
include ../_components/mixins.pug
doctype html
html(lang="en")
    head
        meta(charset="UTF-8")
        meta(name="viewport",content="width=device-width, initial-scale=1.0, maximum-scale=1")
        title
            block pagetitle
                | Page 
            || Apache Ignite 
        link(rel="stylesheet", href="/js/vendor/hystmodal/hystmodal.min.css")
        link(rel="stylesheet", href="/js/vendor/swiper/swiper-bundle.min.css")
        link(rel="stylesheet", href="/css/utils.css")
        link(rel="stylesheet", href="/css/site.css")
        link(rel="stylesheet", href="/css/media.css", media='only screen and (max-width:1199px)')
        link(rel="icon", type="image/png", href="/img/favicon.png")
        block css
    body
        block main


        a(href="#").scrollTop
            svg.feather.feather-chevron-up(xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewbox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round')
                polyline(points='18 15 12 9 6 15')

        script(src="/js/vendor/hystmodal/hystmodal.min.js")
        script(src="/js/vendor/swiper/swiper-bundle.min.js")
        script(src="/js/vendor/waypoints.min.js")
        script(src="/js/main.js")