-  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="/css/utils.css")
        link(rel="stylesheet", href="/css/site.css")
        block 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")
        
    body
        block main

        include ./footer.pug


        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/smoothscroll.js")
        script(src="/js/main.js")