diff --git a/res/css/content.sass b/res/css/content.sass
index 61896fef4bf0957901ee94a066f418be8fe74ae9..60416a3dae51a60586dcd8e812bbd964d2f7392e 100644
--- a/res/css/content.sass
+++ b/res/css/content.sass
@@ -1,3 +1,5 @@
+@import "util"
+
 .results
   max-width: 1136px
   padding: 56px 2rem 4rem 2rem
@@ -21,45 +23,160 @@
       border-bottom: 1px solid transparent
       border-top: 1px solid transparent
       color: #616161
-      margin-top: 20px
-      padding-bottom: 10px
-      padding-left: 22px
-      position: relative
+      margin: 0
+      background: #f2f2f2
+      padding: 20px 6px 10px 22px
+      position: sticky
+      top: 55px
+      z-index: 1
+      transition: all 400ms
       will-change: transform, -webkit-transform
-
-    .inline-button
-      display: block
-      background: #f5f5f5
-      font-size: 16px
-      height: 48px
-      line-height: 48px
-      color: rgb(113, 113, 113)
-      text-align: center
-      font-style: italic
-      cursor: pointer
-      -webkit-user-select: none
-      -moz-user-select: none
-      position: relative
+      display: flex
 
       &:before
+        content: ""
+        display: block
+        position: absolute
+        left: -16px
+        width: 16px
+        top: 0
         bottom: 0
-        box-shadow: 0 -1px 0 #e5e5e5, 0 0 2px rgba(0, 0, 0, .12), 0 2px 4px rgba(0, 0, 0, .24)
-        content: ''
+        background: #f2f2f2
+
+      &:after
+        content: ""
         display: block
-        left: 0
-        pointer-events: none
         position: absolute
-        right: 0
+        right: -16px
+        width: 16px
         top: 0
+        bottom: 0
+        background: #f2f2f2
+
+      @media(max-width: 800px)
+        margin-left: 0
+        margin-right: 0
+        padding-left: 22px
+        padding-right: 6px
+
+        &:after, &:before
+          display: none
+
+      h2
+        flex: 1
+        line-height: 36px
+
+      button
+        border-radius: 3px
+        box-shadow: none
+        color: #444444
+        text-transform: uppercase
+        border: none
+        transition: all 0.4s
+        position: relative
+        font-weight: normal
+        display: inline-block
+        margin-bottom: 0
+        text-align: center
+        vertical-align: middle
+        touch-action: manipulation
+        cursor: pointer
+        background: transparent none
+        white-space: nowrap
+        padding: 6px 16px
+        font-size: 13px
+        line-height: 1.846
+        -moz-user-select: none
+        text-decoration: none
+        box-sizing: border-box
+        font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif
+
+        &:hover
+          background-color: rgba(0,0,0,0.06)
+
+        &:after
+          content: ""
+          display: block
+          position: absolute
+          width: 100%
+          height: 100%
+          top: 0
+          left: 0
+          background: radial-gradient(circle, #444444 10%, transparent 10.01%) no-repeat 50%
+          background-size: 1000% 1000%
+          opacity: 0
+          pointer-events: none
+          transition: background .5s, opacity 1s
+
+        &:active
+          &:after
+            background-size: 0 0
+            opacity: .2
+            transition: 0s
+
+        &:before
+          content: "Open"
+
+    &:not(.selected) .context:nth-child(4)~.context
+      display: none
+
+    &.selected
+      background-color: #ddd
+      border: rgba(0, 0, 0, .4)
+      padding: 20px 16px
+      margin-top: 20px
+      margin-left: -16px
+      margin-right: -16px
+
+      @media(max-width: 800px)
+        margin: 0 0 20px 0
+        padding: 0
+
+      .title
+        margin: 0 -16px
+        padding: 20px 22px 10px 38px
+        background: #ddd
+
+        @media(max-width: 800px)
+          margin: 0
+          padding: 20px 6px 10px 22px
+
+        button
+          &:before
+            content: "Close"
 
-    &:not(.selected)
       .container
         > .inline-button
-          display: none
+          display: block
 
     .container
       font-size: 13px
 
+      > .inline-button
+        display: none
+        background: #f5f5f5
+        font-size: 16px
+        height: 48px
+        line-height: 48px
+        color: rgb(113, 113, 113)
+        text-align: center
+        font-style: italic
+        cursor: pointer
+        @include vendor-prefix('user-select', 'none')
+        position: sticky
+        bottom: 0
+
+        &:before
+          bottom: 0
+          box-shadow: 0 -1px 0 #e5e5e5, 0 0 2px rgba(0, 0, 0, .12), 0 2px 4px rgba(0, 0, 0, .24)
+          content: ''
+          display: block
+          left: 0
+          pointer-events: none
+          position: absolute
+          right: 0
+          top: 0
+
       .context
         .container
         .before
diff --git a/res/css/search.css b/res/css/search.css
index 8719007398d32a5af95ee35d1e80daf2417c2737..2459894a62f5371266435d60d793cf994e3f43c4 100644
--- a/res/css/search.css
+++ b/res/css/search.css
@@ -50,6 +50,9 @@ body {
 *:focus {
   outline: none; }
 
+::-moz-focus-inner {
+  border: 0; }
+
 .nav {
   position: fixed;
   left: 0;
@@ -228,38 +231,143 @@ body {
       border-bottom: 1px solid transparent;
       border-top: 1px solid transparent;
       color: #616161;
-      margin-top: 20px;
-      padding-bottom: 10px;
-      padding-left: 22px;
-      position: relative;
-      will-change: transform, -webkit-transform; }
-    .results .buffer .inline-button {
-      display: block;
-      background: #f5f5f5;
-      font-size: 16px;
-      height: 48px;
-      line-height: 48px;
-      color: #717171;
-      text-align: center;
-      font-style: italic;
-      cursor: pointer;
-      -webkit-user-select: none;
-      -moz-user-select: none;
-      position: relative; }
-      .results .buffer .inline-button:before {
+      margin: 0;
+      background: #f2f2f2;
+      padding: 20px 6px 10px 22px;
+      position: sticky;
+      top: 55px;
+      z-index: 1;
+      transition: all 400ms;
+      will-change: transform, -webkit-transform;
+      display: flex; }
+      .results .buffer .title:before {
+        content: "";
+        display: block;
+        position: absolute;
+        left: -16px;
+        width: 16px;
+        top: 0;
         bottom: 0;
-        box-shadow: 0 -1px 0 #e5e5e5, 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 4px rgba(0, 0, 0, 0.24);
+        background: #f2f2f2; }
+      .results .buffer .title:after {
         content: "";
         display: block;
-        left: 0;
-        pointer-events: none;
         position: absolute;
-        right: 0;
-        top: 0; }
-    .results .buffer:not(.selected) .container > .inline-button {
+        right: -16px;
+        width: 16px;
+        top: 0;
+        bottom: 0;
+        background: #f2f2f2; }
+@media(max-width: 800px) {
+  .results .buffer .title {
+    margin-left: 0;
+    margin-right: 0;
+    padding-left: 22px;
+    padding-right: 6px; }
+    .results .buffer .title:after, .results .buffer .title:before {
+      display: none; } }
+      .results .buffer .title h2 {
+        flex: 1;
+        line-height: 36px; }
+      .results .buffer .title button {
+        border-radius: 3px;
+        box-shadow: none;
+        color: #444444;
+        text-transform: uppercase;
+        border: none;
+        transition: all 0.4s;
+        position: relative;
+        font-weight: normal;
+        display: inline-block;
+        margin-bottom: 0;
+        text-align: center;
+        vertical-align: middle;
+        touch-action: manipulation;
+        cursor: pointer;
+        background: transparent none;
+        white-space: nowrap;
+        padding: 6px 16px;
+        font-size: 13px;
+        line-height: 1.846;
+        -moz-user-select: none;
+        text-decoration: none;
+        box-sizing: border-box;
+        font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif; }
+        .results .buffer .title button:hover {
+          background-color: rgba(0, 0, 0, 0.06); }
+        .results .buffer .title button:after {
+          content: "";
+          display: block;
+          position: absolute;
+          width: 100%;
+          height: 100%;
+          top: 0;
+          left: 0;
+          background: radial-gradient(circle, #444444 10%, transparent 10.01%) no-repeat 50%;
+          background-size: 1000% 1000%;
+          opacity: 0;
+          pointer-events: none;
+          transition: background 0.5s, opacity 1s; }
+        .results .buffer .title button:active:after {
+          background-size: 0 0;
+          opacity: 0.2;
+          transition: 0s; }
+        .results .buffer .title button:before {
+          content: "Open"; }
+    .results .buffer:not(.selected) .context:nth-child(4) ~ .context {
       display: none; }
+    .results .buffer.selected {
+      background-color: #ddd;
+      border: rgba(0, 0, 0, 0.4);
+      padding: 20px 16px;
+      margin-top: 20px;
+      margin-left: -16px;
+      margin-right: -16px; }
+@media(max-width: 800px) {
+  .results .buffer.selected {
+    margin: 0 0 20px 0;
+    padding: 0; } }
+      .results .buffer.selected .title {
+        margin: 0 -16px;
+        padding: 20px 22px 10px 38px;
+        background: #ddd; }
+@media(max-width: 800px) {
+  .results .buffer.selected .title {
+    margin: 0;
+    padding: 20px 6px 10px 22px; } }
+        .results .buffer.selected .title button:before {
+          content: "Close"; }
+      .results .buffer.selected .container > .inline-button {
+        display: block; }
     .results .buffer .container {
       font-size: 13px; }
+      .results .buffer .container > .inline-button {
+        display: none;
+        background: #f5f5f5;
+        font-size: 16px;
+        height: 48px;
+        line-height: 48px;
+        color: #717171;
+        text-align: center;
+        font-style: italic;
+        cursor: pointer;
+        -webkit-user-select: none;
+        -moz-user-select: none;
+        -ms-user-select: none;
+        -o-user-select: none;
+        user-select: none;
+        position: sticky;
+        bottom: 0; }
+        .results .buffer .container > .inline-button:before {
+          bottom: 0;
+          box-shadow: 0 -1px 0 #e5e5e5, 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 4px rgba(0, 0, 0, 0.24);
+          content: "";
+          display: block;
+          left: 0;
+          pointer-events: none;
+          position: absolute;
+          right: 0;
+          top: 0; }
       .results .buffer .container .context:not(.selected) > .before, .results .buffer .container .context:not(.selected) > .after {
         display: none; }
       .results .buffer .container .context:not(.selected) > .inline-button {
diff --git a/res/css/search.css.map b/res/css/search.css.map
index 970f550b52893e9d63cb61600395c6d08b2229b3..995ec969a78e97c28557d53f2feca620e462a173 100644
--- a/res/css/search.css.map
+++ b/res/css/search.css.map
@@ -1,6 +1,6 @@
 {
 "version": 3,
-"mappings": "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",
+"mappings": "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",
 "sources": ["icons.sass","font.sass","search.sass","nav.sass","util.sass","content.sass"],
 "names": [],
 "file": "search.css"
diff --git a/res/css/search.sass b/res/css/search.sass
index 9157c73809345a4061845e8f5cfa37d343ed7241..0029e52a72d4a28453edd96b31e9745f3ff60df7 100644
--- a/res/css/search.sass
+++ b/res/css/search.sass
@@ -15,6 +15,8 @@ body
 
 *:focus
   outline: none
+::-moz-focus-inner
+  border: 0
 
 @import "nav"
 @import "content"
\ No newline at end of file
diff --git a/res/js/app.js b/res/js/app.js
index 19a5070b24edb299a7728cda10664f054dacf390..1ebe21dc2f67d88199a391cbc510a139e139b1c6 100644
--- a/res/js/app.js
+++ b/res/js/app.js
@@ -42,8 +42,15 @@ class App {
             if (this.loadingQuery != queryId)
                 return;
 
+            const gen_testdata = function (list) {
+                let res = [];
+                for (let i = 0; i < 10; i++)
+                    res = res.concat(list);
+                return res;
+            };
+
             this.buffers = result.map((buffer) => {
-                return new Buffer(buffer.bufferid, buffer.buffername, buffer.networkname, buffer.messages.map((msg) => {
+                return new Buffer(buffer.bufferid, buffer.buffername, buffer.networkname, gen_testdata(buffer.messages).map((msg) => {
                     return new Context(new MessagePreview(msg.messageid, msg.time, msg.sender, msg.message, msg.preview));
                 }));
             });
diff --git a/res/js/component/buffer.js b/res/js/component/buffer.js
index f95d6cd9a8ef4f027189db54e0ee691e0b24430e..0fbc9161b16e66c9d018ce7088b9a8e31a8dfe64 100644
--- a/res/js/component/buffer.js
+++ b/res/js/component/buffer.js
@@ -1,5 +1,7 @@
-class Buffer {
+class Buffer extends Component {
     constructor(id, name, network, contextList = []) {
+        super();
+
         this.id = id;
         this.name = name;
         this.network = network;
@@ -11,10 +13,17 @@ class Buffer {
     render() {
         const buffer = document.createElement("div");
             buffer.classList.add("buffer");
-            const title = document.createElement("h2");
+            const title = document.createElement("div");
                 title.classList.add("title");
-                const titleValue = document.createTextNode(this.network + " - " + this.name);
-                title.appendChild(titleValue);
+                const titleHeader = document.createElement("h2");
+                    const titleValue = document.createTextNode(this.network + " - " + this.name);
+                    titleHeader.appendChild(titleValue);
+                title.appendChild(titleHeader);
+                const toggleButton = document.createElement("button");
+                    toggleButton.addEventListener("click", () => {
+                        this.selected();
+                    });
+                title.appendChild(toggleButton);
             buffer.appendChild(title);
             const contextWrap = document.createElement("div");
                 contextWrap.classList.add("container");
@@ -33,6 +42,14 @@ class Buffer {
         /* load data */
     }
 
+    selected(isSelected) {
+        if (isSelected === undefined)
+            isSelected = !this.elem.classList.contains("selected");
+
+        this.elem.classList.toggle("selected", isSelected);
+        this.sendEvent("expanded", isSelected);
+    }
+
     insert(context) {
         this.insertContainer.insertBefore(context.elem, this.loadMoreBtn.elem);
     }