<?php
/**
 * Copyright (c) 2015, 2016, 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:
 *   Christopher Guindon (Eclipse Foundation) - Initial implementation
 *   Eric Poirier (Eclipse Foundation)
 *
 * SPDX-License-Identifier: EPL-2.0
 */
?>
<div class="jumbotron breadcrumbs-offset">
  <div class="container">
    <div class="content">
      <?php print $Paypal->get_client_message();?>
      <h1><?php print $pageTitle;?></h1>
      <p>Eclipse technology is a success thanks to our awesome open source
      community. We want to make it even better! All donations
      go directly to funding Eclipse Platform development.</p>
    </div>
  </div>
</div>
<div class="thankyou">
  <div class="section-title">
    <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>
  </div>
  <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>
  <div class="section-title 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>
  </div>
  <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">
  <div class="section-title">
    <div class="container">
      <div class="row">
        <div class="col-md-24">
          <h2><strong><sup>$</sup>35 +</strong> Friends of Eclipse</h2>
        </div>
      </div>
    </div>
  </div>
  <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>
