<?php
/**
 * Copyright (c) 2015, 2018 Eclipse Foundation.
 *
 * This program and the accompanying materials are made
 * available under the terms of the Eclipse Public License 2.0
 * which is available at https://www.eclipse.org/legal/epl-2.0/
 *
 * Contributors:
 * Nathan Gervais (Eclipse Foundation) - Initial implementation
 * Eric Poirier (Eclipse Foundation)
 *
 * SPDX-License-Identifier: EPL-2.0
 */
?>
<div class="col-sm-24">
<div id="fullcolumn" class="heliosBlank clearfix">
  <div class="wantedPoster">
    <img src="images/wanted.png" />
  </div>

  <div class="wantedDesc">
    <h1 class="wanted">Wanted: 360 Friends for Helios</h1>

    <div class="wrapper">
      <p>
        Millions of people use Eclipse. <a href="/donate/">Friends of
          Eclipse</a> allows you to contribute back to the Eclipse
        community. To celebrate the upcoming Helios Release Train we
        want to recruit 360 new Friends of Eclipse.
      </p>
    </div>
    <div class="wrapper">
      <p>
        For a US$35 contribution, you can become a Friend of Eclipse. As
        a special thank you, Friends will get early access to the <a
          href="/helios/">Helios release</a>, direct from the download
        server at the Eclipse Foundation. Your contribution will also
        help support the Eclipse community.
      </p>
    </div>
    <div class="wrapper">
      <div class="star">
        <img src='images/icons/star.png' />
      </div>
      <a class="donate" href="/donate">Donate Now!</a>
    </div>
    <div class="progressBar">
      <div class="progress" style="width: 105px">&nbsp;</div>
      <div class="counter">
        <span class="active">63</span> / 360 friends recruited.
      </div>
    </div>


    <h3>Recent Donors</h3>

    <ul class="donorList clearfix">
      <li>Daniele Gagliardi - $40</li>
      <li>Anonymous - $50</li>
      <li>Anonymous - $35</li>
      <li>Anonymous - $50</li>
      <li>Anonymous - $150</li>
      <li>Anonymous - $35</li>
      <li>Mark Tippetts - $35</li>
      <li>Anonymous - $35</li>
      <li>Anonymous - $35</li>
      <li>Jody Garnett - $35</li>
    </ul>
    <div class="more">
      <a href="/donate/donorlist.php?showAll=0">More</a>
    </div>
    <p
      style="padding-top: 15px; clear: both; font-size: 12px; color: #555;">
      [1] Friends of Eclipse get special access to the Eclipse
      Foundation download server. This server will be available to
      Friends of Eclipse while the download packages are being
      synchronized to our mirrors. This typically means the packages
      will be available up to 24 hrs before everyone else. The Eclipse
      Foundation will also be dedicating extra bandwidth to this
      download server, so Friends should experience a faster download.</p>

  </div>

</div>
</div>