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")
