{% extends "basic.html" %}


{% block title %}Apache TomEE & OpenEJB{% endblock %}
{% block content %}
    <div class="hero-unit">
        <div class="row">
            <div class="span10">
                <img src="resources/images/your-logo-here.png" alt="">
            </div>
            <div class="span3">
                <div class="featured-video">
                    <a href="http://youtu.be/eCrtoSTZ2RE">
                        <img src="resources/images/oreilly-interview.png" width="140" height="85" alt="Apache TomEE interview with O'Reilly Media">
                    </a>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="span14">
                <p>
                    TomEE needs a logo!  Today at Devoxx we are announcing a logo contest.
                    From now till December 15th, you can get your artistic side going and
                    submit as many logos as you want.
                    Once the entries are in the project will vote and the winner will
                    have their creation immortalized on the website, a fresh new batch of TomEE T-Shirts
                    and in conference swag at tons of TomEE talks in 2013.
                </p>
                <p>
                    <b>UPDATE</b>: The contest has been extended to <b>January 15th</b>!  Additional feline entries encouraged (wildcat, jaguar, leaopard, tiger, etc).  Artists are also encouraged to submit variations on existing logos!
                </p>
                <p><a class="btn primary large" href="https://issues.apache.org/jira/browse/TOMEE-574">Submit</a></p>
            </div>
        </div>
    </div>

{% endblock %}
