<?php
/*******************************************************************************
 * Copyright (c) 2015 Eclipse Foundation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *    Christopher Guindon (Eclipse Foundation) - Initial implementation
 *******************************************************************************/
?>

<div class="col-md-8">
  <div class="well sidebar">
    <h2>Thanks to <br><strong>Friends of Eclipse</strong></h2>
    <p><strong>Your donations have helped fund the following improvements:</strong></p>
    <ul class="list-unstyled">
      <li>Mac install experience improved</li>
      <li>Made GTK3 support even better</li>
      <li>Helped implement features in JDT</li>
      <li>Performance improvements to p2</li>
    </ul>
    <hr/>
    <p><a href="/donate/credit.php"><i class="fa fa-chevron-right"></i> See who has donated</a></p>
    <p><a href="/donate/benefits.php"><i class="fa fa-chevron-right"></i> Friends of Eclipse Benefits</a></p>
  </div>
</div>