From 542107db78d48f74488fc4b71934edfb98b2242d Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@Mineshs-MacBook-Pro.local>
Date: Thu, 4 Oct 2018 21:05:34 +0100
Subject: [PATCH 01/63] Changed Horizontal Split to be vertical + Whitespace to
 linebreak descriptions.

---
 client/scss/asset-display/_asset-display.scss |  4 ++++
 client/src/containers/AssetInfo/view.jsx      | 13 +++++++------
 client/src/pages/ShowAssetDetails/view.jsx    |  8 ++++----
 3 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/asset-display/_asset-display.scss
index 11d42c4c..b2650f75 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/asset-display/_asset-display.scss
@@ -20,3 +20,7 @@
 .vertical-split .asset-display {
     height: 90vh;
 }
+
+.asset-description {
+  white-space: pre-line;
+}
diff --git a/client/src/containers/AssetInfo/view.jsx b/client/src/containers/AssetInfo/view.jsx
index ccf88fbd..e684e266 100644
--- a/client/src/containers/AssetInfo/view.jsx
+++ b/client/src/containers/AssetInfo/view.jsx
@@ -12,6 +12,13 @@ class AssetInfo extends React.Component {
     const { asset: { shortId, claimData : { channelName, certificateId, description, name, claimId, fileExt, contentType, thumbnail, host } } } = this.props;
     return (
       <div>
+
+        {description && (
+          <Row>
+            <p class='asset-description'>{description}</p>
+          </Row>
+        )}
+
         {channelName && (
           <Row>
             <RowLabeled
@@ -104,12 +111,6 @@ class AssetInfo extends React.Component {
           </SpaceBetween>
         </Row>
 
-        {description && (
-          <Row>
-            <p>{description}</p>
-          </Row>
-        )}
-
         <Row>
           <p>
             Hosted via the <a className={'link--primary'} href={'https://lbry.io/get'} target={'_blank'}>LBRY</a> blockchain
diff --git a/client/src/pages/ShowAssetDetails/view.jsx b/client/src/pages/ShowAssetDetails/view.jsx
index 98c09372..b50b3682 100644
--- a/client/src/pages/ShowAssetDetails/view.jsx
+++ b/client/src/pages/ShowAssetDetails/view.jsx
@@ -1,7 +1,7 @@
 import React from 'react';
 import PageLayout from '@components/PageLayout';
 
-import HorizontalSplit from '@components/HorizontalSplit';
+import VerticalSplit from '@components/VerticalSplit';
 import AssetTitle from '@containers/AssetTitle';
 import AssetDisplay from '@containers/AssetDisplay';
 import AssetInfo from '@containers/AssetInfo';
@@ -18,9 +18,9 @@ class ShowAssetDetails extends React.Component {
           asset={asset}
         >
           <AssetTitle />
-          <HorizontalSplit
-            leftSide={<AssetDisplay />}
-            rightSide={<AssetInfo />}
+          <VerticalSplit
+            top={<AssetDisplay />}
+            bottom={<AssetInfo />}
           />
         </PageLayout>
       );
-- 
2.45.3


From 431757cea4c251fe680af245c71332d1cbec5cb5 Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@Mineshs-MacBook-Pro.local>
Date: Sat, 6 Oct 2018 18:24:55 +0100
Subject: [PATCH 02/63] Moving description into horizontal split + added brand
 color for links

---
 client/scss/variables/_variables.scss    |  1 +
 client/src/containers/AssetInfo/view.jsx | 19 ++++++++++++-------
 2 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/client/scss/variables/_variables.scss b/client/scss/variables/_variables.scss
index 26f125d8..c1cb3289 100644
--- a/client/scss/variables/_variables.scss
+++ b/client/scss/variables/_variables.scss
@@ -5,6 +5,7 @@ $tertiary-color: #ccccc0;
 $interactive-color: blue;
 $success-color: green;
 $failure-color: red;
+$brand-color: #ff725d;
 
 $primary-padding: 3em;
 $secondary-padding: 2em;
diff --git a/client/src/containers/AssetInfo/view.jsx b/client/src/containers/AssetInfo/view.jsx
index e684e266..71a26885 100644
--- a/client/src/containers/AssetInfo/view.jsx
+++ b/client/src/containers/AssetInfo/view.jsx
@@ -5,19 +5,24 @@ import RowLabeled from '@components/RowLabeled';
 import Row from '@components/Row';
 import SpaceBetween from '@components/SpaceBetween';
 import AssetShareButtons from '@components/AssetShareButtons';
+import HorizontalSplit from '@components/HorizontalSplit';
 import ClickToCopy from '@components/ClickToCopy';
 
 class AssetInfo extends React.Component {
   render () {
     const { asset: { shortId, claimData : { channelName, certificateId, description, name, claimId, fileExt, contentType, thumbnail, host } } } = this.props;
     return (
-      <div>
-
-        {description && (
-          <Row>
-            <p class='asset-description'>{description}</p>
-          </Row>
-        )}
+      <div className='asset-information'>
+        <HorizontalSplit
+          leftSide={
+            <div className='asset-description'>
+              {description && (
+                <p>{description}</p>
+              )}
+            </div>
+          }
+          rightSide={''}
+        />
 
         {channelName && (
           <Row>
-- 
2.45.3


From 81f97c133197d1b34b2b63d1d88d2fd3da4c318b Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@Mineshs-MacBook-Pro.local>
Date: Sat, 6 Oct 2018 18:56:42 +0100
Subject: [PATCH 03/63] New row compontent to prevent it intefering with
 everything else + link colours changed

---
 client/src/components/RowLabeledAlt/index.jsx | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
 create mode 100644 client/src/components/RowLabeledAlt/index.jsx

diff --git a/client/src/components/RowLabeledAlt/index.jsx b/client/src/components/RowLabeledAlt/index.jsx
new file mode 100644
index 00000000..d5e2c7d0
--- /dev/null
+++ b/client/src/components/RowLabeledAlt/index.jsx
@@ -0,0 +1,14 @@
+import React from 'react';
+
+class RowLabeledAlt extends React.Component {
+  render () {
+    return (
+      <div className={'row-labeled-alt'}>
+        <div className={'row-labeled-label'}>{this.props.label}</div>
+        <div className={'row-labeled-content'}>{this.props.content}</div>
+      </div>
+    );
+  }
+}
+
+export default RowLabeledAlt;
-- 
2.45.3


From e0b15691b9a11b3d35c4baa2ee5a93bc882a6aeb Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@Mineshs-MacBook-Pro.local>
Date: Sat, 6 Oct 2018 18:57:11 +0100
Subject: [PATCH 04/63] Forgot to stage the rest of my code, thanks VS Code.

---
 client/scss/link/_link.scss              |   4 +
 client/scss/row/_row.scss                |  17 ++
 client/src/containers/AssetInfo/view.jsx | 202 ++++++++++++-----------
 3 files changed, 124 insertions(+), 99 deletions(-)

diff --git a/client/scss/link/_link.scss b/client/scss/link/_link.scss
index 4553605e..ee5cc8c7 100644
--- a/client/scss/link/_link.scss
+++ b/client/scss/link/_link.scss
@@ -6,6 +6,10 @@ a, a:visited {
   color: $interactive-color;
 }
 
+.link--brand, .link--brand:visited {
+  color: $brand-color;
+}
+
 .link--secondary, .link--secondary:visited {
   margin: 0px;
   padding: 0.3em;
diff --git a/client/scss/row/_row.scss b/client/scss/row/_row.scss
index 3b731ac0..fb5f3534 100644
--- a/client/scss/row/_row.scss
+++ b/client/scss/row/_row.scss
@@ -18,6 +18,23 @@
   width: 70%;
 }
 
+.row-labeled-alt {
+  display: column;
+  flex-direction: row;
+  flex-wrap: nowrap;
+  justify-content: flex-start;
+
+  .row-labeled-label {
+    align-self: flex-start;
+    width: 100%;
+  }
+
+  .row-labeled-content {
+    align-self: center;
+    width: 100%;
+  }
+}
+
 
 @media (max-width: $break-point-medium ) {
 
diff --git a/client/src/containers/AssetInfo/view.jsx b/client/src/containers/AssetInfo/view.jsx
index 71a26885..63d8d669 100644
--- a/client/src/containers/AssetInfo/view.jsx
+++ b/client/src/containers/AssetInfo/view.jsx
@@ -12,7 +12,7 @@ class AssetInfo extends React.Component {
   render () {
     const { asset: { shortId, claimData : { channelName, certificateId, description, name, claimId, fileExt, contentType, thumbnail, host } } } = this.props;
     return (
-      <div className='asset-information'>
+      <div className='asset-information-wrap'>
         <HorizontalSplit
           leftSide={
             <div className='asset-description'>
@@ -21,106 +21,110 @@ class AssetInfo extends React.Component {
               )}
             </div>
           }
-          rightSide={''}
+          rightSide={
+            <div className='asset-information'>
+              {channelName && (
+                <Row>
+                  <RowLabeled
+                    label={
+                      <Label value={'Channel'} />
+                    }
+                    content={
+                      <span className='text'>
+                        <Link className='link--brand' to={`/${channelName}:${certificateId}`}>{channelName}</Link>
+                      </span>
+                    }
+                  />
+                </Row>
+              )}
+
+              <Row>
+                <RowLabeled
+                  label={
+                    <Label value={'Share'} />
+                  }
+                  content={
+                    <AssetShareButtons
+                      host={host}
+                      name={name}
+                      shortId={shortId}
+                    />
+                  }
+                />
+              </Row>
+
+              <Row>
+                <RowLabeled
+                  label={
+                    <Label value={'Link'} />
+                  }
+                  content={
+                    <ClickToCopy
+                      id={'short-link'}
+                      value={`${host}/${shortId}/${name}`}
+                    />
+                  }
+                />
+              </Row>
+
+              <Row>
+                <RowLabeled
+                  label={
+                    <Label value={'Embed'} />
+                  }
+                  content={
+                    <div>
+                      {(contentType === 'video/mp4') ? (
+                        <ClickToCopy
+                          id={'embed-text-video'}
+                          value={`<video width="100%" controls poster="${thumbnail}" src="${host}/${claimId}/${name}.${fileExt}"/></video>`}
+                        />
+                      ) : (
+                        <ClickToCopy
+                          id={'embed-text-image'}
+                          value={`<img src="${host}/${claimId}/${name}.${fileExt}"/>`}
+                        />
+                      )}
+                    </div>
+                  }
+                />
+              </Row>
+
+              <Row>
+                <SpaceBetween>
+                  <a
+                    className='link--brand'
+                    href={`${host}/${claimId}/${name}.${fileExt}`}
+                  >
+                    Direct Link
+                  </a>
+                  <a
+                    className={'link--brand'}
+                    href={`${host}/${claimId}/${name}.${fileExt}`}
+                    download={name}
+                  >
+                    Download
+                  </a>
+                  <a
+                    className={'link--brand'}
+                    target='_blank'
+                    href='https://lbry.io/dmca'
+                  >
+                    Report
+                  </a>
+                </SpaceBetween>
+              </Row>
+
+              <Row>
+                <p>
+                  Hosted via the <a className={'link--brand'} href={'https://lbry.io/get'} target={'_blank'}>LBRY</a> blockchain
+                </p>
+              </Row>
+
+            </div>
+          }
         />
 
-        {channelName && (
-          <Row>
-            <RowLabeled
-              label={
-                <Label value={'Channel:'} />
-              }
-              content={
-                <span className='text'>
-                  <Link to={`/${channelName}:${certificateId}`}>{channelName}</Link>
-                </span>
-              }
-            />
-          </Row>
-        )}
-
-        <Row>
-          <RowLabeled
-            label={
-              <Label value={'Share:'} />
-            }
-            content={
-              <AssetShareButtons
-                host={host}
-                name={name}
-                shortId={shortId}
-              />
-            }
-          />
-        </Row>
-
-        <Row>
-          <RowLabeled
-            label={
-              <Label value={'Link:'} />
-            }
-            content={
-              <ClickToCopy
-                id={'short-link'}
-                value={`${host}/${shortId}/${name}`}
-              />
-            }
-          />
-        </Row>
-
-        <Row>
-          <RowLabeled
-            label={
-              <Label value={'Embed:'} />
-            }
-            content={
-              <div>
-                {(contentType === 'video/mp4') ? (
-                  <ClickToCopy
-                    id={'embed-text-video'}
-                    value={`<video width="100%" controls poster="${thumbnail}" src="${host}/${claimId}/${name}.${fileExt}"/></video>`}
-                  />
-                ) : (
-                  <ClickToCopy
-                    id={'embed-text-image'}
-                    value={`<img src="${host}/${claimId}/${name}.${fileExt}"/>`}
-                  />
-                )}
-              </div>
-            }
-          />
-        </Row>
-
-        <Row>
-          <SpaceBetween>
-            <a
-              className='link--primary'
-              href={`${host}/${claimId}/${name}.${fileExt}`}
-            >
-              Direct Link
-            </a>
-            <a
-              className={'link--primary'}
-              href={`${host}/${claimId}/${name}.${fileExt}`}
-              download={name}
-            >
-              Download
-            </a>
-            <a
-              className={'link--primary'}
-              target='_blank'
-              href='https://lbry.io/dmca'
-            >
-              Report
-            </a>
-          </SpaceBetween>
-        </Row>
-
-        <Row>
-          <p>
-            Hosted via the <a className={'link--primary'} href={'https://lbry.io/get'} target={'_blank'}>LBRY</a> blockchain
-          </p>
-        </Row>
 
       </div>
     );
-- 
2.45.3


From dba4d15a67fbebbd4eff7aebb9ae0af4e3977ca4 Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@Mineshs-MacBook-Pro.local>
Date: Sun, 7 Oct 2018 17:38:49 +0100
Subject: [PATCH 05/63] New Row put to use + style changes to match design

---
 client/scss/asset-display/_asset-display.scss | 12 ++++++++++++
 client/scss/click-to-copy/_click-to-copy.scss |  7 ++++++-
 client/scss/row/_row.scss                     |  2 ++
 client/scss/variables/_variables.scss         |  1 +
 client/src/containers/AssetDisplay/view.jsx   |  3 +++
 client/src/containers/AssetInfo/view.jsx      | 10 +++++-----
 client/src/containers/AssetTitle/view.jsx     |  7 +++----
 client/src/pages/ShowAssetDetails/view.jsx    |  4 ++--
 8 files changed, 34 insertions(+), 12 deletions(-)

diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/asset-display/_asset-display.scss
index b2650f75..1e7c3c87 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/asset-display/_asset-display.scss
@@ -5,6 +5,18 @@
   justify-content: center;
 }
 
+.asset-title-wrap {
+  margin-top: 90px;
+  .asset-title {
+    font-weight: normal;
+    font-size: 26px;
+    color: #2E2F31;
+    letter-spacing: 0;
+    text-align: center;
+    line-height: 32px;
+  }
+}
+
 .asset-image, .asset-video {
   margin : 0;
   max-width: 100%;
diff --git a/client/scss/click-to-copy/_click-to-copy.scss b/client/scss/click-to-copy/_click-to-copy.scss
index a8dc776f..ac80cda3 100644
--- a/client/scss/click-to-copy/_click-to-copy.scss
+++ b/client/scss/click-to-copy/_click-to-copy.scss
@@ -1,9 +1,14 @@
 .click-to-copy {
   cursor: pointer;
-  border: 1px solid black;
+  border: none;
   padding: 0.5em;
   margin: 0;
   color: black;
   background-color: white;
   width: calc(100% - 1em - 2px);
+  font-size: 14px;
+  color: #2E2F31;
+  letter-spacing: -0.6px;
+  line-height: 20px;
+
 }
diff --git a/client/scss/row/_row.scss b/client/scss/row/_row.scss
index fb5f3534..1789f1d6 100644
--- a/client/scss/row/_row.scss
+++ b/client/scss/row/_row.scss
@@ -27,6 +27,8 @@
   .row-labeled-label {
     align-self: flex-start;
     width: 100%;
+    color: $grey;
+    font-size: 12px;
   }
 
   .row-labeled-content {
diff --git a/client/scss/variables/_variables.scss b/client/scss/variables/_variables.scss
index c1cb3289..b33e1cfa 100644
--- a/client/scss/variables/_variables.scss
+++ b/client/scss/variables/_variables.scss
@@ -6,6 +6,7 @@ $interactive-color: blue;
 $success-color: green;
 $failure-color: red;
 $brand-color: #ff725d;
+$grey: #a9adba;
 
 $primary-padding: 3em;
 $secondary-padding: 2em;
diff --git a/client/src/containers/AssetDisplay/view.jsx b/client/src/containers/AssetDisplay/view.jsx
index e07bfa78..4259719b 100644
--- a/client/src/containers/AssetDisplay/view.jsx
+++ b/client/src/containers/AssetDisplay/view.jsx
@@ -1,4 +1,5 @@
 import React from 'react';
+import AssetTitle from '@containers/AssetTitle';
 import ProgressBar from '@components/ProgressBar';
 import { LOCAL_CHECK, UNAVAILABLE, ERROR, AVAILABLE } from '../../constants/asset_display_states';
 
@@ -63,7 +64,9 @@ class AssetDisplay extends React.Component {
           }
         })()
         }
+        <AssetTitle />
       </div>
+
     );
   }
 };
diff --git a/client/src/containers/AssetInfo/view.jsx b/client/src/containers/AssetInfo/view.jsx
index 63d8d669..5ba1f997 100644
--- a/client/src/containers/AssetInfo/view.jsx
+++ b/client/src/containers/AssetInfo/view.jsx
@@ -1,7 +1,7 @@
 import React from 'react';
 import { Link } from 'react-router-dom';
 import Label from '@components/Label';
-import RowLabeled from '@components/RowLabeled';
+import RowLabeledAlt from '@components/RowLabeledAlt';
 import Row from '@components/Row';
 import SpaceBetween from '@components/SpaceBetween';
 import AssetShareButtons from '@components/AssetShareButtons';
@@ -25,7 +25,7 @@ class AssetInfo extends React.Component {
             <div className='asset-information'>
               {channelName && (
                 <Row>
-                  <RowLabeled
+                  <RowLabeledAlt
                     label={
                       <Label value={'Channel'} />
                     }
@@ -39,7 +39,7 @@ class AssetInfo extends React.Component {
               )}
 
               <Row>
-                <RowLabeled
+                <RowLabeledAlt
                   label={
                     <Label value={'Share'} />
                   }
@@ -54,7 +54,7 @@ class AssetInfo extends React.Component {
               </Row>
 
               <Row>
-                <RowLabeled
+                <RowLabeledAlt
                   label={
                     <Label value={'Link'} />
                   }
@@ -68,7 +68,7 @@ class AssetInfo extends React.Component {
               </Row>
 
               <Row>
-                <RowLabeled
+                <RowLabeledAlt
                   label={
                     <Label value={'Embed'} />
                   }
diff --git a/client/src/containers/AssetTitle/view.jsx b/client/src/containers/AssetTitle/view.jsx
index a542c762..7821920a 100644
--- a/client/src/containers/AssetTitle/view.jsx
+++ b/client/src/containers/AssetTitle/view.jsx
@@ -1,11 +1,10 @@
 import React from 'react';
-import Row from '@components/Row';
 
 const AssetTitle = ({ title }) => {
   return (
-    <Row>
-      <h3>{title}</h3>
-    </Row>
+    <div className='asset-title-wrap'>
+      <h3 className='asset-title'>{title}</h3>
+    </div>
   );
 };
 
diff --git a/client/src/pages/ShowAssetDetails/view.jsx b/client/src/pages/ShowAssetDetails/view.jsx
index b50b3682..ed6bea8b 100644
--- a/client/src/pages/ShowAssetDetails/view.jsx
+++ b/client/src/pages/ShowAssetDetails/view.jsx
@@ -2,7 +2,7 @@ import React from 'react';
 import PageLayout from '@components/PageLayout';
 
 import VerticalSplit from '@components/VerticalSplit';
-import AssetTitle from '@containers/AssetTitle';
+// import AssetTitle from '@containers/AssetTitle';
 import AssetDisplay from '@containers/AssetDisplay';
 import AssetInfo from '@containers/AssetInfo';
 import ErrorPage from '@pages/ErrorPage';
@@ -17,7 +17,7 @@ class ShowAssetDetails extends React.Component {
           pageTitle={`${name} - details`}
           asset={asset}
         >
-          <AssetTitle />
+          
           <VerticalSplit
             top={<AssetDisplay />}
             bottom={<AssetInfo />}
-- 
2.45.3


From 3023b25eb2333ef4f3e5b8148a7993d22b478589 Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@Mineshs-MacBook-Pro.local>
Date: Sun, 7 Oct 2018 23:35:35 +0100
Subject: [PATCH 06/63] Clean up

---
 client/scss/asset-display/_asset-display.scss | 6 +++++-
 client/src/containers/AssetInfo/view.jsx      | 4 ++--
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/asset-display/_asset-display.scss
index 1e7c3c87..2afe4f16 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/asset-display/_asset-display.scss
@@ -33,6 +33,10 @@
     height: 90vh;
 }
 
-.asset-description {
+p.asset-description {
   white-space: pre-line;
+  font-size: 14px;
+  color: #2E2F31;
+  letter-spacing: 0;
+  line-height: 18px;
 }
diff --git a/client/src/containers/AssetInfo/view.jsx b/client/src/containers/AssetInfo/view.jsx
index 5ba1f997..d385b9c4 100644
--- a/client/src/containers/AssetInfo/view.jsx
+++ b/client/src/containers/AssetInfo/view.jsx
@@ -15,9 +15,9 @@ class AssetInfo extends React.Component {
       <div className='asset-information-wrap'>
         <HorizontalSplit
           leftSide={
-            <div className='asset-description'>
+            <div>
               {description && (
-                <p>{description}</p>
+                <p className='asset-description'>{description}</p>
               )}
             </div>
           }
-- 
2.45.3


From 5f99629930b193b853998548ef3ae9bb54f37ab0 Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@Mineshs-MacBook-Pro.local>
Date: Mon, 8 Oct 2018 20:51:09 +0100
Subject: [PATCH 07/63] Feather icons added, use click to copy, scss added to
 fit in icon + Lora font.

---
 client/scss/asset-display/_asset-display.scss | 24 +++++++++----
 client/scss/click-to-copy/_click-to-copy.scss | 34 ++++++++++++-------
 client/scss/label/_label.scss                 |  1 +
 client/scss/text/_text.scss                   |  4 +--
 client/src/components/ClickToCopy/index.jsx   | 22 +++++++-----
 client/src/containers/AssetInfo/view.jsx      |  1 -
 package-lock.json                             |  5 +++
 package.json                                  |  1 +
 server/render/renderFullPage.js               |  2 ++
 9 files changed, 63 insertions(+), 31 deletions(-)

diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/asset-display/_asset-display.scss
index 2afe4f16..a3f84b26 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/asset-display/_asset-display.scss
@@ -33,10 +33,20 @@
     height: 90vh;
 }
 
-p.asset-description {
-  white-space: pre-line;
-  font-size: 14px;
-  color: #2E2F31;
-  letter-spacing: 0;
-  line-height: 18px;
-}
+
+.asset-information-wrap {
+  max-width: 800px;
+
+  p.asset-description {
+    white-space: pre-line;
+    font-size: 14px;
+    color: #2E2F31;
+    letter-spacing: 0;
+    line-height: 18px;
+  }
+
+  .asset-information {
+    width: 320px;
+  }
+
+}
\ No newline at end of file
diff --git a/client/scss/click-to-copy/_click-to-copy.scss b/client/scss/click-to-copy/_click-to-copy.scss
index ac80cda3..3c6bd191 100644
--- a/client/scss/click-to-copy/_click-to-copy.scss
+++ b/client/scss/click-to-copy/_click-to-copy.scss
@@ -1,14 +1,24 @@
-.click-to-copy {
-  cursor: pointer;
-  border: none;
-  padding: 0.5em;
-  margin: 0;
-  color: black;
-  background-color: white;
-  width: calc(100% - 1em - 2px);
-  font-size: 14px;
-  color: #2E2F31;
-  letter-spacing: -0.6px;
-  line-height: 20px;
+.click-to-copy-wrap {
+  display: flex;
+  width: 100%;
+  justify-content: space-between;
+  .click-to-copy {
+    cursor: pointer;
+    border: none;
+    padding: 0.5em;
+    margin: 0;
+    color: black;
+    background-color: white;
+    width: calc(100% - 1em - 2px);
+    font-size: 14px;
+    color: #2E2F31;
+    letter-spacing: -0.6px;
+    line-height: 20px;
+    max-width: 200px;
+  }
+  svg {
+    stroke: $brand-color;
 
+  }
 }
+
diff --git a/client/scss/label/_label.scss b/client/scss/label/_label.scss
index a801c8b6..c3d96ae3 100644
--- a/client/scss/label/_label.scss
+++ b/client/scss/label/_label.scss
@@ -2,6 +2,7 @@
   padding-top: $thin-padding;
   padding-bottom: $thin-padding;
   display: inline-block;
+  font-size: 12px;
 }
 
 .label-radio {
diff --git a/client/scss/text/_text.scss b/client/scss/text/_text.scss
index cec1c28e..a8b72aa0 100644
--- a/client/scss/text/_text.scss
+++ b/client/scss/text/_text.scss
@@ -18,8 +18,8 @@ h3 {
 }
 
 p, body, button, input, textarea, label, select, option {
-  font-family: 'Lekton', monospace;
-  font-size: $text-large;
+  font-family: 'Lora', serif;
+  font-size: 16px;
 }
 
 .text--extra-large {
diff --git a/client/src/components/ClickToCopy/index.jsx b/client/src/components/ClickToCopy/index.jsx
index 35b7dba8..9c30d8be 100644
--- a/client/src/components/ClickToCopy/index.jsx
+++ b/client/src/components/ClickToCopy/index.jsx
@@ -1,4 +1,5 @@
 import React from 'react';
+import * as Icon from 'react-feather';
 
 class ClickToCopy extends React.Component {
   constructor (props) {
@@ -18,15 +19,18 @@ class ClickToCopy extends React.Component {
   render () {
     const {id, value} = this.props;
     return (
-      <input
-        id={id}
-        value={value}
-        onClick={this.copyToClipboard}
-        type='text'
-        className='click-to-copy'
-        readOnly
-        spellCheck='false'
-      />
+      <div className='click-to-copy-wrap'>
+        <input
+          id={id}
+          value={value}
+          onClick={this.copyToClipboard}
+          type='text'
+          className='click-to-copy'
+          readOnly
+          spellCheck='false'
+        />
+        <Icon.Copy />
+      </div>
     );
   }
 }
diff --git a/client/src/containers/AssetInfo/view.jsx b/client/src/containers/AssetInfo/view.jsx
index d385b9c4..b150b488 100644
--- a/client/src/containers/AssetInfo/view.jsx
+++ b/client/src/containers/AssetInfo/view.jsx
@@ -125,7 +125,6 @@ class AssetInfo extends React.Component {
           }
         />
 
-
       </div>
     );
   }
diff --git a/package-lock.json b/package-lock.json
index f45c2e93..db4b9a57 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11090,6 +11090,11 @@
         "prop-types": "15.6.2"
       }
     },
+    "react-feather": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/react-feather/-/react-feather-1.1.3.tgz",
+      "integrity": "sha512-5+KHu7zp5qvc+zq6N0XjeZDhufl3NVEaQyocg486lXZ+ZwW9z66GO+HXABoZ74OCLjsqhBl48j4BS17VRfyjTQ=="
+    },
     "react-ga": {
       "version": "2.5.3",
       "resolved": "https://registry.npmjs.org/react-ga/-/react-ga-2.5.3.tgz",
diff --git a/package.json b/package.json
index 524db99f..04a557c6 100644
--- a/package.json
+++ b/package.json
@@ -64,6 +64,7 @@
     "prop-types": "^15.6.2",
     "react": "^16.4.2",
     "react-dom": "^16.4.2",
+    "react-feather": "^1.1.3",
     "react-ga": "^2.5.3",
     "react-helmet": "^5.2.0",
     "react-redux": "^5.0.6",
diff --git a/server/render/renderFullPage.js b/server/render/renderFullPage.js
index 0d3d0fc4..8f40e2b2 100644
--- a/server/render/renderFullPage.js
+++ b/server/render/renderFullPage.js
@@ -15,6 +15,7 @@ module.exports = (helmet, html, preloadedState) => {
             <link rel="stylesheet" href="/bundle/style.css" type="text/css">
             <!--google font-->
             <link href="https://fonts.googleapis.com/css?family=Roboto:300" rel="stylesheet">
+            <link href="https://fonts.googleapis.com/css?family=Lora" rel="stylesheet">
         </head>
         <body>
             <div id="react-app">${html}</div>
@@ -22,6 +23,7 @@ module.exports = (helmet, html, preloadedState) => {
                 window.__PRELOADED_STATE__ = ${JSON.stringify(preloadedState).replace(/</g, '\\\u003c')}
             </script>
             <script src="/bundle/bundle.js"></script>
+            <script src="/assets/js/feather.min.js"></script>
         </body>
     </html>
   `;
-- 
2.45.3


From 57fab11316398dca09ebae7d3187a26dd1f64463 Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@Mineshs-MacBook-Pro.local>
Date: Tue, 9 Oct 2018 20:55:59 +0100
Subject: [PATCH 08/63] Click to copy to work with entire div including icon

---
 client/scss/click-to-copy/_click-to-copy.scss |  2 +-
 client/src/components/ClickToCopy/index.jsx   | 11 +++++++----
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/client/scss/click-to-copy/_click-to-copy.scss b/client/scss/click-to-copy/_click-to-copy.scss
index 3c6bd191..ee630eac 100644
--- a/client/scss/click-to-copy/_click-to-copy.scss
+++ b/client/scss/click-to-copy/_click-to-copy.scss
@@ -2,8 +2,8 @@
   display: flex;
   width: 100%;
   justify-content: space-between;
+  cursor: pointer;
   .click-to-copy {
-    cursor: pointer;
     border: none;
     padding: 0.5em;
     margin: 0;
diff --git a/client/src/components/ClickToCopy/index.jsx b/client/src/components/ClickToCopy/index.jsx
index 9c30d8be..832ce973 100644
--- a/client/src/components/ClickToCopy/index.jsx
+++ b/client/src/components/ClickToCopy/index.jsx
@@ -6,9 +6,10 @@ class ClickToCopy extends React.Component {
     super(props);
     this.copyToClipboard = this.copyToClipboard.bind(this);
   }
-  copyToClipboard (event) {
-    const elementToCopy = event.target.id;
+  copyToClipboard () {
+    const elementToCopy = this.props.id;
     const element = document.getElementById(elementToCopy);
+    console.log(elementToCopy);
     element.select();
     try {
       document.execCommand('copy');
@@ -19,11 +20,13 @@ class ClickToCopy extends React.Component {
   render () {
     const {id, value} = this.props;
     return (
-      <div className='click-to-copy-wrap'>
+      <div
+        className='click-to-copy-wrap'
+        onClick={this.copyToClipboard}
+      >
         <input
           id={id}
           value={value}
-          onClick={this.copyToClipboard}
           type='text'
           className='click-to-copy'
           readOnly
-- 
2.45.3


From 00bebfaa8a2b3a3f22a72a4e19d5f171b1084df4 Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@Mineshs-MacBook-Pro.local>
Date: Thu, 11 Oct 2018 20:51:34 +0100
Subject: [PATCH 09/63] Design cleanup

---
 client/scss/asset-display/_asset-display.scss |  39 +++++--
 client/scss/page-layout/_page-layout.scss     |   1 -
 .../VerticalCollapsibleSplit/index.jsx        |  18 +++
 client/src/containers/AssetDisplay/view.jsx   | 104 +++++++++---------
 client/src/pages/ShowAssetDetails/view.jsx    |   6 +-
 5 files changed, 106 insertions(+), 62 deletions(-)
 create mode 100644 client/src/components/VerticalCollapsibleSplit/index.jsx

diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/asset-display/_asset-display.scss
index a3f84b26..7887a0c8 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/asset-display/_asset-display.scss
@@ -3,11 +3,32 @@
   flex: 1 0 auto;
   flex-direction: column;
   justify-content: center;
+
+  background: #E9E8E8;
+  width: 100%;
+  position: relative;
+  &:before,
+  &:after {
+    content: '';
+    position: absolute;
+    box-shadow: inset 0 1px 3px 2px rgba(169, 173, 186, 0.2);
+    width: 100%;
+    height: 1px;
+    background: transparent;
+    left: 0;
+    top: 0;
+  }
+
+  &:after {
+    top: auto;
+    bottom: 0;
+  }
+
 }
 
-.asset-title-wrap {
-  margin-top: 90px;
+
   .asset-title {
+    margin-top: 40px;
     font-weight: normal;
     font-size: 26px;
     color: #2E2F31;
@@ -15,10 +36,9 @@
     text-align: center;
     line-height: 32px;
   }
-}
 
 .asset-image, .asset-video {
-  margin : 0;
+  margin : 60px 0;
   max-width: 100%;
   max-height: 100%;
   object-fit: contain;
@@ -29,10 +49,15 @@
   margin: 16px;
   padding: 6px;
 }
-.vertical-split .asset-display {
-    height: 90vh;
-}
 
+// .vertical-split .asset-display {
+//     height: 90vh;
+// }
+
+.visible-content {
+  width: 100%;
+  margin: 0 0 40px;
+}
 
 .asset-information-wrap {
   max-width: 800px;
diff --git a/client/scss/page-layout/_page-layout.scss b/client/scss/page-layout/_page-layout.scss
index f94645a5..06f6dae7 100644
--- a/client/scss/page-layout/_page-layout.scss
+++ b/client/scss/page-layout/_page-layout.scss
@@ -7,6 +7,5 @@
     display: flex;
     -webkit-flex-direction: column;
     flex-direction: column;
-    margin: $primary-padding;
   }
 }
diff --git a/client/src/components/VerticalCollapsibleSplit/index.jsx b/client/src/components/VerticalCollapsibleSplit/index.jsx
new file mode 100644
index 00000000..a194f7c0
--- /dev/null
+++ b/client/src/components/VerticalCollapsibleSplit/index.jsx
@@ -0,0 +1,18 @@
+import React from 'react';
+
+class VerticalCollapsibleSplit extends React.Component {
+  render () {
+    return (
+      <div className={'vertical-split'}>
+        <div className='visible-content'>
+          {this.props.top}
+        </div>
+        <div className='collapse-content'>
+          {this.props.bottom}
+        </div>
+      </div>
+    );
+  }
+}
+
+export default VerticalCollapsibleSplit;
diff --git a/client/src/containers/AssetDisplay/view.jsx b/client/src/containers/AssetDisplay/view.jsx
index 4259719b..4de29bb3 100644
--- a/client/src/containers/AssetDisplay/view.jsx
+++ b/client/src/containers/AssetDisplay/view.jsx
@@ -12,58 +12,60 @@ class AssetDisplay extends React.Component {
     const { status, error, asset: { claimData: { name, claimId, contentType, fileExt, thumbnail } } } = this.props;
     const sourceUrl = `/${claimId}/${name}.${fileExt}`;
     return (
-      <div className={'asset-display'}>
-        {(status === LOCAL_CHECK) &&
-        <div>
-          <p>Checking to see if Spee.ch has your asset locally...</p>
-        </div>
-        }
-        {(status === UNAVAILABLE) &&
-        <div>
-          <p>Sit tight, we're searching the LBRY blockchain for your asset!</p>
-          <ProgressBar size={12} />
-          <p>Curious what magic is happening here? <a className='link--primary' target='blank' href='https://lbry.io/faq/what-is-lbry'>Learn more.</a></p>
-        </div>
-        }
-        {(status === ERROR) &&
-        <div>
-          <p>Unfortunately, we couldn't download your asset from LBRY.  You can help us out by sharing the below error message in the <a className='link--primary' href='https://chat.lbry.io' target='_blank'>LBRY discord</a>.</p>
-          <i><p id='error-message'>{error}</p></i>
-        </div>
-        }
-        {(status === AVAILABLE) &&
-        (() => {
-          switch (contentType) {
-            case 'image/jpeg':
-            case 'image/jpg':
-            case 'image/png':
-            case 'image/gif':
-              return (
-                <img
-                  className='asset-image'
-                  src={sourceUrl}
-                  alt={name}
-                />
-              );
-            case 'video/mp4':
-              return (
-                <video
-                  className='asset-video'
-                  controls poster={thumbnail}
-                >
-                  <source
-                    src={sourceUrl}
-                  />
-                  <p>Your browser does not support the <code>video</code> element.</p>
-                </video>
-              );
-            default:
-              return (
-                <p>Unsupported content type</p>
-              );
+      <div className={'asset-display-wrap'}>
+        <div className={'asset-display'}>
+          {(status === LOCAL_CHECK) &&
+          <div>
+            <p>Checking to see if Spee.ch has your asset locally...</p>
+          </div>
           }
-        })()
-        }
+          {(status === UNAVAILABLE) &&
+          <div>
+            <p>Sit tight, we're searching the LBRY blockchain for your asset!</p>
+            <ProgressBar size={12} />
+            <p>Curious what magic is happening here? <a className='link--primary' target='blank' href='https://lbry.io/faq/what-is-lbry'>Learn more.</a></p>
+          </div>
+          }
+          {(status === ERROR) &&
+          <div>
+            <p>Unfortunately, we couldn't download your asset from LBRY.  You can help us out by sharing the below error message in the <a className='link--primary' href='https://chat.lbry.io' target='_blank'>LBRY discord</a>.</p>
+            <i><p id='error-message'>{error}</p></i>
+          </div>
+          }
+          {(status === AVAILABLE) &&
+          (() => {
+            switch (contentType) {
+              case 'image/jpeg':
+              case 'image/jpg':
+              case 'image/png':
+              case 'image/gif':
+                return (
+                  <img
+                    className='asset-image'
+                    src={sourceUrl}
+                    alt={name}
+                  />
+                );
+              case 'video/mp4':
+                return (
+                  <video
+                    className='asset-video'
+                    controls poster={thumbnail}
+                  >
+                    <source
+                      src={sourceUrl}
+                    />
+                    <p>Your browser does not support the <code>video</code> element.</p>
+                  </video>
+                );
+              default:
+                return (
+                  <p>Unsupported content type</p>
+                );
+            }
+          })()
+          }
+        </div>
         <AssetTitle />
       </div>
 
diff --git a/client/src/pages/ShowAssetDetails/view.jsx b/client/src/pages/ShowAssetDetails/view.jsx
index ed6bea8b..f3eef3c8 100644
--- a/client/src/pages/ShowAssetDetails/view.jsx
+++ b/client/src/pages/ShowAssetDetails/view.jsx
@@ -1,7 +1,8 @@
 import React from 'react';
 import PageLayout from '@components/PageLayout';
 
-import VerticalSplit from '@components/VerticalSplit';
+import VerticalCollapsibleSplit from '@components/VerticalCollapsibleSplit';
+// import VerticalSplit from '@components/VerticalSplit';
 // import AssetTitle from '@containers/AssetTitle';
 import AssetDisplay from '@containers/AssetDisplay';
 import AssetInfo from '@containers/AssetInfo';
@@ -17,8 +18,7 @@ class ShowAssetDetails extends React.Component {
           pageTitle={`${name} - details`}
           asset={asset}
         >
-          
-          <VerticalSplit
+          <VerticalCollapsibleSplit
             top={<AssetDisplay />}
             bottom={<AssetInfo />}
           />
-- 
2.45.3


From b3d05c7b82997f18600aeba7ad0b61ffb2cfecd4 Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@Mineshs-MacBook-Pro.local>
Date: Thu, 11 Oct 2018 21:36:16 +0100
Subject: [PATCH 10/63] Collapse Logic and styling in place

---
 client/scss/asset-display/_asset-display.scss |  3 +--
 .../scss/vertical-split/_vertical-split.scss  | 17 +++++++++++++++
 .../VerticalCollapsibleSplit/index.jsx        | 21 ++++++++++++++++---
 client/src/pages/ShowAssetDetails/view.jsx    |  1 +
 4 files changed, 37 insertions(+), 5 deletions(-)

diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/asset-display/_asset-display.scss
index 7887a0c8..b756ccbd 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/asset-display/_asset-display.scss
@@ -61,15 +61,14 @@
 
 .asset-information-wrap {
   max-width: 800px;
-
   p.asset-description {
     white-space: pre-line;
     font-size: 14px;
     color: #2E2F31;
     letter-spacing: 0;
     line-height: 18px;
+    width: 360px;
   }
-
   .asset-information {
     width: 320px;
   }
diff --git a/client/scss/vertical-split/_vertical-split.scss b/client/scss/vertical-split/_vertical-split.scss
index ac100b08..665e4c80 100644
--- a/client/scss/vertical-split/_vertical-split.scss
+++ b/client/scss/vertical-split/_vertical-split.scss
@@ -5,3 +5,20 @@
   justify-content: space-between;
   align-items    : center;
 };
+
+.collapse-content.hidden{
+  display: none;
+}
+
+.collapse-button {
+  outline: none;
+  background: none;
+  border: none;
+  display: block;
+  margin: 15px auto 0;
+  width: 24px;
+  height: 24px;
+  svg {
+    stroke: $brand-color;
+  }
+}
\ No newline at end of file
diff --git a/client/src/components/VerticalCollapsibleSplit/index.jsx b/client/src/components/VerticalCollapsibleSplit/index.jsx
index a194f7c0..6602b108 100644
--- a/client/src/components/VerticalCollapsibleSplit/index.jsx
+++ b/client/src/components/VerticalCollapsibleSplit/index.jsx
@@ -1,18 +1,33 @@
 import React from 'react';
-
+import * as Icon from 'react-feather';
 class VerticalCollapsibleSplit extends React.Component {
+
+  constructor (props) {
+    super(props);
+    this.collapse = this.collapse.bind(this);
+    this.state = { open: true };
+  }
+
+  collapse () {
+    this.setState({ open: !this.state.open });
+    document.getElementById(this.props.name).classList.toggle('hidden');
+  }
+
   render () {
     return (
       <div className={'vertical-split'}>
         <div className='visible-content'>
           {this.props.top}
+          <button className='collapse-button' onClick={this.collapse}>
+            {this.state.open ? <Icon.PlusSquare /> : <Icon.MinusSquare /> }
+          </button>
         </div>
-        <div className='collapse-content'>
+        <div className='collapse-content' id={this.props.name}>
           {this.props.bottom}
         </div>
       </div>
     );
   }
-}
+};
 
 export default VerticalCollapsibleSplit;
diff --git a/client/src/pages/ShowAssetDetails/view.jsx b/client/src/pages/ShowAssetDetails/view.jsx
index f3eef3c8..9a7d7739 100644
--- a/client/src/pages/ShowAssetDetails/view.jsx
+++ b/client/src/pages/ShowAssetDetails/view.jsx
@@ -19,6 +19,7 @@ class ShowAssetDetails extends React.Component {
           asset={asset}
         >
           <VerticalCollapsibleSplit
+            name={'asset-display-collapse'}
             top={<AssetDisplay />}
             bottom={<AssetInfo />}
           />
-- 
2.45.3


From 8759bcfdd6e7925a03b19902f58d01c98e1172c8 Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@Mineshs-MacBook-Pro.local>
Date: Thu, 11 Oct 2018 21:51:33 +0100
Subject: [PATCH 11/63] New sharing icons

---
 client/scss/all.scss                             |  1 +
 client/scss/share-buttons/_share-buttons.scss    |  9 +++++++++
 client/src/components/AssetShareButtons/index.js | 13 ++++++-------
 public/assets/img/icn_facebook.svg               | 14 ++++++++++++++
 public/assets/img/icn_reddit.svg                 | 14 ++++++++++++++
 public/assets/img/icn_tumblr.svg                 | 14 ++++++++++++++
 public/assets/img/icn_twitter.svg                | 14 ++++++++++++++
 7 files changed, 72 insertions(+), 7 deletions(-)
 create mode 100644 client/scss/share-buttons/_share-buttons.scss
 create mode 100644 public/assets/img/icn_facebook.svg
 create mode 100644 public/assets/img/icn_reddit.svg
 create mode 100644 public/assets/img/icn_tumblr.svg
 create mode 100644 public/assets/img/icn_twitter.svg

diff --git a/client/scss/all.scss b/client/scss/all.scss
index 716e893b..bf6bb0b6 100644
--- a/client/scss/all.scss
+++ b/client/scss/all.scss
@@ -30,6 +30,7 @@
 @import '~page-content/_page-content';
 @import '~progress-bar/_progress-bar';
 @import '~publish-preview/_publish-preview';
+@import '~share-buttons/_share-buttons';
 @import '~space-between/_space-between';
 @import '~space-around/_space-around';
 @import '~row/_row';
diff --git a/client/scss/share-buttons/_share-buttons.scss b/client/scss/share-buttons/_share-buttons.scss
new file mode 100644
index 00000000..8c429596
--- /dev/null
+++ b/client/scss/share-buttons/_share-buttons.scss
@@ -0,0 +1,9 @@
+.share-buttons {
+    display: flex;
+    align-items: center;
+    
+    a {
+        display: block;
+        margin: 0 7px;
+    }
+}
diff --git a/client/src/components/AssetShareButtons/index.js b/client/src/components/AssetShareButtons/index.js
index dfb0c0b9..6c9a165d 100644
--- a/client/src/components/AssetShareButtons/index.js
+++ b/client/src/components/AssetShareButtons/index.js
@@ -1,38 +1,37 @@
 import React from 'react';
-import SpaceBetween from '@components/SpaceBetween';
 
 const AssetShareButtons = ({ host, name, shortId }) => {
   return (
-    <SpaceBetween >
+    <div className='share-buttons'>
       <a
         className='link--primary'
         target='_blank'
         href={`https://twitter.com/intent/tweet?text=${host}/${shortId}/${name}`}
       >
-        twitter
+        <img src='/assets/img/icn_twitter.svg' />
       </a>
       <a
         className='link--primary'
         target='_blank'
         href={`https://www.facebook.com/sharer/sharer.php?u=${host}/${shortId}/${name}`}
       >
-        facebook
+        <img src='/assets/img/icn_facebook.svg' />
       </a>
       <a
         className='link--primary'
         target='_blank'
         href={`http://tumblr.com/widgets/share/tool?canonicalUrl=${host}/${shortId}/${name}`}
       >
-        tumblr
+        <img src='/assets/img/icn_tumblr.svg' />
       </a>
       <a
         className='link--primary'
         target='_blank'
         href={`https://www.reddit.com/submit?url=${host}/${shortId}/${name}&title=${name}`}
       >
-        reddit
+        <img src='/assets/img/icn_reddit.svg' />
       </a>
-    </SpaceBetween>
+    </div>
   );
 };
 
diff --git a/public/assets/img/icn_facebook.svg b/public/assets/img/icn_facebook.svg
new file mode 100644
index 00000000..6e94795e
--- /dev/null
+++ b/public/assets/img/icn_facebook.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <!-- Generator: Sketch 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
+    <title>icn_facebook</title>
+    <desc>Created with Sketch.</desc>
+    <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="Route-4---Expanded" transform="translate(-867.000000, -911.000000)" fill-rule="nonzero">
+            <g id="icn_facebook" transform="translate(867.000000, 911.000000)">
+                <rect id="Rectangle-7-Copy" fill="#5487DE" x="0" y="0" width="30" height="30" rx="15"></rect>
+                <path d="M10,16.2457933 L10,13.2217548 L12.6590693,13.2217548 L12.6590693,10.9945913 C12.6590693,9.72775809 13.0205601,8.74529596 13.7435525,8.04717548 C14.4665449,7.349055 15.4293617,7 16.6320317,7 C17.6539537,7 18.4464527,7.04086498 19.0095525,7.12259615 L19.0095525,9.81971154 L17.3724001,9.81971154 C16.774541,9.81971154 16.3713397,9.94230647 16.1627842,10.1875 C15.9542287,10.4326935 15.8499525,10.8004783 15.8499525,11.2908654 L15.8499525,13.2217548 L18.9052753,13.2217548 L18.4985941,16.2457933 L15.8499525,16.2457933 L15.8499525,24 L12.6590693,24 L12.6590693,16.2457933 L10,16.2457933 Z" id="facebook" fill="#FFFFFF"></path>
+            </g>
+        </g>
+    </g>
+</svg>
\ No newline at end of file
diff --git a/public/assets/img/icn_reddit.svg b/public/assets/img/icn_reddit.svg
new file mode 100644
index 00000000..950939fc
--- /dev/null
+++ b/public/assets/img/icn_reddit.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <!-- Generator: Sketch 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
+    <title>icn_reddit</title>
+    <desc>Created with Sketch.</desc>
+    <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="Route-4---Expanded" transform="translate(-955.000000, -911.000000)" fill-rule="nonzero">
+            <g id="icn_reddit" transform="translate(955.000000, 911.000000)">
+                <circle id="Oval" fill="#FF4500" cx="15" cy="15" r="15"></circle>
+                <path d="M24.0048981,15.1197594 C23.9764831,14.3425491 23.4942377,13.6545068 22.773348,13.3626486 C22.0524583,13.0707904 21.2273777,13.229551 20.6662713,13.7680886 C19.1286396,12.7228617 17.3211611,12.1454075 15.4623388,12.1055335 L16.3409248,7.88832069 L19.2335002,8.49657254 C19.3045341,9.15687714 19.8447288,9.66775963 20.507966,9.70188281 C21.1712032,9.73600599 21.7609761,9.2832597 21.8994002,8.6337316 C22.0378242,7.98420349 21.6838865,7.33033854 21.0643652,7.09108696 C20.4448439,6.85183538 19.7432934,7.09808364 19.4092174,7.67205337 L16.097624,7.00973469 C15.9882261,6.98573517 15.8737733,7.00653061 15.7798101,7.06747975 C15.6858468,7.1284289 15.6201945,7.22445834 15.5975059,7.33413567 L14.5972695,12.0244333 C12.7155841,12.0528011 10.8832461,12.6306923 9.32575344,13.6869883 C8.75634717,13.1512356 7.92434611,13.0021476 7.20433738,13.3068472 C6.48432865,13.6115468 6.01208752,14.3125756 6.00022843,15.0943133 C5.98836935,15.876051 6.43912863,16.5910818 7.14956348,16.9174815 C7.13434461,17.1154345 7.13434461,17.3142637 7.14956348,17.5122166 C7.14956348,20.5399592 10.6774242,23 15.0298041,23 C19.382184,23 22.9100448,20.5399592 22.9100448,17.5122166 C22.9252636,17.3142637 22.9252636,17.1154345 22.9100448,16.9174815 C23.5907847,16.5791323 24.016659,15.8798572 24.0048981,15.1197594 Z M10.4881903,16.4714301 C10.4881903,15.724923 11.0933539,15.1197594 11.8398611,15.1197594 C12.5863682,15.1197594 13.1915319,15.724923 13.1915319,16.4714301 C13.1915319,17.2179373 12.5863682,17.8231009 11.8398611,17.8231009 C11.4813757,17.8231009 11.137573,17.6806932 10.8840855,17.4272057 C10.6305981,17.1737183 10.4881903,16.8299155 10.4881903,16.4714301 Z M18.3413975,20.1885248 C17.3824182,20.9112013 16.202534,21.2790195 15.0027707,21.2293113 C13.8030075,21.2790195 12.6231232,20.9112013 11.6641439,20.1885248 C11.5450602,20.0434288 11.5554608,19.831664 11.6881894,19.6989354 C11.820918,19.5662068 12.0326828,19.5558062 12.1777788,19.6748899 C12.9904434,20.2709755 13.9824183,20.5714295 14.989254,20.5264425 C15.9973291,20.581264 16.9939253,20.2903914 17.8142459,19.7019233 C17.910827,19.6077567 18.0503089,19.5722686 18.1801501,19.608827 C18.3099913,19.6453854 18.4104658,19.7484362 18.4437259,19.8791612 C18.476986,20.0098862 18.4379786,20.148425 18.3413975,20.2425916 L18.3413975,20.1885248 Z M18.0980968,17.8771677 C17.3515896,17.8771677 16.746426,17.2720041 16.746426,16.525497 C16.746426,15.7789898 17.3515896,15.1738262 18.0980968,15.1738262 C18.844604,15.1738262 19.4497676,15.7789898 19.4497676,16.525497 C19.4646058,16.8956141 19.3269023,17.2556033 19.0688404,17.5213305 C18.8107785,17.7870576 18.4549729,17.935236 18.0845801,17.9312346 L18.0980968,17.8771677 Z" id="Shape" fill="#FFFFFF"></path>
+            </g>
+        </g>
+    </g>
+</svg>
\ No newline at end of file
diff --git a/public/assets/img/icn_tumblr.svg b/public/assets/img/icn_tumblr.svg
new file mode 100644
index 00000000..04fd2ef8
--- /dev/null
+++ b/public/assets/img/icn_tumblr.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <!-- Generator: Sketch 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
+    <title>icn_tumblr</title>
+    <desc>Created with Sketch.</desc>
+    <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="Route-4---Expanded" transform="translate(-911.000000, -911.000000)" fill-rule="nonzero">
+            <g id="icn_tumblr" transform="translate(911.000000, 911.000000)">
+                <rect id="Rectangle-7-Copy-2" fill="#274061" x="0" y="0" width="30" height="30" rx="15"></rect>
+                <path d="M10,13.3195248 L10,11.139339 C10.6412999,10.9383992 11.1874537,10.6570877 11.6384778,10.2953961 C12.0895019,9.92700647 12.4524299,9.48494557 12.7272727,8.9692001 C13.0021155,8.44675665 13.1923885,7.79036318 13.2980973,7 L15.6131078,7 L15.6131078,10.8982124 L19.4608879,10.8982124 L19.4608879,13.3195248 L15.6131078,13.3195248 L15.6131078,17.2780189 C15.6131078,18.188946 15.6624378,18.7649647 15.7610994,19.0060925 C15.8527136,19.2539182 16.0359394,19.454855 16.3107822,19.6089088 C16.6631448,19.8165466 17.0754029,19.9203639 17.5475687,19.9203639 C18.3720971,19.9203639 19.1895661,19.665844 20,19.1567966 L20,21.5881559 C19.2811803,21.9096595 18.6539844,22.127341 18.1183932,22.2412069 C17.5757549,22.3684688 16.9661767,22.4320988 16.2896406,22.4320988 C15.5496792,22.4320988 14.8942946,22.3416772 14.3234672,22.1608314 C13.7737816,21.9933816 13.2875285,21.7422106 12.8646934,21.407311 C12.4559529,21.0657133 12.1775906,20.714074 12.0295983,20.3523823 C11.8745588,19.9906907 11.7970402,19.4515104 11.7970402,18.7348251 L11.7970402,13.3195248 L10,13.3195248 Z" id="tumblr" fill="#FFFFFF"></path>
+            </g>
+        </g>
+    </g>
+</svg>
\ No newline at end of file
diff --git a/public/assets/img/icn_twitter.svg b/public/assets/img/icn_twitter.svg
new file mode 100644
index 00000000..1ae7d9c0
--- /dev/null
+++ b/public/assets/img/icn_twitter.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <!-- Generator: Sketch 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
+    <title>icn_twitter</title>
+    <desc>Created with Sketch.</desc>
+    <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="Route-4---Expanded" transform="translate(-823.000000, -911.000000)" fill-rule="nonzero">
+            <g id="icn_twitter" transform="translate(823.000000, 911.000000)">
+                <rect id="Rectangle-7" fill="#4DC2FE" x="0" y="0" width="30" height="30" rx="15"></rect>
+                <path d="M7,20.3784787 C7.23887844,20.4052125 7.50505328,20.4185791 7.79853251,20.4185791 C9.33417962,20.4185791 10.7025913,19.9574295 11.9038086,19.0351165 C11.1871733,19.0217496 10.5456237,18.8062123 9.97914051,18.3884981 C9.41265735,17.9707839 9.02363258,17.4377885 8.81205454,16.789496 C9.03728278,16.8229132 9.24544516,16.8396215 9.43654791,16.8396215 C9.73002714,16.8396215 10.0200895,16.8028632 10.3067436,16.7293455 C9.54233258,16.5756266 8.90931421,16.2030311 8.40766949,15.6115478 C7.90602476,15.0200644 7.65520616,14.3333525 7.65520616,13.5513915 L7.65520616,13.5112911 C8.11931284,13.7652614 8.61753755,13.9022696 9.14989521,13.9223199 C8.69943873,13.6282491 8.34112644,13.2439577 8.07494761,12.7694344 C7.80876877,12.294911 7.67568135,11.7802948 7.67568135,11.2255703 C7.67568135,10.6374287 7.82583126,10.0927375 8.12613559,9.59148039 C8.95197248,10.5873111 9.95695313,11.3842979 11.1411077,11.9824647 C12.3252622,12.5806315 13.5930052,12.913127 14.9443747,12.9799613 C14.8897739,12.725991 14.8624739,12.4787079 14.8624739,12.2381045 C14.8624739,11.3425252 15.184955,10.5789551 15.8299268,9.94737114 C16.4748986,9.31578722 17.2546543,9 18.1692175,9 C19.1247313,9 19.9300808,9.3408497 20.5852902,10.0225593 C21.3292259,9.88220734 22.028788,9.62155757 22.6839975,9.24060219 C22.4314688,10.0091964 21.9468941,10.6040125 21.2302588,11.0250685 C21.8649929,10.9582342 22.4997176,10.791151 23.1344517,10.5238139 C22.6771701,11.1787898 22.1243454,11.7368476 21.4759611,12.1980042 C21.4827862,12.2915721 21.4861987,12.431922 21.4861987,12.619058 C21.4861987,13.4879036 21.3565238,14.3550653 21.09717,15.2205692 C20.8378163,16.0860731 20.4436728,16.9164765 19.9147277,17.7118044 C19.3857826,18.5071323 18.7561767,19.2105525 18.0258912,19.8220862 C17.2956056,20.4336198 16.4151812,20.9215027 15.3845913,21.2857495 C14.3540015,21.6499963 13.2517646,21.832117 12.0778477,21.832117 C10.2282461,21.832117 8.53564712,21.3475758 7,20.3784787 L7,20.3784787 Z" id="twitter" fill="#FFFFFF"></path>
+            </g>
+        </g>
+    </g>
+</svg>
\ No newline at end of file
-- 
2.45.3


From de27ae81a86aa4257df1331ffa099d071756141c Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@Mineshs-MacBook-Pro.local>
Date: Sun, 14 Oct 2018 19:42:47 +0100
Subject: [PATCH 12/63] Added border left on asset information + variable
 change on collapse component

---
 client/scss/asset-display/_asset-display.scss | 21 ++++++++++++++++++-
 .../scss/vertical-split/_vertical-split.scss  |  2 +-
 .../VerticalCollapsibleSplit/index.jsx        | 12 +++++------
 3 files changed, 27 insertions(+), 8 deletions(-)

diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/asset-display/_asset-display.scss
index b756ccbd..d9367cde 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/asset-display/_asset-display.scss
@@ -57,10 +57,29 @@
 .visible-content {
   width: 100%;
   margin: 0 0 40px;
+  padding-bottom: 25px;
+  box-shadow: 0 1px 3px 2px rgba(169, 173, 186, 0.2);
+  &.closed {
+    box-shadow: none;
+  }
 }
 
 .asset-information-wrap {
   max-width: 800px;
+
+  .horizontal-split {
+    justify-content: center;
+    .column {
+      &:first-child {
+        padding-right: 40px;
+      }
+      &:last-child {
+        padding-left: 40px;
+        border-left: 1px solid #A9ADBA;
+      }
+    }
+  }
+
   p.asset-description {
     white-space: pre-line;
     font-size: 14px;
@@ -70,7 +89,7 @@
     width: 360px;
   }
   .asset-information {
-    width: 320px;
+    width: 341px;
   }
 
 }
\ No newline at end of file
diff --git a/client/scss/vertical-split/_vertical-split.scss b/client/scss/vertical-split/_vertical-split.scss
index 665e4c80..1271c83b 100644
--- a/client/scss/vertical-split/_vertical-split.scss
+++ b/client/scss/vertical-split/_vertical-split.scss
@@ -6,7 +6,7 @@
   align-items    : center;
 };
 
-.collapse-content.hidden{
+.collapse-content.closed{
   display: none;
 }
 
diff --git a/client/src/components/VerticalCollapsibleSplit/index.jsx b/client/src/components/VerticalCollapsibleSplit/index.jsx
index 6602b108..57cae21d 100644
--- a/client/src/components/VerticalCollapsibleSplit/index.jsx
+++ b/client/src/components/VerticalCollapsibleSplit/index.jsx
@@ -5,24 +5,24 @@ class VerticalCollapsibleSplit extends React.Component {
   constructor (props) {
     super(props);
     this.collapse = this.collapse.bind(this);
-    this.state = { open: true };
+    this.state = { closed: false };
   }
 
   collapse () {
-    this.setState({ open: !this.state.open });
-    document.getElementById(this.props.name).classList.toggle('hidden');
+    this.setState({ closed: !this.state.closed });
+    document.querySelectorAll(`[data-name='${this.props.name}']`).forEach(el => el.classList.toggle('closed'));
   }
 
   render () {
     return (
       <div className={'vertical-split'}>
-        <div className='visible-content'>
+        <div className='visible-content' data-name={this.props.name}>
           {this.props.top}
           <button className='collapse-button' onClick={this.collapse}>
-            {this.state.open ? <Icon.PlusSquare /> : <Icon.MinusSquare /> }
+            {this.state.closed ? <Icon.MinusSquare /> : <Icon.PlusSquare /> }
           </button>
         </div>
-        <div className='collapse-content' id={this.props.name}>
+        <div className='collapse-content' data-name={this.props.name}>
           {this.props.bottom}
         </div>
       </div>
-- 
2.45.3


From 160fefb4178e89033e65ee0f9c089ab9f0c8bcf8 Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Wed, 17 Oct 2018 00:03:05 +0100
Subject: [PATCH 13/63] Added Circular Font

---
 client/scss/font/Circular/CircularStd-Bold.ttf  | Bin 0 -> 86368 bytes
 client/scss/font/Circular/CircularStd-Book.ttf  | Bin 0 -> 82860 bytes
 client/scss/font/_font.scss                     |  13 +++++++++++++
 client/scss/text/_text.scss                     |   2 +-
 ...td-Bold-5b43235344fe2aee5bbbbe836e3acc7d.ttf | Bin 0 -> 86368 bytes
 ...td-Book-5dfcf720810d073aff5add284e733c18.ttf | Bin 0 -> 82860 bytes
 6 files changed, 14 insertions(+), 1 deletion(-)
 create mode 100644 client/scss/font/Circular/CircularStd-Bold.ttf
 create mode 100644 client/scss/font/Circular/CircularStd-Book.ttf
 create mode 100644 public/bundle/CircularStd-Bold-5b43235344fe2aee5bbbbe836e3acc7d.ttf
 create mode 100644 public/bundle/CircularStd-Book-5dfcf720810d073aff5add284e733c18.ttf

diff --git a/client/scss/font/Circular/CircularStd-Bold.ttf b/client/scss/font/Circular/CircularStd-Bold.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..76eda84c9e7b22c8c32fb3b2f75ee33dabe84d99
GIT binary patch
literal 86368
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
G%>M;lA(5Q`

literal 0
HcmV?d00001

diff --git a/client/scss/font/Circular/CircularStd-Book.ttf b/client/scss/font/Circular/CircularStd-Book.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..b0bac769f171b4eb32558a8bb8bf640bae432f08
GIT binary patch
literal 82860
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
B?d1Rf

literal 0
HcmV?d00001

diff --git a/client/scss/font/_font.scss b/client/scss/font/_font.scss
index a62312a0..279b7de7 100644
--- a/client/scss/font/_font.scss
+++ b/client/scss/font/_font.scss
@@ -16,3 +16,16 @@
   font-weight: normal;
   font-style: italic;
 }
+
+
+@font-face {
+  font-family: 'Circular';
+  src: url('./font/Circular/CircularStd-Book.ttf');
+  font-weight: normal;
+}
+
+@font-face {
+  font-family: 'Circular';
+  src: url('./font/Circular/CircularStd-Bold.ttf');
+  font-weight: bold;
+}
\ No newline at end of file
diff --git a/client/scss/text/_text.scss b/client/scss/text/_text.scss
index a8b72aa0..331eaff7 100644
--- a/client/scss/text/_text.scss
+++ b/client/scss/text/_text.scss
@@ -18,7 +18,7 @@ h3 {
 }
 
 p, body, button, input, textarea, label, select, option {
-  font-family: 'Lora', serif;
+  font-family: 'Circular', serif;
   font-size: 16px;
 }
 
diff --git a/public/bundle/CircularStd-Bold-5b43235344fe2aee5bbbbe836e3acc7d.ttf b/public/bundle/CircularStd-Bold-5b43235344fe2aee5bbbbe836e3acc7d.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..76eda84c9e7b22c8c32fb3b2f75ee33dabe84d99
GIT binary patch
literal 86368
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
G%>M;lA(5Q`

literal 0
HcmV?d00001

diff --git a/public/bundle/CircularStd-Book-5dfcf720810d073aff5add284e733c18.ttf b/public/bundle/CircularStd-Book-5dfcf720810d073aff5add284e733c18.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..b0bac769f171b4eb32558a8bb8bf640bae432f08
GIT binary patch
literal 82860
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
B?d1Rf

literal 0
HcmV?d00001

-- 
2.45.3


From 15da80fefbaeff7c363f5baa1ed5c214b76c1204 Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Sun, 21 Oct 2018 20:52:10 +0100
Subject: [PATCH 14/63] Style changes

---
 client/scss/asset-display/_asset-display.scss | 4 ++--
 client/scss/nav-bar/_nav-bar.scss             | 2 +-
 client/scss/row/_row.scss                     | 7 ++++++-
 client/scss/variables/_variables.scss         | 5 +++--
 4 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/asset-display/_asset-display.scss
index d9367cde..38416d60 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/asset-display/_asset-display.scss
@@ -4,14 +4,14 @@
   flex-direction: column;
   justify-content: center;
 
-  background: #E9E8E8;
+  background: #F6F6F6;
   width: 100%;
   position: relative;
   &:before,
   &:after {
     content: '';
     position: absolute;
-    box-shadow: inset 0 1px 3px 2px rgba(169, 173, 186, 0.2);
+    box-shadow: inset 0 1px 2px 2px rgba(169, 173, 186, 0.2);
     width: 100%;
     height: 1px;
     background: transparent;
diff --git a/client/scss/nav-bar/_nav-bar.scss b/client/scss/nav-bar/_nav-bar.scss
index 8d5e3f37..e1bbdde4 100644
--- a/client/scss/nav-bar/_nav-bar.scss
+++ b/client/scss/nav-bar/_nav-bar.scss
@@ -1,7 +1,7 @@
 .nav-bar {
   padding-left: $primary-padding;
   padding-right: $primary-padding;
-  border-bottom: 0.5px solid $tertiary-color;
+  // border-bottom: 0.5px solid $tertiary-color;
   .select--arrow {
     padding: 0 1.5em 0 $input-padding;
   }
diff --git a/client/scss/row/_row.scss b/client/scss/row/_row.scss
index 1789f1d6..ef404e50 100644
--- a/client/scss/row/_row.scss
+++ b/client/scss/row/_row.scss
@@ -28,7 +28,12 @@
     align-self: flex-start;
     width: 100%;
     color: $grey;
-    font-size: 12px;
+    .label {
+      text-transform: uppercase;
+      font-size: 18px;
+      letter-spacing: 0.4px;
+      line-height: 18px;
+    }
   }
 
   .row-labeled-content {
diff --git a/client/scss/variables/_variables.scss b/client/scss/variables/_variables.scss
index b33e1cfa..f7ad0ce9 100644
--- a/client/scss/variables/_variables.scss
+++ b/client/scss/variables/_variables.scss
@@ -5,8 +5,9 @@ $tertiary-color: #ccccc0;
 $interactive-color: blue;
 $success-color: green;
 $failure-color: red;
-$brand-color: #ff725d;
-$grey: #a9adba;
+// $brand-color: #ff725d;
+$brand-color: #1944F9;
+$grey: #9095A5;
 
 $primary-padding: 3em;
 $secondary-padding: 2em;
-- 
2.45.3


From 293a2ccfad0dd9a7fbb58a4e78257c5c8f2deff8 Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Sun, 21 Oct 2018 20:59:43 +0100
Subject: [PATCH 15/63] Icon changed to circle

---
 client/scss/asset-display/_asset-display.scss            | 2 +-
 client/scss/click-to-copy/_click-to-copy.scss            | 2 ++
 client/src/components/VerticalCollapsibleSplit/index.jsx | 2 +-
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/asset-display/_asset-display.scss
index 38416d60..e9823933 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/asset-display/_asset-display.scss
@@ -75,7 +75,7 @@
       }
       &:last-child {
         padding-left: 40px;
-        border-left: 1px solid #A9ADBA;
+        border-left: 1px solid #9095a54d;
       }
     }
   }
diff --git a/client/scss/click-to-copy/_click-to-copy.scss b/client/scss/click-to-copy/_click-to-copy.scss
index ee630eac..f408978a 100644
--- a/client/scss/click-to-copy/_click-to-copy.scss
+++ b/client/scss/click-to-copy/_click-to-copy.scss
@@ -15,6 +15,8 @@
     letter-spacing: -0.6px;
     line-height: 20px;
     max-width: 200px;
+    letter-spacing: 0;
+    font-family: monospace;
   }
   svg {
     stroke: $brand-color;
diff --git a/client/src/components/VerticalCollapsibleSplit/index.jsx b/client/src/components/VerticalCollapsibleSplit/index.jsx
index 57cae21d..64807af7 100644
--- a/client/src/components/VerticalCollapsibleSplit/index.jsx
+++ b/client/src/components/VerticalCollapsibleSplit/index.jsx
@@ -19,7 +19,7 @@ class VerticalCollapsibleSplit extends React.Component {
         <div className='visible-content' data-name={this.props.name}>
           {this.props.top}
           <button className='collapse-button' onClick={this.collapse}>
-            {this.state.closed ? <Icon.MinusSquare /> : <Icon.PlusSquare /> }
+            {this.state.closed ? <Icon.MinusCircle /> : <Icon.PlusCircle /> }
           </button>
         </div>
         <div className='collapse-content' data-name={this.props.name}>
-- 
2.45.3


From 6a02d7d169b52ecc51dd5721058458d6b1ad1bfa Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Sun, 21 Oct 2018 21:05:38 +0100
Subject: [PATCH 16/63] label font changes

---
 client/scss/row/_row.scss | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/client/scss/row/_row.scss b/client/scss/row/_row.scss
index ef404e50..dcf3e3a8 100644
--- a/client/scss/row/_row.scss
+++ b/client/scss/row/_row.scss
@@ -29,8 +29,9 @@
     width: 100%;
     color: $grey;
     .label {
+      font-weight: bold;
       text-transform: uppercase;
-      font-size: 18px;
+      font-size: 13px;
       letter-spacing: 0.4px;
       line-height: 18px;
     }
-- 
2.45.3


From ba9dc3df5376690abbe6e125f34e4ee14feedf20 Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Sun, 21 Oct 2018 21:35:45 +0100
Subject: [PATCH 17/63] Style clean up for click to copy

---
 client/scss/click-to-copy/_click-to-copy.scss | 24 ++++++++++++++-----
 client/scss/share-buttons/_share-buttons.scss |  2 +-
 client/scss/variables/_variables.scss         |  1 +
 .../scss/vertical-split/_vertical-split.scss  |  7 ++++++
 client/src/components/ClickToCopy/index.jsx   |  4 +++-
 5 files changed, 30 insertions(+), 8 deletions(-)

diff --git a/client/scss/click-to-copy/_click-to-copy.scss b/client/scss/click-to-copy/_click-to-copy.scss
index f408978a..16b6996f 100644
--- a/client/scss/click-to-copy/_click-to-copy.scss
+++ b/client/scss/click-to-copy/_click-to-copy.scss
@@ -2,25 +2,37 @@
   display: flex;
   width: 100%;
   justify-content: space-between;
+  align-items: center;
   cursor: pointer;
+  border: 1px solid $grey-alt;
+  border-radius: 6px;
+  max-width: 280px;
   .click-to-copy {
     border: none;
-    padding: 0.5em;
+    padding: 0.36em 0.5em;
     margin: 0;
     color: black;
-    background-color: white;
+    background-color: transparent;
     width: calc(100% - 1em - 2px);
     font-size: 14px;
     color: #2E2F31;
     letter-spacing: -0.6px;
     line-height: 20px;
-    max-width: 200px;
+    max-width: 236px;
     letter-spacing: 0;
     font-family: monospace;
+    border-right: 1px solid #9095a54d;
   }
-  svg {
-    stroke: $brand-color;
-
+  .icon-wrap {
+    width: 30px;
+    height: 30px;
+    line-height: 30px;
+    text-align: center;
+    svg {
+      stroke: $brand-color;
+      width: 12px;
+      height: 12px;
+    }
   }
 }
 
diff --git a/client/scss/share-buttons/_share-buttons.scss b/client/scss/share-buttons/_share-buttons.scss
index 8c429596..26be33a1 100644
--- a/client/scss/share-buttons/_share-buttons.scss
+++ b/client/scss/share-buttons/_share-buttons.scss
@@ -1,7 +1,7 @@
 .share-buttons {
     display: flex;
     align-items: center;
-    
+    margin: 0 -7px;
     a {
         display: block;
         margin: 0 7px;
diff --git a/client/scss/variables/_variables.scss b/client/scss/variables/_variables.scss
index f7ad0ce9..5f19ce0e 100644
--- a/client/scss/variables/_variables.scss
+++ b/client/scss/variables/_variables.scss
@@ -8,6 +8,7 @@ $failure-color: red;
 // $brand-color: #ff725d;
 $brand-color: #1944F9;
 $grey: #9095A5;
+$grey-alt: #9095a54d;
 
 $primary-padding: 3em;
 $secondary-padding: 2em;
diff --git a/client/scss/vertical-split/_vertical-split.scss b/client/scss/vertical-split/_vertical-split.scss
index 1271c83b..ebccf388 100644
--- a/client/scss/vertical-split/_vertical-split.scss
+++ b/client/scss/vertical-split/_vertical-split.scss
@@ -10,6 +10,13 @@
   display: none;
 }
 
+.collapse-content {
+  padding-bottom: 80px;
+  @media (max-width: $break-point-medium) {
+    padding-bottom: 60px;
+  }
+}
+
 .collapse-button {
   outline: none;
   background: none;
diff --git a/client/src/components/ClickToCopy/index.jsx b/client/src/components/ClickToCopy/index.jsx
index 832ce973..8bc4d3cb 100644
--- a/client/src/components/ClickToCopy/index.jsx
+++ b/client/src/components/ClickToCopy/index.jsx
@@ -32,7 +32,9 @@ class ClickToCopy extends React.Component {
           readOnly
           spellCheck='false'
         />
-        <Icon.Copy />
+        <div className='icon-wrap'>
+          <Icon.Copy />
+        </div>
       </div>
     );
   }
-- 
2.45.3


From 58b52a4e9ccbf1ef7050ec8549dd7e82f2b435b0 Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Sun, 21 Oct 2018 22:24:34 +0100
Subject: [PATCH 18/63] Icon changes + claim address placeholder + image size
 change.

---
 client/scss/asset-display/_asset-display.scss | 28 +++++++-----
 client/scss/body/_body.scss                   |  2 +-
 client/scss/click-to-copy/_click-to-copy.scss |  8 ++--
 client/scss/link/_link.scss                   | 31 +++++++++++++
 client/src/containers/AssetInfo/view.jsx      | 45 ++++++++++++++-----
 5 files changed, 86 insertions(+), 28 deletions(-)

diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/asset-display/_asset-display.scss
index e9823933..e8eeced3 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/asset-display/_asset-display.scss
@@ -26,20 +26,19 @@
 
 }
 
-
-  .asset-title {
-    margin-top: 40px;
-    font-weight: normal;
-    font-size: 26px;
-    color: #2E2F31;
-    letter-spacing: 0;
-    text-align: center;
-    line-height: 32px;
-  }
+.asset-title {
+  margin-top: 40px;
+  font-weight: normal;
+  font-size: 26px;
+  color: #2E2F31;
+  letter-spacing: 0;
+  text-align: center;
+  line-height: 32px;
+}
 
 .asset-image, .asset-video {
-  margin : 60px 0;
-  max-width: 100%;
+  margin: 60px auto;
+  max-width: 60vh;
   max-height: 100%;
   object-fit: contain;
   object-position: center;
@@ -92,4 +91,9 @@
     width: 341px;
   }
 
+}
+
+.asset-footer {
+  padding-top: 30px;
+  border-top: 1px solid $grey-alt;
 }
\ No newline at end of file
diff --git a/client/scss/body/_body.scss b/client/scss/body/_body.scss
index 90f22258..6072cbd4 100644
--- a/client/scss/body/_body.scss
+++ b/client/scss/body/_body.scss
@@ -7,4 +7,4 @@ body {
   display: flex;
   -webkit-flex-direction: column;
   flex-direction: column;
-}
+}
\ No newline at end of file
diff --git a/client/scss/click-to-copy/_click-to-copy.scss b/client/scss/click-to-copy/_click-to-copy.scss
index 16b6996f..c5d1fd3d 100644
--- a/client/scss/click-to-copy/_click-to-copy.scss
+++ b/client/scss/click-to-copy/_click-to-copy.scss
@@ -21,17 +21,17 @@
     max-width: 236px;
     letter-spacing: 0;
     font-family: monospace;
-    border-right: 1px solid #9095a54d;
+    border-right: 1px solid $grey-alt;
   }
   .icon-wrap {
     width: 30px;
     height: 30px;
-    line-height: 30px;
+    line-height: 34px;
     text-align: center;
     svg {
       stroke: $brand-color;
-      width: 12px;
-      height: 12px;
+      width: 16px;
+      height: 16px;
     }
   }
 }
diff --git a/client/scss/link/_link.scss b/client/scss/link/_link.scss
index ee5cc8c7..4fbc92ef 100644
--- a/client/scss/link/_link.scss
+++ b/client/scss/link/_link.scss
@@ -29,3 +29,34 @@ a, a:visited {
   color: $interactive-color;
   border-bottom: 2px solid $interactive-color;
 }
+
+
+.link--icon, .link--icon:visited {
+  display: flex;
+  .link-text {
+    padding-bottom: 2px;
+    border-bottom: 1px solid transparent;
+    transition: all 0.2s ease;
+  }
+  .icon-wrap {
+    margin-left: 5px;
+    padding-top: 3px;
+    align-items: center;
+    svg {
+      width: 16px;
+      height: 16px;
+      stroke-width: 1.2px;
+      stroke: $grey-alt;
+      transition: all 0.2s ease;
+    }
+  }
+  &:hover {
+    .link-text {
+      border-bottom: 1px solid $brand-color;
+    }
+    svg {
+      stroke: $brand-color;
+    }
+  }
+}
+
diff --git a/client/src/containers/AssetInfo/view.jsx b/client/src/containers/AssetInfo/view.jsx
index b150b488..30a366bc 100644
--- a/client/src/containers/AssetInfo/view.jsx
+++ b/client/src/containers/AssetInfo/view.jsx
@@ -7,6 +7,7 @@ import SpaceBetween from '@components/SpaceBetween';
 import AssetShareButtons from '@components/AssetShareButtons';
 import HorizontalSplit from '@components/HorizontalSplit';
 import ClickToCopy from '@components/ClickToCopy';
+import * as Icon from 'react-feather';
 
 class AssetInfo extends React.Component {
   render () {
@@ -93,33 +94,55 @@ class AssetInfo extends React.Component {
               <Row>
                 <SpaceBetween>
                   <a
-                    className='link--brand'
+                    className={'link--brand link--icon direct'}
                     href={`${host}/${claimId}/${name}.${fileExt}`}
                   >
-                    Direct Link
+                    <div className='link-text'>Direct Link</div>
+                    <div className='icon-wrap'>
+                      <Icon.ArrowRightCircle />
+                    </div>
+
                   </a>
                   <a
-                    className={'link--brand'}
+                    className={'link--brand link--icon download'}
                     href={`${host}/${claimId}/${name}.${fileExt}`}
                     download={name}
                   >
-                    Download
+                    <div className='link-text'>Download</div>
+                    <div className='icon-wrap'>
+                      <Icon.ArrowDownCircle />
+                    </div>
                   </a>
                   <a
-                    className={'link--brand'}
+                    className={'link--brand link--icon report'}
                     target='_blank'
                     href='https://lbry.io/dmca'
                   >
-                    Report
+                    <div className='link-text'>Report</div>
+                    <div className='icon-wrap'>
+                      <Icon.AlertCircle />
+                    </div>
                   </a>
                 </SpaceBetween>
               </Row>
 
-              <Row>
-                <p>
-                  Hosted via the <a className={'link--brand'} href={'https://lbry.io/get'} target={'_blank'}>LBRY</a> blockchain
-                </p>
-              </Row>
+              <div className='asset-footer'>
+                <Row>
+                  <p>
+                    Hosted via the <a className={'link--brand'} href={'https://lbry.io/get'} target={'_blank'}>LBRY</a> blockchain
+                  </p>
+                </Row>
+                <div className='claim-address'>
+                  <RowLabeledAlt
+                    label={
+                      <Label value={'Claim Address'} />
+                    }
+                    content={
+                      <a className={'link--brand'} href={'https://lbry.io/get'} target={'_blank'}>Place Claim Address Here</a>
+                    }
+                  />
+                </div>
+              </div>
 
             </div>
           }
-- 
2.45.3


From 034bedac103689bf3f070495e80f24480de8982d Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Sun, 21 Oct 2018 22:28:18 +0100
Subject: [PATCH 19/63] Icon color changes for download, direct, report icons.

---
 client/scss/link/_link.scss | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/client/scss/link/_link.scss b/client/scss/link/_link.scss
index 4fbc92ef..fa81a1da 100644
--- a/client/scss/link/_link.scss
+++ b/client/scss/link/_link.scss
@@ -45,8 +45,7 @@ a, a:visited {
     svg {
       width: 16px;
       height: 16px;
-      stroke-width: 1.2px;
-      stroke: $grey-alt;
+      stroke: $grey;
       transition: all 0.2s ease;
     }
   }
-- 
2.45.3


From a188adc311cde2b52d17ae7a1383e52517bd57ff Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Sun, 21 Oct 2018 22:38:27 +0100
Subject: [PATCH 20/63] Link underlines for @channel + claim address + lbry url

---
 client/scss/asset-display/_asset-display.scss |  4 ++--
 client/scss/link/_link.scss                   | 11 +++++++++++
 client/src/containers/AssetInfo/view.jsx      |  6 +++---
 3 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/asset-display/_asset-display.scss
index e8eeced3..a4c6f1f9 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/asset-display/_asset-display.scss
@@ -73,7 +73,7 @@
         padding-right: 40px;
       }
       &:last-child {
-        padding-left: 40px;
+        padding-left: 60px;
         border-left: 1px solid #9095a54d;
       }
     }
@@ -88,7 +88,7 @@
     width: 360px;
   }
   .asset-information {
-    width: 341px;
+    width: 320px;
   }
 
 }
diff --git a/client/scss/link/_link.scss b/client/scss/link/_link.scss
index fa81a1da..59b189be 100644
--- a/client/scss/link/_link.scss
+++ b/client/scss/link/_link.scss
@@ -59,3 +59,14 @@ a, a:visited {
   }
 }
 
+
+.link--hover {
+  display: inline-block;
+  padding-bottom: 2px;
+  border-bottom: 1px solid transparent;
+  transition: all 0.2s ease;
+  &:hover {
+    border-bottom: 1px solid $brand-color;
+  }
+}
+
diff --git a/client/src/containers/AssetInfo/view.jsx b/client/src/containers/AssetInfo/view.jsx
index 30a366bc..71bfea1f 100644
--- a/client/src/containers/AssetInfo/view.jsx
+++ b/client/src/containers/AssetInfo/view.jsx
@@ -32,7 +32,7 @@ class AssetInfo extends React.Component {
                     }
                     content={
                       <span className='text'>
-                        <Link className='link--brand' to={`/${channelName}:${certificateId}`}>{channelName}</Link>
+                        <Link className='link--brand link--hover' to={`/${channelName}:${certificateId}`}>{channelName}</Link>
                       </span>
                     }
                   />
@@ -129,7 +129,7 @@ class AssetInfo extends React.Component {
               <div className='asset-footer'>
                 <Row>
                   <p>
-                    Hosted via the <a className={'link--brand'} href={'https://lbry.io/get'} target={'_blank'}>LBRY</a> blockchain
+                    Hosted via the <a className={'link--brand link--hover'} href={'https://lbry.io/get'} target={'_blank'}>LBRY</a> blockchain
                   </p>
                 </Row>
                 <div className='claim-address'>
@@ -138,7 +138,7 @@ class AssetInfo extends React.Component {
                       <Label value={'Claim Address'} />
                     }
                     content={
-                      <a className={'link--brand'} href={'https://lbry.io/get'} target={'_blank'}>Place Claim Address Here</a>
+                      <a className={'link--brand link--hover'} href={'https://lbry.io/get'} target={'_blank'}>Place Claim Address Here</a>
                     }
                   />
                 </div>
-- 
2.45.3


From a3c44b805c15461697a230828c9ddd1fa42eb92e Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Sun, 21 Oct 2018 23:09:02 +0100
Subject: [PATCH 21/63] Border Clean up + moved padding to individuals columns

---
 client/scss/asset-display/_asset-display.scss | 15 ++++++++--
 .../horizontal-split/_horizontal-split.scss   |  4 +--
 client/scss/share-buttons/_share-buttons.scss | 29 +++++++++++++++++++
 client/scss/variables/_variables.scss         |  2 +-
 .../scss/vertical-split/_vertical-split.scss  |  7 -----
 .../src/components/AssetShareButtons/index.js | 16 +++++-----
 public/assets/img/facebook.svg                | 19 ++++++++++++
 public/assets/img/reddit.svg                  | 19 ++++++++++++
 public/assets/img/tumblr.svg                  | 19 ++++++++++++
 public/assets/img/twitter.svg                 | 19 ++++++++++++
 10 files changed, 129 insertions(+), 20 deletions(-)
 create mode 100644 public/assets/img/facebook.svg
 create mode 100644 public/assets/img/reddit.svg
 create mode 100644 public/assets/img/tumblr.svg
 create mode 100644 public/assets/img/twitter.svg

diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/asset-display/_asset-display.scss
index a4c6f1f9..b06bccb7 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/asset-display/_asset-display.scss
@@ -55,7 +55,7 @@
 
 .visible-content {
   width: 100%;
-  margin: 0 0 40px;
+  margin: 0;
   padding-bottom: 25px;
   box-shadow: 0 1px 3px 2px rgba(169, 173, 186, 0.2);
   &.closed {
@@ -69,12 +69,15 @@
   .horizontal-split {
     justify-content: center;
     .column {
+      padding-top: 40px;
       &:first-child {
         padding-right: 40px;
+        margin-right: -1px;
+        border-right: 1px solid $grey-alt;
       }
       &:last-child {
         padding-left: 60px;
-        border-left: 1px solid #9095a54d;
+        border-left: 1px solid $grey-alt;
       }
     }
   }
@@ -86,6 +89,10 @@
     letter-spacing: 0;
     line-height: 18px;
     width: 360px;
+    padding-bottom: 80px;
+    @media (max-width: $break-point-medium) {
+      padding-bottom: 60px;
+    }
   }
   .asset-information {
     width: 320px;
@@ -96,4 +103,8 @@
 .asset-footer {
   padding-top: 30px;
   border-top: 1px solid $grey-alt;
+  padding-bottom: 80px;
+  @media (max-width: $break-point-medium) {
+    padding-bottom: 60px;
+  }
 }
\ No newline at end of file
diff --git a/client/scss/horizontal-split/_horizontal-split.scss b/client/scss/horizontal-split/_horizontal-split.scss
index bd304c3c..c6be788f 100644
--- a/client/scss/horizontal-split/_horizontal-split.scss
+++ b/client/scss/horizontal-split/_horizontal-split.scss
@@ -2,7 +2,7 @@
   display       : flex;
   flex-direction : row;
   justify-content: space-between;
-  align-items    : flex-start;
+
   .column {
     width: 50%;
   }
@@ -16,7 +16,7 @@
     display       : flex;
     flex-direction : column;
     justify-content: space-between;
-    align-items    : flex-start;
+
     .column {
       width: 100%;
       padding-left: 0;
diff --git a/client/scss/share-buttons/_share-buttons.scss b/client/scss/share-buttons/_share-buttons.scss
index 26be33a1..d74c263b 100644
--- a/client/scss/share-buttons/_share-buttons.scss
+++ b/client/scss/share-buttons/_share-buttons.scss
@@ -4,6 +4,35 @@
     margin: 0 -7px;
     a {
         display: block;
+        width: 30px;
+        height: 30px;
         margin: 0 7px;
+        border-radius: 100%;
+        line-height: 30px;
+        text-align: center;
+        &.twitter {
+            background:#4DC2FE
+        }
+
+        &.facebook {
+            background: #5487DE;
+            img {
+                margin-top: 6px;
+            }
+        }
+
+        &.tumblr {
+            background: #274061;
+            img {
+                margin-top: 7px;
+            }
+        }
+
+        &.reddit {
+            background: #FF4500;
+            img {
+                margin-top: 7px;
+            }
+        }
     }
 }
diff --git a/client/scss/variables/_variables.scss b/client/scss/variables/_variables.scss
index 5f19ce0e..efabfaa7 100644
--- a/client/scss/variables/_variables.scss
+++ b/client/scss/variables/_variables.scss
@@ -8,7 +8,7 @@ $failure-color: red;
 // $brand-color: #ff725d;
 $brand-color: #1944F9;
 $grey: #9095A5;
-$grey-alt: #9095a54d;
+$grey-alt: #DDDFE4;
 
 $primary-padding: 3em;
 $secondary-padding: 2em;
diff --git a/client/scss/vertical-split/_vertical-split.scss b/client/scss/vertical-split/_vertical-split.scss
index ebccf388..1271c83b 100644
--- a/client/scss/vertical-split/_vertical-split.scss
+++ b/client/scss/vertical-split/_vertical-split.scss
@@ -10,13 +10,6 @@
   display: none;
 }
 
-.collapse-content {
-  padding-bottom: 80px;
-  @media (max-width: $break-point-medium) {
-    padding-bottom: 60px;
-  }
-}
-
 .collapse-button {
   outline: none;
   background: none;
diff --git a/client/src/components/AssetShareButtons/index.js b/client/src/components/AssetShareButtons/index.js
index 6c9a165d..8e093bdc 100644
--- a/client/src/components/AssetShareButtons/index.js
+++ b/client/src/components/AssetShareButtons/index.js
@@ -4,32 +4,32 @@ const AssetShareButtons = ({ host, name, shortId }) => {
   return (
     <div className='share-buttons'>
       <a
-        className='link--primary'
+        className='link--primary twitter'
         target='_blank'
         href={`https://twitter.com/intent/tweet?text=${host}/${shortId}/${name}`}
       >
-        <img src='/assets/img/icn_twitter.svg' />
+        <img src='/assets/img/twitter.svg' />
       </a>
       <a
-        className='link--primary'
+        className='link--primary facebook'
         target='_blank'
         href={`https://www.facebook.com/sharer/sharer.php?u=${host}/${shortId}/${name}`}
       >
-        <img src='/assets/img/icn_facebook.svg' />
+        <img src='/assets/img/facebook.svg' />
       </a>
       <a
-        className='link--primary'
+        className='link--primary tumblr'
         target='_blank'
         href={`http://tumblr.com/widgets/share/tool?canonicalUrl=${host}/${shortId}/${name}`}
       >
-        <img src='/assets/img/icn_tumblr.svg' />
+        <img src='/assets/img/tumblr.svg' />
       </a>
       <a
-        className='link--primary'
+        className='link--primary reddit'
         target='_blank'
         href={`https://www.reddit.com/submit?url=${host}/${shortId}/${name}&title=${name}`}
       >
-        <img src='/assets/img/icn_reddit.svg' />
+        <img src='/assets/img/reddit.svg' />
       </a>
     </div>
   );
diff --git a/public/assets/img/facebook.svg b/public/assets/img/facebook.svg
new file mode 100644
index 00000000..a8a55384
--- /dev/null
+++ b/public/assets/img/facebook.svg
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="10px" height="17px" viewBox="0 0 10 17" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <!-- Generator: Sketch 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
+    <title>facebook</title>
+    <desc>Created with Sketch.</desc>
+    <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="Route-4---Expanded-Copy-2" transform="translate(-878.000000, -918.000000)" fill="#FFFFFF" fill-rule="nonzero">
+            <g id="Group-11" transform="translate(0.000000, 656.000000)">
+                <g id="Group-10" transform="translate(761.000000, 194.000000)">
+                    <g id="Group-5">
+                        <g id="Group-7" transform="translate(62.000000, 61.000000)">
+                            <path d="M55,16.2457933 L55,13.2217548 L57.6590693,13.2217548 L57.6590693,10.9945913 C57.6590693,9.72775809 58.0205601,8.74529596 58.7435525,8.04717548 C59.4665449,7.349055 60.4293617,7 61.6320317,7 C62.6539537,7 63.4464527,7.04086498 64.0095525,7.12259615 L64.0095525,9.81971154 L62.3724001,9.81971154 C61.774541,9.81971154 61.3713397,9.94230647 61.1627842,10.1875 C60.9542287,10.4326935 60.8499525,10.8004783 60.8499525,11.2908654 L60.8499525,13.2217548 L63.9052753,13.2217548 L63.4985941,16.2457933 L60.8499525,16.2457933 L60.8499525,24 L57.6590693,24 L57.6590693,16.2457933 L55,16.2457933 Z" id="facebook"></path>
+                        </g>
+                    </g>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>
\ No newline at end of file
diff --git a/public/assets/img/reddit.svg b/public/assets/img/reddit.svg
new file mode 100644
index 00000000..4291cd7e
--- /dev/null
+++ b/public/assets/img/reddit.svg
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="18px" height="16px" viewBox="0 0 18 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <!-- Generator: Sketch 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
+    <title>reddit</title>
+    <desc>Created with Sketch.</desc>
+    <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="Route-4---Expanded-Copy-2" transform="translate(-961.000000, -918.000000)" fill="#FFFFFF" fill-rule="nonzero">
+            <g id="Group-11" transform="translate(0.000000, 656.000000)">
+                <g id="Group-10" transform="translate(761.000000, 194.000000)">
+                    <g id="Group-5">
+                        <g id="Group-7" transform="translate(62.000000, 61.000000)">
+                            <path d="M156.004898,15.1197594 C155.976483,14.3425491 155.494238,13.6545068 154.773348,13.3626486 C154.052458,13.0707904 153.227378,13.229551 152.666271,13.7680886 C151.12864,12.7228617 149.321161,12.1454075 147.462339,12.1055335 L148.340925,7.88832069 L151.2335,8.49657254 C151.304534,9.15687714 151.844729,9.66775963 152.507966,9.70188281 C153.171203,9.73600599 153.760976,9.2832597 153.8994,8.6337316 C154.037824,7.98420349 153.683886,7.33033854 153.064365,7.09108696 C152.444844,6.85183538 151.743293,7.09808364 151.409217,7.67205337 L148.097624,7.00973469 C147.988226,6.98573517 147.873773,7.00653061 147.77981,7.06747975 C147.685847,7.1284289 147.620195,7.22445834 147.597506,7.33413567 L146.597269,12.0244333 C144.715584,12.0528011 142.883246,12.6306923 141.325753,13.6869883 C140.756347,13.1512356 139.924346,13.0021476 139.204337,13.3068472 C138.484329,13.6115468 138.012088,14.3125756 138.000228,15.0943133 C137.988369,15.876051 138.439129,16.5910818 139.149563,16.9174815 C139.134345,17.1154345 139.134345,17.3142637 139.149563,17.5122166 C139.149563,20.5399592 142.677424,23 147.029804,23 C151.382184,23 154.910045,20.5399592 154.910045,17.5122166 C154.925264,17.3142637 154.925264,17.1154345 154.910045,16.9174815 C155.590785,16.5791323 156.016659,15.8798572 156.004898,15.1197594 Z M142.48819,16.4714301 C142.48819,15.724923 143.093354,15.1197594 143.839861,15.1197594 C144.586368,15.1197594 145.191532,15.724923 145.191532,16.4714301 C145.191532,17.2179373 144.586368,17.8231009 143.839861,17.8231009 C143.481376,17.8231009 143.137573,17.6806932 142.884086,17.4272057 C142.630598,17.1737183 142.48819,16.8299155 142.48819,16.4714301 Z M150.341398,20.1885248 C149.382418,20.9112013 148.202534,21.2790195 147.002771,21.2293113 C145.803007,21.2790195 144.623123,20.9112013 143.664144,20.1885248 C143.54506,20.0434288 143.555461,19.831664 143.688189,19.6989354 C143.820918,19.5662068 144.032683,19.5558062 144.177779,19.6748899 C144.990443,20.2709755 145.982418,20.5714295 146.989254,20.5264425 C147.997329,20.581264 148.993925,20.2903914 149.814246,19.7019233 C149.910827,19.6077567 150.050309,19.5722686 150.18015,19.608827 C150.309991,19.6453854 150.410466,19.7484362 150.443726,19.8791612 C150.476986,20.0098862 150.437979,20.148425 150.341398,20.2425916 L150.341398,20.1885248 Z M150.098097,17.8771677 C149.35159,17.8771677 148.746426,17.2720041 148.746426,16.525497 C148.746426,15.7789898 149.35159,15.1738262 150.098097,15.1738262 C150.844604,15.1738262 151.449768,15.7789898 151.449768,16.525497 C151.464606,16.8956141 151.326902,17.2556033 151.06884,17.5213305 C150.810779,17.7870576 150.454973,17.935236 150.08458,17.9312346 L150.098097,17.8771677 Z" id="reddit"></path>
+                        </g>
+                    </g>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>
\ No newline at end of file
diff --git a/public/assets/img/tumblr.svg b/public/assets/img/tumblr.svg
new file mode 100644
index 00000000..7cbb240e
--- /dev/null
+++ b/public/assets/img/tumblr.svg
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="10px" height="16px" viewBox="0 0 10 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <!-- Generator: Sketch 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
+    <title>tumblr</title>
+    <desc>Created with Sketch.</desc>
+    <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="Route-4---Expanded-Copy-2" transform="translate(-921.000000, -918.000000)" fill="#FFFFFF" fill-rule="nonzero">
+            <g id="Group-11" transform="translate(0.000000, 656.000000)">
+                <g id="Group-10" transform="translate(761.000000, 194.000000)">
+                    <g id="Group-5">
+                        <g id="Group-7" transform="translate(62.000000, 61.000000)">
+                            <path d="M98,13.3195248 L98,11.139339 C98.6412999,10.9383992 99.1874537,10.6570877 99.6384778,10.2953961 C100.089502,9.92700647 100.45243,9.48494557 100.727273,8.9692001 C101.002116,8.44675665 101.192388,7.79036318 101.298097,7 L103.613108,7 L103.613108,10.8982124 L107.460888,10.8982124 L107.460888,13.3195248 L103.613108,13.3195248 L103.613108,17.2780189 C103.613108,18.188946 103.662438,18.7649647 103.761099,19.0060925 C103.852714,19.2539182 104.035939,19.454855 104.310782,19.6089088 C104.663145,19.8165466 105.075403,19.9203639 105.547569,19.9203639 C106.372097,19.9203639 107.189566,19.665844 108,19.1567966 L108,21.5881559 C107.28118,21.9096595 106.653984,22.127341 106.118393,22.2412069 C105.575755,22.3684688 104.966177,22.4320988 104.289641,22.4320988 C103.549679,22.4320988 102.894295,22.3416772 102.323467,22.1608314 C101.773782,21.9933816 101.287529,21.7422106 100.864693,21.407311 C100.455953,21.0657133 100.177591,20.714074 100.029598,20.3523823 C99.8745588,19.9906907 99.7970402,19.4515104 99.7970402,18.7348251 L99.7970402,13.3195248 L98,13.3195248 Z" id="tumblr"></path>
+                        </g>
+                    </g>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>
\ No newline at end of file
diff --git a/public/assets/img/twitter.svg b/public/assets/img/twitter.svg
new file mode 100644
index 00000000..1325869f
--- /dev/null
+++ b/public/assets/img/twitter.svg
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="17px" height="13px" viewBox="0 0 17 13" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <!-- Generator: Sketch 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
+    <title>twitter</title>
+    <desc>Created with Sketch.</desc>
+    <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="Route-4---Expanded-Copy-2" transform="translate(-830.000000, -920.000000)" fill="#FFFFFF" fill-rule="nonzero">
+            <g id="Group-11" transform="translate(0.000000, 656.000000)">
+                <g id="Group-10" transform="translate(761.000000, 194.000000)">
+                    <g id="Group-5">
+                        <g id="Group-7" transform="translate(62.000000, 61.000000)">
+                            <path d="M7,20.3784787 C7.23887844,20.4052125 7.50505328,20.4185791 7.79853251,20.4185791 C9.33417962,20.4185791 10.7025913,19.9574295 11.9038086,19.0351165 C11.1871733,19.0217496 10.5456237,18.8062123 9.97914051,18.3884981 C9.41265735,17.9707839 9.02363258,17.4377885 8.81205454,16.789496 C9.03728278,16.8229132 9.24544516,16.8396215 9.43654791,16.8396215 C9.73002714,16.8396215 10.0200895,16.8028632 10.3067436,16.7293455 C9.54233258,16.5756266 8.90931421,16.2030311 8.40766949,15.6115478 C7.90602476,15.0200644 7.65520616,14.3333525 7.65520616,13.5513915 L7.65520616,13.5112911 C8.11931284,13.7652614 8.61753755,13.9022696 9.14989521,13.9223199 C8.69943873,13.6282491 8.34112644,13.2439577 8.07494761,12.7694344 C7.80876877,12.294911 7.67568135,11.7802948 7.67568135,11.2255703 C7.67568135,10.6374287 7.82583126,10.0927375 8.12613559,9.59148039 C8.95197248,10.5873111 9.95695313,11.3842979 11.1411077,11.9824647 C12.3252622,12.5806315 13.5930052,12.913127 14.9443747,12.9799613 C14.8897739,12.725991 14.8624739,12.4787079 14.8624739,12.2381045 C14.8624739,11.3425252 15.184955,10.5789551 15.8299268,9.94737114 C16.4748986,9.31578722 17.2546543,9 18.1692175,9 C19.1247313,9 19.9300808,9.3408497 20.5852902,10.0225593 C21.3292259,9.88220734 22.028788,9.62155757 22.6839975,9.24060219 C22.4314688,10.0091964 21.9468941,10.6040125 21.2302588,11.0250685 C21.8649929,10.9582342 22.4997176,10.791151 23.1344517,10.5238139 C22.6771701,11.1787898 22.1243454,11.7368476 21.4759611,12.1980042 C21.4827862,12.2915721 21.4861987,12.431922 21.4861987,12.619058 C21.4861987,13.4879036 21.3565238,14.3550653 21.09717,15.2205692 C20.8378163,16.0860731 20.4436728,16.9164765 19.9147277,17.7118044 C19.3857826,18.5071323 18.7561767,19.2105525 18.0258912,19.8220862 C17.2956056,20.4336198 16.4151812,20.9215027 15.3845913,21.2857495 C14.3540015,21.6499963 13.2517646,21.832117 12.0778477,21.832117 C10.2282461,21.832117 8.53564712,21.3475758 7,20.3784787 L7,20.3784787 Z" id="twitter"></path>
+                        </g>
+                    </g>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>
\ No newline at end of file
-- 
2.45.3


From 3461443a1095dc1064b92c1fc4d725cc2d031f3f Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Sun, 21 Oct 2018 23:12:10 +0100
Subject: [PATCH 22/63] Row padding change.

---
 client/scss/row/_row.scss | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/client/scss/row/_row.scss b/client/scss/row/_row.scss
index dcf3e3a8..786fb884 100644
--- a/client/scss/row/_row.scss
+++ b/client/scss/row/_row.scss
@@ -1,5 +1,5 @@
 .row {
-  padding-bottom: 2em;
+  padding-bottom: 1.2em;
 }
 
 .row-labeled {
-- 
2.45.3


From 8d3b03fd26c712d8c349ec6f6592fe63aacb1df9 Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Sun, 21 Oct 2018 23:13:37 +0100
Subject: [PATCH 23/63] visible content padding change

---
 client/scss/asset-display/_asset-display.scss | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/asset-display/_asset-display.scss
index b06bccb7..44b03264 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/asset-display/_asset-display.scss
@@ -56,7 +56,7 @@
 .visible-content {
   width: 100%;
   margin: 0;
-  padding-bottom: 25px;
+  padding-bottom: 30px;
   box-shadow: 0 1px 3px 2px rgba(169, 173, 186, 0.2);
   &.closed {
     box-shadow: none;
-- 
2.45.3


From b8466722138f8ba55cd12067401333261c615592 Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Sun, 21 Oct 2018 23:29:04 +0100
Subject: [PATCH 24/63] Twitter icon fix

---
 client/scss/share-buttons/_share-buttons.scss | 11 ++++++++++-
 public/assets/img/twitter.svg                 |  9 ++++++---
 2 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/client/scss/share-buttons/_share-buttons.scss b/client/scss/share-buttons/_share-buttons.scss
index d74c263b..38f0ed23 100644
--- a/client/scss/share-buttons/_share-buttons.scss
+++ b/client/scss/share-buttons/_share-buttons.scss
@@ -10,8 +10,13 @@
         border-radius: 100%;
         line-height: 30px;
         text-align: center;
+        transition: all 0.2s ease;
         &.twitter {
-            background:#4DC2FE
+            background:#4DC2FE;
+            img {
+                margin-top: 8px;
+                margin-left: 2px;
+            }
         }
 
         &.facebook {
@@ -34,5 +39,9 @@
                 margin-top: 7px;
             }
         }
+
+        &:hover {
+            background: $brand-color;
+        }
     }
 }
diff --git a/public/assets/img/twitter.svg b/public/assets/img/twitter.svg
index 1325869f..85f01535 100644
--- a/public/assets/img/twitter.svg
+++ b/public/assets/img/twitter.svg
@@ -1,15 +1,18 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<svg width="17px" height="13px" viewBox="0 0 17 13" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg width="18px" height="14px" viewBox="0 0 18 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
     <!-- Generator: Sketch 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
     <title>twitter</title>
     <desc>Created with Sketch.</desc>
     <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
-        <g id="Route-4---Expanded-Copy-2" transform="translate(-830.000000, -920.000000)" fill="#FFFFFF" fill-rule="nonzero">
+        <g id="Route-4---Expanded-Copy-2" transform="translate(-830.000000, -920.000000)" fill-rule="nonzero">
             <g id="Group-11" transform="translate(0.000000, 656.000000)">
                 <g id="Group-10" transform="translate(761.000000, 194.000000)">
                     <g id="Group-5">
                         <g id="Group-7" transform="translate(62.000000, 61.000000)">
-                            <path d="M7,20.3784787 C7.23887844,20.4052125 7.50505328,20.4185791 7.79853251,20.4185791 C9.33417962,20.4185791 10.7025913,19.9574295 11.9038086,19.0351165 C11.1871733,19.0217496 10.5456237,18.8062123 9.97914051,18.3884981 C9.41265735,17.9707839 9.02363258,17.4377885 8.81205454,16.789496 C9.03728278,16.8229132 9.24544516,16.8396215 9.43654791,16.8396215 C9.73002714,16.8396215 10.0200895,16.8028632 10.3067436,16.7293455 C9.54233258,16.5756266 8.90931421,16.2030311 8.40766949,15.6115478 C7.90602476,15.0200644 7.65520616,14.3333525 7.65520616,13.5513915 L7.65520616,13.5112911 C8.11931284,13.7652614 8.61753755,13.9022696 9.14989521,13.9223199 C8.69943873,13.6282491 8.34112644,13.2439577 8.07494761,12.7694344 C7.80876877,12.294911 7.67568135,11.7802948 7.67568135,11.2255703 C7.67568135,10.6374287 7.82583126,10.0927375 8.12613559,9.59148039 C8.95197248,10.5873111 9.95695313,11.3842979 11.1411077,11.9824647 C12.3252622,12.5806315 13.5930052,12.913127 14.9443747,12.9799613 C14.8897739,12.725991 14.8624739,12.4787079 14.8624739,12.2381045 C14.8624739,11.3425252 15.184955,10.5789551 15.8299268,9.94737114 C16.4748986,9.31578722 17.2546543,9 18.1692175,9 C19.1247313,9 19.9300808,9.3408497 20.5852902,10.0225593 C21.3292259,9.88220734 22.028788,9.62155757 22.6839975,9.24060219 C22.4314688,10.0091964 21.9468941,10.6040125 21.2302588,11.0250685 C21.8649929,10.9582342 22.4997176,10.791151 23.1344517,10.5238139 C22.6771701,11.1787898 22.1243454,11.7368476 21.4759611,12.1980042 C21.4827862,12.2915721 21.4861987,12.431922 21.4861987,12.619058 C21.4861987,13.4879036 21.3565238,14.3550653 21.09717,15.2205692 C20.8378163,16.0860731 20.4436728,16.9164765 19.9147277,17.7118044 C19.3857826,18.5071323 18.7561767,19.2105525 18.0258912,19.8220862 C17.2956056,20.4336198 16.4151812,20.9215027 15.3845913,21.2857495 C14.3540015,21.6499963 13.2517646,21.832117 12.0778477,21.832117 C10.2282461,21.832117 8.53564712,21.3475758 7,20.3784787 L7,20.3784787 Z" id="twitter"></path>
+                            <g id="twitter" transform="translate(6.000000, 7.000000)">
+                                <rect id="Rectangle" x="0" y="0" width="18" height="16"></rect>
+                                <path d="M1,14.0837077 C1.25368393,14.1120983 1.53635608,14.1262934 1.84802491,14.1262934 C3.47885019,14.1262934 4.93207493,13.6365622 6.20774271,12.6570849 C5.44669091,12.6428896 4.76537856,12.4139935 4.16378524,11.9703896 C3.56219191,11.5267858 3.1490557,10.9607558 2.92436422,10.2722827 C3.16355192,10.307771 3.38461604,10.3255149 3.58756318,10.3255149 C3.89923202,10.3255149 4.20727217,10.2864783 4.51169289,10.2084041 C3.6999043,10.0451579 3.02765196,9.64946919 2.4949157,9.02132618 C1.96217944,8.39318317 1.69581531,7.66390943 1.69581531,6.83348307 L1.69581531,6.79089732 C2.18868695,7.06060844 2.71779122,7.20610831 3.28314398,7.2274013 C2.80476857,6.91510421 2.42424838,6.50699481 2.14157199,6.00306087 C1.85889561,5.49912693 1.71755954,4.95261522 1.71755954,4.36350934 C1.71755954,3.73891516 1.87701562,3.16046446 2.19593256,2.62813987 C3.07295416,3.68569138 4.1402227,4.53207478 5.3977702,5.16731545 C6.6553177,5.80255612 8.00163438,6.15565947 9.43676063,6.22663608 C9.37877573,5.95692495 9.34978372,5.69431543 9.34978372,5.43879963 C9.34978372,4.48771304 9.69225189,3.67681741 10.3771985,3.00608844 C11.0621451,2.33535946 11.8902295,2 12.8614766,2 C13.8762123,2 14.7314768,2.36197529 15.4272956,3.08593673 C16.2173398,2.93688584 16.9602602,2.66008121 17.656079,2.25551452 C17.3878988,3.07174556 16.8732906,3.70342792 16.1122388,4.15058057 C16.7863132,4.07960396 17.4603775,3.9021651 18.134452,3.61825865 C17.6488285,4.31382944 17.0617402,4.90647526 16.3731695,5.39621388 C16.3804176,5.49558113 16.3840416,5.64462978 16.3840416,5.84336429 C16.3840416,6.76606024 16.2463295,7.68696796 15.9709013,8.60611508 C15.695473,9.5252622 15.2769008,10.4071334 14.7151721,11.251755 C14.1534434,12.0963767 13.484815,12.8433943 12.709267,13.4928303 C11.933719,14.1422663 10.9987265,14.6603878 9.90426154,15.0472104 C8.80979657,15.4340329 7.63924398,15.6274413 6.39256865,15.6274413 C4.42833019,15.6274413 2.63082529,15.1128685 1,14.0837077 L1,14.0837077 Z" fill="#FFFFFF"></path>
+                            </g>
                         </g>
                     </g>
                 </g>
-- 
2.45.3


From a3b826fa87ad007da0f4a60af209cfbd4ea1c9fb Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Sun, 21 Oct 2018 23:38:04 +0100
Subject: [PATCH 25/63] Rotate added.

---
 client/scss/vertical-split/_vertical-split.scss        | 10 ++++++++++
 .../src/components/VerticalCollapsibleSplit/index.jsx  |  2 +-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/client/scss/vertical-split/_vertical-split.scss b/client/scss/vertical-split/_vertical-split.scss
index 1271c83b..3fd72e90 100644
--- a/client/scss/vertical-split/_vertical-split.scss
+++ b/client/scss/vertical-split/_vertical-split.scss
@@ -20,5 +20,15 @@
   height: 24px;
   svg {
     stroke: $brand-color;
+    &.plus-icon {
+      transform: rotate(0);
+      transition: all 0.4s ease;
+    }
+  }
+
+  &:hover {
+    .plus-icon {
+      transform: rotate(-180deg);
+    }
   }
 }
\ No newline at end of file
diff --git a/client/src/components/VerticalCollapsibleSplit/index.jsx b/client/src/components/VerticalCollapsibleSplit/index.jsx
index 64807af7..3a2aa29e 100644
--- a/client/src/components/VerticalCollapsibleSplit/index.jsx
+++ b/client/src/components/VerticalCollapsibleSplit/index.jsx
@@ -19,7 +19,7 @@ class VerticalCollapsibleSplit extends React.Component {
         <div className='visible-content' data-name={this.props.name}>
           {this.props.top}
           <button className='collapse-button' onClick={this.collapse}>
-            {this.state.closed ? <Icon.MinusCircle /> : <Icon.PlusCircle /> }
+            {this.state.closed ? <Icon.MinusCircle /> : <Icon.PlusCircle className='plus-icon' /> }
           </button>
         </div>
         <div className='collapse-content' data-name={this.props.name}>
-- 
2.45.3


From 907604f7a4c2615afc282d01b513c9ffadb88352 Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Sun, 21 Oct 2018 23:43:07 +0100
Subject: [PATCH 26/63] Click to copy width change.

---
 client/scss/click-to-copy/_click-to-copy.scss | 2 --
 1 file changed, 2 deletions(-)

diff --git a/client/scss/click-to-copy/_click-to-copy.scss b/client/scss/click-to-copy/_click-to-copy.scss
index c5d1fd3d..b0bb6ccd 100644
--- a/client/scss/click-to-copy/_click-to-copy.scss
+++ b/client/scss/click-to-copy/_click-to-copy.scss
@@ -6,7 +6,6 @@
   cursor: pointer;
   border: 1px solid $grey-alt;
   border-radius: 6px;
-  max-width: 280px;
   .click-to-copy {
     border: none;
     padding: 0.36em 0.5em;
@@ -18,7 +17,6 @@
     color: #2E2F31;
     letter-spacing: -0.6px;
     line-height: 20px;
-    max-width: 236px;
     letter-spacing: 0;
     font-family: monospace;
     border-right: 1px solid $grey-alt;
-- 
2.45.3


From 24432af4545e9e1508411846ac8038326970bc4d Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Mon, 22 Oct 2018 20:51:27 +0100
Subject: [PATCH 27/63] responsive WIP

---
 client/scss/asset-display/_asset-display.scss | 25 ++++++++++++++++---
 client/scss/link/_link.scss                   |  4 +++
 .../scss/vertical-split/_vertical-split.scss  |  1 +
 3 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/asset-display/_asset-display.scss
index 44b03264..ae8e9405 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/asset-display/_asset-display.scss
@@ -74,11 +74,23 @@
         padding-right: 40px;
         margin-right: -1px;
         border-right: 1px solid $grey-alt;
+        @media (max-width: $break-point-large) {
+          order: 2;
+          border: none;
+          padding: 0;
+          margin: 0;
+        }
       }
       &:last-child {
         padding-left: 60px;
         border-left: 1px solid $grey-alt;
+        @media (max-width: $break-point-large) {
+          border: none;
+          padding: 40px 0 0 0;
+          margin: 0;
+        }
       }
+
     }
   }
 
@@ -90,12 +102,19 @@
     line-height: 18px;
     width: 360px;
     padding-bottom: 80px;
-    @media (max-width: $break-point-medium) {
-      padding-bottom: 60px;
+    @media (max-width: $break-point-large) {
+      padding: 0;
+      width: 100%;
+      margin-bottom: 60px;
     }
   }
   .asset-information {
     width: 320px;
+    @media (max-width: $break-point-large) {
+      min-width: 320px;
+      width: 100%;
+    }
+
   }
 
 }
@@ -104,7 +123,7 @@
   padding-top: 30px;
   border-top: 1px solid $grey-alt;
   padding-bottom: 80px;
-  @media (max-width: $break-point-medium) {
+  @media (max-width: $break-point-large) {
     padding-bottom: 60px;
   }
 }
\ No newline at end of file
diff --git a/client/scss/link/_link.scss b/client/scss/link/_link.scss
index 59b189be..320e848f 100644
--- a/client/scss/link/_link.scss
+++ b/client/scss/link/_link.scss
@@ -48,6 +48,10 @@ a, a:visited {
       stroke: $grey;
       transition: all 0.2s ease;
     }
+
+    @media (max-width: $break-point-x-small) {
+      padding-top: 0;
+    }
   }
   &:hover {
     .link-text {
diff --git a/client/scss/vertical-split/_vertical-split.scss b/client/scss/vertical-split/_vertical-split.scss
index 3fd72e90..0857c491 100644
--- a/client/scss/vertical-split/_vertical-split.scss
+++ b/client/scss/vertical-split/_vertical-split.scss
@@ -18,6 +18,7 @@
   margin: 15px auto 0;
   width: 24px;
   height: 24px;
+  padding: 0;
   svg {
     stroke: $brand-color;
     &.plus-icon {
-- 
2.45.3


From 33ed0e8f592bcdee4dce34fe1e19a45461c00e91 Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Mon, 22 Oct 2018 21:26:19 +0100
Subject: [PATCH 28/63] Responsive tidy up

---
 client/scss/asset-display/_asset-display.scss | 27 ++++++++++++++-----
 .../horizontal-split/_horizontal-split.scss   |  2 +-
 client/scss/share-buttons/_share-buttons.scss |  5 +++-
 client/scss/variables/_variables.scss         |  2 ++
 .../scss/vertical-split/_vertical-split.scss  |  7 +++++
 5 files changed, 34 insertions(+), 9 deletions(-)

diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/asset-display/_asset-display.scss
index ae8e9405..4e1e1515 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/asset-display/_asset-display.scss
@@ -42,6 +42,9 @@
   max-height: 100%;
   object-fit: contain;
   object-position: center;
+  @media (max-width: $break-point-small) {
+    max-width: calc(100% - 30px);
+  }
 }
 .asset-video {
   border: 1px solid #d0d0d0;
@@ -65,6 +68,15 @@
 
 .asset-information-wrap {
   max-width: 800px;
+  @media (max-width: $break-point-tablet) {
+    max-width: 100%;
+    margin: 0px auto;
+    width: calc(100% - 80px);
+  }
+
+  @media (max-width: $break-point-phone) {
+    width: calc(100% - 30px);
+  }
 
   .horizontal-split {
     justify-content: center;
@@ -74,7 +86,7 @@
         padding-right: 40px;
         margin-right: -1px;
         border-right: 1px solid $grey-alt;
-        @media (max-width: $break-point-large) {
+        @media (max-width: $break-point-tablet) {
           order: 2;
           border: none;
           padding: 0;
@@ -84,7 +96,7 @@
       &:last-child {
         padding-left: 60px;
         border-left: 1px solid $grey-alt;
-        @media (max-width: $break-point-large) {
+        @media (max-width: $break-point-tablet) {
           border: none;
           padding: 40px 0 0 0;
           margin: 0;
@@ -102,7 +114,7 @@
     line-height: 18px;
     width: 360px;
     padding-bottom: 80px;
-    @media (max-width: $break-point-large) {
+    @media (max-width: $break-point-tablet) {
       padding: 0;
       width: 100%;
       margin-bottom: 60px;
@@ -110,9 +122,10 @@
   }
   .asset-information {
     width: 320px;
-    @media (max-width: $break-point-large) {
-      min-width: 320px;
+    @media (max-width: $break-point-tablet) {
+      min-width: 100%;
       width: 100%;
+      margin-bottom: 60px;
     }
 
   }
@@ -123,7 +136,7 @@
   padding-top: 30px;
   border-top: 1px solid $grey-alt;
   padding-bottom: 80px;
-  @media (max-width: $break-point-large) {
-    padding-bottom: 60px;
+  @media (max-width: $break-point-tablet) {
+    padding: 0;
   }
 }
\ No newline at end of file
diff --git a/client/scss/horizontal-split/_horizontal-split.scss b/client/scss/horizontal-split/_horizontal-split.scss
index c6be788f..52034731 100644
--- a/client/scss/horizontal-split/_horizontal-split.scss
+++ b/client/scss/horizontal-split/_horizontal-split.scss
@@ -10,7 +10,7 @@
 
 
 
-@media (max-width: $break-point-large ) {
+@media (max-width: $break-point-tablet) {
 
   .horizontal-split {
     display       : flex;
diff --git a/client/scss/share-buttons/_share-buttons.scss b/client/scss/share-buttons/_share-buttons.scss
index 38f0ed23..05711d47 100644
--- a/client/scss/share-buttons/_share-buttons.scss
+++ b/client/scss/share-buttons/_share-buttons.scss
@@ -1,7 +1,6 @@
 .share-buttons {
     display: flex;
     align-items: center;
-    margin: 0 -7px;
     a {
         display: block;
         width: 30px;
@@ -40,6 +39,10 @@
             }
         }
 
+        &:first-child{
+            margin-left: 0px;
+        }
+
         &:hover {
             background: $brand-color;
         }
diff --git a/client/scss/variables/_variables.scss b/client/scss/variables/_variables.scss
index efabfaa7..0ff975ba 100644
--- a/client/scss/variables/_variables.scss
+++ b/client/scss/variables/_variables.scss
@@ -36,7 +36,9 @@ $text-x-small: small;
 $break-point-xx-large: 1400px;
 $break-point-x-large: 1290px;
 $break-point-large: 1000px;
+$break-point-tablet: 900px;
 $break-point-medium: 800px;
+$break-point-phone: 640px;
 $break-point-small: 500px;
 $break-point-x-small: 400px;
 
diff --git a/client/scss/vertical-split/_vertical-split.scss b/client/scss/vertical-split/_vertical-split.scss
index 0857c491..81f7119d 100644
--- a/client/scss/vertical-split/_vertical-split.scss
+++ b/client/scss/vertical-split/_vertical-split.scss
@@ -6,6 +6,13 @@
   align-items    : center;
 };
 
+.collapse-content {
+  @media (max-width: $break-point-tablet) {
+    max-width: 100%;
+    width: 100%;
+  }
+}
+
 .collapse-content.closed{
   display: none;
 }
-- 
2.45.3


From 954bc189d72e90d0b870ddbb5fbd9afa9c687c72 Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Mon, 22 Oct 2018 21:36:37 +0100
Subject: [PATCH 29/63] Padding on title + asset display spacing fixed +
 removed unused feather.js call in fullpage

---
 client/scss/asset-display/_asset-display.scss | 10 +++++-----
 client/scss/text/_text.scss                   |  4 ++--
 server/render/renderFullPage.js               |  1 -
 3 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/asset-display/_asset-display.scss
index 4e1e1515..7b3daf7e 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/asset-display/_asset-display.scss
@@ -34,6 +34,10 @@
   letter-spacing: 0;
   text-align: center;
   line-height: 32px;
+
+  @media (max-width: $break-point-tablet) {
+    padding: 0 20px;
+  }
 }
 
 .asset-image, .asset-video {
@@ -52,10 +56,6 @@
   padding: 6px;
 }
 
-// .vertical-split .asset-display {
-//     height: 90vh;
-// }
-
 .visible-content {
   width: 100%;
   margin: 0;
@@ -137,6 +137,6 @@
   border-top: 1px solid $grey-alt;
   padding-bottom: 80px;
   @media (max-width: $break-point-tablet) {
-    padding: 0;
+    padding-bottom: 0;
   }
 }
\ No newline at end of file
diff --git a/client/scss/text/_text.scss b/client/scss/text/_text.scss
index 331eaff7..0c5b6140 100644
--- a/client/scss/text/_text.scss
+++ b/client/scss/text/_text.scss
@@ -116,7 +116,7 @@ p, body, button, input, textarea, label, select, option {
   }
 
   p, body, button, input, textarea, label, select, option {
-    font-size: $text-small;
+    font-size: 15px;
   }
 
   .text--extra-large {
@@ -146,7 +146,7 @@ p, body, button, input, textarea, label, select, option {
   }
 
   p, body, button, input, textarea, label, select, option {
-    font-size: $text-x-small;
+    font-size: 15px;
   }
 
   .text--extra-large {
diff --git a/server/render/renderFullPage.js b/server/render/renderFullPage.js
index 8f40e2b2..12e39214 100644
--- a/server/render/renderFullPage.js
+++ b/server/render/renderFullPage.js
@@ -23,7 +23,6 @@ module.exports = (helmet, html, preloadedState) => {
                 window.__PRELOADED_STATE__ = ${JSON.stringify(preloadedState).replace(/</g, '\\\u003c')}
             </script>
             <script src="/bundle/bundle.js"></script>
-            <script src="/assets/js/feather.min.js"></script>
         </body>
     </html>
   `;
-- 
2.45.3


From 22a5b2581dd52b0118fb333fa74cf807176b3fc0 Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Mon, 22 Oct 2018 21:57:39 +0100
Subject: [PATCH 30/63] Moved inline row into a new class inside row.scss and
 applied same rule for channel and share

---
 client/scss/click-to-copy/_click-to-copy.scss |   1 -
 client/scss/row/_row.scss                     |  22 ++++
 client/src/containers/AssetInfo/view.jsx      | 117 +++++++++---------
 3 files changed, 82 insertions(+), 58 deletions(-)

diff --git a/client/scss/click-to-copy/_click-to-copy.scss b/client/scss/click-to-copy/_click-to-copy.scss
index b0bb6ccd..f66a571e 100644
--- a/client/scss/click-to-copy/_click-to-copy.scss
+++ b/client/scss/click-to-copy/_click-to-copy.scss
@@ -33,4 +33,3 @@
     }
   }
 }
-
diff --git a/client/scss/row/_row.scss b/client/scss/row/_row.scss
index 786fb884..d0df008d 100644
--- a/client/scss/row/_row.scss
+++ b/client/scss/row/_row.scss
@@ -58,3 +58,25 @@
   }
 
 }
+
+
+@media (max-width: $break-point-tablet) and (min-width: $break-point-phone) {
+  .tablet-inline-row {
+    display: flex;
+    justify-content: space-between;
+    width: 100%;
+
+    >.row {
+      flex: 1;
+      margin: 0 15px;
+
+      &:first-child {
+        margin-left: 0;
+      }
+
+      &:last-child {
+        margin-right: 0;
+      }
+    }
+  }
+}
diff --git a/client/src/containers/AssetInfo/view.jsx b/client/src/containers/AssetInfo/view.jsx
index 71bfea1f..93d6db95 100644
--- a/client/src/containers/AssetInfo/view.jsx
+++ b/client/src/containers/AssetInfo/view.jsx
@@ -24,72 +24,75 @@ class AssetInfo extends React.Component {
           }
           rightSide={
             <div className='asset-information'>
-              {channelName && (
+              <div className='tablet-inline-row'>
+                {channelName && (
+                  <Row>
+                    <RowLabeledAlt
+                      label={
+                        <Label value={'Channel'} />
+                      }
+                      content={
+                        <span className='text'>
+                          <Link className='link--brand link--hover' to={`/${channelName}:${certificateId}`}>{channelName}</Link>
+                        </span>
+                      }
+                    />
+                  </Row>
+                )}
+
                 <Row>
                   <RowLabeledAlt
                     label={
-                      <Label value={'Channel'} />
+                      <Label value={'Share'} />
                     }
                     content={
-                      <span className='text'>
-                        <Link className='link--brand link--hover' to={`/${channelName}:${certificateId}`}>{channelName}</Link>
-                      </span>
+                      <AssetShareButtons
+                        host={host}
+                        name={name}
+                        shortId={shortId}
+                      />
+                    }
+                  />
+                </Row>
+              </div>
+              <div className='tablet-inline-row'>
+                <Row>
+                  <RowLabeledAlt
+                    label={
+                      <Label value={'Link'} />
+                    }
+                    content={
+                      <ClickToCopy
+                        id={'short-link'}
+                        value={`${host}/${shortId}/${name}`}
+                      />
                     }
                   />
                 </Row>
-              )}
 
-              <Row>
-                <RowLabeledAlt
-                  label={
-                    <Label value={'Share'} />
-                  }
-                  content={
-                    <AssetShareButtons
-                      host={host}
-                      name={name}
-                      shortId={shortId}
-                    />
-                  }
-                />
-              </Row>
-
-              <Row>
-                <RowLabeledAlt
-                  label={
-                    <Label value={'Link'} />
-                  }
-                  content={
-                    <ClickToCopy
-                      id={'short-link'}
-                      value={`${host}/${shortId}/${name}`}
-                    />
-                  }
-                />
-              </Row>
-
-              <Row>
-                <RowLabeledAlt
-                  label={
-                    <Label value={'Embed'} />
-                  }
-                  content={
-                    <div>
-                      {(contentType === 'video/mp4') ? (
-                        <ClickToCopy
-                          id={'embed-text-video'}
-                          value={`<video width="100%" controls poster="${thumbnail}" src="${host}/${claimId}/${name}.${fileExt}"/></video>`}
-                        />
-                      ) : (
-                        <ClickToCopy
-                          id={'embed-text-image'}
-                          value={`<img src="${host}/${claimId}/${name}.${fileExt}"/>`}
-                        />
-                      )}
-                    </div>
-                  }
-                />
-              </Row>
+                <Row>
+                  <RowLabeledAlt
+                    label={
+                      <Label value={'Embed'} />
+                    }
+                    content={
+                      <div>
+                        {(contentType === 'video/mp4') ? (
+                          <ClickToCopy
+                            id={'embed-text-video'}
+                            value={`<video width="100%" controls poster="${thumbnail}" src="${host}/${claimId}/${name}.${fileExt}"/></video>`}
+                          />
+                        ) : (
+                          <ClickToCopy
+                            id={'embed-text-image'}
+                            value={`<img src="${host}/${claimId}/${name}.${fileExt}"/>`}
+                          />
+                        )}
+                      </div>
+                    }
+                  />
+                </Row>
+              </div>
 
               <Row>
                 <SpaceBetween>
-- 
2.45.3


From 7c31510b83dd2e24ea47d212a07a23809ce99784 Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Mon, 22 Oct 2018 22:15:53 +0100
Subject: [PATCH 31/63] collapse button fix, line added on description

---
 client/scss/asset-display/_asset-display.scss   | 8 ++++++--
 client/scss/vertical-split/_vertical-split.scss | 1 -
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/asset-display/_asset-display.scss
index 7b3daf7e..7b354ba1 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/asset-display/_asset-display.scss
@@ -115,9 +115,12 @@
     width: 360px;
     padding-bottom: 80px;
     @media (max-width: $break-point-tablet) {
-      padding: 0;
+      padding: 22px 0 0;
       width: 100%;
+      max-width: 600px;
+      margin: 0px auto 60px;
       margin-bottom: 60px;
+      border-top: 1px solid $grey-alt;
     }
   }
   .asset-information {
@@ -125,7 +128,7 @@
     @media (max-width: $break-point-tablet) {
       min-width: 100%;
       width: 100%;
-      margin-bottom: 60px;
+      margin-bottom: 30px;
     }
 
   }
@@ -137,6 +140,7 @@
   border-top: 1px solid $grey-alt;
   padding-bottom: 80px;
   @media (max-width: $break-point-tablet) {
+    padding-top: 22px;
     padding-bottom: 0;
   }
 }
\ No newline at end of file
diff --git a/client/scss/vertical-split/_vertical-split.scss b/client/scss/vertical-split/_vertical-split.scss
index 81f7119d..13d7ca93 100644
--- a/client/scss/vertical-split/_vertical-split.scss
+++ b/client/scss/vertical-split/_vertical-split.scss
@@ -25,7 +25,6 @@
   margin: 15px auto 0;
   width: 24px;
   height: 24px;
-  padding: 0;
   svg {
     stroke: $brand-color;
     &.plus-icon {
-- 
2.45.3


From 6efff66267b52dbdb5345a0b9b2450398651f343 Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Mon, 22 Oct 2018 22:25:55 +0100
Subject: [PATCH 32/63] Grey line changes

---
 client/scss/asset-display/_asset-display.scss | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/asset-display/_asset-display.scss
index 7b354ba1..5f69ebf9 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/asset-display/_asset-display.scss
@@ -115,12 +115,10 @@
     width: 360px;
     padding-bottom: 80px;
     @media (max-width: $break-point-tablet) {
-      padding: 22px 0 0;
+      padding: 0;
       width: 100%;
       max-width: 600px;
-      margin: 0px auto 60px;
-      margin-bottom: 60px;
-      border-top: 1px solid $grey-alt;
+      margin: 22px 0 60px;
     }
   }
   .asset-information {
@@ -128,7 +126,8 @@
     @media (max-width: $break-point-tablet) {
       min-width: 100%;
       width: 100%;
-      margin-bottom: 30px;
+      padding-bottom: 30px;
+      border-bottom: 1px solid $grey-alt;
     }
 
   }
-- 
2.45.3


From e9a8b5288e90cb4b63be8973a5c913b239b68d4d Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Mon, 22 Oct 2018 22:29:44 +0100
Subject: [PATCH 33/63] row change for tablet

---
 client/scss/row/_row.scss | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/client/scss/row/_row.scss b/client/scss/row/_row.scss
index d0df008d..787d5161 100644
--- a/client/scss/row/_row.scss
+++ b/client/scss/row/_row.scss
@@ -61,6 +61,10 @@
 
 
 @media (max-width: $break-point-tablet) and (min-width: $break-point-phone) {
+  .row {
+    margin-bottom: 1.4em;
+  }
+
   .tablet-inline-row {
     display: flex;
     justify-content: space-between;
@@ -68,7 +72,7 @@
 
     >.row {
       flex: 1;
-      margin: 0 15px;
+      margin: 0 15px 1.4em;
 
       &:first-child {
         margin-left: 0;
-- 
2.45.3


From 585e7dada38cc7276db9a1f61121c85835816bda Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Mon, 22 Oct 2018 22:38:28 +0100
Subject: [PATCH 34/63] Navbar font-size change.

---
 client/scss/nav-bar/_nav-bar.scss | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/client/scss/nav-bar/_nav-bar.scss b/client/scss/nav-bar/_nav-bar.scss
index e1bbdde4..54757fbd 100644
--- a/client/scss/nav-bar/_nav-bar.scss
+++ b/client/scss/nav-bar/_nav-bar.scss
@@ -4,12 +4,14 @@
   // border-bottom: 0.5px solid $tertiary-color;
   .select--arrow {
     padding: 0 1.5em 0 $input-padding;
+    font-size: 14px;
   }
 }
 
 .nav-bar-link {
   padding: calc(1em - 2px);
   display: inline-block;
+  font-size: 14px;
 }
 
 .nav-bar-logo {
-- 
2.45.3


From 7e51a56388c25c09a639ae5278ae3fc4e85d785c Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Mon, 22 Oct 2018 23:23:18 +0100
Subject: [PATCH 35/63] Swapped Icons, site description removed + navbar
 uppercase. Box shadow fix.

---
 client/scss/asset-display/_asset-display.scss         |  8 ++++++++
 client/scss/nav-bar/_nav-bar.scss                     | 11 +++++++++++
 client/src/components/NavBar/index.jsx                |  1 -
 .../src/components/VerticalCollapsibleSplit/index.jsx |  2 +-
 client/src/containers/AssetInfo/view.jsx              |  2 +-
 5 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/asset-display/_asset-display.scss
index 5f69ebf9..4a802e06 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/asset-display/_asset-display.scss
@@ -64,6 +64,14 @@
   &.closed {
     box-shadow: none;
   }
+  &:before{
+    content: '';
+    width: 100%;
+    height: 100px;
+    position: absolute;
+    z-index: 100;
+    box-shadow: inset 0px 2px 3px 2px rgba(169, 173, 186, 0.2);
+  } 
 }
 
 .asset-information-wrap {
diff --git a/client/scss/nav-bar/_nav-bar.scss b/client/scss/nav-bar/_nav-bar.scss
index 54757fbd..2d10a8fc 100644
--- a/client/scss/nav-bar/_nav-bar.scss
+++ b/client/scss/nav-bar/_nav-bar.scss
@@ -1,10 +1,17 @@
 .nav-bar {
   padding-left: $primary-padding;
   padding-right: $primary-padding;
+  
+  @media (max-width: $break-point-phone) {
+    padding-left: 15px;
+    padding-right: 15px;
+  }
+
   // border-bottom: 0.5px solid $tertiary-color;
   .select--arrow {
     padding: 0 1.5em 0 $input-padding;
     font-size: 14px;
+    text-transform: uppercase;
   }
 }
 
@@ -12,6 +19,7 @@
   padding: calc(1em - 2px);
   display: inline-block;
   font-size: 14px;
+  text-transform: uppercase;
 }
 
 .nav-bar-logo {
@@ -25,6 +33,7 @@
     padding-bottom: calc(1em - 2px);
     padding-left: 1em;
   }
+  
 }
 
 @media (max-width: $break-point-small ) {
@@ -35,3 +44,5 @@
     padding-left: 0.5em;
   }
 }
+
+
diff --git a/client/src/components/NavBar/index.jsx b/client/src/components/NavBar/index.jsx
index bd1028a3..c58aa22d 100644
--- a/client/src/components/NavBar/index.jsx
+++ b/client/src/components/NavBar/index.jsx
@@ -10,7 +10,6 @@ class NavBar extends React.Component {
       <div className={'nav-bar'}>
         <SpaceBetween >
           <Logo />
-          <SiteDescription />
           <NavigationLinks />
         </SpaceBetween>
       </div>
diff --git a/client/src/components/VerticalCollapsibleSplit/index.jsx b/client/src/components/VerticalCollapsibleSplit/index.jsx
index 3a2aa29e..9d197417 100644
--- a/client/src/components/VerticalCollapsibleSplit/index.jsx
+++ b/client/src/components/VerticalCollapsibleSplit/index.jsx
@@ -19,7 +19,7 @@ class VerticalCollapsibleSplit extends React.Component {
         <div className='visible-content' data-name={this.props.name}>
           {this.props.top}
           <button className='collapse-button' onClick={this.collapse}>
-            {this.state.closed ? <Icon.MinusCircle /> : <Icon.PlusCircle className='plus-icon' /> }
+            {this.state.closed ? <Icon.PlusCircle className='plus-icon' />  : <Icon.MinusCircle /> }
           </button>
         </div>
         <div className='collapse-content' data-name={this.props.name}>
diff --git a/client/src/containers/AssetInfo/view.jsx b/client/src/containers/AssetInfo/view.jsx
index 93d6db95..201fa25e 100644
--- a/client/src/containers/AssetInfo/view.jsx
+++ b/client/src/containers/AssetInfo/view.jsx
@@ -11,7 +11,7 @@ import * as Icon from 'react-feather';
 
 class AssetInfo extends React.Component {
   render () {
-    const { asset: { shortId, claimData : { channelName, certificateId, description, name, claimId, fileExt, contentType, thumbnail, host } } } = this.props;
+    const { asset: { shortId, claimData: { channelName, certificateId, description, name, claimId, fileExt, contentType, thumbnail, host } } } = this.props;
     return (
       <div className='asset-information-wrap'>
         <HorizontalSplit
-- 
2.45.3


From bb19e4bb3a4fe8e3770775a2cd166388f5c21643 Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Tue, 23 Oct 2018 22:01:28 +0100
Subject: [PATCH 36/63] Box shadow fix

---
 client/scss/asset-display/_asset-display.scss | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/asset-display/_asset-display.scss
index 4a802e06..855f6bc7 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/asset-display/_asset-display.scss
@@ -60,9 +60,12 @@
   width: 100%;
   margin: 0;
   padding-bottom: 30px;
-  box-shadow: 0 1px 3px 2px rgba(169, 173, 186, 0.2);
+  position: relative;
   &.closed {
     box-shadow: none;
+    &:after {
+      box-shadow: none;
+    }
   }
   &:before{
     content: '';
@@ -70,8 +73,18 @@
     height: 100px;
     position: absolute;
     z-index: 100;
-    box-shadow: inset 0px 2px 3px 2px rgba(169, 173, 186, 0.2);
-  } 
+    box-shadow: inset 2px 3px 3px 2px rgba(169, 173, 186, 0.2);
+  }
+  &:after {
+    content: '';
+    width: 100%;
+    height: 0;
+    top: 100%;
+    position: absolute;
+    z-index: 100;
+    box-shadow: 0px 2px 3px 2px rgba(169, 173, 186, 0.2);
+  }
+
 }
 
 .asset-information-wrap {
-- 
2.45.3


From 35d0da670cf6468247bc3770935425bf33fa9c6f Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Tue, 23 Oct 2018 22:26:49 +0100
Subject: [PATCH 37/63] Claim added

---
 client/scss/asset-display/_asset-display.scss | 10 +++++++-
 client/src/containers/AssetInfo/view.jsx      | 24 ++++++++++---------
 2 files changed, 22 insertions(+), 12 deletions(-)

diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/asset-display/_asset-display.scss
index 855f6bc7..88223cd6 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/asset-display/_asset-display.scss
@@ -150,7 +150,6 @@
       padding-bottom: 30px;
       border-bottom: 1px solid $grey-alt;
     }
-
   }
 
 }
@@ -163,4 +162,13 @@
     padding-top: 22px;
     padding-bottom: 0;
   }
+
+    .claim-address {
+      .link--brand {
+        font-size: 12px;
+        font-weight: 300;
+        line-height: 18px;
+      }
+    }
+
 }
\ No newline at end of file
diff --git a/client/src/containers/AssetInfo/view.jsx b/client/src/containers/AssetInfo/view.jsx
index 201fa25e..08618d3b 100644
--- a/client/src/containers/AssetInfo/view.jsx
+++ b/client/src/containers/AssetInfo/view.jsx
@@ -11,7 +11,7 @@ import * as Icon from 'react-feather';
 
 class AssetInfo extends React.Component {
   render () {
-    const { asset: { shortId, claimData: { channelName, certificateId, description, name, claimId, fileExt, contentType, thumbnail, host } } } = this.props;
+    const { asset: { shortId, claimData: { channelName, certificateId, description, name, address, claimId, fileExt, contentType, thumbnail, host } } } = this.props;
     return (
       <div className='asset-information-wrap'>
         <HorizontalSplit
@@ -135,16 +135,18 @@ class AssetInfo extends React.Component {
                     Hosted via the <a className={'link--brand link--hover'} href={'https://lbry.io/get'} target={'_blank'}>LBRY</a> blockchain
                   </p>
                 </Row>
-                <div className='claim-address'>
-                  <RowLabeledAlt
-                    label={
-                      <Label value={'Claim Address'} />
-                    }
-                    content={
-                      <a className={'link--brand link--hover'} href={'https://lbry.io/get'} target={'_blank'}>Place Claim Address Here</a>
-                    }
-                  />
-                </div>
+                {address && (
+                  <div className='claim-address'>
+                    <RowLabeledAlt
+                      label={
+                        <Label value={'Claim Address'} />
+                      }
+                      content={
+                        <a className={'link--brand link--hover'} href={'https://lbry.io/get'} target={'_blank'}>{address}</a>
+                      }
+                    />
+                  </div>
+                )}
               </div>
 
             </div>
-- 
2.45.3


From 7373365ad88d68074b3793829c82184702a7d764 Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Tue, 23 Oct 2018 22:52:01 +0100
Subject: [PATCH 38/63] shadow removal + claim address font size + new dropdown
 icon

---
 client/scss/asset-display/_asset-display.scss | 8 +-------
 client/scss/icon/chevron-down.svg             | 9 +++++++++
 client/scss/nav-bar/_nav-bar.scss             | 2 ++
 client/scss/select/_select.scss               | 2 +-
 4 files changed, 13 insertions(+), 8 deletions(-)
 create mode 100644 client/scss/icon/chevron-down.svg

diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/asset-display/_asset-display.scss
index 88223cd6..d6f950ca 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/asset-display/_asset-display.scss
@@ -7,7 +7,6 @@
   background: #F6F6F6;
   width: 100%;
   position: relative;
-  &:before,
   &:after {
     content: '';
     position: absolute;
@@ -16,14 +15,9 @@
     height: 1px;
     background: transparent;
     left: 0;
-    top: 0;
-  }
-
-  &:after {
     top: auto;
     bottom: 0;
   }
-
 }
 
 .asset-title {
@@ -165,7 +159,7 @@
 
     .claim-address {
       .link--brand {
-        font-size: 12px;
+        font-size: 14px;
         font-weight: 300;
         line-height: 18px;
       }
diff --git a/client/scss/icon/chevron-down.svg b/client/scss/icon/chevron-down.svg
new file mode 100644
index 00000000..9144704e
--- /dev/null
+++ b/client/scss/icon/chevron-down.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="14px" height="8px" viewBox="0 0 14 8" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <!-- Generator: Sketch 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
+    <title>chevron-down</title>
+    <desc>Created with Sketch.</desc>
+    <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round">
+        <polyline id="chevron-down" stroke="#000000" stroke-width="1.2" fill-rule="nonzero" points="13 1 7 7 1 1"></polyline>
+    </g>
+</svg>
\ No newline at end of file
diff --git a/client/scss/nav-bar/_nav-bar.scss b/client/scss/nav-bar/_nav-bar.scss
index 2d10a8fc..41415546 100644
--- a/client/scss/nav-bar/_nav-bar.scss
+++ b/client/scss/nav-bar/_nav-bar.scss
@@ -11,6 +11,7 @@
   .select--arrow {
     padding: 0 1.5em 0 $input-padding;
     font-size: 14px;
+    letter-spacing: 0.4px;
     text-transform: uppercase;
   }
 }
@@ -19,6 +20,7 @@
   padding: calc(1em - 2px);
   display: inline-block;
   font-size: 14px;
+  letter-spacing: 0.4px;
   text-transform: uppercase;
 }
 
diff --git a/client/scss/select/_select.scss b/client/scss/select/_select.scss
index df03a09e..7142f40c 100644
--- a/client/scss/select/_select.scss
+++ b/client/scss/select/_select.scss
@@ -10,7 +10,7 @@ select {
 .select--arrow {
   -moz-appearance:none;
   -webkit-appearance: none;
-  background: url('./icon/downArrow.svg') no-repeat right;
+  background: url('./icon/chevron-down.svg') no-repeat right;
   cursor: pointer;
   padding-right: 1.5em;
   padding-left: $input-padding
-- 
2.45.3


From 8ade24f501f61b19667524455712e9d40168c733 Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Thu, 25 Oct 2018 19:53:43 +0100
Subject: [PATCH 39/63] Added Line break before `:after` pseudo element.

---
 client/scss/asset-display/_asset-display.scss | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/asset-display/_asset-display.scss
index d6f950ca..e1b3f847 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/asset-display/_asset-display.scss
@@ -3,10 +3,10 @@
   flex: 1 0 auto;
   flex-direction: column;
   justify-content: center;
-
   background: #F6F6F6;
   width: 100%;
   position: relative;
+
   &:after {
     content: '';
     position: absolute;
-- 
2.45.3


From fe2bc7de6974a4e2f102a12d8b27fa0c1c2ce89a Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Thu, 25 Oct 2018 19:57:54 +0100
Subject: [PATCH 40/63] Added spacing between selectors.

---
 client/scss/asset-display/_asset-display.scss | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/asset-display/_asset-display.scss
index e1b3f847..7eb001e1 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/asset-display/_asset-display.scss
@@ -40,6 +40,7 @@
   max-height: 100%;
   object-fit: contain;
   object-position: center;
+
   @media (max-width: $break-point-small) {
     max-width: calc(100% - 30px);
   }
@@ -55,12 +56,15 @@
   margin: 0;
   padding-bottom: 30px;
   position: relative;
+
   &.closed {
     box-shadow: none;
+
     &:after {
       box-shadow: none;
     }
   }
+
   &:before{
     content: '';
     width: 100%;
@@ -69,6 +73,7 @@
     z-index: 100;
     box-shadow: inset 2px 3px 3px 2px rgba(169, 173, 186, 0.2);
   }
+
   &:after {
     content: '';
     width: 100%;
@@ -78,11 +83,11 @@
     z-index: 100;
     box-shadow: 0px 2px 3px 2px rgba(169, 173, 186, 0.2);
   }
-
 }
 
 .asset-information-wrap {
   max-width: 800px;
+
   @media (max-width: $break-point-tablet) {
     max-width: 100%;
     margin: 0px auto;
@@ -95,12 +100,15 @@
 
   .horizontal-split {
     justify-content: center;
+
     .column {
       padding-top: 40px;
+
       &:first-child {
         padding-right: 40px;
         margin-right: -1px;
         border-right: 1px solid $grey-alt;
+
         @media (max-width: $break-point-tablet) {
           order: 2;
           border: none;
@@ -108,16 +116,17 @@
           margin: 0;
         }
       }
+
       &:last-child {
         padding-left: 60px;
         border-left: 1px solid $grey-alt;
+
         @media (max-width: $break-point-tablet) {
           border: none;
           padding: 40px 0 0 0;
           margin: 0;
         }
       }
-
     }
   }
 
@@ -129,6 +138,7 @@
     line-height: 18px;
     width: 360px;
     padding-bottom: 80px;
+
     @media (max-width: $break-point-tablet) {
       padding: 0;
       width: 100%;
@@ -136,8 +146,10 @@
       margin: 22px 0 60px;
     }
   }
+  
   .asset-information {
     width: 320px;
+
     @media (max-width: $break-point-tablet) {
       min-width: 100%;
       width: 100%;
@@ -152,12 +164,14 @@
   padding-top: 30px;
   border-top: 1px solid $grey-alt;
   padding-bottom: 80px;
+
   @media (max-width: $break-point-tablet) {
     padding-top: 22px;
     padding-bottom: 0;
   }
 
     .claim-address {
+
       .link--brand {
         font-size: 14px;
         font-weight: 300;
-- 
2.45.3


From 696d39e6c7e4f5589dab006e1f642efe547ee3fd Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Thu, 25 Oct 2018 19:59:08 +0100
Subject: [PATCH 41/63] Shadow color moved to variable.

---
 client/scss/asset-display/_asset-display.scss | 8 ++++----
 client/scss/variables/_variables.scss         | 1 +
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/asset-display/_asset-display.scss
index 7eb001e1..22919cb9 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/asset-display/_asset-display.scss
@@ -10,7 +10,7 @@
   &:after {
     content: '';
     position: absolute;
-    box-shadow: inset 0 1px 2px 2px rgba(169, 173, 186, 0.2);
+    box-shadow: inset 0 1px 2px 2px $shadow-color;
     width: 100%;
     height: 1px;
     background: transparent;
@@ -71,7 +71,7 @@
     height: 100px;
     position: absolute;
     z-index: 100;
-    box-shadow: inset 2px 3px 3px 2px rgba(169, 173, 186, 0.2);
+    box-shadow: inset 2px 3px 3px 2px $shadow-color;
   }
 
   &:after {
@@ -81,7 +81,7 @@
     top: 100%;
     position: absolute;
     z-index: 100;
-    box-shadow: 0px 2px 3px 2px rgba(169, 173, 186, 0.2);
+    box-shadow: 0px 2px 3px 2px $shadow-color;
   }
 }
 
@@ -146,7 +146,7 @@
       margin: 22px 0 60px;
     }
   }
-  
+
   .asset-information {
     width: 320px;
 
diff --git a/client/scss/variables/_variables.scss b/client/scss/variables/_variables.scss
index 0ff975ba..7698081e 100644
--- a/client/scss/variables/_variables.scss
+++ b/client/scss/variables/_variables.scss
@@ -9,6 +9,7 @@ $failure-color: red;
 $brand-color: #1944F9;
 $grey: #9095A5;
 $grey-alt: #DDDFE4;
+$shadow-color: rgba(169, 173, 186, 0.2);
 
 $primary-padding: 3em;
 $secondary-padding: 2em;
-- 
2.45.3


From 5c1e8cd808ad9f9cfc628020919cc39f68f203b9 Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Thu, 25 Oct 2018 20:04:16 +0100
Subject: [PATCH 42/63] Fixed Indentation

---
 client/scss/share-buttons/_share-buttons.scss | 95 ++++++++++---------
 1 file changed, 48 insertions(+), 47 deletions(-)

diff --git a/client/scss/share-buttons/_share-buttons.scss b/client/scss/share-buttons/_share-buttons.scss
index 05711d47..010ef268 100644
--- a/client/scss/share-buttons/_share-buttons.scss
+++ b/client/scss/share-buttons/_share-buttons.scss
@@ -1,50 +1,51 @@
 .share-buttons {
-    display: flex;
-    align-items: center;
-    a {
-        display: block;
-        width: 30px;
-        height: 30px;
-        margin: 0 7px;
-        border-radius: 100%;
-        line-height: 30px;
-        text-align: center;
-        transition: all 0.2s ease;
-        &.twitter {
-            background:#4DC2FE;
-            img {
-                margin-top: 8px;
-                margin-left: 2px;
-            }
-        }
-
-        &.facebook {
-            background: #5487DE;
-            img {
-                margin-top: 6px;
-            }
-        }
-
-        &.tumblr {
-            background: #274061;
-            img {
-                margin-top: 7px;
-            }
-        }
-
-        &.reddit {
-            background: #FF4500;
-            img {
-                margin-top: 7px;
-            }
-        }
-
-        &:first-child{
-            margin-left: 0px;
-        }
-
-        &:hover {
-            background: $brand-color;
-        }
+  display: flex;
+  align-items: center;
+  
+  a {
+    display: block;
+    width: 30px;
+    height: 30px;
+    margin: 0 7px;
+    border-radius: 100%;
+    line-height: 30px;
+    text-align: center;
+    transition: all 0.2s ease;
+    &.twitter {
+      background:#4DC2FE;
+      img {
+        margin-top: 8px;
+        margin-left: 2px;
+      }
     }
+    
+    &.facebook {
+      background: #5487DE;
+      img {
+        margin-top: 6px;
+      }
+    }
+    
+    &.tumblr {
+      background: #274061;
+      img {
+        margin-top: 7px;
+      }
+    }
+    
+    &.reddit {
+      background: #FF4500;
+      img {
+        margin-top: 7px;
+      }
+    }
+    
+    &:first-child{
+      margin-left: 0px;
+    }
+    
+    &:hover {
+      background: $brand-color;
+    }
+  }
 }
-- 
2.45.3


From be2d3cb3da2e03ff343b68b5583933e91a243e3d Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Thu, 25 Oct 2018 20:07:41 +0100
Subject: [PATCH 43/63] Removed unused components

---
 client/src/pages/ShowAssetDetails/view.jsx | 2 --
 1 file changed, 2 deletions(-)

diff --git a/client/src/pages/ShowAssetDetails/view.jsx b/client/src/pages/ShowAssetDetails/view.jsx
index 9a7d7739..628dc5bc 100644
--- a/client/src/pages/ShowAssetDetails/view.jsx
+++ b/client/src/pages/ShowAssetDetails/view.jsx
@@ -2,8 +2,6 @@ import React from 'react';
 import PageLayout from '@components/PageLayout';
 
 import VerticalCollapsibleSplit from '@components/VerticalCollapsibleSplit';
-// import VerticalSplit from '@components/VerticalSplit';
-// import AssetTitle from '@containers/AssetTitle';
 import AssetDisplay from '@containers/AssetDisplay';
 import AssetInfo from '@containers/AssetInfo';
 import ErrorPage from '@pages/ErrorPage';
-- 
2.45.3


From e6f634cf9dd437559fe8f91210748f38b0a0be26 Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Thu, 25 Oct 2018 20:16:38 +0100
Subject: [PATCH 44/63] Faster lookup

---
 client/src/components/VerticalCollapsibleSplit/index.jsx | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/client/src/components/VerticalCollapsibleSplit/index.jsx b/client/src/components/VerticalCollapsibleSplit/index.jsx
index 9d197417..f58b2a20 100644
--- a/client/src/components/VerticalCollapsibleSplit/index.jsx
+++ b/client/src/components/VerticalCollapsibleSplit/index.jsx
@@ -14,6 +14,12 @@ class VerticalCollapsibleSplit extends React.Component {
   }
 
   render () {
+    let {
+      props,
+      state,
+      collapse,
+    } = this;
+
     return (
       <div className={'vertical-split'}>
         <div className='visible-content' data-name={this.props.name}>
-- 
2.45.3


From 9b210d3ad89476700714f3af3a1a38b097d46c14 Mon Sep 17 00:00:00 2001
From: Minesh Mitha <minesh@mineshs-MBP.local>
Date: Thu, 25 Oct 2018 20:23:05 +0100
Subject: [PATCH 45/63] Sorted styles alphabettically

---
 client/scss/asset-display/_asset-display.scss | 85 ++++++++++---------
 1 file changed, 43 insertions(+), 42 deletions(-)

diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/asset-display/_asset-display.scss
index 22919cb9..1ebac34b 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/asset-display/_asset-display.scss
@@ -1,33 +1,33 @@
 .asset-display {
-  display: flex;
-  flex: 1 0 auto;
-  flex-direction: column;
-  justify-content: center;
   background: #F6F6F6;
-  width: 100%;
+  display: flex;
+  flex-direction: column;
+  flex: 1 0 auto;
+  justify-content: center;
   position: relative;
+  width: 100%;
 
   &:after {
-    content: '';
-    position: absolute;
-    box-shadow: inset 0 1px 2px 2px $shadow-color;
-    width: 100%;
-    height: 1px;
     background: transparent;
-    left: 0;
-    top: auto;
     bottom: 0;
+    box-shadow: inset 0 1px 2px 2px $shadow-color;
+    content: '';
+    height: 1px;
+    left: 0;
+    position: absolute;
+    top: auto;
+    width: 100%;
   }
 }
 
 .asset-title {
-  margin-top: 40px;
-  font-weight: normal;
-  font-size: 26px;
   color: #2E2F31;
+  font-size: 26px;
+  font-weight: normal;
   letter-spacing: 0;
-  text-align: center;
   line-height: 32px;
+  margin-top: 40px;
+  text-align: center;
 
   @media (max-width: $break-point-tablet) {
     padding: 0 20px;
@@ -36,8 +36,8 @@
 
 .asset-image, .asset-video {
   margin: 60px auto;
-  max-width: 60vh;
   max-height: 100%;
+  max-width: 60vh;
   object-fit: contain;
   object-position: center;
 
@@ -45,6 +45,7 @@
     max-width: calc(100% - 30px);
   }
 }
+
 .asset-video {
   border: 1px solid #d0d0d0;
   margin: 16px;
@@ -52,10 +53,10 @@
 }
 
 .visible-content {
-  width: 100%;
   margin: 0;
   padding-bottom: 30px;
   position: relative;
+  width: 100%;
 
   &.closed {
     box-shadow: none;
@@ -66,22 +67,22 @@
   }
 
   &:before{
+    box-shadow: inset 2px 3px 3px 2px $shadow-color;
     content: '';
-    width: 100%;
     height: 100px;
     position: absolute;
+    width: 100%;
     z-index: 100;
-    box-shadow: inset 2px 3px 3px 2px $shadow-color;
   }
 
   &:after {
-    content: '';
-    width: 100%;
-    height: 0;
-    top: 100%;
-    position: absolute;
-    z-index: 100;
     box-shadow: 0px 2px 3px 2px $shadow-color;
+    content: '';
+    height: 0;
+    position: absolute;
+    top: 100%;
+    width: 100%;
+    z-index: 100;
   }
 }
 
@@ -89,8 +90,8 @@
   max-width: 800px;
 
   @media (max-width: $break-point-tablet) {
-    max-width: 100%;
     margin: 0px auto;
+    max-width: 100%;
     width: calc(100% - 80px);
   }
 
@@ -105,45 +106,45 @@
       padding-top: 40px;
 
       &:first-child {
-        padding-right: 40px;
-        margin-right: -1px;
         border-right: 1px solid $grey-alt;
+        margin-right: -1px;
+        padding-right: 40px;
 
         @media (max-width: $break-point-tablet) {
-          order: 2;
           border: none;
-          padding: 0;
           margin: 0;
+          order: 2;
+          padding: 0;
         }
       }
 
       &:last-child {
-        padding-left: 60px;
         border-left: 1px solid $grey-alt;
+        padding-left: 60px;
 
         @media (max-width: $break-point-tablet) {
           border: none;
-          padding: 40px 0 0 0;
           margin: 0;
+          padding: 40px 0 0 0;
         }
       }
     }
   }
 
   p.asset-description {
-    white-space: pre-line;
-    font-size: 14px;
     color: #2E2F31;
+    font-size: 14px;
     letter-spacing: 0;
     line-height: 18px;
-    width: 360px;
     padding-bottom: 80px;
+    white-space: pre-line;
+    width: 360px;
 
     @media (max-width: $break-point-tablet) {
+      margin: 22px 0 60px;
+      max-width: 600px;
       padding: 0;
       width: 100%;
-      max-width: 600px;
-      margin: 22px 0 60px;
     }
   }
 
@@ -151,19 +152,19 @@
     width: 320px;
 
     @media (max-width: $break-point-tablet) {
-      min-width: 100%;
-      width: 100%;
-      padding-bottom: 30px;
       border-bottom: 1px solid $grey-alt;
+      min-width: 100%;
+      padding-bottom: 30px;
+      width: 100%;
     }
   }
 
 }
 
 .asset-footer {
-  padding-top: 30px;
   border-top: 1px solid $grey-alt;
   padding-bottom: 80px;
+  padding-top: 30px;
 
   @media (max-width: $break-point-tablet) {
     padding-top: 22px;
-- 
2.45.3


From 51bd1ba0701006d7540993a793d47ad87fd9c38e Mon Sep 17 00:00:00 2001
From: Sania <hello@sania.io>
Date: Thu, 25 Oct 2018 22:50:35 +0100
Subject: [PATCH 46/63] svg files cleaned up

---
 public/assets/img/facebook.svg     | 3 ---
 public/assets/img/icn_facebook.svg | 3 ---
 public/assets/img/icn_reddit.svg   | 3 ---
 public/assets/img/icn_tumblr.svg   | 3 ---
 public/assets/img/icn_twitter.svg  | 3 ---
 public/assets/img/reddit.svg       | 3 ---
 public/assets/img/tumblr.svg       | 3 ---
 public/assets/img/twitter.svg      | 3 ---
 8 files changed, 24 deletions(-)

diff --git a/public/assets/img/facebook.svg b/public/assets/img/facebook.svg
index a8a55384..f86df4fc 100644
--- a/public/assets/img/facebook.svg
+++ b/public/assets/img/facebook.svg
@@ -1,8 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <svg width="10px" height="17px" viewBox="0 0 10 17" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-    <!-- Generator: Sketch 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
-    <title>facebook</title>
-    <desc>Created with Sketch.</desc>
     <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
         <g id="Route-4---Expanded-Copy-2" transform="translate(-878.000000, -918.000000)" fill="#FFFFFF" fill-rule="nonzero">
             <g id="Group-11" transform="translate(0.000000, 656.000000)">
diff --git a/public/assets/img/icn_facebook.svg b/public/assets/img/icn_facebook.svg
index 6e94795e..0b38fb12 100644
--- a/public/assets/img/icn_facebook.svg
+++ b/public/assets/img/icn_facebook.svg
@@ -1,8 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-    <!-- Generator: Sketch 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
-    <title>icn_facebook</title>
-    <desc>Created with Sketch.</desc>
     <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
         <g id="Route-4---Expanded" transform="translate(-867.000000, -911.000000)" fill-rule="nonzero">
             <g id="icn_facebook" transform="translate(867.000000, 911.000000)">
diff --git a/public/assets/img/icn_reddit.svg b/public/assets/img/icn_reddit.svg
index 950939fc..8e9cc967 100644
--- a/public/assets/img/icn_reddit.svg
+++ b/public/assets/img/icn_reddit.svg
@@ -1,8 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-    <!-- Generator: Sketch 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
-    <title>icn_reddit</title>
-    <desc>Created with Sketch.</desc>
     <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
         <g id="Route-4---Expanded" transform="translate(-955.000000, -911.000000)" fill-rule="nonzero">
             <g id="icn_reddit" transform="translate(955.000000, 911.000000)">
diff --git a/public/assets/img/icn_tumblr.svg b/public/assets/img/icn_tumblr.svg
index 04fd2ef8..b1bd0dcf 100644
--- a/public/assets/img/icn_tumblr.svg
+++ b/public/assets/img/icn_tumblr.svg
@@ -1,8 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-    <!-- Generator: Sketch 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
-    <title>icn_tumblr</title>
-    <desc>Created with Sketch.</desc>
     <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
         <g id="Route-4---Expanded" transform="translate(-911.000000, -911.000000)" fill-rule="nonzero">
             <g id="icn_tumblr" transform="translate(911.000000, 911.000000)">
diff --git a/public/assets/img/icn_twitter.svg b/public/assets/img/icn_twitter.svg
index 1ae7d9c0..bd21672c 100644
--- a/public/assets/img/icn_twitter.svg
+++ b/public/assets/img/icn_twitter.svg
@@ -1,8 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-    <!-- Generator: Sketch 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
-    <title>icn_twitter</title>
-    <desc>Created with Sketch.</desc>
     <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
         <g id="Route-4---Expanded" transform="translate(-823.000000, -911.000000)" fill-rule="nonzero">
             <g id="icn_twitter" transform="translate(823.000000, 911.000000)">
diff --git a/public/assets/img/reddit.svg b/public/assets/img/reddit.svg
index 4291cd7e..77c166e1 100644
--- a/public/assets/img/reddit.svg
+++ b/public/assets/img/reddit.svg
@@ -1,8 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <svg width="18px" height="16px" viewBox="0 0 18 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-    <!-- Generator: Sketch 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
-    <title>reddit</title>
-    <desc>Created with Sketch.</desc>
     <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
         <g id="Route-4---Expanded-Copy-2" transform="translate(-961.000000, -918.000000)" fill="#FFFFFF" fill-rule="nonzero">
             <g id="Group-11" transform="translate(0.000000, 656.000000)">
diff --git a/public/assets/img/tumblr.svg b/public/assets/img/tumblr.svg
index 7cbb240e..8c6e20be 100644
--- a/public/assets/img/tumblr.svg
+++ b/public/assets/img/tumblr.svg
@@ -1,8 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <svg width="10px" height="16px" viewBox="0 0 10 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-    <!-- Generator: Sketch 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
-    <title>tumblr</title>
-    <desc>Created with Sketch.</desc>
     <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
         <g id="Route-4---Expanded-Copy-2" transform="translate(-921.000000, -918.000000)" fill="#FFFFFF" fill-rule="nonzero">
             <g id="Group-11" transform="translate(0.000000, 656.000000)">
diff --git a/public/assets/img/twitter.svg b/public/assets/img/twitter.svg
index 85f01535..e0f30445 100644
--- a/public/assets/img/twitter.svg
+++ b/public/assets/img/twitter.svg
@@ -1,8 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <svg width="18px" height="14px" viewBox="0 0 18 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-    <!-- Generator: Sketch 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
-    <title>twitter</title>
-    <desc>Created with Sketch.</desc>
     <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
         <g id="Route-4---Expanded-Copy-2" transform="translate(-830.000000, -920.000000)" fill-rule="nonzero">
             <g id="Group-11" transform="translate(0.000000, 656.000000)">
-- 
2.45.3


From 7b0c7bfee835c2ae83e1fc6afeb084607a33649c Mon Sep 17 00:00:00 2001
From: Minesh <minesh@windows-laptop>
Date: Fri, 26 Oct 2018 18:19:55 +0100
Subject: [PATCH 47/63] Potential video centre fix.

---
 client/scss/asset-display/_asset-display.scss | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/asset-display/_asset-display.scss
index 1ebac34b..1267501c 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/asset-display/_asset-display.scss
@@ -47,8 +47,9 @@
 }
 
 .asset-video {
-  border: 1px solid #d0d0d0;
-  margin: 16px;
+  border: none;
+  margin: 0px auto;
+  width: 100%;
   padding: 6px;
 }
 
-- 
2.45.3


From 68bbf95dcf82a3c44f7eb33cb1b023347b1e2d2f Mon Sep 17 00:00:00 2001
From: Minesh <minesh@windows-laptop>
Date: Fri, 26 Oct 2018 18:30:01 +0100
Subject: [PATCH 48/63] Collapse Button offset Fix.

---
 client/scss/vertical-split/_vertical-split.scss | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/client/scss/vertical-split/_vertical-split.scss b/client/scss/vertical-split/_vertical-split.scss
index 13d7ca93..3d6a15fc 100644
--- a/client/scss/vertical-split/_vertical-split.scss
+++ b/client/scss/vertical-split/_vertical-split.scss
@@ -23,14 +23,23 @@
   border: none;
   display: block;
   margin: 15px auto 0;
-  width: 24px;
-  height: 24px;
+  width: 25px;
+  height: 25px;
+  text-align: center;
+  padding: 0px;
+  padding-left: 10px;
+
+  @media (max-width: $break-point-tablet) {
+    padding: 0;
+  }
+
   svg {
     stroke: $brand-color;
     &.plus-icon {
       transform: rotate(0);
       transition: all 0.4s ease;
     }
+
   }
 
   &:hover {
-- 
2.45.3


From 92a9ad2febb7688d8e6ad32ffee233ee8dfdfdca Mon Sep 17 00:00:00 2001
From: Minesh <minesh@windows-laptop>
Date: Fri, 26 Oct 2018 18:40:48 +0100
Subject: [PATCH 49/63] Icon Alignment fix.

---
 client/scss/link/_link.scss | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/client/scss/link/_link.scss b/client/scss/link/_link.scss
index 320e848f..064c03f2 100644
--- a/client/scss/link/_link.scss
+++ b/client/scss/link/_link.scss
@@ -33,6 +33,8 @@ a, a:visited {
 
 .link--icon, .link--icon:visited {
   display: flex;
+  align-items: center;
+  
   .link-text {
     padding-bottom: 2px;
     border-bottom: 1px solid transparent;
@@ -40,7 +42,7 @@ a, a:visited {
   }
   .icon-wrap {
     margin-left: 5px;
-    padding-top: 3px;
+    padding-top: 0px;
     align-items: center;
     svg {
       width: 16px;
-- 
2.45.3


From 41d7f6e56f58ed6cbe60a98c60c391f120daf9f4 Mon Sep 17 00:00:00 2001
From: Minesh <minesh@windows-laptop>
Date: Fri, 26 Oct 2018 18:44:45 +0100
Subject: [PATCH 50/63] Using deconstructors for faster rendering

---
 .../src/components/VerticalCollapsibleSplit/index.jsx | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/client/src/components/VerticalCollapsibleSplit/index.jsx b/client/src/components/VerticalCollapsibleSplit/index.jsx
index f58b2a20..1dcaca48 100644
--- a/client/src/components/VerticalCollapsibleSplit/index.jsx
+++ b/client/src/components/VerticalCollapsibleSplit/index.jsx
@@ -17,19 +17,18 @@ class VerticalCollapsibleSplit extends React.Component {
     let {
       props,
       state,
-      collapse,
     } = this;
 
     return (
       <div className={'vertical-split'}>
-        <div className='visible-content' data-name={this.props.name}>
-          {this.props.top}
+        <div className='visible-content' data-name={props.name}>
+          {props.top}
           <button className='collapse-button' onClick={this.collapse}>
-            {this.state.closed ? <Icon.PlusCircle className='plus-icon' />  : <Icon.MinusCircle /> }
+            {state.closed ? <Icon.PlusCircle className='plus-icon' /> : <Icon.MinusCircle />}
           </button>
         </div>
-        <div className='collapse-content' data-name={this.props.name}>
-          {this.props.bottom}
+        <div className='collapse-content' data-name={props.name}>
+          {props.bottom}
         </div>
       </div>
     );
-- 
2.45.3


From b33c7b93a93b4b6468f4b01b427d2f72f1647e7f Mon Sep 17 00:00:00 2001
From: Jeremy Kauffman <kauffj@gmail.com>
Date: Wed, 7 Nov 2018 17:21:35 -0500
Subject: [PATCH 51/63] properer merge

---
 client/src/containers/AssetDisplay/view.jsx |   2 +-
 client/src/containers/AssetInfo/view.jsx    | 223 ++++++++++----------
 2 files changed, 115 insertions(+), 110 deletions(-)

diff --git a/client/src/containers/AssetDisplay/view.jsx b/client/src/containers/AssetDisplay/view.jsx
index be124f08..71137e81 100644
--- a/client/src/containers/AssetDisplay/view.jsx
+++ b/client/src/containers/AssetDisplay/view.jsx
@@ -71,8 +71,8 @@ class AssetDisplay extends React.Component {
             }
           })()
           }
-          <AssetTitle />
         </div>
+        <AssetTitle />
       </div>
     );
   }
diff --git a/client/src/containers/AssetInfo/view.jsx b/client/src/containers/AssetInfo/view.jsx
index a9f35fd4..b3ff10fc 100644
--- a/client/src/containers/AssetInfo/view.jsx
+++ b/client/src/containers/AssetInfo/view.jsx
@@ -6,6 +6,7 @@ import Row from '@components/Row';
 import SpaceBetween from '@components/SpaceBetween';
 import AssetShareButtons from '@components/AssetShareButtons';
 import ClickToCopy from '@components/ClickToCopy';
+import HorizontalSplit from '@components/HorizontalSplit';
 
 import siteConfig from '@config/siteConfig.json';
 const { details: { host } } = siteConfig;
@@ -28,125 +29,129 @@ class AssetInfo extends React.Component {
       channelCanonicalUrl = `${createCanonicalLink({channel})}`;
     }
     return (
-      <div>
-        {channelName && (
-          <Row>
-            <RowLabeled
-              label={
-                <Label value={'Channel:'} />
-              }
-              content={
-                <span className='text'>
-                  <Link to={channelCanonicalUrl}>{channelName}</Link>
-                </span>
-              }
-            />
-          </Row>
-        )}
-
-        {claimViews ? (
-          <Row>
-            <RowLabeled
-              label={
-                <Label value={'Views:'} />
-              }
-              content={
-                <span className='text'>
-                  {claimViews}
-                </span>
-              }
-            />
-          </Row>
-        ) : null}
-
-        <Row>
-          <RowLabeled
-            label={
-              <Label value={'Share:'} />
-            }
-            content={
-              <AssetShareButtons
-                name={name}
-                assetUrl={assetCanonicalUrl}
-              />
-            }
-          />
-        </Row>
-
-        <Row>
-          <RowLabeled
-            label={
-              <Label value={'Link:'} />
-            }
-            content={
-              <ClickToCopy
-                id={'short-link'}
-                value={assetCanonicalUrl}
-              />
-            }
-          />
-        </Row>
-
-        <Row>
-          <RowLabeled
-            label={
-              <Label value={'Embed:'} />
-            }
-            content={
-              <div>
-                {(contentType === 'video/mp4') ? (
-                  <ClickToCopy
-                    id={'embed-text-video'}
-                    value={`<iframe src="${host}/video-embed${canonicalUrl}" allowfullscreen="true" style="border:0" /></iframe>`}
+      <div className='asset-information-wrap'>
+        <HorizontalSplit
+          leftSide={
+            description && (
+              <Row>
+                <p>{description}</p>
+              </Row>
+            )
+          }
+          rightSide={
+            <div>
+              {channelName && (
+                <Row>
+                  <RowLabeled
+                    label={
+                      <Label value={'Channel:'} />
+                    }
+                    content={
+                      <span className='text'>
+                        <Link to={channelCanonicalUrl}>{channelName}</Link>
+                      </span>
+                    }
                   />
-                ) : (
-                  <ClickToCopy
-                    id={'embed-text-image'}
-                    value={`<img src="${assetCanonicalUrl}.${fileExt}"/>`}
+                </Row>
+              )}
+
+              {claimViews ? (
+                <Row>
+                  <RowLabeled
+                    label={
+                      <Label value={'Views:'} />
+                    }
+                    content={
+                      <span className='text'>
+                        {claimViews}
+                      </span>
+                    }
                   />
-                )}
-              </div>
-            }
-          />
-        </Row>
+                </Row>
+              ) : null}
 
-        <Row>
-          <SpaceBetween>
-            <a
-              className='link--primary'
-              href={`${assetCanonicalUrl}.${fileExt}`}
-            >
-              Direct Link
-            </a>
-            <a
-              className={'link--primary'}
-              href={`${assetCanonicalUrl}.${fileExt}`}
-              download={name}
-            >
-              Download
-            </a>
-            <a
-              className={'link--primary'}
-              target='_blank'
-              href='https://lbry.io/dmca'
-            >
-              Report
-            </a>
-          </SpaceBetween>
-        </Row>
+              <Row>
+                <RowLabeled
+                  label={
+                    <Label value={'Share:'} />
+                  }
+                  content={
+                    <AssetShareButtons
+                      name={name}
+                      assetUrl={assetCanonicalUrl}
+                    />
+                  }
+                />
+              </Row>
 
-        {description && (
-          <Row>
-            <p>{description}</p>
-          </Row>
-        )}
+              <Row>
+                <RowLabeled
+                  label={
+                    <Label value={'Link:'} />
+                  }
+                  content={
+                    <ClickToCopy
+                      id={'short-link'}
+                      value={assetCanonicalUrl}
+                    />
+                  }
+                />
+              </Row>
 
+              <Row>
+                <RowLabeled
+                  label={
+                    <Label value={'Embed:'} />
+                  }
+                  content={
+                    <div>
+                      {(contentType === 'video/mp4') ? (
+                        <ClickToCopy
+                          id={'embed-text-video'}
+                          value={`<iframe src="${host}/video-embed${canonicalUrl}" allowfullscreen="true" style="border:0" /></iframe>`}
+                        />
+                      ) : (
+                        <ClickToCopy
+                          id={'embed-text-image'}
+                          value={`<img src="${assetCanonicalUrl}.${fileExt}"/>`}
+                        />
+                      )}
+                    </div>
+                  }
+                />
+              </Row>
+
+              <Row>
+                <SpaceBetween>
+                  <a
+                    className='link--primary'
+                    href={`${assetCanonicalUrl}.${fileExt}`}
+                  >
+                    Direct Link
+                  </a>
+                  <a
+                    className={'link--primary'}
+                    href={`${assetCanonicalUrl}.${fileExt}`}
+                    download={name}
+                  >
+                    Download
+                  </a>
+                  <a
+                    className={'link--primary'}
+                    target='_blank'
+                    href='https://lbry.io/dmca'
+                  >
+                    Report
+                  </a>
+                </SpaceBetween>
+              </Row>
+            </div>
+          } />
         <Row>
           <p>
             Hosted via the <a className={'link--primary'} href={'https://lbry.io/get'} target={'_blank'}>LBRY</a> blockchain
           </p>
         </Row>
-
       </div>
     );
   }
-- 
2.45.3


From 61b8cd9fcfbaf9b99389653381267134b3c10049 Mon Sep 17 00:00:00 2001
From: Jeremy Kauffman <kauffj@gmail.com>
Date: Thu, 8 Nov 2018 19:44:59 -0500
Subject: [PATCH 52/63] strip it down

---
 client/scss/all.scss                          |   3 -
 client/scss/asset-display/_asset-display.scss |  94 +++------
 .../scss/button-primary/_button-primary.scss  |  36 +---
 .../button-secondary/_button-secondary.scss   |  22 +-
 .../button-tertiary/_button-tertiary.scss     |  14 --
 client/scss/button/_button.scss               |  18 ++
 client/scss/click-to-copy/_click-to-copy.scss |   8 +-
 client/scss/column/_column.scss               |   4 -
 client/scss/dropzone/_dropzone.scss           |  10 +
 .../_horizontal-quad-split.scss               |  53 -----
 .../horizontal-split/_horizontal-split.scss   |  35 ++--
 client/scss/input/_input.scss                 |   1 -
 client/scss/label/_label.scss                 |   2 +-
 client/scss/link/_link.scss                   |  73 +------
 client/scss/media-queries/_media-queries.scss |  19 +-
 client/scss/nav-bar/_nav-bar.scss             |  15 +-
 client/scss/page-layout/_page-layout.scss     |  16 ++
 client/scss/progress-bar/_progress-bar.scss   |   2 +-
 .../publish-preview/_publish-preview.scss     |   6 +
 .../publish-url-input/_publish-url-input.scss |   2 +-
 client/scss/reset/_reset.scss                 |   4 +
 client/scss/row/_row.scss                     |  67 +-----
 client/scss/select/_select.scss               |   4 -
 client/scss/share-buttons/_share-buttons.scss |   2 +-
 .../social-share-link/_social-share-link.scss |   1 -
 client/scss/text/_text.scss                   |  32 +--
 client/scss/textarea/_textarea.scss           |   4 -
 client/scss/variables/_variables.scss         |  31 ++-
 .../scss/vertical-split/_vertical-split.scss  |  11 +-
 .../components/AboutSpeechDetails/index.jsx   |   4 +-
 .../components/AboutSpeechOverview/index.jsx  |  18 +-
 .../src/components/AssetInfoFooter/index.js   |  14 ++
 .../src/components/AssetShareButtons/index.js |  40 ++--
 client/src/components/ButtonPrimary/index.jsx |   2 +-
 .../components/ButtonPrimaryJumbo/index.jsx   |   2 +-
 .../src/components/ButtonTertiary/index.jsx   |  14 --
 client/src/components/ChannelAbout/index.jsx  |   5 +-
 client/src/components/Column/index.jsx        |  13 --
 .../DropzoneDropItDisplay/index.jsx           |   2 +-
 .../DropzoneInstructionsDisplay/index.jsx     |   8 +-
 .../components/FormFeedbackDisplay/index.jsx  |   6 +-
 .../components/HorizontalQuadSplit/index.jsx  |  37 ----
 .../src/components/HorizontalSplit/index.jsx  |   4 +-
 .../src/components/PublishPreview/index.jsx   |  12 +-
 client/src/components/RowLabeledAlt/index.jsx |  14 --
 .../VerticalCollapsibleSplit/index.jsx        |   9 +-
 client/src/containers/AssetInfo/view.jsx      | 193 ++++++++----------
 .../src/containers/ChannelCreateForm/view.jsx |   2 +-
 client/src/containers/ChannelTools/view.jsx   |   4 +-
 client/src/containers/PublishDetails/view.jsx |   4 +-
 .../containers/PublishMetadataInputs/view.jsx |  33 +--
 .../containers/PublishThumbnailInput/view.jsx |   2 +-
 client/src/pages/ShowAssetDetails/view.jsx    |  17 +-
 53 files changed, 385 insertions(+), 663 deletions(-)
 delete mode 100644 client/scss/button-tertiary/_button-tertiary.scss
 delete mode 100644 client/scss/column/_column.scss
 delete mode 100644 client/scss/horizontal-quad-split/_horizontal-quad-split.scss
 create mode 100644 client/src/components/AssetInfoFooter/index.js
 delete mode 100644 client/src/components/ButtonTertiary/index.jsx
 delete mode 100644 client/src/components/Column/index.jsx
 delete mode 100644 client/src/components/HorizontalQuadSplit/index.jsx
 delete mode 100644 client/src/components/RowLabeledAlt/index.jsx

diff --git a/client/scss/all.scss b/client/scss/all.scss
index 4d12e3b5..c21d276c 100644
--- a/client/scss/all.scss
+++ b/client/scss/all.scss
@@ -17,11 +17,8 @@
 @import '~button/_button';
 @import '~button-primary/_button-primary';
 @import '~button-secondary/_button-secondary';
-@import '~button-tertiary/_button-tertiary';
 @import '~click-to-copy/_click-to-copy';
-@import '~column/_column';
 @import '~form-feedback/_form-feedback';
-@import '~horizontal-quad-split/_horizontal-quad-split';
 @import '~horizontal-split/_horizontal-split';
 @import '~label/_label';
 @import '~nav-bar/_nav-bar';
diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/asset-display/_asset-display.scss
index 1267501c..29397d33 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/asset-display/_asset-display.scss
@@ -1,57 +1,39 @@
 .asset-display {
-  background: #F6F6F6;
   display: flex;
   flex-direction: column;
   flex: 1 0 auto;
   justify-content: center;
   position: relative;
   width: 100%;
-
-  &:after {
-    background: transparent;
-    bottom: 0;
-    box-shadow: inset 0 1px 2px 2px $shadow-color;
-    content: '';
-    height: 1px;
-    left: 0;
-    position: absolute;
-    top: auto;
-    width: 100%;
-  }
+  $height-delta: 43 / 16 + ($primary-padding * 2); //fix 43!!! nav height
+  //max-height: calc(100vh - #{$height-delta});
+  height: calc(100vh - #{$height-delta});
+  overflow: hidden;
 }
 
 .asset-title {
   color: #2E2F31;
-  font-size: 26px;
+  font-size: $text-x-large;
   font-weight: normal;
   letter-spacing: 0;
-  line-height: 32px;
-  margin-top: 40px;
+  margin-top: $primary-padding;
   text-align: center;
 
   @media (max-width: $break-point-tablet) {
-    padding: 0 20px;
+    padding: 0 $tertiary-padding;
   }
 }
 
 .asset-image, .asset-video {
-  margin: 60px auto;
   max-height: 100%;
-  max-width: 60vh;
+  max-width: 100%;
+  margin-left: auto;
+  margin-right: auto;
   object-fit: contain;
   object-position: center;
-
-  @media (max-width: $break-point-small) {
-    max-width: calc(100% - 30px);
-  }
 }
 
-.asset-video {
-  border: none;
-  margin: 0px auto;
-  width: 100%;
-  padding: 6px;
-}
+/*below must die if this is intended to be shareable component! it also probably doesn't need to be*/
 
 .visible-content {
   margin: 0;
@@ -67,15 +49,6 @@
     }
   }
 
-  &:before{
-    box-shadow: inset 2px 3px 3px 2px $shadow-color;
-    content: '';
-    height: 100px;
-    position: absolute;
-    width: 100%;
-    z-index: 100;
-  }
-
   &:after {
     box-shadow: 0px 2px 3px 2px $shadow-color;
     content: '';
@@ -87,16 +60,17 @@
   }
 }
 
-.asset-information-wrap {
-  max-width: 800px;
+.asset-info {
+  $asset-info-width: 1000px;
+  max-width: $asset-info-width;
 
-  @media (max-width: $break-point-tablet) {
+  @media (max-width: $asset-info-width) {
     margin: 0px auto;
     max-width: 100%;
     width: calc(100% - 80px);
   }
 
-  @media (max-width: $break-point-phone) {
+  @media (max-width: $break-point-tablet) {
     width: calc(100% - 30px);
   }
 
@@ -104,10 +78,17 @@
     justify-content: center;
 
     .column {
-      padding-top: 40px;
+      padding-top: $primary-padding;
+      padding-bottom: $primary-padding;
+
+      .row-labeled
+      {
+        margin-bottom: $secondary-padding;
+        &:last-child { margin-bottom: 0; }
+      }
 
       &:first-child {
-        border-right: 1px solid $grey-alt;
+        border-right: 1px solid $grey-border;
         margin-right: -1px;
         padding-right: 40px;
 
@@ -120,7 +101,7 @@
       }
 
       &:last-child {
-        border-left: 1px solid $grey-alt;
+        border-left: 1px solid $grey-border;
         padding-left: 60px;
 
         @media (max-width: $break-point-tablet) {
@@ -153,7 +134,7 @@
     width: 320px;
 
     @media (max-width: $break-point-tablet) {
-      border-bottom: 1px solid $grey-alt;
+      border-bottom: 1px solid $grey-border;
       min-width: 100%;
       padding-bottom: 30px;
       width: 100%;
@@ -163,22 +144,7 @@
 }
 
 .asset-footer {
-  border-top: 1px solid $grey-alt;
-  padding-bottom: 80px;
-  padding-top: 30px;
-
-  @media (max-width: $break-point-tablet) {
-    padding-top: 22px;
-    padding-bottom: 0;
-  }
-
-    .claim-address {
-
-      .link--brand {
-        font-size: 14px;
-        font-weight: 300;
-        line-height: 18px;
-      }
-    }
-
+  border-top: 1px solid $grey-border;
+  padding: $tertiary-padding $primary-padding;
+  color: $grey;
 }
\ No newline at end of file
diff --git a/client/scss/button-primary/_button-primary.scss b/client/scss/button-primary/_button-primary.scss
index ce2ac526..37c0a6e4 100644
--- a/client/scss/button-primary/_button-primary.scss
+++ b/client/scss/button-primary/_button-primary.scss
@@ -1,34 +1,16 @@
-.button-primary, .button-primary:focus, .button-primary:active {
-  border: $button-border-width $button-border-strength $primary-color;
-  margin-top: $thin-padding;
-  margin-bottom: $thin-padding;
-  padding: $thin-padding;
+.button--primary, .button--primary:focus, .button--primary:active {
+  border-color: $primary-color;
   color: $primary-color;
   background-color: $background-color;
-  outline: 0;
 }
 
-.button-primary:focus {
-  border-color: $secondary-color;
-  background-color: $tertiary-color;
-}
-
-
-.button-primary:hover {
-  border-color: $interactive-color;
+.button--primary:hover {
   color: $background-color;
-  background-color: $interactive-color;
+  background-color: $primary-color;
 }
 
-.button-primary:active{
-  border-color: $background-color;
-  color: $secondary-color;
-  background-color: $tertiary-color;
-}
-
-.button-primary--jumbo, .button-primary--jumbo:focus, .button-primary--jumbo:active {
-  width: $button-full-width;
-  padding-top: $secondary-padding;
-  padding-bottom: $secondary-padding;
-  font-size: x-large;
-}
+.button--primary:active {
+  $color: darken($primary-color, 10%);
+  border-color: $color;
+  background-color: $color;
+}
\ No newline at end of file
diff --git a/client/scss/button-secondary/_button-secondary.scss b/client/scss/button-secondary/_button-secondary.scss
index 29463cc9..c43dfda6 100644
--- a/client/scss/button-secondary/_button-secondary.scss
+++ b/client/scss/button-secondary/_button-secondary.scss
@@ -1,21 +1,11 @@
-.button--secondary, .button--secondary:focus {
-  border: 0;
-  border-bottom: $button-border-width $button-border-strength $primary-color;
-  padding: 0.5em;
-  color: $primary-color;
+.button--secondary, .button--secondary:focus, .button--secondary:active  {
+  border-bottom-color: $secondary-color;
+  color: $secondary-color;
   background-color: $background-color;
-  outline: 0;
-}
-
-.button--secondary:focus{
-  border-color: $secondary-color;
-  background-color: $tertiary-color;
-}
-
-.button--secondary:hover {
-  color: $interactive-color;
 }
 
 .button--secondary:active {
-  color: $background-color;
+  $color: darken($secondary-color, 10%);
+  color: $color;
+  border-bottom-color: $color;
 }
diff --git a/client/scss/button-tertiary/_button-tertiary.scss b/client/scss/button-tertiary/_button-tertiary.scss
deleted file mode 100644
index 63bb23c3..00000000
--- a/client/scss/button-tertiary/_button-tertiary.scss
+++ /dev/null
@@ -1,14 +0,0 @@
-.button--tertiary, .button--tertiary:focus, .button--tertiary:active {
-  border: 0;
-  color: $secondary-color;
-  background-color: $background-color;
-}
-
-.button--tertiary:hover {
-  color: $primary-color;
-}
-
-.button--tertiary:active, .button--tertiary:focus {
-  color: $secondary-color;
-  background-color: $tertiary-color;
-}
diff --git a/client/scss/button/_button.scss b/client/scss/button/_button.scss
index 6bb49061..7c7ba925 100644
--- a/client/scss/button/_button.scss
+++ b/client/scss/button/_button.scss
@@ -1,3 +1,21 @@
 button {
   cursor: pointer;
+  &:active
+  {
+    outline: 0;
+  }
+}
+
+.button--primary, .button--secondary
+{
+  border-width: $button-border-width;
+  border-style: $button-border-strength;
+  border-color: transparent;
+  padding: $thin-padding;
+}
+
+
+.button--jumbo, .button--jumbo:focus, .button--jumbo:active {
+  width: $button-full-width;
+  font-size: x-large;
 }
diff --git a/client/scss/click-to-copy/_click-to-copy.scss b/client/scss/click-to-copy/_click-to-copy.scss
index f66a571e..e279677a 100644
--- a/client/scss/click-to-copy/_click-to-copy.scss
+++ b/client/scss/click-to-copy/_click-to-copy.scss
@@ -4,22 +4,20 @@
   justify-content: space-between;
   align-items: center;
   cursor: pointer;
-  border: 1px solid $grey-alt;
+  border: 1px solid $grey-border;
   border-radius: 6px;
   .click-to-copy {
     border: none;
     padding: 0.36em 0.5em;
     margin: 0;
-    color: black;
     background-color: transparent;
     width: calc(100% - 1em - 2px);
     font-size: 14px;
-    color: #2E2F31;
     letter-spacing: -0.6px;
     line-height: 20px;
     letter-spacing: 0;
     font-family: monospace;
-    border-right: 1px solid $grey-alt;
+    border-right: 1px solid $grey-border;
   }
   .icon-wrap {
     width: 30px;
@@ -27,7 +25,7 @@
     line-height: 34px;
     text-align: center;
     svg {
-      stroke: $brand-color;
+      stroke: $primary-color;
       width: 16px;
       height: 16px;
     }
diff --git a/client/scss/column/_column.scss b/client/scss/column/_column.scss
deleted file mode 100644
index 9aa9b403..00000000
--- a/client/scss/column/_column.scss
+++ /dev/null
@@ -1,4 +0,0 @@
-.column {
-  padding-left: $primary-padding;
-  padding-right: $primary-padding;
-}
diff --git a/client/scss/dropzone/_dropzone.scss b/client/scss/dropzone/_dropzone.scss
index e5fb9cad..09b8b1bc 100644
--- a/client/scss/dropzone/_dropzone.scss
+++ b/client/scss/dropzone/_dropzone.scss
@@ -16,6 +16,7 @@
   flex-direction: column;
   justify-content: center;
   align-items: center;
+  user-select: none;
 }
 
 .dropzone:hover, .dropzone--active {
@@ -28,6 +29,11 @@
   text-align: center;
 }
 
+.dropzone-dropit-display
+{
+  color: $primary-color;
+}
+
 .dropzone-preview-wrapper {
   position: relative;
   width: 100%;
@@ -49,3 +55,7 @@
   padding: 1em;
   width: calc(100% - 2em);
 }
+
+.dropzone-instructions-display__chooser-label {
+  text-decoration: underline;
+}
diff --git a/client/scss/horizontal-quad-split/_horizontal-quad-split.scss b/client/scss/horizontal-quad-split/_horizontal-quad-split.scss
deleted file mode 100644
index a13b7941..00000000
--- a/client/scss/horizontal-quad-split/_horizontal-quad-split.scss
+++ /dev/null
@@ -1,53 +0,0 @@
-.horizontal-quad-split {
-  display       : flex;
-  flex-direction : row;
-  justify-content: space-between;
-  align-items    : flex-start;
-  .left-side, .right-side {
-    width          : 50%;
-    display        : flex;
-    flex-direction : row;
-    justify-content: space-between;
-    align-items    : flex-start;
-    .column-a, .column-b, .column-c, .column-d {
-      width: 50%;
-    };
-    .column-a, .column-b, .column-c {
-      padding-right: $secondary-padding;
-    };
-  };
-};
-
-
-
-@media (max-width: $break-point-large ) {
-
-  .horizontal-quad-split {
-    flex-direction : column;
-    .left-side, .right-side {
-      width          : 100%;
-      .column-a, .column-b, .column-c, .column-d {
-        width: 50%;
-      };
-      .column-b {
-        padding-right: 0;
-      }
-    }
-  };
-
-}
-
-@media (max-width: $break-point-medium ) {
-
-  .horizontal-quad-split {
-    flex-direction : column;
-    .left-side, .right-side {
-      flex-direction : column;
-      .column-a, .column-b, .column-c, .column-d {
-        width: 100%;
-        padding: 0;
-      };
-    }
-  };
-
-}
diff --git a/client/scss/horizontal-split/_horizontal-split.scss b/client/scss/horizontal-split/_horizontal-split.scss
index 52034731..cb1fad35 100644
--- a/client/scss/horizontal-split/_horizontal-split.scss
+++ b/client/scss/horizontal-split/_horizontal-split.scss
@@ -1,28 +1,39 @@
 .horizontal-split {
+  max-width: $width-content-constrained;
+  width: 100%;
+  margin-left: auto;
+  margin-right: auto;
   display       : flex;
   flex-direction : row;
   justify-content: space-between;
-
-  .column {
-    width: 50%;
-  }
 };
 
+.horizontal-split__column {
+  width: 50%;
+  flex: 1 0 auto;
+  box-sizing: border-box;
+}
 
+.horizontal-split__column--left {
+  padding-right: $primary-padding;
+}
+
+.horizontal-split__column--right {
+  padding-left: $primary-padding;
+}
 
 @media (max-width: $break-point-tablet) {
 
-  .horizontal-split {
+  .horizontal-split__column {
     display       : flex;
     flex-direction : column;
     justify-content: space-between;
-
-    .column {
-      width: 100%;
-      padding-left: 0;
-      padding-right: 0;
-      padding-bottom: $secondary-padding;
-    }
   };
 
+  .column {
+    width: 100%;
+    padding-left: 0;
+    padding-right: 0;
+    padding-bottom: $secondary-padding;
+  }
 }
diff --git a/client/scss/input/_input.scss b/client/scss/input/_input.scss
index be4bfb3c..c0249968 100644
--- a/client/scss/input/_input.scss
+++ b/client/scss/input/_input.scss
@@ -4,7 +4,6 @@ input:-webkit-autofill {
 
 input {
   margin: 0;
-  outline: none;
   padding: $input-padding;
   border: 0;
   background-color: $background-color;
diff --git a/client/scss/label/_label.scss b/client/scss/label/_label.scss
index c3d96ae3..2e92784a 100644
--- a/client/scss/label/_label.scss
+++ b/client/scss/label/_label.scss
@@ -11,7 +11,7 @@
   cursor: pointer;
 }
 
-@media (max-width: $break-point-medium ) {
+@media (max-width: $break-point-tablet ) {
 
   // note: bolding break point lines up with row-label break point
   .label, .label-radio {
diff --git a/client/scss/link/_link.scss b/client/scss/link/_link.scss
index 064c03f2..bda60bc7 100644
--- a/client/scss/link/_link.scss
+++ b/client/scss/link/_link.scss
@@ -3,76 +3,19 @@ a, a:visited {
 }
 
 .link--primary, .link--primary:visited {
-  color: $interactive-color;
-}
-
-.link--brand, .link--brand:visited {
-  color: $brand-color;
-}
-
-.link--secondary, .link--secondary:visited {
-  margin: 0px;
-  padding: 0.3em;
-  color: $secondary-color;
+  color: $primary-color;
+  &:hover { text-decoration: underline; }
 }
 
 .link--nav {
-  color: $primary-color;
+  color: $text-color;
   border-bottom: 2px solid white;
+  &:hover {
+    color: $primary-color;
+  }
 }
 
-.link--nav:hover {
-  color: $interactive-color;
-}
 
 .link--nav-active {
-  color: $interactive-color;
-  border-bottom: 2px solid $interactive-color;
-}
-
-
-.link--icon, .link--icon:visited {
-  display: flex;
-  align-items: center;
-  
-  .link-text {
-    padding-bottom: 2px;
-    border-bottom: 1px solid transparent;
-    transition: all 0.2s ease;
-  }
-  .icon-wrap {
-    margin-left: 5px;
-    padding-top: 0px;
-    align-items: center;
-    svg {
-      width: 16px;
-      height: 16px;
-      stroke: $grey;
-      transition: all 0.2s ease;
-    }
-
-    @media (max-width: $break-point-x-small) {
-      padding-top: 0;
-    }
-  }
-  &:hover {
-    .link-text {
-      border-bottom: 1px solid $brand-color;
-    }
-    svg {
-      stroke: $brand-color;
-    }
-  }
-}
-
-
-.link--hover {
-  display: inline-block;
-  padding-bottom: 2px;
-  border-bottom: 1px solid transparent;
-  transition: all 0.2s ease;
-  &:hover {
-    border-bottom: 1px solid $brand-color;
-  }
-}
-
+  border-bottom: 2px solid $primary-color;
+}
\ No newline at end of file
diff --git a/client/scss/media-queries/_media-queries.scss b/client/scss/media-queries/_media-queries.scss
index 638d4b67..bb9de378 100644
--- a/client/scss/media-queries/_media-queries.scss
+++ b/client/scss/media-queries/_media-queries.scss
@@ -4,21 +4,4 @@
     display: none;
   }
 
-}
-
-@media (max-width: $break-point-large ) {
-
-}
-
-@media (max-width: $break-point-medium) {
-
-
-}
-
-@media (max-width: $break-point-small) {
-
-}
-
-@media (max-width: $break-point-x-small ) {
-
-}
+}
\ No newline at end of file
diff --git a/client/scss/nav-bar/_nav-bar.scss b/client/scss/nav-bar/_nav-bar.scss
index 41415546..43a85bc1 100644
--- a/client/scss/nav-bar/_nav-bar.scss
+++ b/client/scss/nav-bar/_nav-bar.scss
@@ -1,13 +1,12 @@
 .nav-bar {
-  padding-left: $primary-padding;
-  padding-right: $primary-padding;
+  margin-left: $primary-padding;
+  margin-right: $primary-padding;
   
-  @media (max-width: $break-point-phone) {
-    padding-left: 15px;
-    padding-right: 15px;
+  @media (max-width: $break-point-mobile) {
+    margin-left: 15px;
+    margin-right: 15px;
   }
 
-  // border-bottom: 0.5px solid $tertiary-color;
   .select--arrow {
     padding: 0 1.5em 0 $input-padding;
     font-size: 14px;
@@ -28,7 +27,7 @@
   cursor: pointer;
 }
 
-@media (max-width: $break-point-medium ) {
+@media (max-width: $break-point-tablet ) {
   .nav-bar-link {
     padding-top: calc(1em - 2px);
     padding-right: 1em;
@@ -38,7 +37,7 @@
   
 }
 
-@media (max-width: $break-point-small ) {
+@media (max-width: $break-point-mobile ) {
   .nav-bar-link {
     padding-top: calc(0.5em - 2px);
     padding-right: 0.5em;
diff --git a/client/scss/page-layout/_page-layout.scss b/client/scss/page-layout/_page-layout.scss
index 06f6dae7..0c51319a 100644
--- a/client/scss/page-layout/_page-layout.scss
+++ b/client/scss/page-layout/_page-layout.scss
@@ -7,5 +7,21 @@
     display: flex;
     -webkit-flex-direction: column;
     flex-direction: column;
+    margin: $secondary-padding;
   }
 }
+
+@media (max-width: $break-point-tablet) {
+  .page-layout .content { margin: $thin-padding; }
+}
+
+@media (max-width: $break-point-mobile) {
+  max-width: calc(100% - 30px);
+}
+
+//below should take some styles from _text.scss and probably elsewhere and become "markdown" or "rich" styles
+.page-layout {
+  p {
+    margin-bottom: $tertiary-padding;
+  }
+}
\ No newline at end of file
diff --git a/client/scss/progress-bar/_progress-bar.scss b/client/scss/progress-bar/_progress-bar.scss
index c4ef6c52..7a6f7e6d 100644
--- a/client/scss/progress-bar/_progress-bar.scss
+++ b/client/scss/progress-bar/_progress-bar.scss
@@ -1,5 +1,5 @@
 .progress-bar--inactive {
-  color: $secondary-color;
+  color: $grey;
 }
 
 .progress-bar--active {
diff --git a/client/scss/publish-preview/_publish-preview.scss b/client/scss/publish-preview/_publish-preview.scss
index b1938c70..af3aa131 100644
--- a/client/scss/publish-preview/_publish-preview.scss
+++ b/client/scss/publish-preview/_publish-preview.scss
@@ -1,3 +1,9 @@
+.publish-form__title {
+  max-width: $width-content-constrained;
+  margin-left: auto;
+  margin-right: auto;
+}
+
 .publish-preview-dim {
   opacity: 0.2;
 }
diff --git a/client/scss/publish-url-input/_publish-url-input.scss b/client/scss/publish-url-input/_publish-url-input.scss
index 70436e4e..41673a1e 100644
--- a/client/scss/publish-url-input/_publish-url-input.scss
+++ b/client/scss/publish-url-input/_publish-url-input.scss
@@ -17,5 +17,5 @@
 .publish-url-text {
   margin: 0;
   padding: 0;
-  color: $secondary-color;
+  color: $help-color;
 }
diff --git a/client/scss/reset/_reset.scss b/client/scss/reset/_reset.scss
index e69de29b..85cb60d3 100644
--- a/client/scss/reset/_reset.scss
+++ b/client/scss/reset/_reset.scss
@@ -0,0 +1,4 @@
+button, input, textarea, label, select, option {
+  font-family: inherit;
+  font-size: inherit;
+}
\ No newline at end of file
diff --git a/client/scss/row/_row.scss b/client/scss/row/_row.scss
index 787d5161..bbf63453 100644
--- a/client/scss/row/_row.scss
+++ b/client/scss/row/_row.scss
@@ -1,5 +1,5 @@
 .row {
-  padding-bottom: 1.2em;
+  margin-bottom: 1.2em;
 }
 
 .row-labeled {
@@ -10,77 +10,26 @@
 }
 
 .row-labeled-label {
-  align-self: flex-start;
   width: 30%;
+  display: flex;
+  align-items: center;
+  flex: 1;
+  //bad, fix this
+  .label { padding-top: 0; padding-bottom: 0; }
 }
 .row-labeled-content {
   align-self: center;
   width: 70%;
 }
 
-.row-labeled-alt {
-  display: column;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  justify-content: flex-start;
-
-  .row-labeled-label {
-    align-self: flex-start;
-    width: 100%;
-    color: $grey;
-    .label {
-      font-weight: bold;
-      text-transform: uppercase;
-      font-size: 13px;
-      letter-spacing: 0.4px;
-      line-height: 18px;
-    }
-  }
-
-  .row-labeled-content {
-    align-self: center;
-    width: 100%;
-  }
-}
-
-
-@media (max-width: $break-point-medium ) {
-
+@media (max-width: $break-point-tablet ) {
   .row-labeled {
     flex-direction: column;
   }
-
   .row-labeled-label {
     width: 100%;
   }
   .row-labeled-content {
     width: 100%;
   }
-
-}
-
-
-@media (max-width: $break-point-tablet) and (min-width: $break-point-phone) {
-  .row {
-    margin-bottom: 1.4em;
-  }
-
-  .tablet-inline-row {
-    display: flex;
-    justify-content: space-between;
-    width: 100%;
-
-    >.row {
-      flex: 1;
-      margin: 0 15px 1.4em;
-
-      &:first-child {
-        margin-left: 0;
-      }
-
-      &:last-child {
-        margin-right: 0;
-      }
-    }
-  }
-}
+}
\ No newline at end of file
diff --git a/client/scss/select/_select.scss b/client/scss/select/_select.scss
index 7142f40c..6c1154c3 100644
--- a/client/scss/select/_select.scss
+++ b/client/scss/select/_select.scss
@@ -1,9 +1,5 @@
 select {
   margin: 0;
-  outline: none;
-  padding: $input-padding;
-  border: 0;
-  background-color: $background-color;
   display: inline-block;
 }
 
diff --git a/client/scss/share-buttons/_share-buttons.scss b/client/scss/share-buttons/_share-buttons.scss
index 010ef268..ab4234d0 100644
--- a/client/scss/share-buttons/_share-buttons.scss
+++ b/client/scss/share-buttons/_share-buttons.scss
@@ -45,7 +45,7 @@
     }
     
     &:hover {
-      background: $brand-color;
+      background: $primary-color;
     }
   }
 }
diff --git a/client/scss/social-share-link/_social-share-link.scss b/client/scss/social-share-link/_social-share-link.scss
index 58973667..c1fa2946 100644
--- a/client/scss/social-share-link/_social-share-link.scss
+++ b/client/scss/social-share-link/_social-share-link.scss
@@ -7,5 +7,4 @@
 .social-share-link > a{
   padding-right:0.5em;
   padding-left:0.5em;
-  padding-bottom:0.3em;
 }
\ No newline at end of file
diff --git a/client/scss/text/_text.scss b/client/scss/text/_text.scss
index 0c5b6140..125afe67 100644
--- a/client/scss/text/_text.scss
+++ b/client/scss/text/_text.scss
@@ -4,6 +4,12 @@ h1, h2, h3, h4, p {
   margin: 0;
 }
 
+body {
+  color: $text-color;
+  font-family: 'Circular', serif;
+  font-size: 16px;
+}
+
 h1 {
  font-size: $text-xx-large;
 }
@@ -14,12 +20,6 @@ h2 {
 
 h3 {
   font-size: $text-large;
-  font-weight: bold;
-}
-
-p, body, button, input, textarea, label, select, option {
-  font-family: 'Circular', serif;
-  font-size: 16px;
 }
 
 .text--extra-large {
@@ -42,24 +42,12 @@ p, body, button, input, textarea, label, select, option {
   font-size: $text-x-small;
 }
 
-.text--underline {
-  text-decoration: underline;
-}
-
-.text--primary {
-  color: $primary-color;
-}
-
 .text--secondary {
-  color: $secondary-color;
-}
-
-.text--tertiary {
-  color: $tertiary-color;
+  color: $help-color;
 }
 
 .text--interactive {
-  color: $interactive-color;
+  color: $primary-color;
 }
 
 .text--failure {
@@ -101,7 +89,7 @@ p, body, button, input, textarea, label, select, option {
 
 }
 
-@media (max-width: $break-point-medium) {
+@media (max-width: $break-point-tablet) {
 
   h1 {
     font-size: $text-large;
@@ -134,7 +122,7 @@ p, body, button, input, textarea, label, select, option {
 
 }
 
-@media (max-width: $break-point-x-small) {
+@media (max-width: $break-point-mobile) {
 
   h1 {
     font-size: $text-medium;
diff --git a/client/scss/textarea/_textarea.scss b/client/scss/textarea/_textarea.scss
index 4f07b83e..e72bf554 100644
--- a/client/scss/textarea/_textarea.scss
+++ b/client/scss/textarea/_textarea.scss
@@ -1,10 +1,6 @@
 textarea {
   margin: 0;
-  outline: none;
   padding: $input-padding;
-  border: 0;
-  border-bottom: 1px solid $secondary-color;
-  background-color: $background-color;
   display: inline-block;
   width: $input-full-width;
 }
diff --git a/client/scss/variables/_variables.scss b/client/scss/variables/_variables.scss
index 7698081e..fa86f99e 100644
--- a/client/scss/variables/_variables.scss
+++ b/client/scss/variables/_variables.scss
@@ -1,14 +1,11 @@
 $base-color: white;
-$primary-color: black;
-$secondary-color: #9b9b9b;
-$tertiary-color: #ccccc0;
-$interactive-color: blue;
+$primary-color: #005da0;
+$secondary-color: $primary-color;
 $success-color: green;
 $failure-color: red;
-// $brand-color: #ff725d;
-$brand-color: #1944F9;
 $grey: #9095A5;
-$grey-alt: #DDDFE4;
+$help-color: $grey;
+$grey-border: #DDDFE4;
 $shadow-color: rgba(169, 173, 186, 0.2);
 
 $primary-padding: 3em;
@@ -17,8 +14,10 @@ $tertiary-padding: 1em;
 $thin-padding: 0.3em;
 $full-width-thin-padding: calc(100% - 0.6em);
 
+$width-content-constrained: 1000px;
+
 $background-color: $base-color;
-$font-color: $primary-color;
+$text-color: #333;
 
 $button-border-width: 1px;
 $button-border-strength: solid;
@@ -28,18 +27,14 @@ $input-padding: 0.3em;
 $input-full-width: calc(100% - 0.6em);
 
 $text-xx-large: 2.5em;
-$text-x-large: xx-large;
-$text-large: x-large;
-$text-medium: large;
-$text-small: medium;
+$text-x-large: x-large;
+$text-large: large;
+$text-medium: medium;
+$text-small: small;
 $text-x-small: small;
 
 $break-point-xx-large: 1400px;
 $break-point-x-large: 1290px;
 $break-point-large: 1000px;
-$break-point-tablet: 900px;
-$break-point-medium: 800px;
-$break-point-phone: 640px;
-$break-point-small: 500px;
-$break-point-x-small: 400px;
-
+$break-point-tablet: 800px;
+$break-point-mobile: 500px;
\ No newline at end of file
diff --git a/client/scss/vertical-split/_vertical-split.scss b/client/scss/vertical-split/_vertical-split.scss
index 3d6a15fc..2aacc773 100644
--- a/client/scss/vertical-split/_vertical-split.scss
+++ b/client/scss/vertical-split/_vertical-split.scss
@@ -1,4 +1,4 @@
-.vertical-split {
+.vertical-split, .visible-content {
   flex           : 1 0 auto;
   display        : flex;
   flex-direction : column;
@@ -6,7 +6,13 @@
   align-items    : center;
 };
 
+.asset-display-wrap
+{
+  flex-grow: 1;
+}
+
 .collapse-content {
+  flex-grow: 0;
   @media (max-width: $break-point-tablet) {
     max-width: 100%;
     width: 100%;
@@ -18,7 +24,6 @@
 }
 
 .collapse-button {
-  outline: none;
   background: none;
   border: none;
   display: block;
@@ -34,7 +39,7 @@
   }
 
   svg {
-    stroke: $brand-color;
+    stroke: $primary-color;
     &.plus-icon {
       transform: rotate(0);
       transition: all 0.4s ease;
diff --git a/client/src/components/AboutSpeechDetails/index.jsx b/client/src/components/AboutSpeechDetails/index.jsx
index 98962e91..8a1e2532 100644
--- a/client/src/components/AboutSpeechDetails/index.jsx
+++ b/client/src/components/AboutSpeechDetails/index.jsx
@@ -7,9 +7,9 @@ const AboutSpeechDetails = () => {
     <div>
       <Row>
         <p className={'text--large'}>
-          <Link to='/tos'>Terms of Service</Link>
+          <Link className={'link--primary'} to='/tos'>Terms of Service</Link>
           <br />
-          <Link to='/faq'>Frequently Asked Questions</Link>
+          <Link className={'link--primary'} to='/faq'>Frequently Asked Questions</Link>
         </p>
       </Row>
       <Row>
diff --git a/client/src/components/AboutSpeechOverview/index.jsx b/client/src/components/AboutSpeechOverview/index.jsx
index 08190424..ef53812f 100644
--- a/client/src/components/AboutSpeechOverview/index.jsx
+++ b/client/src/components/AboutSpeechOverview/index.jsx
@@ -8,18 +8,12 @@ const AboutSpeechOverview = () => {
         <p className={'text--extra-large'}>Spee.ch is an open-source project.  Please contribute to the existing site, or fork it and make your own.</p>
       </Row>
       <Row>
-        <p className={'text--large'}>
-          <a className='link--primary' target='_blank' href='https://twitter.com/spee_ch'>TWITTER</a>
-        </p>
-        <p className={'text--large'}>
-          <a className='link--primary' target='_blank' href='https://github.com/lbryio/spee.ch'>GITHUB</a>
-        </p>
-        <p className={'text--large'}>
-          <a className='link--primary' target='_blank' href='https://discord.gg/YjYbwhS'>DISCORD CHANNEL</a>
-        </p>
-        <p className={'text--large'}>
-          <a className='link--primary' target='_blank' href='https://github.com/lbryio/spee.ch/blob/master/README.md'>DOCUMENTATION</a>
-        </p>
+        <div className={'text--large'}>
+          <a className='link--primary' target='_blank' href='https://twitter.com/spee_ch'>TWITTER</a><br/>
+          <a className='link--primary' target='_blank' href='https://github.com/lbryio/spee.ch'>GITHUB</a><br/>
+          <a className='link--primary' target='_blank' href='https://discord.gg/YjYbwhS'>DISCORD CHANNEL</a><br/>
+          <a className='link--primary' target='_blank' href='https://github.com/lbryio/spee.ch/blob/master/README.md'>DOCUMENTATION</a><br/>
+        </div>
       </Row>
     </div>
   );
diff --git a/client/src/components/AssetInfoFooter/index.js b/client/src/components/AssetInfoFooter/index.js
new file mode 100644
index 00000000..a059f670
--- /dev/null
+++ b/client/src/components/AssetInfoFooter/index.js
@@ -0,0 +1,14 @@
+import React from 'react';
+import Row from '@components/Row';
+
+const AssetInfoFooter = ({ assetUrl, name }) => {
+  return (
+    <div className='asset-footer'>
+      <p>
+        Hosted via the <a className={'link--primary'} href={'https://lbry.io/get'} target={'_blank'}>LBRY</a> blockchain
+      </p>
+    </div>
+  );
+};
+
+export default AssetInfoFooter;
diff --git a/client/src/components/AssetShareButtons/index.js b/client/src/components/AssetShareButtons/index.js
index 3aeada29..e733b460 100644
--- a/client/src/components/AssetShareButtons/index.js
+++ b/client/src/components/AssetShareButtons/index.js
@@ -9,45 +9,49 @@ const AssetShareButtons = ({ assetUrl, name }) => {
         target='_blank'
         href={`https://twitter.com/intent/tweet?text=${assetUrl}`}
       >
-        <img src='/assets/img/twitter.svg' />
+        <img src='/assets/img/icn_twitter.svg' />
       </a>
       <a
         className='link--primary facebook'
         target='_blank'
         href={`https://www.facebook.com/sharer/sharer.php?u=${assetUrl}`}
       >
-        <img src='/assets/img/facebook.svg' />
+        <img src='/assets/img/icn_facebook.svg' />
       </a>
       <a
         className='link--primary tumblr'
         target='_blank'
         href={`https://tumblr.com/widgets/share/tool?canonicalUrl=${assetUrl}`}
       >
-        <img src='/assets/img/tumblr.svg' />
+        <img src='/assets/img/icn_tumblr.svg' />
       </a>
       <a
         className='link--primary reddit'
         target='_blank'
         href={`https://www.reddit.com/submit?url=${assetUrl}&title=${name}`}
       >
-        <img src='/assets/img/reddit.svg' />
-      </a>
-      <a
-        className='link--primary'
-        target='_blank'
-        href={`https://sharetomastodon.github.io/?title=${name}&url=${assetUrl}`}
-      >
-        mastodon
-      </a>
-      <a
-        className='link--primary'
-        target='_blank'
-        href={`https://share.diasporafoundation.org/?title=${name}&url=${assetUrl}`}
-      >
-        diaspora
+        <img src='/assets/img/icn_reddit.svg' />
       </a>
     </SocialShareLink>
   );
 };
+//
+// Additional icons disabled. If you want to add additional icons, you have to solve
+// https://github.com/lbryio/spee.ch/issues/687
+//
+// <a
+//   className='link--primary'
+//   target='_blank'
+//   href={`https://sharetomastodon.github.io/?title=${name}&url=${assetUrl}`}
+// >
+//   mastodon
+// </a>
+// <a
+//   className='link--primary'
+//   target='_blank'
+//   href={`https://share.diasporafoundation.org/?title=${name}&url=${assetUrl}`}
+// >
+//   diaspora
+// </a>
 
 export default AssetShareButtons;
diff --git a/client/src/components/ButtonPrimary/index.jsx b/client/src/components/ButtonPrimary/index.jsx
index 6b8230d3..30082cd4 100644
--- a/client/src/components/ButtonPrimary/index.jsx
+++ b/client/src/components/ButtonPrimary/index.jsx
@@ -4,7 +4,7 @@ const ButtonPrimary  = ({ value, onClickHandler, type = 'button' }) => {
   return (
     <button
       type={type}
-      className={'button button-primary'}
+      className={'button button--primary'}
       onClick={onClickHandler}
     >
       {value}
diff --git a/client/src/components/ButtonPrimaryJumbo/index.jsx b/client/src/components/ButtonPrimaryJumbo/index.jsx
index d1631c15..f234ff7e 100644
--- a/client/src/components/ButtonPrimaryJumbo/index.jsx
+++ b/client/src/components/ButtonPrimaryJumbo/index.jsx
@@ -3,7 +3,7 @@ import React from 'react';
 const ButtonPrimaryJumbo  = ({ value, onClickHandler }) => {
   return (
     <button
-      className={'button button-primary button-primary--jumbo'}
+      className={'button button--primary button--jumbo'}
       onClick={onClickHandler}
     >
       {value}
diff --git a/client/src/components/ButtonTertiary/index.jsx b/client/src/components/ButtonTertiary/index.jsx
deleted file mode 100644
index a1930a05..00000000
--- a/client/src/components/ButtonTertiary/index.jsx
+++ /dev/null
@@ -1,14 +0,0 @@
-import React from 'react';
-
-const ButtonTertiary  = ({ value, onClickHandler }) => {
-  return (
-    <button
-      className={'button button--tertiary'}
-      onClick={onClickHandler}
-    >
-      {value}
-    </button>
-  );
-};
-
-export default ButtonTertiary;
diff --git a/client/src/components/ChannelAbout/index.jsx b/client/src/components/ChannelAbout/index.jsx
index 2e04f18f..2d2a8f46 100644
--- a/client/src/components/ChannelAbout/index.jsx
+++ b/client/src/components/ChannelAbout/index.jsx
@@ -2,8 +2,9 @@ import React from 'react';
 
 const ChannelAbout = () => {
   return (
-    <div>
-      <p className={'text--large'}>Channels allow you to publish and group content under an identity. You can create a channel for yourself, or share one with like-minded friends.  You can create 1 channel, or 100, so whether you're <a className='link--primary' target='_blank' href='/@catalonia2017:43dcf47163caa21d8404d9fe9b30f78ef3e146a8'>documenting important events</a>, or making a public repository for <a className='link--primary' target='_blank' href='/@catGifs'>cat gifs</a> (password: '1234'), try creating a channel for it!</p>
+    <div className={'text--large'}>
+      <p>Channels allow you to publish and group content under an identity. You can create a channel for yourself, or share one with like-minded friends.</p>
+      <p>You can create 1 channel, or 100, so whether you're <a className='link--primary' target='_blank' href='/@catalonia2017:43dcf47163caa21d8404d9fe9b30f78ef3e146a8'>documenting important events</a>, or making a public repository for <a className='link--primary' target='_blank' href='/@catGifs'>cat gifs</a> (password: '1234'), try creating a channel for it!</p>
     </div>
   );
 };
diff --git a/client/src/components/Column/index.jsx b/client/src/components/Column/index.jsx
deleted file mode 100644
index dcd2e2bc..00000000
--- a/client/src/components/Column/index.jsx
+++ /dev/null
@@ -1,13 +0,0 @@
-import React from 'react';
-
-class Column extends React.Component {
-  render () {
-    return (
-      <div className={'column'}>
-        {this.props.children}
-      </div>
-    );
-  }
-}
-
-export default Column;
diff --git a/client/src/components/DropzoneDropItDisplay/index.jsx b/client/src/components/DropzoneDropItDisplay/index.jsx
index beaf820b..e6798093 100644
--- a/client/src/components/DropzoneDropItDisplay/index.jsx
+++ b/client/src/components/DropzoneDropItDisplay/index.jsx
@@ -3,7 +3,7 @@ import React from 'react';
 const DropzoneDropItDisplay = () => {
   return (
     <div className={'dropzone-dropit-display'}>
-      <p className={'text--interactive'}>Drop it.</p>
+      Drop it.
     </div>
   );
 }
diff --git a/client/src/components/DropzoneInstructionsDisplay/index.jsx b/client/src/components/DropzoneInstructionsDisplay/index.jsx
index 3f13c69f..65320e7e 100644
--- a/client/src/components/DropzoneInstructionsDisplay/index.jsx
+++ b/client/src/components/DropzoneInstructionsDisplay/index.jsx
@@ -6,15 +6,15 @@ const DropzoneInstructionsDisplay = ({fileError}) => {
   return (
     <div className={'dropzone-instructions-display'}>
       <Row>
-        <p className={'text--large'}>Drag & drop image or video here to publish</p>
+        <span className={'text--large'}>Drag & drop image or video here to publish</span>
       </Row>
       <Row>
-        <p className={'text--small'}>OR</p>
+        <span className={'text--small text--secondary'}>OR</span>
       </Row>
       { fileError ? (
         <div>
           <Row>
-            <p className={'text--large text--underline'}>CHOOSE FILE</p>
+            <span className={'text--large dropzone-instructions-display__chooser-label'}>CHOOSE FILE</span>
           </Row>
           <FormFeedbackDisplay
             errorMessage={fileError}
@@ -22,7 +22,7 @@ const DropzoneInstructionsDisplay = ({fileError}) => {
           />
         </div>
       ) : (
-        <p className={'text--large text--underline'}>CHOOSE FILE</p>
+        <span className={'text--large dropzone-instructions-display__chooser-label'}>CHOOSE FILE</span>
       )}
     </div>
   );
diff --git a/client/src/components/FormFeedbackDisplay/index.jsx b/client/src/components/FormFeedbackDisplay/index.jsx
index 7dd62d7e..c324c7f0 100644
--- a/client/src/components/FormFeedbackDisplay/index.jsx
+++ b/client/src/components/FormFeedbackDisplay/index.jsx
@@ -4,13 +4,13 @@ const FormFeedbackDisplay = ({ errorMessage, defaultMessage }) => {
   return (
     <div className={'form-feedback'}>
       { errorMessage ? (
-        <p className={'text--small text--failure'}>{errorMessage}</p>
+        <span className={'text--small text--failure'}>{errorMessage}</span>
       ) : (
         <div>
           { defaultMessage ? (
-            <p className={'text--small text--secondary'}>{defaultMessage}</p>
+            <span className={'text--small text--secondary'}>{defaultMessage}</span>
           ) : (
-            <p className={'text--small'}>&nbsp;</p>
+            <span className={'text--small'}>&nbsp;</span>
           )}
         </div>
       )}
diff --git a/client/src/components/HorizontalQuadSplit/index.jsx b/client/src/components/HorizontalQuadSplit/index.jsx
deleted file mode 100644
index 1bbbc319..00000000
--- a/client/src/components/HorizontalQuadSplit/index.jsx
+++ /dev/null
@@ -1,37 +0,0 @@
-import React from 'react';
-import Row from '@components/Row';
-
-class HorizontalTriSplit extends React.Component {
-  render () {
-    return (
-      <div className={'horizontal-quad-split'}>
-        <div className={'left-side'}>
-          <div className={'column-a'}>
-            <Row>
-              {this.props.columnA}
-            </Row>
-          </div>
-          <div className={'column-b'}>
-            <Row>
-              {this.props.columnB}
-            </Row>
-          </div>
-        </div>
-        <div className={'right-side'}>
-          <div className={'column-c'}>
-            <Row>
-              {this.props.columnC}
-            </Row>
-          </div>
-          <div className={'column-d'}>
-            <Row>
-              {this.props.columnD}
-            </Row>
-          </div>
-        </div>
-      </div>
-    );
-  }
-}
-
-export default HorizontalTriSplit;
diff --git a/client/src/components/HorizontalSplit/index.jsx b/client/src/components/HorizontalSplit/index.jsx
index c5151fa3..7b82a2c1 100644
--- a/client/src/components/HorizontalSplit/index.jsx
+++ b/client/src/components/HorizontalSplit/index.jsx
@@ -4,10 +4,10 @@ class HorizontalSplit extends React.Component {
   render () {
     return (
       <div className={'horizontal-split'}>
-        <div className={'column'}>
+        <div className={'horizontal-split__column horizontal-split__column--left'}>
           {this.props.leftSide}
         </div>
-        <div className={'column'}>
+        <div className={'horizontal-split__column horizontal-split__column--right'}>
           {this.props.rightSide}
         </div>
       </div>
diff --git a/client/src/components/PublishPreview/index.jsx b/client/src/components/PublishPreview/index.jsx
index 9f7240cf..512eb310 100644
--- a/client/src/components/PublishPreview/index.jsx
+++ b/client/src/components/PublishPreview/index.jsx
@@ -5,13 +5,17 @@ import PublishDetails from '@containers/PublishDetails';
 import PublishTitleInput from '@containers/PublishTitleInput';
 import Row from '@components/Row';
 
+// this class seems more like PublishForm and should probably be renamed
+
 class PublishPreview extends React.Component {
   render () {
     return (
-      <div>
-        <Row>
-          <PublishTitleInput />
-        </Row>
+      <div className={'publish-form'}>
+        <div className={'publish-form__title'}>
+          <Row>
+            <PublishTitleInput />
+          </Row>
+        </div>
         <HorizontalSplit
           leftSide={<Dropzone />}
           rightSide={<PublishDetails />}
diff --git a/client/src/components/RowLabeledAlt/index.jsx b/client/src/components/RowLabeledAlt/index.jsx
deleted file mode 100644
index d5e2c7d0..00000000
--- a/client/src/components/RowLabeledAlt/index.jsx
+++ /dev/null
@@ -1,14 +0,0 @@
-import React from 'react';
-
-class RowLabeledAlt extends React.Component {
-  render () {
-    return (
-      <div className={'row-labeled-alt'}>
-        <div className={'row-labeled-label'}>{this.props.label}</div>
-        <div className={'row-labeled-content'}>{this.props.content}</div>
-      </div>
-    );
-  }
-}
-
-export default RowLabeledAlt;
diff --git a/client/src/components/VerticalCollapsibleSplit/index.jsx b/client/src/components/VerticalCollapsibleSplit/index.jsx
index 1dcaca48..d670b6e8 100644
--- a/client/src/components/VerticalCollapsibleSplit/index.jsx
+++ b/client/src/components/VerticalCollapsibleSplit/index.jsx
@@ -5,11 +5,18 @@ class VerticalCollapsibleSplit extends React.Component {
   constructor (props) {
     super(props);
     this.collapse = this.collapse.bind(this);
-    this.state = { closed: false };
+    this.storageKey = 'vert-split-state-' + this.props.name;
+    // const closed = window && window.localStorage
+    //   ? !!window.localStorage.getItem(this.storageKey) : false;
+    const closed = false;
+    this.state = { closed: closed };
   }
 
   collapse () {
     this.setState({ closed: !this.state.closed });
+    // if (window && window.localStorage) {
+    //   window.localStorage.setItem(this.storageKey, !this.state.closed);
+    // }
     document.querySelectorAll(`[data-name='${this.props.name}']`).forEach(el => el.classList.toggle('closed'));
   }
 
diff --git a/client/src/containers/AssetInfo/view.jsx b/client/src/containers/AssetInfo/view.jsx
index b3ff10fc..581c61fb 100644
--- a/client/src/containers/AssetInfo/view.jsx
+++ b/client/src/containers/AssetInfo/view.jsx
@@ -11,6 +11,7 @@ import HorizontalSplit from '@components/HorizontalSplit';
 import siteConfig from '@config/siteConfig.json';
 const { details: { host } } = siteConfig;
 import createCanonicalLink from '../../../../utils/createCanonicalLink';
+import AssetInfoFooter from '../../components/AssetInfoFooter/index';
 
 class AssetInfo extends React.Component {
   render () {
@@ -29,129 +30,111 @@ class AssetInfo extends React.Component {
       channelCanonicalUrl = `${createCanonicalLink({channel})}`;
     }
     return (
-      <div className='asset-information-wrap'>
+      <div className='asset-info'>
         <HorizontalSplit
           leftSide={
             description && (
-              <Row>
-                <p>{description}</p>
-              </Row>
+              <p className='asset-info__description'>{description}</p>
             )
           }
           rightSide={
             <div>
               {channelName && (
-                <Row>
-                  <RowLabeled
-                    label={
-                      <Label value={'Channel:'} />
-                    }
-                    content={
-                      <span className='text'>
-                        <Link to={channelCanonicalUrl}>{channelName}</Link>
-                      </span>
-                    }
-                  />
-                </Row>
+                <RowLabeled
+                  label={
+                    <Label value={'Channel'} />
+                  }
+                  content={
+                    <span className='text'>
+                      <Link className='link--primary' to={channelCanonicalUrl}>{channelName}</Link>
+                    </span>
+                  }
+                />
               )}
 
               {claimViews ? (
-                <Row>
-                  <RowLabeled
-                    label={
-                      <Label value={'Views:'} />
-                    }
-                    content={
-                      <span className='text'>
-                        {claimViews}
-                      </span>
-                    }
-                  />
-                </Row>
+                <RowLabeled
+                  label={
+                    <Label value={'Views'} />
+                  }
+                  content={
+                    <span className='text'>
+                      {claimViews}
+                    </span>
+                  }
+                />
               ) : null}
 
-              <Row>
-                <RowLabeled
-                  label={
-                    <Label value={'Share:'} />
-                  }
-                  content={
-                    <AssetShareButtons
-                      name={name}
-                      assetUrl={assetCanonicalUrl}
-                    />
-                  }
-                />
-              </Row>
+              <RowLabeled
+                label={
+                  <Label value={'Share'} />
+                }
+                content={
+                  <AssetShareButtons
+                    name={name}
+                    assetUrl={assetCanonicalUrl}
+                  />
+                }
+              />
 
-              <Row>
-                <RowLabeled
-                  label={
-                    <Label value={'Link:'} />
-                  }
-                  content={
-                    <ClickToCopy
-                      id={'short-link'}
-                      value={assetCanonicalUrl}
-                    />
-                  }
-                />
-              </Row>
+              <RowLabeled
+                label={
+                  <Label value={'Link'} />
+                }
+                content={
+                  <ClickToCopy
+                    id={'short-link'}
+                    value={assetCanonicalUrl}
+                  />
+                }
+              />
 
-              <Row>
-                <RowLabeled
-                  label={
-                    <Label value={'Embed:'} />
-                  }
-                  content={
-                    <div>
-                      {(contentType === 'video/mp4') ? (
-                        <ClickToCopy
-                          id={'embed-text-video'}
-                          value={`<iframe src="${host}/video-embed${canonicalUrl}" allowfullscreen="true" style="border:0" /></iframe>`}
-                        />
-                      ) : (
-                        <ClickToCopy
-                          id={'embed-text-image'}
-                          value={`<img src="${assetCanonicalUrl}.${fileExt}"/>`}
-                        />
-                      )}
-                    </div>
-                  }
-                />
-              </Row>
+              <RowLabeled
+                label={
+                  <Label value={'Embed'} />
+                }
+                content={
+                  <div>
+                    {(contentType === 'video/mp4') ? (
+                      <ClickToCopy
+                        id={'embed-text-video'}
+                        value={`<iframe src="${host}/video-embed${canonicalUrl}" allowfullscreen="true" style="border:0" /></iframe>`}
+                      />
+                    ) : (
+                      <ClickToCopy
+                        id={'embed-text-image'}
+                        value={`<img src="${assetCanonicalUrl}.${fileExt}"/>`}
+                      />
+                    )}
+                  </div>
+                }
+              />
 
-              <Row>
-                <SpaceBetween>
-                  <a
-                    className='link--primary'
-                    href={`${assetCanonicalUrl}.${fileExt}`}
-                  >
-                    Direct Link
-                  </a>
-                  <a
-                    className={'link--primary'}
-                    href={`${assetCanonicalUrl}.${fileExt}`}
-                    download={name}
-                  >
-                    Download
-                  </a>
-                  <a
-                    className={'link--primary'}
-                    target='_blank'
-                    href='https://lbry.io/dmca'
-                  >
-                    Report
-                  </a>
-                </SpaceBetween>
-              </Row>
+              <SpaceBetween>
+                <a
+                  className='link--primary'
+                  href={`${assetCanonicalUrl}.${fileExt}`}
+                >
+                  Direct Link
+                </a>
+                <a
+                  className={'link--primary'}
+                  href={`${assetCanonicalUrl}.${fileExt}`}
+                  download={name}
+                >
+                  Download
+                </a>
+                <a
+                  className={'link--primary'}
+                  target='_blank'
+                  href='https://lbry.io/dmca'
+                >
+                  Report
+                </a>
+              </SpaceBetween>
             </div>
           } />
-        <Row>
-          <p>
-            Hosted via the <a className={'link--primary'} href={'https://lbry.io/get'} target={'_blank'}>LBRY</a> blockchain
-          </p>
-        </Row>
+        <AssetInfoFooter/>
       </div>
     );
   }
diff --git a/client/src/containers/ChannelCreateForm/view.jsx b/client/src/containers/ChannelCreateForm/view.jsx
index bda30e12..2d175ce2 100644
--- a/client/src/containers/ChannelCreateForm/view.jsx
+++ b/client/src/containers/ChannelCreateForm/view.jsx
@@ -81,7 +81,7 @@ class ChannelCreateForm extends React.Component {
         </form>
         ) : (
           <div>
-            <p className={'text--small text--secondary'}>{status}</p>
+            <span className={'text--small text--secondary'}>{status}</span>
             <ProgressBar size={12} />
           </div>
         )}
diff --git a/client/src/containers/ChannelTools/view.jsx b/client/src/containers/ChannelTools/view.jsx
index 0be7bef0..455b6d26 100644
--- a/client/src/containers/ChannelTools/view.jsx
+++ b/client/src/containers/ChannelTools/view.jsx
@@ -8,11 +8,11 @@ class ChannelTools extends React.Component {
     return (
       <div>
         <Row>
-          <h3>Log in to an existing channel:</h3>
+          <h3>Log in to existing channel</h3>
           <ChannelLoginForm />
         </Row>
         {!this.props.closedRegistration && (<Row>
-          <h3>Create a brand new channel:</h3>
+          <h3>Create new channel</h3>
           <ChannelCreateForm />
         </Row>)}
       </div>
diff --git a/client/src/containers/PublishDetails/view.jsx b/client/src/containers/PublishDetails/view.jsx
index ac55e226..7590e66f 100644
--- a/client/src/containers/PublishDetails/view.jsx
+++ b/client/src/containers/PublishDetails/view.jsx
@@ -6,7 +6,7 @@ import PublishMetadataInputs from '@containers/PublishMetadataInputs';
 import ChannelSelect from '@containers/ChannelSelect';
 import Row from '@components/Row';
 import ButtonPrimaryJumbo from '@components/ButtonPrimaryJumbo';
-import ButtonTertiary from '@components/ButtonTertiary';
+import ButtonSecondary from '@components/ButtonSecondary';
 import SpaceAround from '@components/SpaceAround';
 import PublishFinePrint from '@components/PublishFinePrint';
 
@@ -48,7 +48,7 @@ class PublishDetails extends React.Component {
 
         <Row>
           <SpaceAround>
-            <ButtonTertiary
+            <ButtonSecondary
               value={'Cancel'}
               onClickHandler={this.props.clearFile}
             />
diff --git a/client/src/containers/PublishMetadataInputs/view.jsx b/client/src/containers/PublishMetadataInputs/view.jsx
index 10d8a793..ec5d2a59 100644
--- a/client/src/containers/PublishMetadataInputs/view.jsx
+++ b/client/src/containers/PublishMetadataInputs/view.jsx
@@ -3,6 +3,7 @@ import PublishDescriptionInput from '@components/PublishDescriptionInput';
 import PublishLicenseInput from '@components/PublishLicenseInput';
 import PublishNsfwInput from '@components/PublishNsfwInput';
 import ButtonSecondary from '@components/ButtonSecondary';
+import Row from '@components/Row';
 
 class PublishMetadataInputs extends React.Component {
   constructor (props) {
@@ -29,19 +30,25 @@ class PublishMetadataInputs extends React.Component {
     return (
       <div>
         {this.props.showMetadataInputs && (
-          <div>
-            <PublishDescriptionInput
-              description={this.props.description}
-              handleInput={this.handleInput}
-            />
-            <PublishLicenseInput
-              handleSelect={this.handleSelect}
-            />
-            <PublishNsfwInput
-              nsfw={this.props.nsfw}
-              handleInput={this.handleInput}
-            />
-          </div>
+          <React.Fragment>
+            <Row>
+              <PublishDescriptionInput
+                description={this.props.description}
+                handleInput={this.handleInput}
+              />
+            </Row>
+            <Row>
+              <PublishLicenseInput
+                handleSelect={this.handleSelect}
+              />
+            </Row>
+            <Row>
+              <PublishNsfwInput
+                nsfw={this.props.nsfw}
+                handleInput={this.handleInput}
+              />
+            </Row>
+          </React.Fragment>
         )}
         <ButtonSecondary
           value={this.props.showMetadataInputs ? 'less' : 'more'}
diff --git a/client/src/containers/PublishThumbnailInput/view.jsx b/client/src/containers/PublishThumbnailInput/view.jsx
index 654fbe1a..e5a01ad0 100644
--- a/client/src/containers/PublishThumbnailInput/view.jsx
+++ b/client/src/containers/PublishThumbnailInput/view.jsx
@@ -126,7 +126,7 @@ class PublishThumbnailInput extends React.Component {
               </div>
             </div>
           ) : (
-            <p className={'text--small text--secondary'}>loading... </p>
+            <span className={'text--small text--secondary'}>loading... </span>
           )
         }
         <FormFeedbackDisplay
diff --git a/client/src/pages/ShowAssetDetails/view.jsx b/client/src/pages/ShowAssetDetails/view.jsx
index 628dc5bc..09c11c5d 100644
--- a/client/src/pages/ShowAssetDetails/view.jsx
+++ b/client/src/pages/ShowAssetDetails/view.jsx
@@ -6,6 +6,16 @@ import AssetDisplay from '@containers/AssetDisplay';
 import AssetInfo from '@containers/AssetInfo';
 import ErrorPage from '@pages/ErrorPage';
 
+/*
+
+          <VerticalCollapsibleSplit
+            name={'asset-display-collapse'}
+            top={}
+            bottom={<AssetInfo />}
+          />
+
+ */
+
 class ShowAssetDetails extends React.Component {
   render () {
     const { asset } = this.props;
@@ -16,11 +26,8 @@ class ShowAssetDetails extends React.Component {
           pageTitle={`${name} - details`}
           asset={asset}
         >
-          <VerticalCollapsibleSplit
-            name={'asset-display-collapse'}
-            top={<AssetDisplay />}
-            bottom={<AssetInfo />}
-          />
+          <AssetDisplay />
+
         </PageLayout>
       );
     }
-- 
2.45.3


From 33cf063fbb7015d521a0ffd6fce68d29c1983544 Mon Sep 17 00:00:00 2001
From: Jeremy Kauffman <kauffj@gmail.com>
Date: Fri, 9 Nov 2018 13:02:28 -0500
Subject: [PATCH 53/63] fix unterminated div

---
 client/src/containers/AssetDisplay/view.jsx | 1 +
 1 file changed, 1 insertion(+)

diff --git a/client/src/containers/AssetDisplay/view.jsx b/client/src/containers/AssetDisplay/view.jsx
index eef963df..6e5079f3 100644
--- a/client/src/containers/AssetDisplay/view.jsx
+++ b/client/src/containers/AssetDisplay/view.jsx
@@ -89,6 +89,7 @@ class AssetDisplay extends React.Component {
               thumbnail={thumbnail}
             />
             }
+          </div>
         </div>
         <AssetTitle />
       </div>
-- 
2.45.3


From 44b5c27ef59184ec2c9f706cef4eae52242d0106 Mon Sep 17 00:00:00 2001
From: Jeremy Kauffman <kauffj@gmail.com>
Date: Fri, 9 Nov 2018 13:55:53 -0500
Subject: [PATCH 54/63] css destroying

---
 client/scss/all.scss                          |  1 -
 client/scss/asset-display/_asset-display.scss | 69 +++++++++++---
 client/scss/body/_body.scss                   |  2 +-
 client/scss/nav-bar/_nav-bar.scss             |  3 +-
 client/scss/page-layout/_page-layout.scss     |  2 +-
 client/scss/text/_text.scss                   | 94 -------------------
 client/scss/variables/_variables.scss         | 10 +-
 .../scss/vertical-split/_vertical-split.scss  | 55 -----------
 .../VerticalCollapsibleSplit/index.jsx        | 45 ---------
 client/src/containers/AssetDisplay/view.jsx   | 66 ++++++-------
 client/src/containers/AssetTitle/view.jsx     |  4 +-
 client/src/pages/ShowAssetDetails/view.jsx    | 39 +++++---
 12 files changed, 123 insertions(+), 267 deletions(-)
 delete mode 100644 client/scss/vertical-split/_vertical-split.scss
 delete mode 100644 client/src/components/VerticalCollapsibleSplit/index.jsx

diff --git a/client/scss/all.scss b/client/scss/all.scss
index c21d276c..6629e7d1 100644
--- a/client/scss/all.scss
+++ b/client/scss/all.scss
@@ -31,7 +31,6 @@
 @import '~space-between/_space-between';
 @import '~space-around/_space-around';
 @import '~row/_row';
-@import '~vertical-split/_vertical-split';
 @import '~tooltip/_tooltip';
 @import '~social-share-link/_social-share-link';
 
diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/asset-display/_asset-display.scss
index 29397d33..40800f02 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/asset-display/_asset-display.scss
@@ -5,23 +5,12 @@
   justify-content: center;
   position: relative;
   width: 100%;
-  $height-delta: 43 / 16 + ($primary-padding * 2); //fix 43!!! nav height
-  //max-height: calc(100vh - #{$height-delta});
-  height: calc(100vh - #{$height-delta});
   overflow: hidden;
+  align-items: center;
 }
 
 .asset-title {
-  color: #2E2F31;
-  font-size: $text-x-large;
-  font-weight: normal;
-  letter-spacing: 0;
-  margin-top: $primary-padding;
-  text-align: center;
-
-  @media (max-width: $break-point-tablet) {
-    padding: 0 $tertiary-padding;
-  }
+  padding-top: $secondary-padding;
 }
 
 .asset-image, .asset-video {
@@ -31,6 +20,7 @@
   margin-right: auto;
   object-fit: contain;
   object-position: center;
+  background: black;
 }
 
 /*below must die if this is intended to be shareable component! it also probably doesn't need to be*/
@@ -60,6 +50,59 @@
   }
 }
 
+/*
+.vertical-split, .visible-content {
+  flex           : 1 0 auto;
+  display        : flex;
+  flex-direction : column;
+  justify-content: space-between;
+  align-items    : center;
+};
+
+.collapse-content {
+  flex-grow: 0;
+  @media (max-width: $break-point-tablet) {
+    max-width: 100%;
+    width: 100%;
+  }
+}
+
+.collapse-content.closed{
+  display: none;
+}
+
+.collapse-button {
+  background: none;
+  border: none;
+  display: block;
+  margin: 15px auto 0;
+  width: 25px;
+  height: 25px;
+  text-align: center;
+  padding: 0px;
+  padding-left: 10px;
+
+  @media (max-width: $break-point-tablet) {
+    padding: 0;
+  }
+
+  svg {
+    stroke: $primary-color;
+    &.plus-icon {
+      transform: rotate(0);
+      transition: all 0.4s ease;
+    }
+
+  }
+
+  &:hover {
+    .plus-icon {
+      transform: rotate(-180deg);
+    }
+  }
+}
+ */
+
 .asset-info {
   $asset-info-width: 1000px;
   max-width: $asset-info-width;
diff --git a/client/scss/body/_body.scss b/client/scss/body/_body.scss
index 6072cbd4..0c1b55b5 100644
--- a/client/scss/body/_body.scss
+++ b/client/scss/body/_body.scss
@@ -1,7 +1,7 @@
 body {
   margin: 0;
   padding: 0;
-  height: 100%;
+  min-height: 100%;
   word-wrap: break-word;
   display: -webkit-flex;
   display: flex;
diff --git a/client/scss/nav-bar/_nav-bar.scss b/client/scss/nav-bar/_nav-bar.scss
index 43a85bc1..f817e781 100644
--- a/client/scss/nav-bar/_nav-bar.scss
+++ b/client/scss/nav-bar/_nav-bar.scss
@@ -1,4 +1,5 @@
 .nav-bar {
+  margin-top: $thin-padding;
   margin-left: $primary-padding;
   margin-right: $primary-padding;
   
@@ -18,7 +19,7 @@
 .nav-bar-link {
   padding: calc(1em - 2px);
   display: inline-block;
-  font-size: 14px;
+  font-size: $text-medium;
   letter-spacing: 0.4px;
   text-transform: uppercase;
 }
diff --git a/client/scss/page-layout/_page-layout.scss b/client/scss/page-layout/_page-layout.scss
index 0c51319a..e3092a65 100644
--- a/client/scss/page-layout/_page-layout.scss
+++ b/client/scss/page-layout/_page-layout.scss
@@ -12,7 +12,7 @@
 }
 
 @media (max-width: $break-point-tablet) {
-  .page-layout .content { margin: $thin-padding; }
+  .page-layout .content { margin: $tertiary-padding; }
 }
 
 @media (max-width: $break-point-mobile) {
diff --git a/client/scss/text/_text.scss b/client/scss/text/_text.scss
index 125afe67..357099f2 100644
--- a/client/scss/text/_text.scss
+++ b/client/scss/text/_text.scss
@@ -57,97 +57,3 @@ h3 {
 .text--success {
   color: $success-color;
 }
-
-@media (max-width: $break-point-x-large ) {
-  h1 {
-    font-size: $text-x-large;
-  }
-
-  h2 {
-    font-size: $text-large;
-  }
-
-  h3 {
-    font-size: $text-medium;
-  }
-
-  p, body, button, input, textarea, label, select, option {
-    font-size: $text-medium;
-  }
-
-  .text--extra-large {
-    font-size: $text-x-large;
-  }
-
-  .text--large {
-    font-size: $text-medium;
-  }
-
-  .text--medium {
-    font-size: $text-small;
-  }
-
-}
-
-@media (max-width: $break-point-tablet) {
-
-  h1 {
-    font-size: $text-large;
-  }
-
-  h2 {
-    font-size: $text-medium;
-  }
-
-  h3 {
-    font-size: $text-small;
-  }
-
-  p, body, button, input, textarea, label, select, option {
-    font-size: 15px;
-  }
-
-  .text--extra-large {
-    font-size: $text-large;
-  }
-
-  .text--large {
-    font-size: $text-medium;
-  }
-
-  .text--small {
-    font-size: $text-x-small;
-  }
-
-
-}
-
-@media (max-width: $break-point-mobile) {
-
-  h1 {
-    font-size: $text-medium;
-    font-weight: bold;
-  }
-
-  h2 {
-    font-size: $text-small;
-  }
-
-  p, body, button, input, textarea, label, select, option {
-    font-size: 15px;
-  }
-
-  .text--extra-large {
-    font-size: $text-x-small;
-    font-weight: bold;
-  }
-
-  .text--large {
-    font-size: $text-x-small;
-  }
-
-  .text--medium {
-    font-size: $text-x-small;
-  }
-
-}
diff --git a/client/scss/variables/_variables.scss b/client/scss/variables/_variables.scss
index fa86f99e..a9835c98 100644
--- a/client/scss/variables/_variables.scss
+++ b/client/scss/variables/_variables.scss
@@ -27,11 +27,11 @@ $input-padding: 0.3em;
 $input-full-width: calc(100% - 0.6em);
 
 $text-xx-large: 2.5em;
-$text-x-large: x-large;
-$text-large: large;
-$text-medium: medium;
-$text-small: small;
-$text-x-small: small;
+$text-x-large: 2.0em;
+$text-large: 1.5em;
+$text-medium: 1.0em;
+$text-small: 0.9em;
+$text-x-small: 0.8em;
 
 $break-point-xx-large: 1400px;
 $break-point-x-large: 1290px;
diff --git a/client/scss/vertical-split/_vertical-split.scss b/client/scss/vertical-split/_vertical-split.scss
deleted file mode 100644
index 2aacc773..00000000
--- a/client/scss/vertical-split/_vertical-split.scss
+++ /dev/null
@@ -1,55 +0,0 @@
-.vertical-split, .visible-content {
-  flex           : 1 0 auto;
-  display        : flex;
-  flex-direction : column;
-  justify-content: space-between;
-  align-items    : center;
-};
-
-.asset-display-wrap
-{
-  flex-grow: 1;
-}
-
-.collapse-content {
-  flex-grow: 0;
-  @media (max-width: $break-point-tablet) {
-    max-width: 100%;
-    width: 100%;
-  }
-}
-
-.collapse-content.closed{
-  display: none;
-}
-
-.collapse-button {
-  background: none;
-  border: none;
-  display: block;
-  margin: 15px auto 0;
-  width: 25px;
-  height: 25px;
-  text-align: center;
-  padding: 0px;
-  padding-left: 10px;
-
-  @media (max-width: $break-point-tablet) {
-    padding: 0;
-  }
-
-  svg {
-    stroke: $primary-color;
-    &.plus-icon {
-      transform: rotate(0);
-      transition: all 0.4s ease;
-    }
-
-  }
-
-  &:hover {
-    .plus-icon {
-      transform: rotate(-180deg);
-    }
-  }
-}
\ No newline at end of file
diff --git a/client/src/components/VerticalCollapsibleSplit/index.jsx b/client/src/components/VerticalCollapsibleSplit/index.jsx
deleted file mode 100644
index d670b6e8..00000000
--- a/client/src/components/VerticalCollapsibleSplit/index.jsx
+++ /dev/null
@@ -1,45 +0,0 @@
-import React from 'react';
-import * as Icon from 'react-feather';
-class VerticalCollapsibleSplit extends React.Component {
-
-  constructor (props) {
-    super(props);
-    this.collapse = this.collapse.bind(this);
-    this.storageKey = 'vert-split-state-' + this.props.name;
-    // const closed = window && window.localStorage
-    //   ? !!window.localStorage.getItem(this.storageKey) : false;
-    const closed = false;
-    this.state = { closed: closed };
-  }
-
-  collapse () {
-    this.setState({ closed: !this.state.closed });
-    // if (window && window.localStorage) {
-    //   window.localStorage.setItem(this.storageKey, !this.state.closed);
-    // }
-    document.querySelectorAll(`[data-name='${this.props.name}']`).forEach(el => el.classList.toggle('closed'));
-  }
-
-  render () {
-    let {
-      props,
-      state,
-    } = this;
-
-    return (
-      <div className={'vertical-split'}>
-        <div className='visible-content' data-name={props.name}>
-          {props.top}
-          <button className='collapse-button' onClick={this.collapse}>
-            {state.closed ? <Icon.PlusCircle className='plus-icon' /> : <Icon.MinusCircle />}
-          </button>
-        </div>
-        <div className='collapse-content' data-name={props.name}>
-          {props.bottom}
-        </div>
-      </div>
-    );
-  }
-};
-
-export default VerticalCollapsibleSplit;
diff --git a/client/src/containers/AssetDisplay/view.jsx b/client/src/containers/AssetDisplay/view.jsx
index 6e5079f3..98a78366 100644
--- a/client/src/containers/AssetDisplay/view.jsx
+++ b/client/src/containers/AssetDisplay/view.jsx
@@ -1,6 +1,5 @@
 import React from 'react';
 import Row from '@components/Row';
-import AssetTitle from '@containers/AssetTitle';
 import ProgressBar from '@components/ProgressBar';
 import { LOCAL_CHECK, UNAVAILABLE, ERROR, AVAILABLE } from '../../constants/asset_display_states';
 import createCanonicalLink from '../../../../utils/createCanonicalLink';
@@ -56,42 +55,37 @@ class AssetDisplay extends React.Component {
     }
     const sourceUrl = `${createCanonicalLink({ asset: asset.claimData })}.${fileExt}?${outpoint}`;
     return (
-      <div className={'asset-display-wrap'}>
-        <div className={'asset-display'}>
-          <div className={'asset-display'}>
-            {(status === LOCAL_CHECK) &&
-            <div>
-              <p>Checking to see if Spee.ch has your asset locally...</p>
-            </div>
-            }
-            {(status === UNAVAILABLE) &&
-            <div>
-              <p>Sit tight, we're searching the LBRY blockchain for your asset!</p>
-              <ProgressBar size={12} />
-              <p>Curious what magic is happening here? <a className='link--primary' target='blank' href='https://lbry.io/faq/what-is-lbry'>Learn more.</a></p>
-            </div>
-            }
-            {(status === ERROR) &&
-            <div>
-              <Row>
-                <p>Unfortunately, we couldn't download your asset from LBRY.  You can help us out by sharing the following error message in the <a className='link--primary' href='https://chat.lbry.io' target='_blank'>LBRY discord</a>.</p>
-              </Row>
-              <Row>
-                <p id='error-message'><i>{error}</i></p>
-              </Row>
-            </div>
-            }
-            {(status === AVAILABLE) &&
-            <AvailableContent
-              contentType={contentType}
-              sourceUrl={sourceUrl}
-              name={name}
-              thumbnail={thumbnail}
-            />
-            }
-          </div>
+      <div className={'asset-display'}>
+        {(status === LOCAL_CHECK) &&
+        <div>
+          <p>Checking to see if Spee.ch has your asset locally...</p>
         </div>
-        <AssetTitle />
+        }
+        {(status === UNAVAILABLE) &&
+        <div>
+          <p>Sit tight, we're searching the LBRY blockchain for your asset!</p>
+          <ProgressBar size={12} />
+          <p>Curious what magic is happening here? <a className='link--primary' target='blank' href='https://lbry.io/faq/what-is-lbry'>Learn more.</a></p>
+        </div>
+        }
+        {(status === ERROR) &&
+        <div>
+          <Row>
+            <p>Unfortunately, we couldn't download your asset from LBRY.  You can help us out by sharing the following error message in the <a className='link--primary' href='https://chat.lbry.io' target='_blank'>LBRY discord</a>.</p>
+          </Row>
+          <Row>
+            <p id='error-message'><i>{error}</i></p>
+          </Row>
+        </div>
+        }
+        {(status === AVAILABLE) &&
+        <AvailableContent
+          contentType={contentType}
+          sourceUrl={sourceUrl}
+          name={name}
+          thumbnail={thumbnail}
+        />
+        }
       </div>
     );
   }
diff --git a/client/src/containers/AssetTitle/view.jsx b/client/src/containers/AssetTitle/view.jsx
index 7821920a..eaf3d6d4 100644
--- a/client/src/containers/AssetTitle/view.jsx
+++ b/client/src/containers/AssetTitle/view.jsx
@@ -2,9 +2,7 @@ import React from 'react';
 
 const AssetTitle = ({ title }) => {
   return (
-    <div className='asset-title-wrap'>
-      <h3 className='asset-title'>{title}</h3>
-    </div>
+    <h1 className='asset-title'>{title}</h1>
   );
 };
 
diff --git a/client/src/pages/ShowAssetDetails/view.jsx b/client/src/pages/ShowAssetDetails/view.jsx
index 323a45b3..87cce975 100644
--- a/client/src/pages/ShowAssetDetails/view.jsx
+++ b/client/src/pages/ShowAssetDetails/view.jsx
@@ -1,20 +1,31 @@
 import React from 'react';
 import PageLayout from '@components/PageLayout';
-import VerticalCollapsibleSplit from '@components/VerticalCollapsibleSplit';
+import * as Icon from 'react-feather';
 import AssetDisplay from '@containers/AssetDisplay';
+import AssetInfo from '@containers/AssetInfo';
 import ErrorPage from '@pages/ErrorPage';
-
-/*
-
-          <VerticalCollapsibleSplit
-            name={'asset-display-collapse'}
-            top={}
-            bottom={<AssetInfo />}
-          />
-
- */
+import AssetTitle from '@containers/AssetTitle';
 
 class ShowAssetDetails extends React.Component {
+
+  constructor (props) {
+    super(props);
+    this.collapse = this.collapse.bind(this);
+    // this.storageKey = 'vert-split-state-' + this.props.name;
+    // const closed = window && window.localStorage
+    //   ? !!window.localStorage.getItem(this.storageKey) : false;
+    const closed = false;
+    this.state = { closed: closed };
+  }
+
+  collapse () {
+    this.setState({ closed: !this.state.closed });
+    // if (window && window.localStorage) {
+    //   window.localStorage.setItem(this.storageKey, !this.state.closed);
+    // }
+    // document.querySelectorAll(`[data-name='${this.props.name}']`).forEach(el => el.classList.toggle('closed'));
+  }
+
   render () {
     const { asset } = this.props;
     if (asset) {
@@ -25,7 +36,11 @@ class ShowAssetDetails extends React.Component {
           asset={asset}
         >
           <AssetDisplay />
-
+          <AssetTitle />
+          <button className='collapse-button' onClick={this.collapse}>
+            {this.state.closed ? <Icon.PlusCircle className='plus-icon' /> : <Icon.MinusCircle />}
+          </button>
+          { !this.state.closed && <AssetInfo /> }
         </PageLayout>
       );
     }
-- 
2.45.3


From 3bbe2582e5349f1bcc9849893d348008e208d30c Mon Sep 17 00:00:00 2001
From: Sean Yesmunt <sean@lbry.io>
Date: Sat, 10 Nov 2018 14:59:53 -0500
Subject: [PATCH 55/63] moar cleanup

---
 .../{asset-display => }/_asset-display.scss   | 105 +++++-------------
 .../{asset-preview => }/_asset-preview.scss   |   0
 client/scss/{body => }/_body.scss             |   0
 .../{button-primary => }/_button-primary.scss |   0
 .../_button-secondary.scss                    |   0
 client/scss/{button => }/_button.scss         |   0
 .../_channel-claims-display.scss              |   0
 .../{click-to-copy => }/_click-to-copy.scss   |   0
 client/scss/{dropzone => }/_dropzone.scss     |   0
 .../{form-feedback => }/_form-feedback.scss   |   0
 client/scss/_form.scss                        |   7 ++
 .../_horizontal-split.scss                    |  23 ++++
 client/scss/{html => }/_html.scss             |   0
 client/scss/{input => }/_input.scss           |   8 +-
 client/scss/{label => }/_label.scss           |   0
 client/scss/{link => }/_link.scss             |   0
 .../{media-queries => }/_media-queries.scss   |   0
 client/scss/{nav-bar => }/_nav-bar.scss       |  13 +--
 .../{page-content => }/_page-content.scss     |   0
 .../_page-layout-show-lite.scss               |   0
 .../scss/{page-layout => }/_page-layout.scss  |   0
 .../{progress-bar => }/_progress-bar.scss     |   5 +
 .../_publish-disabled-message.scss            |   0
 .../_publish-preview.scss                     |   4 +
 .../{publish-status => }/_publish-status.scss |   0
 .../_publish-url-input.scss                   |   0
 client/scss/{react-app => }/_react-app.scss   |   0
 client/scss/{reset => }/_reset.scss           |   0
 client/scss/{row => }/_row.scss               |   5 +-
 client/scss/_select.scss                      |   4 +
 .../{share-buttons => }/_share-buttons.scss   |   0
 .../_social-share-link.scss                   |   0
 .../{space-around => }/_space-around.scss     |   0
 .../{space-between => }/_space-between.scss   |   0
 client/scss/{text => }/_text.scss             |   0
 client/scss/{textarea => }/_textarea.scss     |   0
 client/scss/{tooltip => }/_tooltip.scss       |   0
 client/scss/{variables => }/_variables.scss   |   0
 client/scss/{video => }/_video.scss           |   0
 client/scss/all.scss                          |  81 +++++++-------
 client/scss/select/_select.scss               |  13 ---
 .../ChannelSelectDropdown/index.jsx           |   1 -
 .../components/FormFeedbackDisplay/index.jsx  |   4 +-
 .../src/components/HorizontalSplit/index.jsx  |  19 +++-
 .../NavBarChannelOptionsDropdown/index.jsx    |   1 -
 client/src/components/ProgressBar/index.jsx   |   2 +-
 .../components/PublishLicenseInput/index.jsx  |   1 -
 .../src/components/PublishPreview/index.jsx   |   1 +
 .../src/containers/ChannelCreateForm/view.jsx |   7 +-
 .../src/containers/ChannelLoginForm/view.jsx  |   7 +-
 client/src/containers/ChannelSelect/view.jsx  |   8 +-
 client/src/containers/ChannelTools/view.jsx   |  16 +--
 client/src/containers/Dropzone/view.jsx       |   4 +-
 client/src/containers/PublishDetails/view.jsx |   8 +-
 .../containers/PublishMetadataInputs/view.jsx |  28 ++---
 client/src/pages/AboutPage/index.jsx          |   1 +
 client/src/pages/LoginPage/view.jsx           |   1 +
 client/src/pages/ShowAssetDetails/view.jsx    |  17 +--
 deployment-config.json                        |  10 ++
 59 files changed, 190 insertions(+), 214 deletions(-)
 rename client/scss/{asset-display => }/_asset-display.scss (53%)
 rename client/scss/{asset-preview => }/_asset-preview.scss (100%)
 rename client/scss/{body => }/_body.scss (100%)
 rename client/scss/{button-primary => }/_button-primary.scss (100%)
 rename client/scss/{button-secondary => }/_button-secondary.scss (100%)
 rename client/scss/{button => }/_button.scss (100%)
 rename client/scss/{channel-claims-display => }/_channel-claims-display.scss (100%)
 rename client/scss/{click-to-copy => }/_click-to-copy.scss (100%)
 rename client/scss/{dropzone => }/_dropzone.scss (100%)
 rename client/scss/{form-feedback => }/_form-feedback.scss (100%)
 create mode 100644 client/scss/_form.scss
 rename client/scss/{horizontal-split => }/_horizontal-split.scss (60%)
 rename client/scss/{html => }/_html.scss (100%)
 rename client/scss/{input => }/_input.scss (92%)
 rename client/scss/{label => }/_label.scss (100%)
 rename client/scss/{link => }/_link.scss (100%)
 rename client/scss/{media-queries => }/_media-queries.scss (100%)
 rename client/scss/{nav-bar => }/_nav-bar.scss (84%)
 rename client/scss/{page-content => }/_page-content.scss (100%)
 rename client/scss/{page-layout-show-lite => }/_page-layout-show-lite.scss (100%)
 rename client/scss/{page-layout => }/_page-layout.scss (100%)
 rename client/scss/{progress-bar => }/_progress-bar.scss (50%)
 rename client/scss/{publish-disabled-message => }/_publish-disabled-message.scss (100%)
 rename client/scss/{publish-preview => }/_publish-preview.scss (68%)
 rename client/scss/{publish-status => }/_publish-status.scss (100%)
 rename client/scss/{publish-url-input => }/_publish-url-input.scss (100%)
 rename client/scss/{react-app => }/_react-app.scss (100%)
 rename client/scss/{reset => }/_reset.scss (100%)
 rename client/scss/{row => }/_row.scss (87%)
 create mode 100644 client/scss/_select.scss
 rename client/scss/{share-buttons => }/_share-buttons.scss (100%)
 rename client/scss/{social-share-link => }/_social-share-link.scss (100%)
 rename client/scss/{space-around => }/_space-around.scss (100%)
 rename client/scss/{space-between => }/_space-between.scss (100%)
 rename client/scss/{text => }/_text.scss (100%)
 rename client/scss/{textarea => }/_textarea.scss (100%)
 rename client/scss/{tooltip => }/_tooltip.scss (100%)
 rename client/scss/{variables => }/_variables.scss (100%)
 rename client/scss/{video => }/_video.scss (100%)
 delete mode 100644 client/scss/select/_select.scss
 create mode 100644 deployment-config.json

diff --git a/client/scss/asset-display/_asset-display.scss b/client/scss/_asset-display.scss
similarity index 53%
rename from client/scss/asset-display/_asset-display.scss
rename to client/scss/_asset-display.scss
index 40800f02..2350f29f 100644
--- a/client/scss/asset-display/_asset-display.scss
+++ b/client/scss/_asset-display.scss
@@ -1,16 +1,30 @@
+.asset-main {
+  height: 80vh;
+  display: flex;
+  flex-direction: column;
+  align-items: space-between;
+  align-items: center;
+}
+
 .asset-display {
   display: flex;
   flex-direction: column;
-  flex: 1 0 auto;
+  flex: 1 1 auto;
   justify-content: center;
   position: relative;
   width: 100%;
   overflow: hidden;
   align-items: center;
+  min-height: 50vh;
 }
 
 .asset-title {
-  padding-top: $secondary-padding;
+  padding-bottom: $thin-padding;
+  text-align: center;
+
+  @media (min-width: $break-point-mobile) {
+    padding-top: $secondary-padding;
+  }
 }
 
 .asset-image, .asset-video {
@@ -50,7 +64,7 @@
   }
 }
 
-/*
+
 .vertical-split, .visible-content {
   flex           : 1 0 auto;
   display        : flex;
@@ -80,7 +94,6 @@
   height: 25px;
   text-align: center;
   padding: 0px;
-  padding-left: 10px;
 
   @media (max-width: $break-point-tablet) {
     padding: 0;
@@ -101,93 +114,25 @@
     }
   }
 }
- */
 
 .asset-info {
   $asset-info-width: 1000px;
   max-width: $asset-info-width;
-
-  @media (max-width: $asset-info-width) {
-    margin: 0px auto;
-    max-width: 100%;
-    width: calc(100% - 80px);
-  }
+  margin: $primary-padding;
+  max-width: 100%;
 
   @media (max-width: $break-point-tablet) {
-    width: calc(100% - 30px);
+    margin: $primary-padding $secondary-padding;
   }
 
-  .horizontal-split {
-    justify-content: center;
-
-    .column {
-      padding-top: $primary-padding;
-      padding-bottom: $primary-padding;
-
-      .row-labeled
-      {
-        margin-bottom: $secondary-padding;
-        &:last-child { margin-bottom: 0; }
-      }
-
-      &:first-child {
-        border-right: 1px solid $grey-border;
-        margin-right: -1px;
-        padding-right: 40px;
-
-        @media (max-width: $break-point-tablet) {
-          border: none;
-          margin: 0;
-          order: 2;
-          padding: 0;
-        }
-      }
-
-      &:last-child {
-        border-left: 1px solid $grey-border;
-        padding-left: 60px;
-
-        @media (max-width: $break-point-tablet) {
-          border: none;
-          margin: 0;
-          padding: 40px 0 0 0;
-        }
-      }
-    }
+  @media (max-width: $break-point-mobile) {
+    margin: $primary-padding 0;
   }
-
-  p.asset-description {
-    color: #2E2F31;
-    font-size: 14px;
-    letter-spacing: 0;
-    line-height: 18px;
-    padding-bottom: 80px;
-    white-space: pre-line;
-    width: 360px;
-
-    @media (max-width: $break-point-tablet) {
-      margin: 22px 0 60px;
-      max-width: 600px;
-      padding: 0;
-      width: 100%;
-    }
-  }
-
-  .asset-information {
-    width: 320px;
-
-    @media (max-width: $break-point-tablet) {
-      border-bottom: 1px solid $grey-border;
-      min-width: 100%;
-      padding-bottom: 30px;
-      width: 100%;
-    }
-  }
-
 }
 
 .asset-footer {
   border-top: 1px solid $grey-border;
-  padding: $tertiary-padding $primary-padding;
+  padding-top: $primary-padding;
+  margin-top: $primary-padding;
   color: $grey;
-}
\ No newline at end of file
+}
diff --git a/client/scss/asset-preview/_asset-preview.scss b/client/scss/_asset-preview.scss
similarity index 100%
rename from client/scss/asset-preview/_asset-preview.scss
rename to client/scss/_asset-preview.scss
diff --git a/client/scss/body/_body.scss b/client/scss/_body.scss
similarity index 100%
rename from client/scss/body/_body.scss
rename to client/scss/_body.scss
diff --git a/client/scss/button-primary/_button-primary.scss b/client/scss/_button-primary.scss
similarity index 100%
rename from client/scss/button-primary/_button-primary.scss
rename to client/scss/_button-primary.scss
diff --git a/client/scss/button-secondary/_button-secondary.scss b/client/scss/_button-secondary.scss
similarity index 100%
rename from client/scss/button-secondary/_button-secondary.scss
rename to client/scss/_button-secondary.scss
diff --git a/client/scss/button/_button.scss b/client/scss/_button.scss
similarity index 100%
rename from client/scss/button/_button.scss
rename to client/scss/_button.scss
diff --git a/client/scss/channel-claims-display/_channel-claims-display.scss b/client/scss/_channel-claims-display.scss
similarity index 100%
rename from client/scss/channel-claims-display/_channel-claims-display.scss
rename to client/scss/_channel-claims-display.scss
diff --git a/client/scss/click-to-copy/_click-to-copy.scss b/client/scss/_click-to-copy.scss
similarity index 100%
rename from client/scss/click-to-copy/_click-to-copy.scss
rename to client/scss/_click-to-copy.scss
diff --git a/client/scss/dropzone/_dropzone.scss b/client/scss/_dropzone.scss
similarity index 100%
rename from client/scss/dropzone/_dropzone.scss
rename to client/scss/_dropzone.scss
diff --git a/client/scss/form-feedback/_form-feedback.scss b/client/scss/_form-feedback.scss
similarity index 100%
rename from client/scss/form-feedback/_form-feedback.scss
rename to client/scss/_form-feedback.scss
diff --git a/client/scss/_form.scss b/client/scss/_form.scss
new file mode 100644
index 00000000..16603923
--- /dev/null
+++ b/client/scss/_form.scss
@@ -0,0 +1,7 @@
+.form-group {
+  padding-bottom: $secondary-padding;
+}
+
+.form-title {
+  padding-bottom: $secondary-padding;
+}
diff --git a/client/scss/horizontal-split/_horizontal-split.scss b/client/scss/_horizontal-split.scss
similarity index 60%
rename from client/scss/horizontal-split/_horizontal-split.scss
rename to client/scss/_horizontal-split.scss
index cb1fad35..0cf4fc87 100644
--- a/client/scss/horizontal-split/_horizontal-split.scss
+++ b/client/scss/_horizontal-split.scss
@@ -6,6 +6,21 @@
   display       : flex;
   flex-direction : row;
   justify-content: space-between;
+
+  &.horizontal-split--mobile-collapse {
+    @media (max-width: $break-point-mobile) {
+      flex-direction: column;
+
+      .horizontal-split__column {
+        width: 100%;
+      }
+
+      .horizontal-split__column--right {
+        padding-left: 0;
+        padding-top: $secondary-padding;
+      }
+    }
+  }
 };
 
 .horizontal-split__column {
@@ -16,10 +31,18 @@
 
 .horizontal-split__column--left {
   padding-right: $primary-padding;
+
+  @media (max-width: $break-point-mobile) {
+    padding-right: $thin-padding;
+  }
 }
 
 .horizontal-split__column--right {
   padding-left: $primary-padding;
+
+  @media (max-width: $break-point-mobile) {
+    padding-left: $thin-padding;
+  }
 }
 
 @media (max-width: $break-point-tablet) {
diff --git a/client/scss/html/_html.scss b/client/scss/_html.scss
similarity index 100%
rename from client/scss/html/_html.scss
rename to client/scss/_html.scss
diff --git a/client/scss/input/_input.scss b/client/scss/_input.scss
similarity index 92%
rename from client/scss/input/_input.scss
rename to client/scss/_input.scss
index c0249968..8cfedf4b 100644
--- a/client/scss/input/_input.scss
+++ b/client/scss/_input.scss
@@ -10,10 +10,6 @@ input {
   display: inline-block;
 }
 
-.input-text {
-
-}
-
 .input-slider {
   width: 100%
 }
@@ -42,6 +38,10 @@ input {
   border-bottom: 1px solid $secondary-color;
 }
 
+.form-group {
+  padding-bottom: $secondary-padding;
+}
+
 // modifiers
 
 .input--full-width {
diff --git a/client/scss/label/_label.scss b/client/scss/_label.scss
similarity index 100%
rename from client/scss/label/_label.scss
rename to client/scss/_label.scss
diff --git a/client/scss/link/_link.scss b/client/scss/_link.scss
similarity index 100%
rename from client/scss/link/_link.scss
rename to client/scss/_link.scss
diff --git a/client/scss/media-queries/_media-queries.scss b/client/scss/_media-queries.scss
similarity index 100%
rename from client/scss/media-queries/_media-queries.scss
rename to client/scss/_media-queries.scss
diff --git a/client/scss/nav-bar/_nav-bar.scss b/client/scss/_nav-bar.scss
similarity index 84%
rename from client/scss/nav-bar/_nav-bar.scss
rename to client/scss/_nav-bar.scss
index f817e781..038ebf57 100644
--- a/client/scss/nav-bar/_nav-bar.scss
+++ b/client/scss/_nav-bar.scss
@@ -2,18 +2,11 @@
   margin-top: $thin-padding;
   margin-left: $primary-padding;
   margin-right: $primary-padding;
-  
+
   @media (max-width: $break-point-mobile) {
     margin-left: 15px;
     margin-right: 15px;
   }
-
-  .select--arrow {
-    padding: 0 1.5em 0 $input-padding;
-    font-size: 14px;
-    letter-spacing: 0.4px;
-    text-transform: uppercase;
-  }
 }
 
 .nav-bar-link {
@@ -35,7 +28,7 @@
     padding-bottom: calc(1em - 2px);
     padding-left: 1em;
   }
-  
+
 }
 
 @media (max-width: $break-point-mobile ) {
@@ -46,5 +39,3 @@
     padding-left: 0.5em;
   }
 }
-
-
diff --git a/client/scss/page-content/_page-content.scss b/client/scss/_page-content.scss
similarity index 100%
rename from client/scss/page-content/_page-content.scss
rename to client/scss/_page-content.scss
diff --git a/client/scss/page-layout-show-lite/_page-layout-show-lite.scss b/client/scss/_page-layout-show-lite.scss
similarity index 100%
rename from client/scss/page-layout-show-lite/_page-layout-show-lite.scss
rename to client/scss/_page-layout-show-lite.scss
diff --git a/client/scss/page-layout/_page-layout.scss b/client/scss/_page-layout.scss
similarity index 100%
rename from client/scss/page-layout/_page-layout.scss
rename to client/scss/_page-layout.scss
diff --git a/client/scss/progress-bar/_progress-bar.scss b/client/scss/_progress-bar.scss
similarity index 50%
rename from client/scss/progress-bar/_progress-bar.scss
rename to client/scss/_progress-bar.scss
index 7a6f7e6d..6a8979a6 100644
--- a/client/scss/progress-bar/_progress-bar.scss
+++ b/client/scss/_progress-bar.scss
@@ -1,3 +1,8 @@
+.progress-bar__wrapper {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
 .progress-bar--inactive {
   color: $grey;
 }
diff --git a/client/scss/publish-disabled-message/_publish-disabled-message.scss b/client/scss/_publish-disabled-message.scss
similarity index 100%
rename from client/scss/publish-disabled-message/_publish-disabled-message.scss
rename to client/scss/_publish-disabled-message.scss
diff --git a/client/scss/publish-preview/_publish-preview.scss b/client/scss/_publish-preview.scss
similarity index 68%
rename from client/scss/publish-preview/_publish-preview.scss
rename to client/scss/_publish-preview.scss
index af3aa131..e275e9b2 100644
--- a/client/scss/publish-preview/_publish-preview.scss
+++ b/client/scss/_publish-preview.scss
@@ -2,6 +2,10 @@
   max-width: $width-content-constrained;
   margin-left: auto;
   margin-right: auto;
+
+  @media (max-width: $break-point-mobile) {
+    font-size: .8em;
+  }
 }
 
 .publish-preview-dim {
diff --git a/client/scss/publish-status/_publish-status.scss b/client/scss/_publish-status.scss
similarity index 100%
rename from client/scss/publish-status/_publish-status.scss
rename to client/scss/_publish-status.scss
diff --git a/client/scss/publish-url-input/_publish-url-input.scss b/client/scss/_publish-url-input.scss
similarity index 100%
rename from client/scss/publish-url-input/_publish-url-input.scss
rename to client/scss/_publish-url-input.scss
diff --git a/client/scss/react-app/_react-app.scss b/client/scss/_react-app.scss
similarity index 100%
rename from client/scss/react-app/_react-app.scss
rename to client/scss/_react-app.scss
diff --git a/client/scss/reset/_reset.scss b/client/scss/_reset.scss
similarity index 100%
rename from client/scss/reset/_reset.scss
rename to client/scss/_reset.scss
diff --git a/client/scss/row/_row.scss b/client/scss/_row.scss
similarity index 87%
rename from client/scss/row/_row.scss
rename to client/scss/_row.scss
index bbf63453..4fbdf10c 100644
--- a/client/scss/row/_row.scss
+++ b/client/scss/_row.scss
@@ -7,6 +7,7 @@
   flex-direction: row;
   flex-wrap: nowrap;
   justify-content: flex-start;
+  padding-bottom: $tertiary-padding;
 }
 
 .row-labeled-label {
@@ -14,8 +15,6 @@
   display: flex;
   align-items: center;
   flex: 1;
-  //bad, fix this
-  .label { padding-top: 0; padding-bottom: 0; }
 }
 .row-labeled-content {
   align-self: center;
@@ -32,4 +31,4 @@
   .row-labeled-content {
     width: 100%;
   }
-}
\ No newline at end of file
+}
diff --git a/client/scss/_select.scss b/client/scss/_select.scss
new file mode 100644
index 00000000..e9642528
--- /dev/null
+++ b/client/scss/_select.scss
@@ -0,0 +1,4 @@
+select {
+  margin: 0;
+  display: inline-block;
+}
diff --git a/client/scss/share-buttons/_share-buttons.scss b/client/scss/_share-buttons.scss
similarity index 100%
rename from client/scss/share-buttons/_share-buttons.scss
rename to client/scss/_share-buttons.scss
diff --git a/client/scss/social-share-link/_social-share-link.scss b/client/scss/_social-share-link.scss
similarity index 100%
rename from client/scss/social-share-link/_social-share-link.scss
rename to client/scss/_social-share-link.scss
diff --git a/client/scss/space-around/_space-around.scss b/client/scss/_space-around.scss
similarity index 100%
rename from client/scss/space-around/_space-around.scss
rename to client/scss/_space-around.scss
diff --git a/client/scss/space-between/_space-between.scss b/client/scss/_space-between.scss
similarity index 100%
rename from client/scss/space-between/_space-between.scss
rename to client/scss/_space-between.scss
diff --git a/client/scss/text/_text.scss b/client/scss/_text.scss
similarity index 100%
rename from client/scss/text/_text.scss
rename to client/scss/_text.scss
diff --git a/client/scss/textarea/_textarea.scss b/client/scss/_textarea.scss
similarity index 100%
rename from client/scss/textarea/_textarea.scss
rename to client/scss/_textarea.scss
diff --git a/client/scss/tooltip/_tooltip.scss b/client/scss/_tooltip.scss
similarity index 100%
rename from client/scss/tooltip/_tooltip.scss
rename to client/scss/_tooltip.scss
diff --git a/client/scss/variables/_variables.scss b/client/scss/_variables.scss
similarity index 100%
rename from client/scss/variables/_variables.scss
rename to client/scss/_variables.scss
diff --git a/client/scss/video/_video.scss b/client/scss/_video.scss
similarity index 100%
rename from client/scss/video/_video.scss
rename to client/scss/_video.scss
diff --git a/client/scss/all.scss b/client/scss/all.scss
index 6629e7d1..c61e42bd 100644
--- a/client/scss/all.scss
+++ b/client/scss/all.scss
@@ -1,45 +1,44 @@
-@import '~variables/_variables';
-@import '~reset/_reset';
-@import '~font/_font';
-@import '~html/_html';
-@import '~body/_body';
-@import '~react-app/_react-app';
-@import '~text/_text';
+@import '_variables';
+@import '_reset';
+@import 'font/_font.scss';
+@import '_html';
+@import '_body';
+@import '_react-app';
+@import '_text';
 
-@import '~link/_link';
-@import '~input/_input';
-@import '~select/_select';
-@import '~textarea/_textarea';
-@import '~video/_video';
+@import '_link';
+@import '_input';
+@import '_select';
+@import '_textarea';
+@import '_video';
+@import '_form';
 
-@import '~asset-display/_asset-display';
-@import '~asset-preview/_asset-preview';
-@import '~button/_button';
-@import '~button-primary/_button-primary';
-@import '~button-secondary/_button-secondary';
-@import '~click-to-copy/_click-to-copy';
-@import '~form-feedback/_form-feedback';
-@import '~horizontal-split/_horizontal-split';
-@import '~label/_label';
-@import '~nav-bar/_nav-bar';
-@import '~page-layout/_page-layout';
-@import '~page-layout-show-lite/_page-layout-show-lite';
-@import '~page-content/_page-content';
-@import '~progress-bar/_progress-bar';
-@import '~publish-preview/_publish-preview';
-@import '~share-buttons/_share-buttons';
-@import '~space-between/_space-between';
-@import '~space-around/_space-around';
-@import '~row/_row';
-@import '~tooltip/_tooltip';
-@import '~social-share-link/_social-share-link';
-
-@import '~channel-claims-display/_channel-claims-display';
-@import '~dropzone/_dropzone';
-@import '~publish-url-input/_publish-url-input';
-@import '~publish-status/_publish-status';
-@import '~publish-disabled-message/_publish-disabled-message';
-
-@import '~media-queries/_media-queries';
+@import '_asset-display';
+@import '_asset-preview';
+@import '_button';
+@import '_button-primary';
+@import '_button-secondary';
+@import '_click-to-copy';
+@import '_form-feedback';
+@import '_horizontal-split';
+@import '_label';
+@import '_nav-bar';
+@import '_page-layout';
+@import '_page-layout-show-lite';
+@import '_page-content';
+@import '_progress-bar';
+@import '_publish-preview';
+@import '_share-buttons';
+@import '_space-between';
+@import '_space-around';
+@import '_row';
+@import '_tooltip';
+@import '_social-share-link';
 
+@import '_channel-claims-display';
+@import '_dropzone';
+@import '_publish-url-input';
+@import '_publish-status';
+@import '_publish-disabled-message';
 
+@import '_media-queries';
diff --git a/client/scss/select/_select.scss b/client/scss/select/_select.scss
deleted file mode 100644
index 6c1154c3..00000000
--- a/client/scss/select/_select.scss
+++ /dev/null
@@ -1,13 +0,0 @@
-select {
-  margin: 0;
-  display: inline-block;
-}
-
-.select--arrow {
-  -moz-appearance:none;
-  -webkit-appearance: none;
-  background: url('./icon/chevron-down.svg') no-repeat right;
-  cursor: pointer;
-  padding-right: 1.5em;
-  padding-left: $input-padding
-}
diff --git a/client/src/components/ChannelSelectDropdown/index.jsx b/client/src/components/ChannelSelectDropdown/index.jsx
index fee212c7..2079c05c 100644
--- a/client/src/components/ChannelSelectDropdown/index.jsx
+++ b/client/src/components/ChannelSelectDropdown/index.jsx
@@ -5,7 +5,6 @@ const ChannelSelectDropdown = ({ selectedChannel, handleSelection, loggedInChann
   return (
     <select
       id='channel-name-select'
-      className='select select--arrow'
       value={selectedChannel}
       onChange={handleSelection}>
       { loggedInChannelName && (
diff --git a/client/src/components/FormFeedbackDisplay/index.jsx b/client/src/components/FormFeedbackDisplay/index.jsx
index c324c7f0..9050f4e2 100644
--- a/client/src/components/FormFeedbackDisplay/index.jsx
+++ b/client/src/components/FormFeedbackDisplay/index.jsx
@@ -1,7 +1,7 @@
 import React from 'react';
 
 const FormFeedbackDisplay = ({ errorMessage, defaultMessage }) => {
-  return (
+  return (errorMessage || defaultMessage) ? (
     <div className={'form-feedback'}>
       { errorMessage ? (
         <span className={'text--small text--failure'}>{errorMessage}</span>
@@ -15,7 +15,7 @@ const FormFeedbackDisplay = ({ errorMessage, defaultMessage }) => {
         </div>
       )}
     </div>
-  );
+  ) : null;
 };
 
 export default FormFeedbackDisplay;
diff --git a/client/src/components/HorizontalSplit/index.jsx b/client/src/components/HorizontalSplit/index.jsx
index 7b82a2c1..6bcbe6b4 100644
--- a/client/src/components/HorizontalSplit/index.jsx
+++ b/client/src/components/HorizontalSplit/index.jsx
@@ -2,13 +2,26 @@ import React from 'react';
 
 class HorizontalSplit extends React.Component {
   render () {
+    const { leftSide, rightSide, collapseOnMobile } = this.props;
+
+    let className = 'horizontal-split';
+    if (collapseOnMobile) {
+      className += " horizontal-split--mobile-collapse";
+    }
+
+    // If there is no left side, move the right side to the left
+    // This is mostly for content with no description
+    // It doesn't need to be on the right side with nothing next to it.
+    const leftComponent = leftSide || rightSide;
+    const rightComponent = leftSide ? rightSide : null;
+
     return (
-      <div className={'horizontal-split'}>
+      <div className={className}>
         <div className={'horizontal-split__column horizontal-split__column--left'}>
-          {this.props.leftSide}
+          {leftComponent}
         </div>
         <div className={'horizontal-split__column horizontal-split__column--right'}>
-          {this.props.rightSide}
+          {rightComponent}
         </div>
       </div>
     );
diff --git a/client/src/components/NavBarChannelOptionsDropdown/index.jsx b/client/src/components/NavBarChannelOptionsDropdown/index.jsx
index 4274df26..20133416 100644
--- a/client/src/components/NavBarChannelOptionsDropdown/index.jsx
+++ b/client/src/components/NavBarChannelOptionsDropdown/index.jsx
@@ -6,7 +6,6 @@ function NavBarChannelDropdown ({ channelName, handleSelection, defaultSelection
       <select
         type='text'
         id='nav-bar-channel-select'
-        className='select select--arrow'
         onChange={handleSelection}
         value={defaultSelection}
       >
diff --git a/client/src/components/ProgressBar/index.jsx b/client/src/components/ProgressBar/index.jsx
index fdaf9422..cb41cc38 100644
--- a/client/src/components/ProgressBar/index.jsx
+++ b/client/src/components/ProgressBar/index.jsx
@@ -62,7 +62,7 @@ class ProgressBar extends React.Component {
   };
   render () {
     return (
-      <div>
+      <div className="progress-bar__wrapper">
         {this.state.bars.map((bar, index) => bar.isActive ? <ActiveStatusBar key={index} /> : <InactiveStatusBar key={index}/>)}
       </div>
     );
diff --git a/client/src/components/PublishLicenseInput/index.jsx b/client/src/components/PublishLicenseInput/index.jsx
index 6ef59418..af827ec8 100644
--- a/client/src/components/PublishLicenseInput/index.jsx
+++ b/client/src/components/PublishLicenseInput/index.jsx
@@ -13,7 +13,6 @@ const PublishLicenseInput = ({ handleSelect }) => {
           type='text'
           name='license'
           id='publish-license'
-          className='select select--primary'
           onChange={handleSelect}
         >
           <option value=''>Unspecified</option>
diff --git a/client/src/components/PublishPreview/index.jsx b/client/src/components/PublishPreview/index.jsx
index 12c8bda1..ec962bda 100644
--- a/client/src/components/PublishPreview/index.jsx
+++ b/client/src/components/PublishPreview/index.jsx
@@ -19,6 +19,7 @@ class PublishPreview extends React.Component {
           </Row>
         </div>
         <HorizontalSplit
+          collapseOnMobile
           leftSide={<Dropzone />}
           rightSide={<PublishDetails />}
         />
diff --git a/client/src/containers/ChannelCreateForm/view.jsx b/client/src/containers/ChannelCreateForm/view.jsx
index 2d175ce2..49ef639d 100644
--- a/client/src/containers/ChannelCreateForm/view.jsx
+++ b/client/src/containers/ChannelCreateForm/view.jsx
@@ -59,7 +59,7 @@ class ChannelCreateForm extends React.Component {
     return (
       <div>
         { !status ? (
-          <form onSubmit={this.handleSubmit}>
+          <form className="form-group" onSubmit={this.handleSubmit}>
             <ChannelCreateNameInput
               value={name.value}
               error={name.error}
@@ -69,10 +69,7 @@ class ChannelCreateForm extends React.Component {
               value={password.value}
               handlePasswordInput={this.handlePasswordInput}
             />
-            <FormFeedbackDisplay
-              errorMessage={formError}
-              defaultMessage={'Choose a name and password for your channel'}
-            />
+            <FormFeedbackDisplay errorMessage={formError} />
             <ButtonPrimary
               type={'submit'}
               value={'Create Channel'}
diff --git a/client/src/containers/ChannelLoginForm/view.jsx b/client/src/containers/ChannelLoginForm/view.jsx
index 54dd8ad2..804e6936 100644
--- a/client/src/containers/ChannelLoginForm/view.jsx
+++ b/client/src/containers/ChannelLoginForm/view.jsx
@@ -49,7 +49,7 @@ class ChannelLoginForm extends React.Component {
   }
   render () {
     return (
-      <form onSubmit={this.loginToChannel}>
+      <form className="form-group" onSubmit={this.loginToChannel}>
         <ChannelLoginNameInput
           channelName={this.state.channelName}
           handleInput={this.handleInput}
@@ -58,10 +58,7 @@ class ChannelLoginForm extends React.Component {
           channelPassword={this.state.channelPassword}
           handleInput={this.handleInput}
         />
-        <FormFeedbackDisplay
-          errorMessage={this.state.error}
-          defaultMessage={'Enter the name and password for your channel'}
-        />
+        <FormFeedbackDisplay errorMessage={this.state.error} />
         <ButtonPrimary
           type={'submit'}
           value={'Authenticate'}
diff --git a/client/src/containers/ChannelSelect/view.jsx b/client/src/containers/ChannelSelect/view.jsx
index d04007d5..b8276a3d 100644
--- a/client/src/containers/ChannelSelect/view.jsx
+++ b/client/src/containers/ChannelSelect/view.jsx
@@ -40,16 +40,16 @@ class ChannelSelect extends React.Component {
     const { publishInChannel, channelError, selectedChannel, loggedInChannelName, publishOnlyApproved } = this.props;
     if (publishOnlyApproved) {
       return (
-        <div>
+        <React.Fragment>
           <RowLabeled
             label={<Label value={'Channel:'} />}
             content={<span>{loggedInChannelName}</span>}
           />
-        </div>
+        </React.Fragment>
       );
     }
     return (
-      <div>
+      <React.Fragment>
         <RowLabeled
           label={
             <ChooseAnonymousPublishRadio
@@ -87,7 +87,7 @@ class ChannelSelect extends React.Component {
             { (selectedChannel === CREATE) && <ChannelCreateForm /> }
           </div>
         )}
-      </div>
+      </React.Fragment>
     );
   }
 }
diff --git a/client/src/containers/ChannelTools/view.jsx b/client/src/containers/ChannelTools/view.jsx
index 455b6d26..c3511b4b 100644
--- a/client/src/containers/ChannelTools/view.jsx
+++ b/client/src/containers/ChannelTools/view.jsx
@@ -7,14 +7,14 @@ class ChannelTools extends React.Component {
   render () {
     return (
       <div>
-        <Row>
-          <h3>Log in to existing channel</h3>
-          <ChannelLoginForm />
-        </Row>
-        {!this.props.closedRegistration && (<Row>
-          <h3>Create new channel</h3>
-          <ChannelCreateForm />
-        </Row>)}
+        <h3 className="form-title">Log in to existing channel</h3>
+        <ChannelLoginForm />
+        {!this.props.closedRegistration && (
+          <React.Fragment>
+            <h3 className="form-title">Create new channel</h3>
+            <ChannelCreateForm />
+          </React.Fragment>
+        )}
       </div>
     );
   }
diff --git a/client/src/containers/Dropzone/view.jsx b/client/src/containers/Dropzone/view.jsx
index 436bac99..b524b014 100644
--- a/client/src/containers/Dropzone/view.jsx
+++ b/client/src/containers/Dropzone/view.jsx
@@ -84,7 +84,7 @@ class Dropzone extends React.Component {
     const { dragOver, mouseOver, dimPreview } = this.state;
     const { file, thumbnail, fileError, isUpdate, sourceUrl, fileExt } = this.props;
     return (
-      <div>
+      <React.Fragment>
         {isUpdate && fileExt === 'mp4' ? (
           <p>Video updates are currently disabled. This feature will be available soon. You can edit metadata.</p>
         ) : (
@@ -145,7 +145,7 @@ class Dropzone extends React.Component {
             </div>
           </div>
         )}
-      </div>
+      </React.Fragment>
     );
   }
 };
diff --git a/client/src/containers/PublishDetails/view.jsx b/client/src/containers/PublishDetails/view.jsx
index bc9dc45e..2c88c6df 100644
--- a/client/src/containers/PublishDetails/view.jsx
+++ b/client/src/containers/PublishDetails/view.jsx
@@ -45,7 +45,7 @@ class PublishDetails extends React.Component {
     return (
       <div>
         {isUpdate ? (asset && (
-          <Row>
+          <React.Fragment>
             <RowLabeled
               label={
                 <Label value={'Channel:'} />
@@ -56,16 +56,14 @@ class PublishDetails extends React.Component {
                 </span>
               }
             />
-          </Row>
+          </React.Fragment>
         )) : (
           <React.Fragment>
             <Row>
               <PublishUrlInput />
             </Row>
 
-            <Row>
-              <ChannelSelect />
-            </Row>
+            <ChannelSelect />
           </React.Fragment>
         )}
 
diff --git a/client/src/containers/PublishMetadataInputs/view.jsx b/client/src/containers/PublishMetadataInputs/view.jsx
index df8d86a5..2234e2ad 100644
--- a/client/src/containers/PublishMetadataInputs/view.jsx
+++ b/client/src/containers/PublishMetadataInputs/view.jsx
@@ -32,23 +32,17 @@ class PublishMetadataInputs extends React.Component {
       <div>
   {(showMetadataInputs || isUpdate) && (
           <React.Fragment>
-            <Row>
-              <PublishDescriptionInput
-                description={this.props.description}
-                handleInput={this.handleInput}
-              />
-            </Row>
-            <Row>
-              <PublishLicenseInput
-                handleSelect={this.handleSelect}
-              />
-            </Row>
-            <Row>
-              <PublishNsfwInput
-                nsfw={this.props.nsfw}
-                handleInput={this.handleInput}
-              />
-            </Row>
+            <PublishDescriptionInput
+              description={this.props.description}
+              handleInput={this.handleInput}
+            />
+            <PublishLicenseInput
+              handleSelect={this.handleSelect}
+            />
+            <PublishNsfwInput
+              nsfw={this.props.nsfw}
+              handleInput={this.handleInput}
+            />
           </React.Fragment>
         )}
         {!isUpdate && (
diff --git a/client/src/pages/AboutPage/index.jsx b/client/src/pages/AboutPage/index.jsx
index 621f27b7..1b197ad5 100644
--- a/client/src/pages/AboutPage/index.jsx
+++ b/client/src/pages/AboutPage/index.jsx
@@ -13,6 +13,7 @@ class AboutPage extends React.Component {
         pageUri={'about'}
       >
         <HorizontalSplit
+          collapseOnMobile
           leftSide={<AboutSpeechOverview />}
           rightSide={<AboutSpeechDetails />}
         />
diff --git a/client/src/pages/LoginPage/view.jsx b/client/src/pages/LoginPage/view.jsx
index a3804e59..fb2968a5 100644
--- a/client/src/pages/LoginPage/view.jsx
+++ b/client/src/pages/LoginPage/view.jsx
@@ -20,6 +20,7 @@ class LoginPage extends React.Component {
         pageUri={'login'}
       >
         <HorizontalSplit
+          collapseOnMobile
           leftSide={<ChannelAbout />}
           rightSide={<ChannelTools />}
         />
diff --git a/client/src/pages/ShowAssetDetails/view.jsx b/client/src/pages/ShowAssetDetails/view.jsx
index 87cce975..7798531d 100644
--- a/client/src/pages/ShowAssetDetails/view.jsx
+++ b/client/src/pages/ShowAssetDetails/view.jsx
@@ -14,7 +14,7 @@ class ShowAssetDetails extends React.Component {
     // this.storageKey = 'vert-split-state-' + this.props.name;
     // const closed = window && window.localStorage
     //   ? !!window.localStorage.getItem(this.storageKey) : false;
-    const closed = false;
+    const closed = true;
     this.state = { closed: closed };
   }
 
@@ -35,12 +35,15 @@ class ShowAssetDetails extends React.Component {
           pageTitle={`${name} - details`}
           asset={asset}
         >
-          <AssetDisplay />
-          <AssetTitle />
-          <button className='collapse-button' onClick={this.collapse}>
-            {this.state.closed ? <Icon.PlusCircle className='plus-icon' /> : <Icon.MinusCircle />}
-          </button>
-          { !this.state.closed && <AssetInfo /> }
+          <div className="asset-main">
+            <AssetDisplay />
+            <AssetTitle />
+            
+            <button className='collapse-button' onClick={this.collapse}>
+              {this.state.closed ? <Icon.PlusCircle className='plus-icon' /> : <Icon.MinusCircle />}
+            </button>
+          </div>
+          {!this.state.closed && <AssetInfo />}
         </PageLayout>
       );
     }
diff --git a/deployment-config.json b/deployment-config.json
new file mode 100644
index 00000000..c4bc966f
--- /dev/null
+++ b/deployment-config.json
@@ -0,0 +1,10 @@
+{
+    "type": "sftp",
+    "host": "sean.lbry.tech",
+    "username": "lbry",
+    "password": "",
+    "port": 22,
+    "remotePath": "/home/lbry/spee.ch",
+    "sshKeyFile": "/Users/sean/.ssh/id_rsa2",
+    "uploadOnSave": true
+}
-- 
2.45.3


From 440c12a7aa78a3667cdfb668b51895fa041bcb3b Mon Sep 17 00:00:00 2001
From: Jessop Breth <jessopb@gmail.com>
Date: Sun, 11 Nov 2018 18:26:00 -0500
Subject: [PATCH 56/63] changes to docs and setup

---
 README.md                                     | 109 ++++++--
 customize.md                                  |   2 +-
 ...dyfile.speechsample => Caddyfile.template} |   0
 docs/setup/conf/speech/speech.service.draft   |   9 +
 docs/ubuntuinstall.md                         | 246 ++++++++++++++++++
 5 files changed, 348 insertions(+), 18 deletions(-)
 rename docs/setup/conf/caddy/{Caddyfile.speechsample => Caddyfile.template} (100%)
 create mode 100644 docs/setup/conf/speech/speech.service.draft
 create mode 100644 docs/ubuntuinstall.md

diff --git a/README.md b/README.md
index bc157b1a..8f9d2b86 100644
--- a/README.md
+++ b/README.md
@@ -1,21 +1,97 @@
 # Spee.ch
-Spee.ch is a web app that reads and publishes images and videos to and from the [LBRY](https://lbry.io/) blockchain. You are encouraged to contribute to the shared code base, or fork it and make it your own.
+Spee.ch is a web app that reads and publishes images and videos to and from the [LBRY](https://lbry.io/) blockchain. We encourage you to contribute to the shared code base, or fork it and make it your own.
 
 You can create your own custom version of spee.ch by installing this code base and then creating your own custom components and styles to override the defaults. (More details/guide on how to do that coming soon.)
 
-## Quickstart
+## Technology Overview
+Spee.ch is a react web app that depends on MySQL for local content, and on two other lbry technologies:
+  * [chainquery](https://github.com/lbryio/chainquery) - a normalized database of the blockchain data.  We've provided credentials to use a public chainquery service. You can also install it on your own server to avoid being affected by the commons.
+  * [lbrynet](https://github.com/lbryio/lbry) - a daemon that handles your wallet and transactions.
 
-### Ubuntu
-[Ubuntu VPS Setup](./docs/ubuntu16vpspersonal.md)
+## Installation
 
-_Note: This is our new setup. For our old setup see the [fullstart guide](./fullstart.md)._
+### Ubuntu Step by Step
+[Ubuntu Install Guide](./docs/ubuntuinstall.md)
 
-#### System Dependencies:
-  * [node](https://nodejs.org)
+### Quickstart Overview
+
+#### Get some information ready:
+  * mysqlusername
+  * mysqlpassword
+  * domainname or 'http://localhost'
+  * speechport = 3000
+
+#### Install and Set Up System Dependencies:
+  * [NodeJS](https://nodejs.org)
   * [MySQL](https://dev.mysql.com/doc/refman/8.0/en/installing.html)
-  * [`lbry`](https://github.com/lbryio/lbry) daemon
-    * note: retrieve an address from the daemon and send your wallet a few credits (or join us in the [#speech discord channel](https://discord.gg/YjYbwhS) and we will send you a few)
+    * localhost port 3306
+    * mysqlusername or root
+    * mysqlpassword
+    * You may need
+    ```
+    mysql> `ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpassword';`
+    ```
+  * [lbrynet](https://github.com/lbryio/lbry) daemon
+    * run this as a service exposing ports 3333 and 4444
+    * _note_: once the daemon is running, issue commands in another terminal session (tmux) to retrieve an address for your wallet to recieve 5+ LBC credits (or join us in the [#speech discord channel](https://discord.gg/YjYbwhS) and we will send you a few)
+      * `./lbrynet commands` gets a list of commands
+      * `./lbrynet account_balance` gets your balance (initially 0.0)
+      * `./lbrynet address_list` gets addresses you can use to recieve LBC
   * [FFmpeg](https://www.ffmpeg.org/download.html)
+  * [Spee.ch] (below)
+  * [pm2] (optional) process manager such as pm2 to run speech server.js
+  * [http proxy server] caddy, nginx, traefik, etc to forward 443 to speech port 3000
+
+
+#### Clone this repo
+  * release version for stable production
+```
+$ git clone -b release https://github.com/lbryio/spee.ch.git
+```
+  * master version for development
+```
+$ git clone https://github.com/lbryio/spee.ch.git
+```
+  * your own fork for customization
+
+####  Change directory into your project
+```
+$ cd spee.ch
+```
+
+#### Install node dependencies
+```
+$ npm install
+```
+
+#### Create the config files using the built-in CLI
+_note: make sure lbrynet is running in the background before proceeding_
+
+```
+$ npm run configure
+```
+
+  * _note: At the moment, you will have to copy chainqueryConfig.json from:_
+    ```
+    ~/spee.ch/docs/setup/conf/speech/chainqueryConfig.json
+    ```
+
+    _to:_
+    ```
+    ~/spee.ch/site/config/chainqueryConfig.json
+    ```
+
+  * _note: The domain name in this part must be prefixed with http:// or https://_
+
+#### Build & start the app
+
+_note: make sure lbrynet is running in the background before proceeding_
+```
+$ npm run start
+```
+
+#### View in browser
+ *  Visit [http://localhost:3000](http://localhost:3000) in your browser
 
 #### Customize your app
 
@@ -23,12 +99,11 @@ Check out the [customization guide](https://github.com/lbryio/spee.ch/blob/readm
 
 #### (optional) add custom components and update the styles
 
-  * Create custom components by creating React components in `src/views/` (further instructions coming soon)
-  * Update the CSS by changing the files in `public/assets/css/` (further instructions and refactor coming soon)
+  * Create custom components by creating React components in `site/custom/src/` (further instructions coming soon)
+  * Update the CSS by changing the files in `site/custom/scss` (further instructions and refactor coming soon)
 
-#### (optional) Syncing the full blockchain
- * Start the `spee.ch-sync` tool available at [billbitt/spee.ch-sync](https://github.com/billbitt/spee.ch-sync)
- * This is not necessary, but highly recommended.  It will decode the blocks of the `LBRY` blockchain and add the claims information to your database's tables
+#### (optional) install your own chainquery
+Instructions are coming at [lbry-docker] to install your own chainquery instance using docker-compose. This will require 50GB of preferably SSD space and at least 10 minutes to download, possibly much longer.
 
 ## API
 #### /api/claim/publish
@@ -112,7 +187,7 @@ Spee.ch also runs a sync tool, which decodes blocks from the `LBRY` blockchain a
 
 
 ### Architecture
-* `cli/` contains the code for the CLI tool.  Running the tool will create `.json` config files and place them in the `config/` folder
+* `cli/` contains the code for the CLI tool.  Running the tool will create `.json` config files and place them in the `site/config/` folder
   * `configure.js` is the entry point for the CLI tool
   * `cli/defaults/` holds default config files
   * `cli/questions/` holds the questions that the CLI tool asks to build the config files
@@ -128,9 +203,9 @@ Spee.ch also runs a sync tool, which decodes blocks from the `LBRY` blockchain a
   * `client/scss/` contains  the CSS for the project
     *
 
-* `config/custom` is a folder which can be used to override the default components in `client/`
+* `site/custom` is a folder which can be used to override the default components in `client/`
   * The folder structure mimics that of the `client/` folder
-  * to customize spee.ch, place your own components and scss in the `config/custom/src/` and `config/custom/scss` folders.
+  * to customize spee.ch, place your own components and scss in the `site/custom/src/` and `site/custom/scss` folders.
 
 * `server/`  contains all of the server code
   * `index.js` is the entry point for the server.  It creates the [express app](https://expressjs.com/), requires the routes, syncs the database, and starts the server listening on the `PORT` designated in the config files.
diff --git a/customize.md b/customize.md
index 98273136..faba1bf1 100644
--- a/customize.md
+++ b/customize.md
@@ -1,6 +1,6 @@
 # Configure your own spee.ch
 
-_note: this guide assumes you have done the []quickstart](https://github.com/lbryio/spee.ch/blob/readme-update/README.md) or [fullstart](https://github.com/lbryio/spee.ch/blob/readme-update/fullstart.md) guide and have a working spee.ch server_
+_note: this guide assumes you have done the [quickstart](https://github.com/lbryio/spee.ch/blob/readme-update/README.md) or [fullstart](https://github.com/lbryio/spee.ch/blob/readme-update/fullstart.md) guide and have a working spee.ch server_
 
 ## Custom Components
 The components used by spee.ch are taken from the `client/` folder, but you can override those components by defining your own in the `site/custom/` folder.
diff --git a/docs/setup/conf/caddy/Caddyfile.speechsample b/docs/setup/conf/caddy/Caddyfile.template
similarity index 100%
rename from docs/setup/conf/caddy/Caddyfile.speechsample
rename to docs/setup/conf/caddy/Caddyfile.template
diff --git a/docs/setup/conf/speech/speech.service.draft b/docs/setup/conf/speech/speech.service.draft
new file mode 100644
index 00000000..1abdc50c
--- /dev/null
+++ b/docs/setup/conf/speech/speech.service.draft
@@ -0,0 +1,9 @@
+[Service]
+ExecStart=/usr/bin/node /opt/app/app.js
+Restart=always
+StandardOutput=syslog
+StandardError=syslog
+SyslogIdentifier=node-app-1
+User=your_app_user_name
+Group=your_app_user_name
+Environment=NODE_ENV=production PORT=3000
diff --git a/docs/ubuntuinstall.md b/docs/ubuntuinstall.md
new file mode 100644
index 00000000..a072d43d
--- /dev/null
+++ b/docs/ubuntuinstall.md
@@ -0,0 +1,246 @@
+# Create Your Own Spee.ch on Ubuntu 16.x 18.x VPS
+
+# Overview
+
+## Prerequisites
+  * Ability to use SSH (putty + public key for windows users)
+  * Ubuntu 16.04 or 18.04 VPS with root access
+    * Your login info ready
+  * Domain name with @ and www pointed at your VPS IP
+    * alternatively, specify http://localhost
+  * Ability to send 5+ LBRY credits to an address
+  * Noncommercial use
+    * _(configuration examples for nginx and certbot are included as an alternative)_
+
+## You'll be installing:
+  * MySQL DB
+    * Default Port 3306
+  * NodeJS v8+
+  * Https proxy server
+    * Caddy for personal use
+    * Exposed ports: 22, 80, 443, 3333, 4444
+    * Reverse proxies 443 to App on 3000
+  * Spee.ch started on port 3000
+  * Lbrynet DAEMON started on ports 3333 and 4444
+
+
+# 1. Update OS and install packages
+## OS
+
+### Secure your server by creating a non-root sudoer.
+
+As root# _create user and add to sudo group_
+```
+  adduser username
+  usermod -aG sudo username
+  su - username
+```
+As username: _paste public key in authorized_keys_
+```
+  `cd`
+  `mkdir .ssh`
+  `nano ~/.ssh/authorized_keys`
+```
+
+### Prep
+
+Log in as username@domainname or username@ip_address
+
+  `sudo apt-get update -y`
+
+  `ulimit -n 8192`
+
+  `wget -qO- https://deb.nodesource.com/setup_8.x | sudo -E bash -`
+
+
+## Git, Curl, Tmux, Unzip, ffmpeg, Node
+
+  `sudo apt-get install git curl tmux unzip ffmpeg nodejs -y`
+
+## Clone speech either from your own fork, or from the lbryio/spee.ch repo.
+
+### For Developers or those with their own forked repo
+
+
+  `git clone -b master https://github.com/lbryio/spee.ch`
+
+  SSH:
+
+  `git clone git@github.com:{{youraccount}}/spee.ch`
+
+  HTTPS:
+
+  `git clone https://github.com/{{youraccount}}/spee.ch.git`
+
+### For Publishers and Content creators
+
+
+  `git clone -b release https://github.com/lbryio/spee.ch`
+
+### Prepare the scripts
+
+  `chmod 750 -R ~/spee.ch/docs/setup`
+
+# 2 Secure the UFW firewall
+## UFW
+
+  `sudo ~/spee.ch/docs/setup/scripts/firewall.sh`
+
+# 3 Install Caddy to handle https and reverse proxy
+##  Get Caddy
+
+  `curl https://getcaddy.com | sudo bash -s personal`
+
+## Set up Caddy reverse proxy and ssl
+
+  `sudo mkdir -p /opt/caddy/logs/`
+
+  `sudo mkdir -p /opt/caddy/store/`
+
+  `cp ~/spee.ch/docs/setup/conf/caddy/Caddyfile.template ~/spee.ch/docs/setup/conf/caddy/Caddyfile`
+
+  `nano ~/spee.ch/docs/setup/conf/caddy/Caddyfile`
+   ( Change {{EXAMPLE.COM}} to YOURDOMAIN.COM )
+
+  `sudo cp ~/spee.ch/docs/setup/conf/caddy/Caddyfile /opt/caddy/`
+
+## Set up Caddy to run as systemd service
+
+  `sudo cp ~/spee.ch/docs/setup/conf/caddy/caddy.service /etc/systemd/system/caddy.service`
+
+  `sudo chmod 644 /etc/systemd/system/caddy.service`
+
+  `sudo chown -R www-data:www-data /opt/caddy/`
+
+  `sudo setcap 'cap_net_bind_service=+ep' /usr/local/bin/caddy`
+
+  `sudo systemctl daemon-reload`
+
+  `sudo systemctl start caddy`
+
+  `sudo systemctl status caddy`
+
+  `q` exits
+
+  At this point, navigating to yourdomain.com should give you a 502 bad gateway error. That's good!
+
+# 4 Set up MySQL
+
+## Install MySQL
+
+  `sudo apt-get install mysql-server -y`
+  ( enter blank password each time if prompted)
+
+  `sudo systemctl status mysql` (q to exit)
+
+## Secure Setup
+
+  `sudo mysql_secure_installation`
+  * Password abcd1234
+  * No to password validation
+  * Y to all other options
+
+
+## Login to mysql from root to complete setup:
+
+  `sudo mysql` to enter mysql> console
+
+  mysql>
+
+  `ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'abcd1234';`
+
+  mysql>
+
+  `FLUSH PRIVILEGES;`
+
+  `Control+D` to exit
+
+  Verify:
+
+  `mysql -u root -p` and then entering your password abcd1234 should give you the mysql> shell
+
+# 5 Get Lbrynet Daemon
+
+## Start tmux
+
+This just allows you to run multiple things in different sessions. Useful for manually starting daemons and watching its console logs.
+
+  `tmux`
+  * `Ctrl+b`, then `d` detaches leaving session running.
+  * `tmux`, reenters tmux, then
+    * `Ctrl+b`, `(` goes back to through sessions
+
+## Get the daemon
+  `wget -O ~/latest_daemon.zip https://lbry.io/get/lbrynet.linux.zip`
+
+  `unzip -o -u ~/latest_daemon.zip`
+
+## Start the daemon
+   `./lbrynet start`
+
+## Detatch tmux session
+  * `Control + b`, then `d` to leave lbrynet daemon running and exit the session
+
+  `tmux` if you want to get back into tmux
+
+  `Control+b`, then `)` while in tmux session to cycle back to your lbrynet session to see output
+
+## Display wallet address to which to send 5+ LBC.
+
+  _note: These commands work when `./lbrynet start` is already running in another tmux session_
+
+  `./lbrynet commands` to check out the current commands
+
+  `./lbrynet address_list` to get your wallet address
+
+  `Ctrl + Shift + C` after highlighting an address to copy.
+
+  Use a LBRY app or daemon to send LBC to the address. Sending LBC may take a few seconds or longer.
+
+  `./lbrynet account_balance` to check your balance after you've sent LBC.
+
+## Optional/Production: Set up lbrynet to run as a systemd service
+
+  `//coming soon`
+
+# 6 Set up spee.ch
+
+## Build it
+   `cd spee.ch`
+
+   ~/spee.ch:
+
+   `npm install`
+
+  `cp ~/spee.ch/docs/setup/conf/speech/chainqueryConfig.json ~/spee.ch/site/config/chainqueryConfig.json`
+
+  `npm run configure` (once your wallet balance has cleared)
+    * Database: lbry
+    * Username: root
+    * Password: abcd1234
+    * Port: 3000
+    * Site Title: Your Site Name
+    * Enter your site's domain name: https://freezepeach.fun (this must include 'https://')
+    * Enter a directory where uploads should be stored: (/home/lbry/Uploads)
+
+  `npm run start`
+
+## Try it
+
+  Navigate to yourdomain.fun!
+
+# 7 Production
+
+## pm2 to keep your speech app running
+ ```
+ npm install -g pm2
+ ```
+
+### 7 Maintenance Proceedures
+
+#### Change daemon
+  * backup wallet (private keys!) to a safe place
+  * wget daemon from https://github.com/lbryio/lbry/releases
+  * wget -O ~/your_name_daemon.zip https://your_copied_file_path.zip
+  * rm ./lbrynet
+  * unzip -o -u ~/your_name_daemon.zip
-- 
2.45.3


From a740f6dba1bd744a6927cc17dad07deee285580c Mon Sep 17 00:00:00 2001
From: Jessop Breth <jessopb@gmail.com>
Date: Mon, 12 Nov 2018 09:26:40 -0500
Subject: [PATCH 57/63] adds new chainquery default json

---
 cli/configure.js                   | 8 ++++++++
 cli/defaults/chainqueryConfig.json | 6 +++---
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/cli/configure.js b/cli/configure.js
index c2b2aa2e..8db0faac 100644
--- a/cli/configure.js
+++ b/cli/configure.js
@@ -67,6 +67,13 @@ try {
   slackConfig = require('./defaults/slackConfig.json');
 }
 
+let chainqueryConfig;
+try {
+  chainqueryConfig = require('../site/config/chainqueryConfig.json');
+} catch (error) {
+  chainqueryConfig = require('./defaults/chainqueryConfig.json');
+}
+
 // ask user questions and create config files
 inquirer
   .prompt(mysqlQuestions(mysqlDatabase, mysqlUsername, mysqlPassword))
@@ -196,6 +203,7 @@ inquirer
     createConfigFile('lbryConfig.json', lbryConfig);
     createConfigFile('loggerConfig.json', loggerConfig);
     createConfigFile('slackConfig.json', slackConfig);
+    createConfigFile('chainqueryConfig.json', chainqueryConfig);
   })
   .then(() => {
     console.log('\nYou\'re all done!');
diff --git a/cli/defaults/chainqueryConfig.json b/cli/defaults/chainqueryConfig.json
index 94c1898a..2ef4c607 100644
--- a/cli/defaults/chainqueryConfig.json
+++ b/cli/defaults/chainqueryConfig.json
@@ -1,8 +1,8 @@
 {
-  "host": "localhost",
+  "host": "public.chainquery.lbry.io",
   "port": "3306",
   "timeout": 30,
   "database": "chainquery",
-  "username": "lbry",
-  "password": "root"
+  "username": "speechpublic",
+  "password": "7uITJLwZRvHBZYS3JZDykD1-7hLVkVA1jDWfcgqi6QnC"
 }
-- 
2.45.3


From 0b2b7fff929e04433a7da214340425a87f444e9c Mon Sep 17 00:00:00 2001
From: Travis Eden <daovist@gmail.com>
Date: Mon, 12 Nov 2018 10:20:41 -0500
Subject: [PATCH 58/63] return null if either requestId or requestType are
 undefined

---
 server/render/build/handleShowRender.js | 4 ++++
 server/render/src/handleShowRender.jsx  | 3 +++
 2 files changed, 7 insertions(+)

diff --git a/server/render/build/handleShowRender.js b/server/render/build/handleShowRender.js
index 277b9630..536b431b 100644
--- a/server/render/build/handleShowRender.js
+++ b/server/render/build/handleShowRender.js
@@ -44,6 +44,10 @@ var getCanonicalUrlFromShow = function getCanonicalUrlFromShow(show) {
   var requestId = show.requestList[show.request.id];
   var requestType = show.request.type;
 
+  if (!requestId || !requestType) {
+    return null;
+  }
+
   switch (requestType) {
     case 'ASSET_DETAILS':
       var asset = show.assetList[requestId.key];
diff --git a/server/render/src/handleShowRender.jsx b/server/render/src/handleShowRender.jsx
index a0640ffa..d6ce7c95 100644
--- a/server/render/src/handleShowRender.jsx
+++ b/server/render/src/handleShowRender.jsx
@@ -20,6 +20,9 @@ const createCanonicalLink = require('../../../utils/createCanonicalLink');
 const getCanonicalUrlFromShow = show => {
   const requestId = show.requestList[show.request.id];
   const requestType = show.request.type;
+  if (!requestId || !requestType) {
+    return null;
+  }
   switch (requestType) {
     case 'ASSET_DETAILS':
       const asset = show.assetList[requestId.key];
-- 
2.45.3


From 0c9c1563e7236be4b079ce2eac3e163916faf148 Mon Sep 17 00:00:00 2001
From: Sean Yesmunt <sean@lbry.io>
Date: Mon, 12 Nov 2018 10:26:28 -0500
Subject: [PATCH 59/63] fix asset cutoff

---
 client/scss/_asset-display.scss | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/client/scss/_asset-display.scss b/client/scss/_asset-display.scss
index 2350f29f..cf9d979f 100644
--- a/client/scss/_asset-display.scss
+++ b/client/scss/_asset-display.scss
@@ -8,14 +8,6 @@
 
 .asset-display {
   display: flex;
-  flex-direction: column;
-  flex: 1 1 auto;
-  justify-content: center;
-  position: relative;
-  width: 100%;
-  overflow: hidden;
-  align-items: center;
-  min-height: 50vh;
 }
 
 .asset-title {
@@ -34,7 +26,6 @@
   margin-right: auto;
   object-fit: contain;
   object-position: center;
-  background: black;
 }
 
 /*below must die if this is intended to be shareable component! it also probably doesn't need to be*/
-- 
2.45.3


From b5efb5f08f55fb6f7ff0cdc0dccc2ddc0cf3f339 Mon Sep 17 00:00:00 2001
From: Sean Yesmunt <sean@lbry.io>
Date: Mon, 12 Nov 2018 11:07:49 -0500
Subject: [PATCH 60/63] remove config

---
 .gitignore                   |   2 ++
 config/.siteConfig.json.swp  | Bin 12288 -> 0 bytes
 config/chainqueryConfig.json |   8 --------
 config/lbryConfig.json       |   5 -----
 config/loggerConfig.json     |   3 ---
 config/mysqlConfig.json      |   5 -----
 config/siteConfig.json       |  37 -----------------------------------
 config/slackConfig.json      |   5 -----
 8 files changed, 2 insertions(+), 63 deletions(-)
 delete mode 100644 config/.siteConfig.json.swp
 delete mode 100644 config/chainqueryConfig.json
 delete mode 100644 config/lbryConfig.json
 delete mode 100644 config/loggerConfig.json
 delete mode 100644 config/mysqlConfig.json
 delete mode 100644 config/siteConfig.json
 delete mode 100644 config/slackConfig.json

diff --git a/.gitignore b/.gitignore
index f68ecf84..a67766ab 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,3 +17,5 @@ public/bundle/Lekton-*
 public/bundle/style.css
 
 uploads
+
+config/
diff --git a/config/.siteConfig.json.swp b/config/.siteConfig.json.swp
deleted file mode 100644
index 933afbccf7c4fe5b432073d3bc115d1b5d3eed6c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 12288
zcmeI2zmMER6vro5(1iRDDG`$6C|$B^@7lNCq~UU_ND&-5PIrM-pcs2*)^j)hfoGi4
z5+!s<Nc;i$57MNh<_~}pfl{PML_vk<C@2tb{A0PSIEr+Uo~5t6e)Ha&_dai2tafAX
z?wuVc8h8Y*i-f%U%gcM;Zn$Lk3L!_d7UIw@{QuSZUEdEUO_o!gAGMCdq+oogOU?&L
z3J<xEi=mc=Z#N$Yhq}m5&4CL@013P<fpcU$@|&0RihJ3)^v=QSCc-!*fCP{L5<mh-
z00|%gB!C3oKmw*bL%xE#H@e!dcK0)D_wEsINB{{S0VIF~kN^@u0!RP}AOR$R1dzZR
zNPsdz{Ii6-1liyJ`|tmMUm)an&@<3apzlGCK>~CZ^cLu^^Mw2idJ1|1dJOs+^aW@i
zbQARFImiuq4*CJ~4d^pa2>Rn~LVg5&2f7d11Noq9p!Yx<px>abU%UEV*c$Od0!RP}
zAOR$R1dsp{KmthMbOH~F<5)S4Tk=X2Rd!G^YPfc9IHs!kD@)rcPmcPPYp~>MLn~94
z;QRm{A6gq&g;ac7QJLM6Y%443+<=4Y4Lsj%9g>vhIamMX<GWoFCN+%}XFFVLy5Kg$
zj0;*T<CJx*q)uhNaC$E%>)h6&Axu!Ed1t1KNh6D#wtH_eRzY0T?Y+-CACuNuoKvZ`
z+bZucyLS|_P>ckN{9rnnGM;S4UNlNZB8p;f5+{Bb@_<jKefjHIY>xL=M%}yBr79?!
z$%-eYsFv1im=+lys<>JX51Q4Lb6LrZR?7xkSGo;|=Q=sqn~j6ryIW#DpWJ54x&KM9
zf5?tMo_|`+jy`I3bN|H#Q77kRj-@fY0&Bynoe|?Ysbpzs*-f?_=$YrHqDp?rnUfaU
z*a4J^8hdP<xRx-QB6mK#wKwnEvtBk@6$w?%LkC%ws|H+uG#S9*7_3Hbq*2Yl8Na_W
zmPKV#jXlq^Ib6mK%*dX`ldWV_Lnpgb>*Jzo2A3^&UbVID!O%6d_5p90XG_hKikl<8
zY~q?7Xl>H9^s51a-A#=t^^M``zv><jS->L^c+n>J$0CfU2_1{+W)O+ck9a7;Q4n~e
zCLl?LqKiS9FS>VPjdy?6;a~3tusgF8<LD1+k7?a^zgcK|fYWWd^>tQ@qF5;29PhkV
Q%0i{^W-N_NTGt2UA5#E$1^@s6

diff --git a/config/chainqueryConfig.json b/config/chainqueryConfig.json
deleted file mode 100644
index ae59e90b..00000000
--- a/config/chainqueryConfig.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-  "host": "chainquery.lbry.io",
-  "port": "3306",
-  "timeout": 30,
-  "database": "chainquery",
-  "username": "speechapi",
-  "password": "1304486ca42ecdbf419f667fdc02c31e7d03b1e3"
-}
diff --git a/config/lbryConfig.json b/config/lbryConfig.json
deleted file mode 100644
index 7cf79730..00000000
--- a/config/lbryConfig.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-  "apiHost": "localhost",
-  "apiPort": "5279",
-  "getTimeout": 30
-}
\ No newline at end of file
diff --git a/config/loggerConfig.json b/config/loggerConfig.json
deleted file mode 100644
index c5333fa0..00000000
--- a/config/loggerConfig.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-  "logLevel": "verbose"
-}
\ No newline at end of file
diff --git a/config/mysqlConfig.json b/config/mysqlConfig.json
deleted file mode 100644
index 3dd276a7..00000000
--- a/config/mysqlConfig.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-  "database": "lbry",
-  "username": "root",
-  "password": ""
-}
\ No newline at end of file
diff --git a/config/siteConfig.json b/config/siteConfig.json
deleted file mode 100644
index 4d123c63..00000000
--- a/config/siteConfig.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
-  "analytics": {
-    "googleId": null
-  },
-  "assetDefaults": {
-    "title": "Default Content Title",
-    "description": "Default Content Description",
-    "thumbnail": "https://spee.ch/0e5d4e8f4086e13f5b9ca3f9648f518e5f524402/speechflag.png"
-  },
-  "auth": {
-    "sessionKey": "mysecretkeyword",
-    "masterPassword": "myMasterPassword"
-  },
-  "details": {
-    "port": 3000,
-    "title": "dev1",
-    "ipAddress":"127.0.0.1",
-    "host": "localhost",
-    "description": "A decentralized hosting platform built on LBRY",
-    "twitter": false
-  },
-  "publishing": {
-    "primaryClaimAddress": "bYscURD34PVAfYY7FdyY1W4TjdwQYXrDkN",
-    "uploadDirectory": "/home/lbry/Uploads",
-    "thumbnailChannel": "@thumbnails",
-    "thumbnailChannelId": "85d5f2fd814979dec6b082c2f88b07bc155e4e79",
-    "additionalClaimAddresses": [],
-    "disabled": false,
-    "disabledMessage": "Default publishing disabled message",
-    "channelClaimBidAmount": "0.1",
-    "fileClaimBidAmount": "0.01"
-  },
-  "startup": {
-    "performChecks": true,
-    "performUpdates": true
-  }
-}
diff --git a/config/slackConfig.json b/config/slackConfig.json
deleted file mode 100644
index 5bbf8072..00000000
--- a/config/slackConfig.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-  "slackWebHook": false,
-  "slackErrorChannel": false,
-  "slackInfoChannel": false
-}
\ No newline at end of file
-- 
2.45.3


From eea5d67f02b184a8c2dc414309ae8ea4e79065cf Mon Sep 17 00:00:00 2001
From: Shawn K <skhameneh@gmail.com>
Date: Mon, 12 Nov 2018 10:19:31 -0600
Subject: [PATCH 61/63] Update handleShowRender.jsx

---
 server/render/src/handleShowRender.jsx | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/server/render/src/handleShowRender.jsx b/server/render/src/handleShowRender.jsx
index d6ce7c95..6e527b0c 100644
--- a/server/render/src/handleShowRender.jsx
+++ b/server/render/src/handleShowRender.jsx
@@ -20,9 +20,11 @@ const createCanonicalLink = require('../../../utils/createCanonicalLink');
 const getCanonicalUrlFromShow = show => {
   const requestId = show.requestList[show.request.id];
   const requestType = show.request.type;
+  
   if (!requestId || !requestType) {
     return null;
   }
+  
   switch (requestType) {
     case 'ASSET_DETAILS':
       const asset = show.assetList[requestId.key];
@@ -39,6 +41,7 @@ const returnSagaWithParams = (saga, params) => {
     yield call(saga, params);
   };
 };
+
 module.exports = (req, res) => {
   let context = {};
 
@@ -54,6 +57,7 @@ module.exports = (req, res) => {
     // Workaround, remove when a solution for async httpContext exists
     const showState = store.getState().show;
     const assetKeys = Object.keys(showState.assetList);
+    
     if(assetKeys.length !== 0) {
       res.claimId = showState.assetList[assetKeys[0]].claimId;
     } else {
-- 
2.45.3


From 9dcf828db2875a062ddcc81dcc758eb8c63bed2d Mon Sep 17 00:00:00 2001
From: Sean Yesmunt <sean@lbry.io>
Date: Mon, 12 Nov 2018 11:28:56 -0500
Subject: [PATCH 62/63] fix asset display on firefox

---
 client/scss/_asset-display.scss | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/client/scss/_asset-display.scss b/client/scss/_asset-display.scss
index cf9d979f..55983340 100644
--- a/client/scss/_asset-display.scss
+++ b/client/scss/_asset-display.scss
@@ -1,13 +1,13 @@
 .asset-main {
-  height: 80vh;
+  height: 75vh;
   display: flex;
   flex-direction: column;
-  align-items: space-between;
   align-items: center;
 }
 
 .asset-display {
   display: flex;
+  min-height: 50vh
 }
 
 .asset-title {
-- 
2.45.3


From 35698ca1c681e7d622db6b9ab5161ca26507a300 Mon Sep 17 00:00:00 2001
From: Sean Yesmunt <sean@lbry.io>
Date: Mon, 12 Nov 2018 12:37:37 -0500
Subject: [PATCH 63/63] remove deployment-config.json

---
 .gitignore             |  2 ++
 deployment-config.json | 10 ----------
 2 files changed, 2 insertions(+), 10 deletions(-)
 delete mode 100644 deployment-config.json

diff --git a/.gitignore b/.gitignore
index a67766ab..06ec7271 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,3 +19,5 @@ public/bundle/style.css
 uploads
 
 config/
+
+deployment-config.json
diff --git a/deployment-config.json b/deployment-config.json
deleted file mode 100644
index c4bc966f..00000000
--- a/deployment-config.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-    "type": "sftp",
-    "host": "sean.lbry.tech",
-    "username": "lbry",
-    "password": "",
-    "port": 22,
-    "remotePath": "/home/lbry/spee.ch",
-    "sshKeyFile": "/Users/sean/.ssh/id_rsa2",
-    "uploadOnSave": true
-}
-- 
2.45.3