diff --git a/tools/droiddoc/templates-sdk-dev/assets/css/default.css b/tools/droiddoc/templates-sdk-dev/assets/css/default.css
index 93172fe..04f4b90 100644
--- a/tools/droiddoc/templates-sdk-dev/assets/css/default.css
+++ b/tools/droiddoc/templates-sdk-dev/assets/css/default.css
@@ -8601,11 +8601,26 @@
 .dac-custom-search-entry {
   margin-bottom: 36px;
   margin-top: 24px;
+  margin-left:10px;
+}
+
+.dac-custom-search-entry.cols:after {
+    clear: none; }
+
+.dac-custom-search-image-wrapper {
+  float: left;
+  position: relative;
 }
 
 .dac-custom-search-image {
   background-size: cover;
   height: 112px;
+  width:150px;
+  margin-right:15px;
+}
+
+.dac-custom-search-text-wrapper {
+  position: relative;
 }
 
 .dac-custom-search-title {
@@ -8614,6 +8629,7 @@
   font-weight: 700;
   line-height: 24px;
   padding: 0;
+  clear:none;
 }
 
 .dac-custom-search-title a {
@@ -8732,11 +8748,21 @@
   padding-bottom: 40px;
 }
 
+#dac-search-results-reference {
+  float:right;
+  z-index:999;
+}
+
+@media (max-width: 719px) {
+  #dac-search-results-reference {
+    float:none;
+  }
+}
+
 .dac-search-results-reference {
   background: white;
   box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.21);
   margin: 0 0 20px 0;
-  height: 340px;
   overflow: hidden;
   padding: 6px 0 4px;
 }
diff --git a/tools/droiddoc/templates-sdk-dev/assets/js/docs.js b/tools/droiddoc/templates-sdk-dev/assets/js/docs.js
index 4141433..f64b41e 100644
--- a/tools/droiddoc/templates-sdk-dev/assets/js/docs.js
+++ b/tools/droiddoc/templates-sdk-dev/assets/js/docs.js
@@ -5336,7 +5336,7 @@
       key: 'AIzaSyCFhbGnjW06dYwvRCU8h_zjdpS4PYYbEe8',
       q: query,
       start: start || 1,
-      num: 6,
+      num: 9,
       hl: getSearchLang(),
       fields: 'queries,items(pagemap,link,title,htmlSnippet,formattedUrl)'
     };
@@ -5360,11 +5360,11 @@
 
       if (hasImage) {
         var image = item.pagemap.cse_thumbnail[0];
-        entry.append($('<div>').addClass('col-1of6')
+        entry.append($('<div>').addClass('dac-custom-search-image-wrapper')
           .append($('<div>').addClass('dac-custom-search-image').css('background-image', 'url(' + image.src + ')')));
       }
 
-      entry.append($('<div>').addClass(hasImage ? 'col-5of6' : 'col-6of6')
+      entry.append($('<div>').addClass('dac-custom-search-text-wrapper')
         .append($('<p>').addClass('dac-custom-search-section').text(section))
         .append(
           $('<a>').text(item.title).attr('href', item.link).wrap('<h2>').parent().addClass('dac-custom-search-title')
@@ -5437,8 +5437,8 @@
     renderResults(referenceCard, results, query, false);
   };
 
-  var ROW_COUNT_COLLAPSED = 10;
-  var ROW_COUNT_EXPANDED = 33;
+  var ROW_COUNT_COLLAPSED = 20;
+  var ROW_COUNT_EXPANDED = 40;
   var ROW_COUNT_GOOGLE_COLLAPSED = 1;
   var ROW_COUNT_GOOGLE_EXPANDED = 8;
 
@@ -5463,9 +5463,7 @@
     var link = $('<a>').attr('href', window.toRoot + match.link);
 
     var label = match.label;
-    console.log("labeld:" +classNameStart);
     var classNameStart = label.match(/[A-Z]/) ? label.search(/[A-Z]/) : label.lastIndexOf('.') + 1;
-        console.log("label:" +label.substr(0, classNameStart));
     var newLink = '<span class="namespace">' +
       label.substr(0, classNameStart) +
       '</span>' +
@@ -5540,10 +5538,6 @@
       // Reserve space for "No reference results"
       googleCount--;
     }
-      var nn = results.android.length;
-      var showing = androidCount;
-        console.log('ac ' + androidCount);
-      console.log('res ' + results.android.length);
 
     renderAndroidResults(list, results.android.slice(0, androidCount), query);
     renderGoogleDocsResults(list, results.docs.slice(0, googleCount - 1), query);
@@ -5555,13 +5549,11 @@
 
     // Tweak see more logic to account for references.
     var hasMore = totalResults > ROW_COUNT_COLLAPSED && !util.matchesMedia('mobile');
-
     if (hasMore) {
       // We can't actually show all matches, only as many as the expanded list
       // will fit, so we actually lie if the total results count is more
       var moreCount = Math.min(totalResults, ROW_COUNT_EXPANDED + ROW_COUNT_GOOGLE_EXPANDED);
-      var $moreLink = $('<li class="dac-search-results-reference-entry-empty " data-toggle="show-more">and '
-        + moreCount +' more matches</li>');
+      var $moreLink = $('<li class="dac-search-results-reference-entry-empty " data-toggle="show-more">see more matches</li>');
       list.append($moreLink.on('click', onToggleMore));
     }
     var searchEl = $('#search-resources');
diff --git a/tools/droiddoc/templates-sdk-dev/customizations.cs b/tools/droiddoc/templates-sdk-dev/customizations.cs
index 5fe579c..d5a6960 100644
--- a/tools/droiddoc/templates-sdk-dev/customizations.cs
+++ b/tools/droiddoc/templates-sdk-dev/customizations.cs
@@ -136,23 +136,16 @@
         <div id="dac-search-results-hero"></div>
 
         <div class="dac-search-results-hero cols">
-          <div id="dac-search-results-reference" class="col-2of6 col-tablet-1of2 col-mobile-1of1">
+          <div id="dac-search-results-reference" class="col-3of6 col-tablet-1of2 col-mobile-1of1">
             <div class="suggest-card reference no-display">
               <ul class="dac-search-results-reference">
               </ul>
             </div>
           </div>
-
-          <div id="dac-custom-search" class="dac-custom-search">
-            <div class="wrap dac-offset-parent">
-              <a class="dac-fab dac-scroll-button" data-scroll-button="" data-scroll-container="#search-results" href="#dac-custom-search">
-                <i class="dac-sprite dac-arrow-down-gray"></i>
-              </a>
-            </div>
-          </div>
-
+          <div id="dac-custom-search-results"></div>
         </div>
       </div>
+
     </div>
   </div>
 <?cs /def ?>
