footer
    .container
        .row
            .col-md-9
                p Copyright © 2017-#{copyRightYear}, The Apache Software Foundation Apache ECharts, ECharts, Apache, the Apache feather, and the Apache ECharts project logo are either registered trademarks or trademarks of the Apache Software Foundation.
                .icon-panel
                    a.footer-icon(href='mailto:dev@echarts.apache.org?body=%28Thanks%20for%20using%20ECharts.%20Email%20us%20if%20you%20have%20non-technical%20problems%20using%20ECharts.%20For%20technical%20support%2C%20please%20go%20to%20https%3A//github.com/apache/echarts/issues%20.%29')
                        img(src='#{cdnPayRoot}/#{ecWWWLang}/images/icon-email.png?_v_=#{cdnPayVersion}')
                    a.footer-icon(href='https://twitter.com/ApacheECharts')
                        img(src='#{cdnPayRoot}/#{ecWWWLang}/images/icon-twitter.png?_v_=#{cdnPayVersion}')
                    a.footer-icon(href='https://weibo.com/echarts')
                        img(src='#{cdnPayRoot}/#{ecWWWLang}/images/icon-weibo.png?_v_=#{cdnPayVersion}')
                    a.footer-icon(href='https://github.com/apache/echarts')
                        img(src='#{cdnPayRoot}/#{ecWWWLang}/images/icon-github.png?_v_=#{cdnPayVersion}')
            .col-md-3#footer-icon-panel
                a(href='https://www.apache.org')
                    img(src='#{cdnPayRoot}/#{ecWWWLang}/images/asf_logo.svg?_v_=#{cdnPayVersion}', class="footer-apache-logo")
