<?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="jumbotron breadcrumbs-offset">
  <div class="container">
    <div class="content">
      <?php print $Paypal->get_client_message();?>
      <h1><?php print $pageTitle;?></h1>
      <p>Eclipse is a great <a href="#">IDE and community</a>. We want to make it even better!<br>All money donated by Friends of Eclipse will go directly to funding <a href="#">Eclipse development</a>. </p>
    </div>
  </div>
</div>


<div class="accomplished">
  <header>
    <div class="container">
      <div class="row">
        <div class="col-md-24 content-container">
          <h2>What we&#39;ve accomplished <strong>Together!</strong></h2>
        </div>
      </div>
    </div>
  </header>

  <div class="container">
    <div class="row">
      <div class="col-sm-12">
        <div class="row">
          <div class="col-xs-24">
            <img class="pull-left" src="images/checkmark.png" alt="Checkmark" />
            <p>Improve the install experience for Mac</p>
          </div>
          <div class="col-xs-24">
            <img class="pull-left" src="images/checkmark.png" alt="Checkmark" />
            <p>Made GTK3 support even better</p>
          </div>
        </div>
      </div>
      <div class="col-sm-12">
        <div class="row">
          <div class="col-xs-24">
            <img class="pull-left" src="images/checkmark.png" alt="Checkmark" />
            <p>Helped implement features in JDT</p>
          </div>
          <div class="col-xs-24">
            <img class="pull-left" src="images/checkmark.png" alt="" />
            <p>Performance improvements to p2</p>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

<div class="thankyou">
  <header>
    <div class="container">
      <div class="row">
        <div class="col-md-12">
          <h2><strong>Thank you</strong></h2>
        </div>
        <div class="col-md-12 hidden-sm hidden-xs">
          <h2><strong><sup>$</sup>100 +</strong> Best Friends of Eclipse</h2>
        </div>
      </div>
    </div>
  </header>
  <div class="container">
    <div class="row">
      <div class="col-md-12">
        <div class="row">
          <div class="col-md-24">
            <a href="http://www.ericsson.com/" target="_blank" title="Ericsson website">
              <img class="pull-left img-responsive" src="images/logo/ericsson.png" alt="Ericsson" width="150">
            </a>
          </div>
        </div>
      </div> <!-- end of .col-md-12 -->
      <div class="col-md-12 hidden-sm hidden-xs">
        <?php print $donationlist_html;?>
        <p class="text-center more"><a href="donorlist.php">MORE <i class="fa fa-chevron-down"></i></a></p>
      </div> <!-- end of .col-md-12 -->
    </div>
  </div>
  <header class="visible-sm visible-xs">
    <div class="container">
      <div class="row">
        <div class="col-sm-24">
          <h2><strong><sup>$</sup>100 +</strong> Best Friends of Eclipse</h2>
        </div>
      </div>
    </div>
  </header>
  <div class="container visible-sm visible-xs">
    <div class="row">
      <div class="col-sm-24">
        <?php print $donationlist_html;?>
         <p class="text-center more"><a href="donorlist.php">MORE <i class="fa fa-chevron-down"></i></a></p>
      </div> <!-- end of .col-sm-24 -->
    </div>
  </div>
</div><!-- end of .thankyou -->

<div class="friends">
  <header>
    <div class="container">
      <div class="row">
        <div class="col-md-24">
          <h2><strong><sup>$</sup>35 +</strong> Friends of Eclipse</h2>
        </div>
      </div>
    </div>
  </header>
  <div class="container">
    <div class="row">
      <?php print $donationlist_35_html;?>
    </div>
    <div class="row">
      <div class="col-sm-6 col-sm-offset-8">
        <p class="text-center more"><a href="donorlist.php#friends">MORE <i class="fa fa-chevron-down"></i></a></p>
      </div>
    </div>
  </div>
</div>
