diff --git a/content/en_index.php b/content/en_index.php
index d25fa92..2d669e2 100644
--- a/content/en_index.php
+++ b/content/en_index.php
@@ -1,23 +1,18 @@
-<div class="discover-search breadcrumbs-offset">
-  <div class="container">
-      <div class="col-xs-24">
-        <div class="row">
-          <h2>Discover</h2>
-          <p class="orange"><strong>Find an Eclipse open source project.</strong></p>
-          <form id="form-discover-search" class="col-md-8 form-inline form-search-projects input-group custom-search-form" role="form" action="https://projects.eclipse.org/">
-            <input id="discover-search-box" class="form-control" type="text" size="25" name="combine" placeholder="Search">
-            <span class="input-group-btn">
-              <button class="btn btn-default" type="submit">
-                <i class="fa fa-search"></i>
-              </button>
-            </span>
-          </form>
-          <br/>
-          <p><a class="btn btn-info uppercase fw-700" href="//projects.eclipse.org">List of projects</a></p>
-        </div>
-      </div>
-  </div>
-</div>
+<?php
+/**
+ * Copyright (c) 2014, 2018 Eclipse Foundation and others.
+ *
+ * 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 API and implementation
+ *    Eric Poirier (Eclipse Foundation)
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+?>
 
 <div class="step-by-step">
   <div class="container">
@@ -30,23 +25,23 @@
     </div>
     <div class="row step-by-step-timeline">
       <div class="col-sm-6 step">
-        <a href="/contribute"><img src="/projects/images/projects_contribute.jpg" href="How to contribute"/></a>
-        <p><a href="/contribute" class="btn btn-info uppercase fw-700">How to contribute</a></p>
+        <a class="step-icon" href="/contribute"><i data-feather="help-circle" stroke-width="1"></i></a>
+        <p><a href="/contribute" class="btn btn-info">How to contribute</a></p>
       </div>
 
       <div class="col-sm-6 step">
-        <a href="/projects/handbook/#starting"><img src="/projects/images/projects_start.jpg" href="Start a new project"/></a>
-        <p><a href="/projects/handbook/#starting" class="btn btn-info uppercase fw-700">Start a new project</a></p>
+        <a class="step-icon" href="/projects/handbook/#starting"><i data-feather="zap" stroke-width="1"></i></a>
+        <p><a href="/projects/handbook/#starting" class="btn btn-info">Start a new project</a></p>
       </div>
 
       <div class="col-sm-6 step">
-        <a href="/projects/handbook"><img src="/projects/images/projects_running.jpg" href="Running a project"/></a>
-        <p><a href="/projects/handbook" class="btn btn-info uppercase fw-700">Running a project</a></p>
+        <a class="step-icon" href="/projects/handbook"><i data-feather="book-open" stroke-width="1"></i></a>
+        <p><a href="/projects/handbook" class="btn btn-info">Running a project</a></p>
       </div>
 
       <div class="col-sm-6 step">
-        <a href="/projects/project_activity.php"><img src="/projects/images/projects_news.jpg" href="Project Activity"/></a>
-        <p><a href="/projects/project_activity.php" class="btn btn-info uppercase fw-700">Project Activity</a></p>
+        <a class="step-icon" href="/projects/project_activity.php"><i data-feather="activity" stroke-width="1"></i></a>
+        <p><a href="/projects/project_activity.php" class="btn btn-info">Project Activity</a></p>
       </div>
     </div>
   </div>
diff --git a/index.php b/index.php
index 83c6017..a3a2c42 100644
--- a/index.php
+++ b/index.php
@@ -30,11 +30,40 @@
 $variables['main_container_classes'] = 'container-project';
 $Theme->setThemeVariables($variables);
 
+ob_start();
+?>
+<div class="jumbotron featured-jumbotron margin-bottom-0">
+  <div class="container">
+    <div class="row">
+      <div class="col-md-20 col-md-offset-2 col-sm-18 col-sm-offset-3">
+        <h1>Discover</h1>
+         <p>Find an Eclipse open source project.</p>
+         <div class="row">
+          <div class="col-sm-offset-8 col-sm-8">
+            <form id="form-discover-search" class="form-inline form-search-projects custom-search-form margin-bottom-10" role="form" action="https://projects.eclipse.org/">
+              <input id="discover-search-box" class="textfield-underline form-control text-center" type="text" size="25" name="combine" placeholder="Search projects">
+              <button class="btn btn-primary" type="submit">
+                 <i class="fa fa-search"></i> Search
+               </button>
+            </form>
+          </div>
+         </div>
+         <p><a style="font-size:14px;" href="//projects.eclipse.org">List of projects</a></p>
+      </div>
+    </div>
+  </div>
+</div>
+<?php
+$extra_header_html = ob_get_clean();
+$Theme->setExtraHeaderHtml($extra_header_html);
+
 // Place your html content in a file called content/en_pagename.php
 ob_start();
 include("content/en_" . $App->getScriptName());
 $html = ob_get_clean();
 $Theme->setHtml($html);
+$Theme->setAttributes('header-wrapper', 'header-default-bg-img');
 $Theme->removeAttributes('breadcrumbs', 'breadcrumbs-default-margin');
+
 # Generate the web page
 $Theme->generatePage();
\ No newline at end of file
