]> BookStack Code Mirror - bookstack/blobdiff - public/dist/styles.css
Updated version and assets for release v0.26.0
[bookstack] / public / dist / styles.css
index c41093f424bb9e6ae3cbac26179b20ba3031d52b..95dc7855cb41607e23c4f4da57d1d40caa29738b 100644 (file)
@@ -36,28 +36,390 @@ table {
   border-collapse: collapse;
   border-spacing: 0; }
 
+.m-none {
+  margin: 0 !important; }
+
+.mx-none {
+  margin-left: 0 !important;
+  margin-right: 0 !important; }
+
+.my-none {
+  margin-top: 0 !important;
+  margin-bottom: 0 !important; }
+
+.mt-none {
+  margin-top: 0 !important; }
+
+.mr-none {
+  margin-right: 0 !important; }
+
+.mb-none {
+  margin-bottom: 0 !important; }
+
+.ml-none {
+  margin-left: 0 !important; }
+
+.m-xxs {
+  margin: 3px !important; }
+
+.mx-xxs {
+  margin-left: 3px !important;
+  margin-right: 3px !important; }
+
+.my-xxs {
+  margin-top: 3px !important;
+  margin-bottom: 3px !important; }
+
+.mt-xxs {
+  margin-top: 3px !important; }
+
+.mr-xxs {
+  margin-right: 3px !important; }
+
+.mb-xxs {
+  margin-bottom: 3px !important; }
+
+.ml-xxs {
+  margin-left: 3px !important; }
+
+.m-xs {
+  margin: 6px !important; }
+
+.mx-xs {
+  margin-left: 6px !important;
+  margin-right: 6px !important; }
+
+.my-xs {
+  margin-top: 6px !important;
+  margin-bottom: 6px !important; }
+
+.mt-xs {
+  margin-top: 6px !important; }
+
+.mr-xs {
+  margin-right: 6px !important; }
+
+.mb-xs {
+  margin-bottom: 6px !important; }
+
+.ml-xs {
+  margin-left: 6px !important; }
+
+.m-s {
+  margin: 12px !important; }
+
+.mx-s {
+  margin-left: 12px !important;
+  margin-right: 12px !important; }
+
+.my-s {
+  margin-top: 12px !important;
+  margin-bottom: 12px !important; }
+
+.mt-s {
+  margin-top: 12px !important; }
+
+.mr-s {
+  margin-right: 12px !important; }
+
+.mb-s {
+  margin-bottom: 12px !important; }
+
+.ml-s {
+  margin-left: 12px !important; }
+
+.m-m {
+  margin: 16px !important; }
+
+.mx-m {
+  margin-left: 16px !important;
+  margin-right: 16px !important; }
+
+.my-m {
+  margin-top: 16px !important;
+  margin-bottom: 16px !important; }
+
+.mt-m {
+  margin-top: 16px !important; }
+
+.mr-m {
+  margin-right: 16px !important; }
+
+.mb-m {
+  margin-bottom: 16px !important; }
+
+.ml-m {
+  margin-left: 16px !important; }
+
+.m-l {
+  margin: 24px !important; }
+
+.mx-l {
+  margin-left: 24px !important;
+  margin-right: 24px !important; }
+
+.my-l {
+  margin-top: 24px !important;
+  margin-bottom: 24px !important; }
+
+.mt-l {
+  margin-top: 24px !important; }
+
+.mr-l {
+  margin-right: 24px !important; }
+
+.mb-l {
+  margin-bottom: 24px !important; }
+
+.ml-l {
+  margin-left: 24px !important; }
+
+.m-xl {
+  margin: 32px !important; }
+
+.mx-xl {
+  margin-left: 32px !important;
+  margin-right: 32px !important; }
+
+.my-xl {
+  margin-top: 32px !important;
+  margin-bottom: 32px !important; }
+
+.mt-xl {
+  margin-top: 32px !important; }
+
+.mr-xl {
+  margin-right: 32px !important; }
+
+.mb-xl {
+  margin-bottom: 32px !important; }
+
+.ml-xl {
+  margin-left: 32px !important; }
+
+.m-xxl {
+  margin: 48px !important; }
+
+.mx-xxl {
+  margin-left: 48px !important;
+  margin-right: 48px !important; }
+
+.my-xxl {
+  margin-top: 48px !important;
+  margin-bottom: 48px !important; }
+
+.mt-xxl {
+  margin-top: 48px !important; }
+
+.mr-xxl {
+  margin-right: 48px !important; }
+
+.mb-xxl {
+  margin-bottom: 48px !important; }
+
+.ml-xxl {
+  margin-left: 48px !important; }
+
+.p-none {
+  padding: 0 !important; }
+
+.px-none {
+  padding-left: 0 !important;
+  padding-right: 0 !important; }
+
+.py-none {
+  padding-top: 0 !important;
+  padding-bottom: 0 !important; }
+
+.pt-none {
+  padding-top: 0 !important; }
+
+.pr-none {
+  padding-right: 0 !important; }
+
+.pb-none {
+  padding-bottom: 0 !important; }
+
+.pl-none {
+  padding-left: 0 !important; }
+
+.p-xxs {
+  padding: 3px !important; }
+
+.px-xxs {
+  padding-left: 3px !important;
+  padding-right: 3px !important; }
+
+.py-xxs {
+  padding-top: 3px !important;
+  padding-bottom: 3px !important; }
+
+.pt-xxs {
+  padding-top: 3px !important; }
+
+.pr-xxs {
+  padding-right: 3px !important; }
+
+.pb-xxs {
+  padding-bottom: 3px !important; }
+
+.pl-xxs {
+  padding-left: 3px !important; }
+
+.p-xs {
+  padding: 6px !important; }
+
+.px-xs {
+  padding-left: 6px !important;
+  padding-right: 6px !important; }
+
+.py-xs {
+  padding-top: 6px !important;
+  padding-bottom: 6px !important; }
+
+.pt-xs {
+  padding-top: 6px !important; }
+
+.pr-xs {
+  padding-right: 6px !important; }
+
+.pb-xs {
+  padding-bottom: 6px !important; }
+
+.pl-xs {
+  padding-left: 6px !important; }
+
+.p-s {
+  padding: 12px !important; }
+
+.px-s {
+  padding-left: 12px !important;
+  padding-right: 12px !important; }
+
+.py-s {
+  padding-top: 12px !important;
+  padding-bottom: 12px !important; }
+
+.pt-s {
+  padding-top: 12px !important; }
+
+.pr-s {
+  padding-right: 12px !important; }
+
+.pb-s {
+  padding-bottom: 12px !important; }
+
+.pl-s {
+  padding-left: 12px !important; }
+
+.p-m {
+  padding: 16px !important; }
+
+.px-m {
+  padding-left: 16px !important;
+  padding-right: 16px !important; }
+
+.py-m {
+  padding-top: 16px !important;
+  padding-bottom: 16px !important; }
+
+.pt-m {
+  padding-top: 16px !important; }
+
+.pr-m {
+  padding-right: 16px !important; }
+
+.pb-m {
+  padding-bottom: 16px !important; }
+
+.pl-m {
+  padding-left: 16px !important; }
+
+.p-l {
+  padding: 24px !important; }
+
+.px-l {
+  padding-left: 24px !important;
+  padding-right: 24px !important; }
+
+.py-l {
+  padding-top: 24px !important;
+  padding-bottom: 24px !important; }
+
+.pt-l {
+  padding-top: 24px !important; }
+
+.pr-l {
+  padding-right: 24px !important; }
+
+.pb-l {
+  padding-bottom: 24px !important; }
+
+.pl-l {
+  padding-left: 24px !important; }
+
+.p-xl {
+  padding: 32px !important; }
+
+.px-xl {
+  padding-left: 32px !important;
+  padding-right: 32px !important; }
+
+.py-xl {
+  padding-top: 32px !important;
+  padding-bottom: 32px !important; }
+
+.pt-xl {
+  padding-top: 32px !important; }
+
+.pr-xl {
+  padding-right: 32px !important; }
+
+.pb-xl {
+  padding-bottom: 32px !important; }
+
+.pl-xl {
+  padding-left: 32px !important; }
+
+.p-xxl {
+  padding: 48px !important; }
+
+.px-xxl {
+  padding-left: 48px !important;
+  padding-right: 48px !important; }
+
+.py-xxl {
+  padding-top: 48px !important;
+  padding-bottom: 48px !important; }
+
+.pt-xxl {
+  padding-top: 48px !important; }
+
+.pr-xxl {
+  padding-right: 48px !important; }
+
+.pb-xxl {
+  padding-bottom: 48px !important; }
+
+.pl-xxl {
+  padding-left: 48px !important; }
+
 * {
   box-sizing: border-box; }
 
 html {
-  background-color: #FFFFFF;
   height: 100%;
-  overflow-y: scroll; }
+  overflow-y: scroll;
+  background-color: #F2F2F2; }
   html.flexbox {
     overflow-y: hidden; }
-  html.shaded {
-    background-color: #F2F2F2; }
 
 body {
-  font-size: 15px;
+  font-size: 14px;
   line-height: 1.6;
-  color: #616161;
-  -webkit-font-smoothing: antialiased; }
-  body.shaded {
-    background-color: #F2F2F2; }
-
-button {
-  font-size: 100%; }
+  color: #444;
+  -webkit-font-smoothing: antialiased;
+  background-color: #F2F2F2; }
 
 /**
  * Fonts
@@ -99,7 +461,7 @@ h1, h2, h3, h4, h5, h6 {
   font-weight: 400;
   position: relative;
   display: block;
-  color: #555; }
+  color: #222; }
   h1 .subheader, h2 .subheader, h3 .subheader, h4 .subheader, h5 .subheader, h6 .subheader {
     font-size: 0.5em;
     line-height: 1em;
@@ -109,7 +471,6 @@ h5 {
   font-size: 1.4em; }
 
 h5, h6 {
-  font-weight: 500;
   line-height: 1.2em;
   margin-top: 0.78571429em;
   margin-bottom: 0.66em; }
@@ -126,21 +487,27 @@ h5, h6 {
   h5 {
     font-size: 1.161616em; } }
 
+.list-heading {
+  font-size: 2rem; }
+
+h2.list-heading {
+  font-size: 1.333rem; }
+
 /*
  * Link styling
  */
-a, .link, .text-button {
+a {
   color: #0288D1;
   cursor: pointer;
   text-decoration: none;
   transition: color ease-in-out 80ms;
   line-height: 1.6; }
-  a:hover, .link:hover, .text-button:hover {
+  a:hover {
     text-decoration: underline;
     color: #01466c; }
-  a.icon, .link.icon, .icon.text-button {
+  a.icon {
     display: inline-block; }
-  a svg, .link svg, .text-button svg {
+  a svg {
     position: relative;
     display: inline-block; }
 
@@ -175,10 +542,8 @@ em, i, .italic {
   font-style: italic; }
 
 small, p.small, span.small, .text-small {
-  font-size: 0.8em;
-  color: #777777; }
-  small small, small p.small, small span.small, small .text-small, p.small small, p.small p.small, p.small span.small, p.small .text-small, span.small small, span.small p.small, span.small span.small, span.small .text-small, .text-small small, .text-small p.small, .text-small span.small, .text-small .text-small {
-    font-size: 1em; }
+  font-size: 0.75rem;
+  color: #5e5e5e; }
 
 sup, .superscript {
   vertical-align: super;
@@ -251,90 +616,6 @@ pre code {
   display: block;
   line-height: 1.6; }
 
-/*
- * Text colors
- */
-p.pos, p .pos, span.pos, .text-pos {
-  color: #52A256;
-  fill: #52A256; }
-  p.pos:hover, p .pos:hover, span.pos:hover, .text-pos:hover {
-    color: #52A256;
-    fill: #52A256; }
-
-p.neg, p .neg, span.neg, .text-neg {
-  color: #E84F4F;
-  fill: #E84F4F; }
-  p.neg:hover, p .neg:hover, span.neg:hover, .text-neg:hover {
-    color: #E84F4F;
-    fill: #E84F4F; }
-
-p.muted, p .muted, span.muted, .text-muted {
-  color: #868686;
-  fill: #868686; }
-  p.muted.small, p.muted .small, p .muted.small, p .muted .small, span.muted.small, span.muted .small, .text-muted.small, .text-muted .small {
-    color: #969696;
-    fill: #969696; }
-
-p.primary, p .primary, span.primary, .text-primary {
-  color: #0288D1;
-  fill: #0288D1; }
-  p.primary:hover, p .primary:hover, span.primary:hover, .text-primary:hover {
-    color: #0288D1;
-    fill: #0288D1; }
-
-p.secondary, p .secondary, span.secondary, .text-secondary {
-  color: #e27b41;
-  fill: #e27b41; }
-  p.secondary:hover, p .secondary:hover, span.secondary:hover, .text-secondary:hover {
-    color: #e27b41;
-    fill: #e27b41; }
-
-.text-bookshelf {
-  color: #af5a5a;
-  fill: #af5a5a; }
-  .text-bookshelf:hover {
-    color: #af5a5a;
-    fill: #af5a5a; }
-
-.text-book {
-  color: #009688;
-  fill: #009688; }
-  .text-book:hover {
-    color: #009688;
-    fill: #009688; }
-
-.text-page {
-  color: #0288D1;
-  fill: #0288D1; }
-  .text-page:hover {
-    color: #0288D1;
-    fill: #0288D1; }
-  .text-page.draft {
-    color: #9A60DA;
-    fill: #9A60DA; }
-  .text-page.draft:hover {
-    color: #9A60DA;
-    fill: #9A60DA; }
-
-.text-chapter {
-  color: #ef7c3c;
-  fill: #ef7c3c; }
-  .text-chapter:hover {
-    color: #ef7c3c;
-    fill: #ef7c3c; }
-
-.faded .text-book:hover {
-  color: #009688 !important;
-  fill: #009688 !important; }
-
-.faded .text-chapter:hover {
-  color: #ef7c3c !important;
-  fill: #ef7c3c !important; }
-
-.faded .text-page:hover {
-  color: #0288D1 !important;
-  fill: #0288D1 !important; }
-
 span.highlight {
   font-weight: bold;
   padding: 2px 4px; }
@@ -415,18 +696,150 @@ span.sep {
 /**
   * Icons
   */
-i {
-  padding-right: 6px; }
-
 .svg-icon {
   width: 1em;
   height: 1em;
   display: inline-block;
   position: relative;
   bottom: -0.105em;
-  margin-right: 6px; }
+  margin-right: 6px;
+  pointer-events: none; }
+
+/*
+ * Status text colors
+ */
+.text-pos, .text-pos:hover, .text-pos-hover:hover {
+  color: #0f7d15 !important;
+  fill: #0f7d15 !important; }
+
+.text-warn, .text-warn:hover, .text-warn-hover:hover {
+  color: #cf4d03 !important;
+  fill: #cf4d03 !important; }
+
+.text-neg, .text-neg:hover, .text-neg-hover:hover {
+  color: #ab0f0e !important;
+  fill: #ab0f0e !important; }
+
+/*
+ * Style text colors
+ */
+.text-primary, .text-primary:hover, .text-primary-hover:hover {
+  color: #0288D1 !important;
+  fill: #0288D1 !important; }
+
+.text-muted {
+  color: #868686 !important;
+  fill: #868686 !important; }
+  .text-muted.small, .text-muted .small {
+    color: #969696 !important;
+    fill: #969696 !important; }
+
+/*
+ * Entity text colors
+ */
+.text-bookshelf, .text-bookshelf:hover {
+  color: #af5a5a;
+  fill: #af5a5a; }
+
+.text-book, .text-book:hover {
+  color: #009688;
+  fill: #009688; }
+
+.text-page, .text-page:hover {
+  color: #0288D1;
+  fill: #0288D1; }
+
+.text-page.draft, .text-page.draft:hover {
+  color: #9A60DA;
+  fill: #9A60DA; }
+
+.text-chapter, .text-chapter:hover {
+  color: #d7804a;
+  fill: #d7804a; }
+
+/*
+ * Entity background colors
+ */
+.bg-book {
+  background-color: #009688; }
+
+.bg-chapter {
+  background-color: #d7804a; }
+
+.bg-shelf {
+  background-color: #af5a5a; }
+
+/**
+ * Generic content container
+ */
+.container {
+  max-width: 1400px;
+  margin-left: auto;
+  margin-right: auto;
+  padding-left: 16px;
+  padding-right: 16px; }
+  .container.small {
+    max-width: 840px; }
+  .container.very-small {
+    max-width: 480px; }
+
+/**
+ * Core grid layout system
+ */
+.grid {
+  display: grid;
+  grid-column-gap: 24px;
+  grid-row-gap: 24px; }
+  .grid.half {
+    grid-template-columns: 1fr 1fr; }
+  .grid.third {
+    grid-template-columns: 1fr 1fr 1fr; }
+  .grid.left-focus {
+    grid-template-columns: 2fr 1fr; }
+  .grid.right-focus {
+    grid-template-columns: 1fr 3fr; }
+  .grid.gap-y-xs {
+    grid-row-gap: 6px; }
+  .grid.gap-xl {
+    grid-column-gap: 32px;
+    grid-row-gap: 32px; }
+  .grid.gap-xxl {
+    grid-column-gap: 48px;
+    grid-row-gap: 48px; }
+  .grid.v-center {
+    align-items: center; }
+  .grid.no-gap {
+    grid-row-gap: 0;
+    grid-column-gap: 0; }
+  .grid.no-row-gap {
+    grid-row-gap: 0; }
+
+@media screen and (max-width: 880px) {
+  .grid.third {
+    grid-template-columns: 1fr 1fr; }
+  .grid.half:not(.no-break), .grid.left-focus:not(.no-break), .grid.right-focus:not(.no-break) {
+    grid-template-columns: 1fr; }
+  .grid.half.collapse-xs {
+    grid-template-columns: 1fr 1fr; }
+  .grid.gap-xl {
+    grid-column-gap: 16px;
+    grid-row-gap: 16px; }
+  .grid.right-focus.reverse-collapse > *:nth-child(2) {
+    order: 0; }
+  .grid.right-focus.reverse-collapse > *:nth-child(1) {
+    order: 1; } }
+
+@media screen and (max-width: 600px) {
+  .grid.third {
+    grid-template-columns: 1fr; } }
+
+@media screen and (max-width: 400px) {
+  .grid.half.collapse-xs {
+    grid-template-columns: 1fr; } }
 
-/** Flexbox styling rules **/
+/**
+ * Flexbox layout system
+ */
 body.flexbox {
   display: flex;
   flex-direction: column;
@@ -446,806 +859,206 @@ body.flexbox {
   min-height: 0;
   max-width: 100%;
   position: relative; }
-  .flex-fill.rows {
-    flex-direction: row; }
-  .flex-fill.columns {
-    flex-direction: column; }
 
 .flex {
   min-height: 0;
   flex: 1; }
 
-.flex.scroll {
-  display: flex; }
-  .flex.scroll.sidebar {
-    margin-right: -14px; }
+/**
+ * Display and float utilities
+ */
+.block {
+  display: block;
+  position: relative; }
 
-.flex.scroll .scroll-body {
-  overflow-y: scroll;
-  flex: 1; }
+.inline {
+  display: inline; }
 
-.flex-child > div {
-  flex: 1; }
+.block.inline {
+  display: inline-block; }
 
-.flex.sidebar {
-  flex: 1;
-  background-color: #F2F2F2;
-  max-width: 360px;
-  min-height: 90vh; }
-  .flex.sidebar section {
-    margin: 16px; }
+.hidden {
+  display: none; }
 
-.flex.sidebar + .flex.content {
-  flex: 3;
-  background-color: #FFFFFF;
-  padding: 0 24px;
-  border-left: 1px solid #DDD;
-  max-width: 100%; }
+.float {
+  float: left; }
+  .float.right {
+    float: right; }
 
-.flex.sidebar .sidebar-toggle {
-  display: none; }
+/**
+ * Visibility
+ */
+@media screen and (max-width: 360px) {
+  .hide-under-xxs {
+    display: none !important; } }
+
+@media screen and (min-width: 360px) {
+  .hide-over-xxs {
+    display: none !important; } }
+
+@media screen and (max-width: 400px) {
+  .hide-under-xs {
+    display: none !important; } }
+
+@media screen and (min-width: 400px) {
+  .hide-over-xs {
+    display: none !important; } }
+
+@media screen and (max-width: 600px) {
+  .hide-under-s {
+    display: none !important; } }
+
+@media screen and (min-width: 600px) {
+  .hide-over-s {
+    display: none !important; } }
+
+@media screen and (max-width: 880px) {
+  .hide-under-m {
+    display: none !important; } }
+
+@media screen and (min-width: 880px) {
+  .hide-over-m {
+    display: none !important; } }
+
+@media screen and (max-width: 1000px) {
+  .hide-under-l {
+    display: none !important; } }
+
+@media screen and (min-width: 1000px) {
+  .hide-over-l {
+    display: none !important; } }
 
 @media screen and (max-width: 1100px) {
-  body.sidebar-layout {
-    padding-left: 30px; }
-  .flex.sidebar {
-    position: fixed;
-    top: 0;
-    left: 0;
-    bottom: 0;
-    z-index: 100;
-    padding-right: 30px;
-    width: 360px;
-    box-shadow: none;
-    -webkit-transform: translate3d(-330px, 0, 0);
-            transform: translate3d(-330px, 0, 0);
-    transition: -webkit-transform ease-in-out 120ms;
-    transition: transform ease-in-out 120ms;
-    transition: transform ease-in-out 120ms, -webkit-transform ease-in-out 120ms;
-    display: flex;
-    flex-direction: column; }
-  .flex.sidebar.open {
-    box-shadow: 1px 2px 2px 1px rgba(0, 0, 0, 0.1);
-    -webkit-transform: translate3d(0, 0, 0);
-            transform: translate3d(0, 0, 0); }
-    .flex.sidebar.open .sidebar-toggle i {
-      -webkit-transform: rotate(180deg);
-              transform: rotate(180deg); }
-  .flex.sidebar .sidebar-toggle {
-    display: block;
-    position: absolute;
-    opacity: 0.9;
-    right: 0;
-    top: 0;
-    bottom: 0;
-    width: 30px;
-    fill: #666;
-    font-size: 20px;
-    vertical-align: middle;
-    text-align: center;
-    border: 1px solid #DDD;
-    border-top: 1px solid #BBB;
-    padding-top: 16px;
-    cursor: pointer; }
-    .flex.sidebar .sidebar-toggle svg {
-      opacity: 0.5;
-      transition: all ease-in-out 120ms;
-      margin: 0; }
-    .flex.sidebar .sidebar-toggle:hover i {
-      opacity: 1; }
-  .sidebar .scroll-body {
-    flex: 1;
-    overflow-y: scroll; }
-  #sidebar .scroll-body.fixed {
-    width: auto !important; } }
+  .hide-under-xl {
+    display: none !important; } }
 
 @media screen and (min-width: 1100px) {
-  #sidebar .scroll-body.fixed {
-    z-index: 5;
-    position: fixed;
-    top: 0;
-    padding-right: 16px;
-    width: 30%;
-    left: 0;
-    height: 100%;
-    overflow-y: auto;
-    -ms-overflow-style: none;
-    border-left: 1px solid #DDD; }
-    #sidebar .scroll-body.fixed::-webkit-scrollbar {
-      width: 0 !important; } }
-
-/** Rules for all columns */
-div[class^="col-"] img {
-  max-width: 100%; }
-
-.container {
-  max-width: 1400px;
-  margin-left: auto;
-  margin-right: auto;
-  padding-left: 16px;
-  padding-right: 16px; }
-  .container.fluid {
-    max-width: 100%; }
-  .container.medium {
-    max-width: 992px; }
-  .container.small {
-    max-width: 840px; }
-  .container.nopad {
-    padding-left: 0;
-    padding-right: 0; }
-
-.row {
-  margin-left: -16px;
-  margin-right: -16px; }
-
-.grid {
-  display: grid;
-  grid-column-gap: 24px;
-  grid-row-gap: 24px; }
-  .grid.third {
-    grid-template-columns: 1fr 1fr 1fr; }
+  .hide-over-xl {
+    display: none !important; } }
 
-.grid-card {
-  display: flex;
-  flex-direction: column;
-  border: 1px solid #ddd;
-  min-width: 100px; }
-  .grid-card h2 {
-    width: 100%;
-    font-size: 1.5em;
-    margin: 0 0 10px; }
-  .grid-card h2 a {
-    display: block;
-    width: 100%;
-    line-height: 1.2;
-    text-decoration: none; }
-  .grid-card p {
-    font-size: .85em;
-    margin: 0;
-    line-height: 1.6em; }
-  .grid-card .grid-card-content {
-    flex: 1;
-    border-top: 0;
-    border-bottom-width: 2px; }
-  .grid-card .grid-card-content, .grid-card .grid-card-footer {
-    padding: 24px; }
-  .grid-card .grid-card-content + .grid-card-footer {
-    padding-top: 0; }
-
-.book-grid-item .grid-card-content h2 a {
-  color: #009688;
-  fill: #009688; }
-
-.bookshelf-grid-item .grid-card-content h2 a {
-  color: #af5a5a;
-  fill: #af5a5a; }
-
-.book-grid-item .grid-card-footer p.small {
-  font-size: .8em;
-  margin: 0; }
-
-@media screen and (max-width: 800px) {
-  .grid.third {
-    grid-template-columns: 1fr 1fr; } }
-
-@media screen and (max-width: 600px) {
-  .grid.third {
-    grid-template-columns: 1fr; } }
-
-.float {
-  float: left; }
-  .float.right {
-    float: right; }
-
-.block {
-  display: block;
-  position: relative; }
-
-.inline {
-  display: inline; }
-
-.block.inline {
-  display: inline-block; }
-
-.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
-  position: relative;
-  min-height: 1px;
-  padding-left: 16px;
-  padding-right: 16px; }
-
-.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
-  float: left; }
-
-.col-xs-12 {
-  width: 100%; }
-
-.col-xs-11 {
-  width: 91.66666667%; }
-
-.col-xs-10 {
-  width: 83.33333333%; }
-
-.col-xs-9 {
-  width: 75%; }
-
-.col-xs-8 {
-  width: 66.66666667%; }
-
-.col-xs-7 {
-  width: 58.33333333%; }
-
-.col-xs-6 {
-  width: 50%; }
-
-.col-xs-5 {
-  width: 41.66666667%; }
-
-.col-xs-4 {
-  width: 33.33333333%; }
-
-.col-xs-3 {
-  width: 25%; }
-
-.col-xs-2 {
-  width: 16.66666667%; }
-
-.col-xs-1 {
-  width: 8.33333333%; }
-
-.col-xs-pull-12 {
-  right: 100%; }
-
-.col-xs-pull-11 {
-  right: 91.66666667%; }
-
-.col-xs-pull-10 {
-  right: 83.33333333%; }
-
-.col-xs-pull-9 {
-  right: 75%; }
-
-.col-xs-pull-8 {
-  right: 66.66666667%; }
-
-.col-xs-pull-7 {
-  right: 58.33333333%; }
-
-.col-xs-pull-6 {
-  right: 50%; }
-
-.col-xs-pull-5 {
-  right: 41.66666667%; }
-
-.col-xs-pull-4 {
-  right: 33.33333333%; }
-
-.col-xs-pull-3 {
-  right: 25%; }
-
-.col-xs-pull-2 {
-  right: 16.66666667%; }
-
-.col-xs-pull-1 {
-  right: 8.33333333%; }
-
-.col-xs-pull-0 {
-  right: auto; }
-
-.col-xs-push-12 {
-  left: 100%; }
-
-.col-xs-push-11 {
-  left: 91.66666667%; }
-
-.col-xs-push-10 {
-  left: 83.33333333%; }
-
-.col-xs-push-9 {
-  left: 75%; }
-
-.col-xs-push-8 {
-  left: 66.66666667%; }
-
-.col-xs-push-7 {
-  left: 58.33333333%; }
-
-.col-xs-push-6 {
-  left: 50%; }
-
-.col-xs-push-5 {
-  left: 41.66666667%; }
-
-.col-xs-push-4 {
-  left: 33.33333333%; }
-
-.col-xs-push-3 {
-  left: 25%; }
-
-.col-xs-push-2 {
-  left: 16.66666667%; }
-
-.col-xs-push-1 {
-  left: 8.33333333%; }
-
-.col-xs-push-0 {
-  left: auto; }
-
-.col-xs-offset-12 {
-  margin-left: 100%; }
-
-.col-xs-offset-11 {
-  margin-left: 91.66666667%; }
-
-.col-xs-offset-10 {
-  margin-left: 83.33333333%; }
-
-.col-xs-offset-9 {
-  margin-left: 75%; }
-
-.col-xs-offset-8 {
-  margin-left: 66.66666667%; }
-
-.col-xs-offset-7 {
-  margin-left: 58.33333333%; }
-
-.col-xs-offset-6 {
-  margin-left: 50%; }
-
-.col-xs-offset-5 {
-  margin-left: 41.66666667%; }
-
-.col-xs-offset-4 {
-  margin-left: 33.33333333%; }
-
-.col-xs-offset-3 {
-  margin-left: 25%; }
-
-.col-xs-offset-2 {
-  margin-left: 16.66666667%; }
-
-.col-xs-offset-1 {
-  margin-left: 8.33333333%; }
+/**
+ * Inline content columns
+ */
+.dual-column-content {
+  -webkit-columns: 2;
+          columns: 2; }
 
-.col-xs-offset-0 {
-  margin-left: 0%; }
-
-@media (min-width: 768px) {
-  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
-    float: left; }
-  .col-sm-12 {
-    width: 100%; }
-  .col-sm-11 {
-    width: 91.66666667%; }
-  .col-sm-10 {
-    width: 83.33333333%; }
-  .col-sm-9 {
-    width: 75%; }
-  .col-sm-8 {
-    width: 66.66666667%; }
-  .col-sm-7 {
-    width: 58.33333333%; }
-  .col-sm-6 {
-    width: 50%; }
-  .col-sm-5 {
-    width: 41.66666667%; }
-  .col-sm-4 {
-    width: 33.33333333%; }
-  .col-sm-3 {
-    width: 25%; }
-  .col-sm-2 {
-    width: 16.66666667%; }
-  .col-sm-1 {
-    width: 8.33333333%; }
-  .col-sm-pull-12 {
-    right: 100%; }
-  .col-sm-pull-11 {
-    right: 91.66666667%; }
-  .col-sm-pull-10 {
-    right: 83.33333333%; }
-  .col-sm-pull-9 {
-    right: 75%; }
-  .col-sm-pull-8 {
-    right: 66.66666667%; }
-  .col-sm-pull-7 {
-    right: 58.33333333%; }
-  .col-sm-pull-6 {
-    right: 50%; }
-  .col-sm-pull-5 {
-    right: 41.66666667%; }
-  .col-sm-pull-4 {
-    right: 33.33333333%; }
-  .col-sm-pull-3 {
-    right: 25%; }
-  .col-sm-pull-2 {
-    right: 16.66666667%; }
-  .col-sm-pull-1 {
-    right: 8.33333333%; }
-  .col-sm-pull-0 {
-    right: auto; }
-  .col-sm-push-12 {
-    left: 100%; }
-  .col-sm-push-11 {
-    left: 91.66666667%; }
-  .col-sm-push-10 {
-    left: 83.33333333%; }
-  .col-sm-push-9 {
-    left: 75%; }
-  .col-sm-push-8 {
-    left: 66.66666667%; }
-  .col-sm-push-7 {
-    left: 58.33333333%; }
-  .col-sm-push-6 {
-    left: 50%; }
-  .col-sm-push-5 {
-    left: 41.66666667%; }
-  .col-sm-push-4 {
-    left: 33.33333333%; }
-  .col-sm-push-3 {
-    left: 25%; }
-  .col-sm-push-2 {
-    left: 16.66666667%; }
-  .col-sm-push-1 {
-    left: 8.33333333%; }
-  .col-sm-push-0 {
-    left: auto; }
-  .col-sm-offset-12 {
-    margin-left: 100%; }
-  .col-sm-offset-11 {
-    margin-left: 91.66666667%; }
-  .col-sm-offset-10 {
-    margin-left: 83.33333333%; }
-  .col-sm-offset-9 {
-    margin-left: 75%; }
-  .col-sm-offset-8 {
-    margin-left: 66.66666667%; }
-  .col-sm-offset-7 {
-    margin-left: 58.33333333%; }
-  .col-sm-offset-6 {
-    margin-left: 50%; }
-  .col-sm-offset-5 {
-    margin-left: 41.66666667%; }
-  .col-sm-offset-4 {
-    margin-left: 33.33333333%; }
-  .col-sm-offset-3 {
-    margin-left: 25%; }
-  .col-sm-offset-2 {
-    margin-left: 16.66666667%; }
-  .col-sm-offset-1 {
-    margin-left: 8.33333333%; }
-  .col-sm-offset-0 {
-    margin-left: 0%; } }
-
-@media (min-width: 992px) {
-  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
-    float: left; }
-  .col-md-12 {
-    width: 100%; }
-  .col-md-11 {
-    width: 91.66666667%; }
-  .col-md-10 {
-    width: 83.33333333%; }
-  .col-md-9 {
-    width: 75%; }
-  .col-md-8 {
-    width: 66.66666667%; }
-  .col-md-7 {
-    width: 58.33333333%; }
-  .col-md-6 {
-    width: 50%; }
-  .col-md-5 {
-    width: 41.66666667%; }
-  .col-md-4 {
-    width: 33.33333333%; }
-  .col-md-3 {
-    width: 25%; }
-  .col-md-2 {
-    width: 16.66666667%; }
-  .col-md-1 {
-    width: 8.33333333%; }
-  .col-md-pull-12 {
-    right: 100%; }
-  .col-md-pull-11 {
-    right: 91.66666667%; }
-  .col-md-pull-10 {
-    right: 83.33333333%; }
-  .col-md-pull-9 {
-    right: 75%; }
-  .col-md-pull-8 {
-    right: 66.66666667%; }
-  .col-md-pull-7 {
-    right: 58.33333333%; }
-  .col-md-pull-6 {
-    right: 50%; }
-  .col-md-pull-5 {
-    right: 41.66666667%; }
-  .col-md-pull-4 {
-    right: 33.33333333%; }
-  .col-md-pull-3 {
-    right: 25%; }
-  .col-md-pull-2 {
-    right: 16.66666667%; }
-  .col-md-pull-1 {
-    right: 8.33333333%; }
-  .col-md-pull-0 {
-    right: auto; }
-  .col-md-push-12 {
-    left: 100%; }
-  .col-md-push-11 {
-    left: 91.66666667%; }
-  .col-md-push-10 {
-    left: 83.33333333%; }
-  .col-md-push-9 {
-    left: 75%; }
-  .col-md-push-8 {
-    left: 66.66666667%; }
-  .col-md-push-7 {
-    left: 58.33333333%; }
-  .col-md-push-6 {
-    left: 50%; }
-  .col-md-push-5 {
-    left: 41.66666667%; }
-  .col-md-push-4 {
-    left: 33.33333333%; }
-  .col-md-push-3 {
-    left: 25%; }
-  .col-md-push-2 {
-    left: 16.66666667%; }
-  .col-md-push-1 {
-    left: 8.33333333%; }
-  .col-md-push-0 {
-    left: auto; }
-  .col-md-offset-12 {
-    margin-left: 100%; }
-  .col-md-offset-11 {
-    margin-left: 91.66666667%; }
-  .col-md-offset-10 {
-    margin-left: 83.33333333%; }
-  .col-md-offset-9 {
-    margin-left: 75%; }
-  .col-md-offset-8 {
-    margin-left: 66.66666667%; }
-  .col-md-offset-7 {
-    margin-left: 58.33333333%; }
-  .col-md-offset-6 {
-    margin-left: 50%; }
-  .col-md-offset-5 {
-    margin-left: 41.66666667%; }
-  .col-md-offset-4 {
-    margin-left: 33.33333333%; }
-  .col-md-offset-3 {
-    margin-left: 25%; }
-  .col-md-offset-2 {
-    margin-left: 16.66666667%; }
-  .col-md-offset-1 {
-    margin-left: 8.33333333%; }
-  .col-md-offset-0 {
-    margin-left: 0%; } }
-
-@media (min-width: 1200px) {
-  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
-    float: left; }
-  .col-lg-12 {
-    width: 100%; }
-  .col-lg-11 {
-    width: 91.66666667%; }
-  .col-lg-10 {
-    width: 83.33333333%; }
-  .col-lg-9 {
-    width: 75%; }
-  .col-lg-8 {
-    width: 66.66666667%; }
-  .col-lg-7 {
-    width: 58.33333333%; }
-  .col-lg-6 {
-    width: 50%; }
-  .col-lg-5 {
-    width: 41.66666667%; }
-  .col-lg-4 {
-    width: 33.33333333%; }
-  .col-lg-3 {
-    width: 25%; }
-  .col-lg-2 {
-    width: 16.66666667%; }
-  .col-lg-1 {
-    width: 8.33333333%; }
-  .col-lg-pull-12 {
-    right: 100%; }
-  .col-lg-pull-11 {
-    right: 91.66666667%; }
-  .col-lg-pull-10 {
-    right: 83.33333333%; }
-  .col-lg-pull-9 {
-    right: 75%; }
-  .col-lg-pull-8 {
-    right: 66.66666667%; }
-  .col-lg-pull-7 {
-    right: 58.33333333%; }
-  .col-lg-pull-6 {
-    right: 50%; }
-  .col-lg-pull-5 {
-    right: 41.66666667%; }
-  .col-lg-pull-4 {
-    right: 33.33333333%; }
-  .col-lg-pull-3 {
-    right: 25%; }
-  .col-lg-pull-2 {
-    right: 16.66666667%; }
-  .col-lg-pull-1 {
-    right: 8.33333333%; }
-  .col-lg-pull-0 {
-    right: auto; }
-  .col-lg-push-12 {
-    left: 100%; }
-  .col-lg-push-11 {
-    left: 91.66666667%; }
-  .col-lg-push-10 {
-    left: 83.33333333%; }
-  .col-lg-push-9 {
-    left: 75%; }
-  .col-lg-push-8 {
-    left: 66.66666667%; }
-  .col-lg-push-7 {
-    left: 58.33333333%; }
-  .col-lg-push-6 {
-    left: 50%; }
-  .col-lg-push-5 {
-    left: 41.66666667%; }
-  .col-lg-push-4 {
-    left: 33.33333333%; }
-  .col-lg-push-3 {
-    left: 25%; }
-  .col-lg-push-2 {
-    left: 16.66666667%; }
-  .col-lg-push-1 {
-    left: 8.33333333%; }
-  .col-lg-push-0 {
-    left: auto; }
-  .col-lg-offset-12 {
-    margin-left: 100%; }
-  .col-lg-offset-11 {
-    margin-left: 91.66666667%; }
-  .col-lg-offset-10 {
-    margin-left: 83.33333333%; }
-  .col-lg-offset-9 {
-    margin-left: 75%; }
-  .col-lg-offset-8 {
-    margin-left: 66.66666667%; }
-  .col-lg-offset-7 {
-    margin-left: 58.33333333%; }
-  .col-lg-offset-6 {
-    margin-left: 50%; }
-  .col-lg-offset-5 {
-    margin-left: 41.66666667%; }
-  .col-lg-offset-4 {
-    margin-left: 33.33333333%; }
-  .col-lg-offset-3 {
-    margin-left: 25%; }
-  .col-lg-offset-2 {
-    margin-left: 16.66666667%; }
-  .col-lg-offset-1 {
-    margin-left: 8.33333333%; }
-  .col-lg-offset-0 {
-    margin-left: 0%; } }
+@media screen and (max-width: 880px) {
+  .dual-column-content {
+    -webkit-columns: 1;
+            columns: 1; } }
 
+/**
+ * Fixes
+ */
 .clearfix:before,
-.clearfix:after,
-.container:before,
-.container:after,
-.container-fluid:before,
-.container-fluid:after,
-.row:before,
-.row:after {
+.clearfix:after {
   content: " ";
   display: table; }
 
-.clearfix:after,
-.container:after,
-.container-fluid:after,
-.row:after {
+.clearfix:after {
   clear: both; }
 
-.center-block {
-  display: block;
-  margin-left: auto;
-  margin-right: auto; }
-
-/*
-* This file container all block styling including background shading,
-* margins, paddings & borders.
-*/
-/*
-* Background Shading
-*/
-.shaded {
-  background-color: #f1f1f1; }
-  .shaded.pos {
-    background-color: #d6ead7; }
-  .shaded.neg {
-    background-color: #f4a9a9; }
-  .shaded.primary {
-    background-color: #a1ddfe; }
-  .shaded.secondary {
-    background-color: #f6d7c6; }
-
-/*
-* Bordering
-*/
-.bordered {
-  border: 1px solid #BBB; }
-  .bordered.pos {
-    border-color: #52A256; }
-  .bordered.neg {
-    border-color: #E84F4F; }
-  .bordered.primary {
-    border-color: #0288D1; }
-  .bordered.secondary {
-    border-color: #e27b41; }
-  .bordered.thick {
-    border-width: 2px; }
-
-.rounded {
-  border-radius: 3px; }
-
-/*
-* Padding
-*/
-.nopadding {
-  padding: 0; }
-
-.padded {
-  padding: 24px; }
-  .padded.large {
-    padding: 32px; }
-  .padded > h1:first-child, .padded > h2:first-child, .padded > h3:first-child, .padded > h4:first-child {
-    margin-top: 0.1em; }
-
-.padded-vertical, .padded-top {
-  padding-top: 16px; }
-  .padded-vertical.large, .padded-top.large {
-    padding-top: 32px; }
-
-.padded-vertical, .padded-bottom {
-  padding-bottom: 16px; }
-  .padded-vertical.large, .padded-bottom.large {
-    padding-bottom: 32px; }
-
-.padded-horizontal, .padded-left {
-  padding-left: 16px; }
-  .padded-horizontal.large, .padded-left.large {
-    padding-left: 32px; }
-
-.padded-horizontal, .padded-right {
-  padding-right: 16px; }
-  .padded-horizontal.large, .padded-right.large {
-    padding-right: 32px; }
-
-/*
-* Margins
-*/
-.margins {
-  margin: 24px; }
-  .margins.large {
-    margin: 32px; }
-
-.margins-vertical, .margin-top {
-  margin-top: 16px; }
-  .margins-vertical.large, .margin-top.large {
-    margin-top: 32px; }
-
-.margins-vertical, .margin-bottom {
-  margin-bottom: 16px; }
-  .margins-vertical.large, .margin-bottom.large {
-    margin-bottom: 32px; }
+/**
+ * View Layouts
+ */
+.tri-layout-container {
+  display: grid;
+  margin-left: 32px;
+  margin-right: 32px;
+  grid-template-columns: 1fr 4fr 1fr;
+  grid-template-areas: "a b c";
+  grid-column-gap: 48px; }
+  .tri-layout-container .tri-layout-right {
+    grid-area: c;
+    min-width: 0; }
+  .tri-layout-container .tri-layout-left {
+    grid-area: a;
+    min-width: 0; }
+  .tri-layout-container .tri-layout-middle {
+    grid-area: b;
+    padding-top: 16px; }
+
+@media screen and (max-width: 1400px) {
+  .tri-layout-container {
+    grid-template-areas: "c b b" "a b b";
+    grid-template-columns: 1fr 3fr;
+    grid-template-rows: -webkit-max-content -webkit-min-content;
+    grid-template-rows: max-content min-content;
+    padding-right: 24px; } }
+
+@media screen and (min-width: 1400px) {
+  .tri-layout-left-contents, .tri-layout-right-contents {
+    padding: 16px;
+    position: -webkit-sticky;
+    position: sticky;
+    top: 16px;
+    max-height: 100vh;
+    min-height: 50vh;
+    overflow-y: scroll;
+    overflow-x: hidden;
+    scrollbar-width: none;
+    -ms-overflow-style: none; }
+    .tri-layout-left-contents::-webkit-scrollbar, .tri-layout-right-contents::-webkit-scrollbar {
+      display: none; }
+  .tri-layout-middle-contents {
+    max-width: 940px;
+    margin: 0 auto; } }
+
+@media screen and (max-width: 1000px) {
+  .tri-layout-container {
+    grid-template-areas: none;
+    grid-template-columns: 1fr;
+    grid-column-gap: 0;
+    padding-right: 6px;
+    padding-left: 6px; }
+    .tri-layout-container .tri-layout-left-contents, .tri-layout-container .tri-layout-right-contents {
+      padding-left: 16px;
+      padding-right: 16px; }
+    .tri-layout-container .tri-layout-right-contents > div, .tri-layout-container .tri-layout-left-contents > div {
+      opacity: 0.6;
+      z-index: 0; }
+    .tri-layout-container .tri-layout-left > *, .tri-layout-container .tri-layout-right > * {
+      display: none;
+      pointer-events: none; }
+    .tri-layout-container .tri-layout-left, .tri-layout-container .tri-layout-right {
+      grid-area: none;
+      grid-column: 1/1;
+      grid-row: 1;
+      padding-top: 0 !important; }
+    .tri-layout-container .tri-layout-middle {
+      grid-area: none;
+      grid-row: 3;
+      grid-column: 1/1;
+      z-index: 1;
+      overflow: hidden;
+      transition: -webkit-transform ease-in-out 240ms;
+      transition: transform ease-in-out 240ms;
+      transition: transform ease-in-out 240ms, -webkit-transform ease-in-out 240ms; }
+    .tri-layout-container .tri-layout-left {
+      grid-row: 2; }
+    .tri-layout-container.show-info {
+      overflow: hidden; }
+      .tri-layout-container.show-info .tri-layout-middle {
+        display: none; }
+      .tri-layout-container.show-info .tri-layout-right > *, .tri-layout-container.show-info .tri-layout-left > * {
+        display: block;
+        pointer-events: auto; } }
+
+@media screen and (min-width: 1000px) {
+  .tri-layout-mobile-tabs {
+    display: none; } }
 
-.margins-horizontal, .margin-left {
-  margin-left: 16px; }
-  .margins-horizontal.large, .margin-left.large {
-    margin-left: 32px; }
+@media screen and (max-width: 880px) {
+  .tri-layout-container {
+    margin-left: 0;
+    margin-right: 0; } }
 
-.margins-horizontal, .margin-right {
-  margin-right: 16px; }
-  .margins-horizontal.large, .margin-right.large {
-    margin-right: 32px; }
+.tri-layout-left-contents > div, .tri-layout-right-contents > div {
+  opacity: 0.6;
+  transition: opacity ease-in-out 120ms; }
+  .tri-layout-left-contents > div:hover, .tri-layout-right-contents > div:hover {
+    opacity: 1; }
 
 /**
  * Callouts
@@ -1262,7 +1075,7 @@ div[class^="col-"] img {
     content: '';
     width: 1.2em;
     height: 1.2em;
-    left: 7px;
+    left: 8px;
     top: 50%;
     margin-top: -9px;
     display: inline-block;
@@ -1270,72 +1083,70 @@ div[class^="col-"] img {
     line-height: 1;
     opacity: 0.8; }
   .callout.success {
-    border-left-color: #52A256;
-    background-color: #e7f3e7;
-    color: #376c39; }
+    border-left-color: #0f7d15;
+    background-color: #eafdeb;
+    color: #063409; }
   .callout.success:before {
     background-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiMzNzZjMzkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4gICAgPHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bS0yIDE1bC01LTUgMS40MS0xLjQxTDEwIDE0LjE3bDcuNTktNy41OUwxOSA4bC05IDl6Ii8+PC9zdmc+"); }
   .callout.danger {
-    border-left-color: #E84F4F;
-    background-color: #fce8e8;
-    color: #b91818; }
+    border-left-color: #ab0f0e;
+    background-color: #fcdbdb;
+    color: #4d0706; }
   .callout.danger:before {
     background-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiNiOTE4MTgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0xNS43MyAzSDguMjdMMyA4LjI3djcuNDZMOC4yNyAyMWg3LjQ2TDIxIDE1LjczVjguMjdMMTUuNzMgM3pNMTIgMTcuM2MtLjcyIDAtMS4zLS41OC0xLjMtMS4zIDAtLjcyLjU4LTEuMyAxLjMtMS4zLjcyIDAgMS4zLjU4IDEuMyAxLjMgMCAuNzItLjU4IDEuMy0xLjMgMS4zem0xLTQuM2gtMlY3aDJ2NnoiLz4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjwvc3ZnPg=="); }
   .callout.info {
     border-left-color: #0288D1;
     background-color: #d3efff;
-    color: #015380; }
+    color: #01466c; }
   .callout.warning {
-    border-left-color: #e27b41;
-    background-color: #faeae0;
-    color: #b6531c; }
+    border-left-color: #cf4d03;
+    background-color: #fee3d3;
+    color: #6a2802; }
   .callout.warning:before {
     background-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiNiNjUzMWMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4gICAgPHBhdGggZD0iTTEgMjFoMjJMMTIgMiAxIDIxem0xMi0zaC0ydi0yaDJ2MnptMC00aC0ydi00aDJ2NHoiLz48L3N2Zz4="); }
 
+/**
+ * Card-style blocks
+ */
 .card {
-  margin: 16px;
   background-color: #FFF;
-  box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.2); }
-  .card h3 {
-    padding: 16px;
-    border-bottom: 1px solid #E8E8E8;
-    margin: 0;
-    font-size: 14px;
-    color: #888;
-    fill: #888;
-    font-weight: 400;
-    text-transform: uppercase; }
-  .card h3 a {
-    line-height: 1; }
+  box-shadow: 0 1px 6px -1px rgba(0, 0, 0, 0.1);
+  border-radius: 3px;
+  border: 1px solid transparent; }
   .card .body, .card p.empty-text {
     padding: 16px; }
   .card a, .card p {
     word-wrap: break-word;
     word-break: break-word; }
 
-.sidebar .card h3, .sidebar .card .body, .sidebar .card .empty-text {
-  padding: 12px 16px; }
+.card-title {
+  padding: 16px 16px 6px;
+  margin: 0;
+  font-size: 14px;
+  color: #222;
+  fill: #222;
+  font-weight: 400; }
+
+.card-title a {
+  line-height: 1; }
 
 .card.drag-card {
   border: 1px solid #DDD;
   border-radius: 4px;
   display: flex;
-  padding: 0;
-  padding-left: 40px;
+  padding: 0 0 0 40px;
   margin: 12px 0;
   position: relative; }
   .card.drag-card .drag-card-action {
     cursor: pointer; }
   .card.drag-card .handle, .card.drag-card .drag-card-action {
     display: flex;
-    padding: 0;
     align-items: center;
     text-align: center;
     justify-content: center;
     width: 28px;
     flex-grow: 0;
-    padding-left: 6px;
-    padding-right: 6px; }
+    padding: 0 6px; }
     .card.drag-card .handle:hover, .card.drag-card .drag-card-action:hover {
       background-color: #EEE; }
     .card.drag-card .handle .svg-icon, .card.drag-card .drag-card-action .svg-icon {
@@ -1343,8 +1154,6 @@ div[class^="col-"] img {
   .card.drag-card > div .outline input {
     margin: 12px 0;
     width: 100%; }
-  .card.drag-card > div.padded {
-    padding: 12px 0 !important; }
   .card.drag-card .handle {
     background-color: #EEE;
     left: 0;
@@ -1356,11 +1165,72 @@ div[class^="col-"] img {
     max-width: 80%;
     flex: 1; }
 
-.well {
-  background-color: #F8F8F8;
-  padding: 16px;
-  border: 1px solid #DDD; }
+.grid-card {
+  display: flex;
+  flex-direction: column;
+  border: 1px solid #ddd;
+  margin-bottom: 24px;
+  border-radius: 4px;
+  overflow: hidden;
+  min-width: 100px;
+  color: #444;
+  transition: border-color ease-in-out 120ms, box-shadow ease-in-out 120ms; }
+  .grid-card:hover {
+    color: #444;
+    text-decoration: none;
+    box-shadow: 0 1px 6px -1px rgba(0, 0, 0, 0.1); }
+  .grid-card h2 {
+    width: 100%;
+    font-size: 1.5em;
+    margin: 0 0 10px; }
+  .grid-card p {
+    font-size: .7rem;
+    margin: 0;
+    line-height: 1.6em; }
+  .grid-card .grid-card-content {
+    flex: 1;
+    border-top: 0;
+    border-bottom-width: 2px; }
+  .grid-card .grid-card-content, .grid-card .grid-card-footer {
+    padding: 24px; }
+  .grid-card .grid-card-content + .grid-card-footer {
+    padding-top: 0; }
 
+.bookshelf-grid-item .grid-card-content h2 a {
+  color: #af5a5a;
+  fill: #af5a5a; }
+
+.book-grid-item .grid-card-footer p.small {
+  font-size: .8em;
+  margin: 0; }
+
+.content-wrap.card {
+  padding: 16px 48px;
+  margin-left: auto;
+  margin-right: auto;
+  margin-bottom: 32px;
+  overflow: auto;
+  min-height: 60vh; }
+  .content-wrap.card.auto-height {
+    min-height: 0; }
+  .content-wrap.card.fill-width {
+    width: 100%; }
+
+@media screen and (max-width: 1400px) {
+  .content-wrap.card {
+    padding: 24px 32px; } }
+
+@media screen and (max-width: 880px) {
+  .content-wrap.card {
+    padding: 16px 24px; } }
+
+@media screen and (max-width: 600px) {
+  .content-wrap.card {
+    padding: 16px 12px; } }
+
+/**
+ * Tags
+ */
 .tag-item {
   display: inline-flex;
   margin-bottom: 6px;
@@ -1379,138 +1249,54 @@ div[class^="col-"] img {
   .tag-item svg {
     fill: #888; }
   .tag-item .tag-value {
-    border-left: 1px solid #DDD;
-    background-color: rgba(255, 255, 255, 0.5); }
-
-.tag-list div:last-child .tag-item {
-  margin-bottom: 0; }
-
-.button-base, .button, input[type="button"], input[type="submit"] {
-  text-decoration: none;
-  font-size: 15px;
-  line-height: 1.4em;
-  padding: 7.8px 16px;
-  margin: 6px 6px 6px 0;
-  display: inline-block;
-  border: none;
-  font-weight: 400;
-  outline: 0;
-  border-radius: 2px;
-  cursor: pointer;
-  transition: all ease-in-out 120ms;
-  box-shadow: 0;
-  background-color: #0288D1;
-  color: #EEE;
-  fill: #EEE;
-  text-transform: uppercase;
-  border: 1px solid #0288D1;
-  vertical-align: top; }
-  .button-base:hover, .button:hover, input:hover[type="button"], input:hover[type="submit"] {
-    background-color: #02a2f9;
-    text-decoration: none;
-    color: #EEE; }
-  .button-base:active, .button:active, input:active[type="button"], input:active[type="submit"] {
-    background-color: #026ea9; }
-  .button-base:focus, .button:focus, input:focus[type="button"], input:focus[type="submit"] {
-    background-color: #0295e5;
-    box-shadow: 0 0 4px 1px #CCC;
-    text-decoration: none;
-    color: #EEE; }
-
-.button.pos, input[type="button"].pos, input[type="submit"].pos {
-  background-color: #52A256;
-  color: #EEE;
-  fill: #EEE;
-  text-transform: uppercase;
-  border: 1px solid #52A256;
-  vertical-align: top; }
-  .button.pos:hover, input[type="button"].pos:hover, input[type="submit"].pos:hover {
-    background-color: #69b36d;
-    text-decoration: none;
-    color: #EEE; }
-  .button.pos:active, input[type="button"].pos:active, input[type="submit"].pos:active {
-    background-color: #448748; }
-  .button.pos:focus, input[type="button"].pos:focus, input[type="submit"].pos:focus {
-    background-color: #5cac60;
-    box-shadow: 0 0 4px 1px #CCC;
-    text-decoration: none;
-    color: #EEE; }
-
-.button.neg, input[type="button"].neg, input[type="submit"].neg {
-  background-color: #E84F4F;
-  color: #EEE;
-  fill: #EEE;
-  text-transform: uppercase;
-  border: 1px solid #E84F4F;
-  vertical-align: top; }
-  .button.neg:hover, input[type="button"].neg:hover, input[type="submit"].neg:hover {
-    background-color: #ed7373;
-    text-decoration: none;
-    color: #EEE; }
-  .button.neg:active, input[type="button"].neg:active, input[type="submit"].neg:active {
-    background-color: #e32b2b; }
-  .button.neg:focus, input[type="button"].neg:focus, input[type="submit"].neg:focus {
-    background-color: #ea6161;
-    box-shadow: 0 0 4px 1px #CCC;
-    text-decoration: none;
-    color: #EEE; }
+    border-left: 1px solid #DDD;
+    background-color: rgba(255, 255, 255, 0.5); }
 
-.button.secondary, input[type="button"].secondary, input[type="submit"].secondary {
-  background-color: #e27b41;
-  color: #EEE;
-  fill: #EEE;
-  text-transform: uppercase;
-  border: 1px solid #e27b41;
-  vertical-align: top; }
-  .button.secondary:hover, input[type="button"].secondary:hover, input[type="submit"].secondary:hover {
-    background-color: #e79464;
-    text-decoration: none;
-    color: #EEE; }
-  .button.secondary:active, input[type="button"].secondary:active, input[type="submit"].secondary:active {
-    background-color: #d96321; }
-  .button.secondary:focus, input[type="button"].secondary:focus, input[type="submit"].secondary:focus {
-    background-color: #e58753;
-    box-shadow: 0 0 4px 1px #CCC;
-    text-decoration: none;
-    color: #EEE; }
+.tag-list div:last-child .tag-item {
+  margin-bottom: 0; }
 
-.button.muted, input[type="button"].muted, input[type="submit"].muted {
-  background-color: #AAA;
-  color: #EEE;
-  fill: #EEE;
-  text-transform: uppercase;
-  border: 1px solid #AAA;
-  vertical-align: top; }
-  .button.muted:hover, input[type="button"].muted:hover, input[type="submit"].muted:hover {
-    background-color: #bebebe;
-    text-decoration: none;
-    color: #EEE; }
-  .button.muted:active, input[type="button"].muted:active, input[type="submit"].muted:active {
-    background-color: #969696; }
-  .button.muted:focus, input[type="button"].muted:focus, input[type="submit"].muted:focus {
-    background-color: #b4b4b4;
-    box-shadow: 0 0 4px 1px #CCC;
-    text-decoration: none;
-    color: #EEE; }
+button {
+  font-size: 100%; }
 
-.button.muted-light, input[type="button"].muted-light, input[type="submit"].muted-light {
-  background-color: #e4e4e4;
-  color: #666;
-  fill: #666;
+.button {
+  text-decoration: none;
+  font-size: 0.85rem;
+  line-height: 1.4em;
+  padding: 7.8px 16px;
+  margin-top: 6px;
+  margin-bottom: 6px;
+  display: inline-block;
+  font-weight: 400;
+  outline: 0;
+  border-radius: 2px;
+  cursor: pointer;
+  transition: background-color ease-in-out 120ms, box-shadow ease-in-out 120ms;
+  box-shadow: none;
+  background-color: #0288D1;
+  color: #FFF;
+  fill: #FFF;
   text-transform: uppercase;
-  border: 1px solid #e4e4e4;
+  border: 1px solid #0288D1;
   vertical-align: top; }
-  .button.muted-light:hover, input[type="button"].muted-light:hover, input[type="submit"].muted-light:hover {
-    background-color: #f8f8f8;
-    text-decoration: none;
-    color: #666; }
-  .button.muted-light:active, input[type="button"].muted-light:active, input[type="submit"].muted-light:active {
-    background-color: #d0d0d0; }
-  .button.muted-light:focus, input[type="button"].muted-light:focus, input[type="submit"].muted-light:focus {
-    background-color: #eeeeee;
+  .button:hover, .button:focus {
+    text-decoration: none; }
+  .button:active {
+    background-color: #026ea9; }
+
+.button.primary {
+  background-color: #0288D1;
+  color: #FFFFFF;
+  fill: #FFFFFF;
+  border: 1px solid #0288D1; }
+  .button.primary:hover {
+    background-color: #02a2f9;
+    color: #FFFFFF; }
+  .button.primary:active {
+    background-color: #026ea9; }
+  .button.primary:focus {
+    background-color: #0295e5;
     box-shadow: 0 0 4px 1px #CCC;
-    text-decoration: none;
-    color: #666; }
+    color: #FFFFFF; }
 
 .button.outline {
   background-color: transparent;
@@ -1520,32 +1306,16 @@ div[class^="col-"] img {
   .button.outline:hover, .button.outline:focus, .button.outline:active {
     box-shadow: none;
     background-color: #EEE; }
-  .button.outline.page {
-    border-color: #0288D1;
-    color: #0288D1;
-    fill: #0288D1; }
-    .button.outline.page:hover, .button.outline.page:focus, .button.outline.page:active {
-      background-color: #0288D1;
-      color: #FFF;
-      fill: #FFF; }
-  .button.outline.chapter {
-    border-color: #ef7c3c;
-    color: #ef7c3c;
-    fill: #ef7c3c; }
-    .button.outline.chapter:hover, .button.outline.chapter:focus, .button.outline.chapter:active {
-      background-color: #ef7c3c;
-      color: #FFF;
-      fill: #FFF; }
-  .button.outline.book {
-    border-color: #009688;
-    color: #009688;
-    fill: #009688; }
-    .button.outline.book:hover, .button.outline.book:focus, .button.outline.book:active {
-      background-color: #009688;
-      color: #FFF;
-      fill: #FFF; }
+
+.button + .button {
+  margin-left: 12px; }
+
+.button.small {
+  font-size: 0.75rem;
+  padding: 7.2px 12px; }
 
 .text-button {
+  cursor: pointer;
   background-color: transparent;
   padding: 0;
   margin: 0;
@@ -1553,44 +1323,24 @@ div[class^="col-"] img {
   -webkit-user-select: none;
      -moz-user-select: none;
       -ms-user-select: none;
-          user-select: none; }
+          user-select: none;
+  font-size: 0.75rem;
+  line-height: 1.4em; }
   .text-button:focus, .text-button:active {
     outline: 0; }
   .text-button:hover {
     text-decoration: none; }
-  .text-button.neg {
-    color: #E84F4F; }
-
-.button-group:after {
-  display: block;
-  content: '';
-  font-size: 0;
-  clear: both;
-  position: relative; }
-
-.button-group .button, .button-group button[type="button"] {
-  margin: 6px 0 6px 0;
-  float: left;
-  border-radius: 0; }
-  .button-group .button:first-child, .button-group button[type="button"]:first-child {
-    border-radius: 2px 0 0 2px; }
-  .button-group .button:last-child, .button-group button[type="button"]:last-child {
-    border-radius: 0 2px 2px 0; }
 
 .button.block {
   width: 100%;
-  text-align: center;
+  text-align: left;
   display: block; }
-  .button.block.text-left {
-    text-align: left; }
 
 .button.icon .svg-icon {
   margin-right: 0; }
 
 .button.svg {
-  padding: 12px 16px;
-  padding-bottom: 10px;
-  padding-left: 56px; }
+  padding: 12px 16px 10px 56px; }
   .button.svg svg {
     display: inline-block;
     position: absolute;
@@ -1624,12 +1374,12 @@ table {
 
 table.table {
   width: 100%; }
-  table.table tr {
-    border-bottom: 1px solid #DDD; }
+  table.table tr td, table.table tr th {
+    border-bottom: 1px solid rgba(0, 0, 0, 0.05); }
   table.table th, table.table td {
     text-align: left;
     border: none;
-    padding: 6px 6px;
+    padding: 12px 12px;
     vertical-align: middle;
     margin: 0; }
   table.table th {
@@ -1642,6 +1392,8 @@ table.table {
     text-align: center; }
   table.table td.actions {
     overflow: visible; }
+  table.table a {
+    display: inline-block; }
 
 table.no-style td {
   border: 0;
@@ -1659,15 +1411,15 @@ table.list-table {
   border-radius: 3px;
   border: 1px solid #D4D4D4;
   display: inline-block;
-  font-size: 14px;
+  font-size: 12px;
   padding: 9px;
   color: #666;
   width: 250px;
   max-width: 100%; }
   .input-base.neg, .neg.fake-input, input.neg[type="text"], input.neg[type="number"], input.neg[type="email"], input.neg[type="date"], input.neg[type="search"], input.neg[type="url"], input.neg[type="password"], select.neg, textarea.neg, .input-base.invalid, .invalid.fake-input, input.invalid[type="text"], input.invalid[type="number"], input.invalid[type="email"], input.invalid[type="date"], input.invalid[type="search"], input.invalid[type="url"], input.invalid[type="password"], select.invalid, textarea.invalid {
-    border: 1px solid #E84F4F; }
+    border: 1px solid #ab0f0e; }
   .input-base.pos, .pos.fake-input, input.pos[type="text"], input.pos[type="number"], input.pos[type="email"], input.pos[type="date"], input.pos[type="search"], input.pos[type="url"], input.pos[type="password"], select.pos, textarea.pos, .input-base.valid, .valid.fake-input, input.valid[type="text"], input.valid[type="number"], input.valid[type="email"], input.valid[type="date"], input.valid[type="search"], input.valid[type="url"], input.valid[type="password"], select.valid, textarea.valid {
-    border: 1px solid #52A256; }
+    border: 1px solid #0f7d15; }
   .input-base.disabled, .disabled.fake-input, input.disabled[type="text"], input.disabled[type="number"], input.disabled[type="email"], input.disabled[type="date"], input.disabled[type="search"], input.disabled[type="url"], input.disabled[type="password"], select.disabled, textarea.disabled, .input-base[disabled], .fake-input[disabled], input[disabled][type="text"], input[disabled][type="number"], input[disabled][type="email"], input[disabled][type="date"], input[disabled][type="search"], input[disabled][type="url"], input[disabled][type="password"], select[disabled], textarea[disabled] {
     background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAAMUlEQVQIW2NkwAGuXbv2nxGbHEhCS0uLEUMSJgHShCKJLIEiiS4Bl8QmAZbEJQGSBAC62BuJ+tt7zgAAAABJRU5ErkJggg==); }
   .input-base:focus, .fake-input:focus, input:focus[type="text"], input:focus[type="number"], input:focus[type="email"], input:focus[type="date"], input:focus[type="search"], input:focus[type="url"], input:focus[type="password"], select:focus, textarea:focus {
@@ -1704,6 +1456,26 @@ table.list-table {
     width: 50%;
     max-width: 50%; }
 
+@media screen and (max-width: 880px) {
+  #markdown-editor {
+    flex-direction: column; }
+  #markdown-editor .markdown-editor-wrap {
+    width: 100%;
+    max-width: 100%; }
+  #markdown-editor .editor-toolbar {
+    padding: 0; }
+  #markdown-editor .editor-toolbar > * {
+    padding: 6px 12px; }
+  .editor-toolbar-label {
+    float: none !important;
+    border-bottom: 1px solid #DDD;
+    display: block; }
+  .markdown-editor-wrap:not(.active) .editor-toolbar + div, .markdown-editor-wrap:not(.active) .editor-toolbar .buttons {
+    display: none; }
+  #markdown-editor .markdown-editor-wrap:not(.active) {
+    flex-grow: 0;
+    flex: none; } }
+
 .markdown-display {
   padding: 0 16px 0;
   margin-left: -1px;
@@ -1733,7 +1505,7 @@ label {
   line-height: 1.4em;
   font-size: 0.94em;
   font-weight: 400;
-  color: #999;
+  color: #666;
   padding-bottom: 2px;
   margin-bottom: 0.2em; }
   label.inline {
@@ -1764,70 +1536,89 @@ input[type=date] {
   width: 190px; }
 
 .toggle-switch {
-  display: inline-block;
-  background-color: #BBB;
-  width: 36px;
-  height: 14px;
-  border-radius: 7px;
-  position: relative;
-  transition: all ease-in-out 120ms;
-  cursor: pointer;
   -webkit-user-select: none;
      -moz-user-select: none;
       -ms-user-select: none;
-          user-select: none; }
-  .toggle-switch:after {
-    content: '';
-    display: block;
-    position: relative;
-    left: 0;
-    margin-top: -3px;
-    width: 20px;
-    height: 20px;
-    border-radius: 50%;
-    background-color: #fafafa;
-    border: 1px solid #CCC;
-    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
-    transition: all ease-in-out 120ms; }
-  .toggle-switch.active {
-    background-color: rgba(82, 162, 86, 0.4); }
-    .toggle-switch.active:after {
-      left: 16px;
-      background-color: #52A256;
-      border: #305e32; }
-
-.toggle-switch-checkbox {
-  display: none; }
+          user-select: none;
+  display: inline-grid;
+  grid-template-columns: 28px 1fr;
+  align-items: center;
+  margin: 16px 0; }
+  .toggle-switch .custom-checkbox {
+    width: 16px;
+    height: 16px;
+    border-radius: 2px;
+    display: inline-block;
+    border: 2px solid currentColor;
+    opacity: 0.6;
+    overflow: hidden;
+    fill: currentColor; }
+    .toggle-switch .custom-checkbox .svg-icon {
+      width: 100%;
+      height: 100%;
+      margin: 0;
+      bottom: auto;
+      top: -1.5px;
+      left: 0;
+      transition: -webkit-transform ease-in-out 120ms;
+      transition: transform ease-in-out 120ms;
+      transition: transform ease-in-out 120ms, -webkit-transform ease-in-out 120ms;
+      -webkit-transform: scale(0);
+              transform: scale(0);
+      -webkit-transform-origin: center center;
+              transform-origin: center center; }
+  .toggle-switch input[type=checkbox] {
+    display: none; }
+  .toggle-switch input[type=checkbox]:checked + .custom-checkbox .svg-icon {
+    -webkit-transform: scale(1);
+            transform: scale(1); }
+  .toggle-switch .custom-checkbox:hover {
+    background-color: rgba(0, 0, 0, 0.05);
+    opacity: 0.8; }
 
-input:checked + .toggle-switch {
-  background-color: rgba(82, 162, 86, 0.4); }
-  input:checked + .toggle-switch:after {
-    left: 16px;
-    background-color: #52A256;
-    border: #305e32; }
+.toggle-switch-list .toggle-switch {
+  margin: 6px 0; }
+
+.toggle-switch-list.compact .toggle-switch {
+  margin: 1px 0; }
 
 .form-group {
   margin-bottom: 12px; }
-  .form-group textarea {
-    display: block;
-    width: 100%;
-    min-height: 64px; }
+
+.setting-list > div {
+  border-bottom: 1px solid #DDD;
+  padding: 32px 0; }
+  .setting-list > div:last-child {
+    border-bottom: none; }
+
+.setting-list-label {
+  color: #222;
+  font-size: 1rem; }
+
+.setting-list-label + p.small {
+  margin-bottom: 0; }
+
+.setting-list-label + .grid {
+  margin-top: 16px; }
+
+.setting-list .grid input[type=text], .setting-list .grid input[type=email], .setting-list .grid input[type=password], .setting-list .grid select, .stretch-inputs input[type=text], .stretch-inputs input[type=email], .stretch-inputs input[type=password], .stretch-inputs select {
+  width: 100%; }
 
 .simple-code-input {
   background-color: #F8F8F8;
   font-family: monospace;
   font-size: 12px;
-  min-height: 100px; }
+  min-height: 100px;
+  display: block;
+  width: 100%; }
 
-.form-group .text-pos, .form-group .text-neg {
+.form-group div.text-pos, .form-group div.text-neg, .form-group p.text-post, .form-group p.text-neg {
   padding: 6px 0; }
 
 .form-group[collapsible] {
-  margin-left: -16px;
-  margin-right: -16px;
   padding: 0 16px;
-  border-top: 1px solid #DDD;
-  border-bottom: 1px solid #DDD; }
+  border: 1px solid #DDD;
+  border-radius: 4px; }
   .form-group[collapsible] .collapse-title {
     margin-left: -16px;
     margin-right: -16px;
@@ -1840,7 +1631,7 @@ input:checked + .toggle-switch {
     color: inherit; }
   .form-group[collapsible] .collapse-title label:before {
     display: inline-block;
-    content: '\25B8';
+    content: 'â–¸';
     margin-right: 16px;
     transition: all ease-in-out 400ms;
     -webkit-transform: rotate(0);
@@ -1851,8 +1642,6 @@ input:checked + .toggle-switch {
   .form-group[collapsible].open .collapse-title label:before {
     -webkit-transform: rotate(90deg);
             transform: rotate(90deg); }
-  .form-group[collapsible] + .form-group[collapsible] {
-    margin-top: -13px; }
 
 .inline-input-style, .title-input input[type="text"], .description-input textarea {
   display: block;
@@ -1879,7 +1668,7 @@ input:checked + .toggle-switch {
   font-size: 1.4em; }
 
 .description-input textarea {
-  font-size: 15px;
+  font-size: 14px;
   color: #666;
   width: 100%; }
 
@@ -1903,6 +1692,11 @@ div[editor-type="markdown"] .title-input.page-title input[type="text"] {
     padding-left: 24px;
     width: 300px;
     max-width: 100%; }
+  .search-box.flexible input {
+    width: 100%; }
+  .search-box .search-box-cancel {
+    left: auto;
+    right: 0; }
 
 .outline > input {
   border: 0;
@@ -1913,14 +1707,9 @@ div[editor-type="markdown"] .title-input.page-title input[type="text"] {
     border-bottom: 2px solid #AAA;
     outline: 0; }
 
-#login-form label[for="remember"] {
-  margin: 0; }
-
-#login-form label.toggle-switch {
-  margin-left: 32px; }
-
 .image-picker img {
-  background-color: #BBB; }
+  background-color: #BBB;
+  max-width: 100%; }
 
 .anim.fadeIn {
   opacity: 0;
@@ -1978,38 +1767,6 @@ div[editor-type="markdown"] .title-input.page-title input[type="text"] {
     -webkit-transform: translate3d(0, 0, 0);
             transform: translate3d(0, 0, 0); } }
 
-.anim.menuIn {
-  -webkit-transform-origin: 100% 0%;
-          transform-origin: 100% 0%;
-  -webkit-animation-name: menuIn;
-          animation-name: menuIn;
-  -webkit-animation-duration: 120ms;
-          animation-duration: 120ms;
-  -webkit-animation-delay: 0s;
-          animation-delay: 0s;
-  -webkit-animation-timing-function: cubic-bezier(0.62, 0.28, 0.23, 0.99);
-          animation-timing-function: cubic-bezier(0.62, 0.28, 0.23, 0.99); }
-
-@-webkit-keyframes menuIn {
-  from {
-    opacity: 0;
-    -webkit-transform: scale3d(0, 0, 1);
-            transform: scale3d(0, 0, 1); }
-  to {
-    opacity: 1;
-    -webkit-transform: scale3d(1, 1, 1);
-            transform: scale3d(1, 1, 1); } }
-
-@keyframes menuIn {
-  from {
-    opacity: 0;
-    -webkit-transform: scale3d(0, 0, 1);
-            transform: scale3d(0, 0, 1); }
-  to {
-    opacity: 1;
-    -webkit-transform: scale3d(1, 1, 1);
-            transform: scale3d(1, 1, 1); } }
-
 @-webkit-keyframes loadingBob {
   0% {
     -webkit-transform: translate3d(0, 0, 0);
@@ -2072,9 +1829,6 @@ div[editor-type="markdown"] .title-input.page-title input[type="text"] {
   -webkit-animation-timing-function: cubic-bezier(0.62, 0.28, 0.23, 0.99);
           animation-timing-function: cubic-bezier(0.62, 0.28, 0.23, 0.99); }
 
-.selectFade {
-  transition: background-color ease-in-out 3000ms; }
-
 .mce-tinymce.mce-container.mce-fullscreen {
   position: fixed;
   top: 0;
@@ -2092,6 +1846,11 @@ div[editor-type="markdown"] .title-input.page-title input[type="text"] {
 .mce-container-body.mce-flow-layout {
   text-align: center; }
 
+@media screen and (max-width: 1000px) {
+  .mce-container-body.mce-flow-layout {
+    overflow-x: scroll;
+    white-space: nowrap; } }
+
 .edit-area.flex > div > .mce-tinymce.mce-container.mce-panel {
   flex: 1 1 auto;
   display: flex !important;
@@ -2116,6 +1875,9 @@ div[editor-type="markdown"] .title-input.page-title input[type="text"] {
 .page-content.mce-content-body p {
   line-height: 1.6; }
 
+.page-content.mce-content-body {
+  padding-top: 16px; }
+
 .mce-colorbtn-trans {
   overflow: hidden; }
 
@@ -2398,9 +2160,6 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {
   cursor: default;
   z-index: 4; }
 
-.CodeMirror-gutter-wrapper ::-moz-selection {
-  background-color: transparent; }
-
 .CodeMirror-gutter-wrapper ::selection {
   background-color: transparent; }
 
@@ -2499,9 +2258,6 @@ div.CodeMirror-dragcursors {
 .CodeMirror-crosshair {
   cursor: crosshair; }
 
-.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection {
-  background: #d7d4f0; }
-
 .CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection {
   background: #d7d4f0; }
 
@@ -2545,9 +2301,6 @@ span.CodeMirror-selectedtext {
 .cm-s-base16-light div.CodeMirror-selected {
   background: #e0e0e0; }
 
-.cm-s-base16-light .CodeMirror-line::-moz-selection, .cm-s-base16-light .CodeMirror-line > span::-moz-selection, .cm-s-base16-light .CodeMirror-line > span > span::-moz-selection {
-  background: #e0e0e0; }
-
 .cm-s-base16-light .CodeMirror-line::selection, .cm-s-base16-light .CodeMirror-line > span::selection, .cm-s-base16-light .CodeMirror-line > span > span::selection {
   background: #e0e0e0; }
 
@@ -2672,7 +2425,7 @@ span.CodeMirror-selectedtext {
     -webkit-transform: translateY(0);
             transform: translateY(0); }
   .CodeMirror-copy.success {
-    background-color: #70b774;
+    background-color: #14ab1d;
     fill: #FFF; }
     .CodeMirror-copy.success svg {
       -webkit-transform: translateY(-3px);
@@ -2690,11 +2443,12 @@ span.CodeMirror-selectedtext {
   position: fixed;
   top: 0;
   right: 0;
-  margin: 64px 32px;
+  margin: 32px;
   padding: 16px 24px;
-  background-color: #EEE;
-  border-radius: 3px;
-  box-shadow: 0 1px 3px 1px rgba(76, 76, 76, 0.26), 0 1px 12px 0px rgba(76, 76, 76, 0.2);
+  background-color: #FFF;
+  border-radius: 4px;
+  border-left: 6px solid currentColor;
+  box-shadow: 0 1px 6px 1px rgba(22, 22, 22, 0.2);
   z-index: 999999;
   cursor: pointer;
   max-width: 360px;
@@ -2705,25 +2459,26 @@ span.CodeMirror-selectedtext {
           transform: translateX(580px);
   display: grid;
   grid-template-columns: 42px 1fr;
-  color: #FFF; }
+  color: #444;
+  font-weight: 700; }
   [notification] span, [notification] svg {
     vertical-align: middle;
     justify-self: center;
     align-self: center; }
   [notification] svg {
-    fill: #EEEEEE;
     width: 2.8rem;
     height: 2.8rem;
-    padding-right: 12px; }
+    padding-right: 12px;
+    fill: currentColor; }
   [notification] span {
     vertical-align: middle;
     line-height: 1.3; }
   [notification].pos {
-    background-color: #52A256; }
+    color: #0f7d15; }
   [notification].neg {
-    background-color: #E84F4F; }
+    color: #ab0f0e; }
   [notification].warning {
-    background-color: #e27b41; }
+    color: #cf4d03; }
   [notification].showing {
     -webkit-transform: translateX(0);
             transform: translateX(0); }
@@ -2740,14 +2495,18 @@ span.CodeMirror-selectedtext {
       -ms-user-select: none;
           user-select: none; }
   [chapter-toggle] svg[data-icon="caret-right"] {
+    margin-right: 0;
+    font-size: 1rem;
     transition: all ease-in-out 180ms;
     -webkit-transform: rotate(0deg);
             transform: rotate(0deg);
-    -webkit-transform-origin: 25% 50%;
-            transform-origin: 25% 50%; }
+    -webkit-transform-origin: 50% 50%;
+            transform-origin: 50% 50%; }
   [chapter-toggle].open svg[data-icon="caret-right"] {
     -webkit-transform: rotate(90deg);
             transform: rotate(90deg); }
+  [chapter-toggle] svg[data-icon="caret-right"] + * {
+    margin-left: 6px; }
 
 [overlay] {
   background-color: rgba(0, 0, 0, 0.333);
@@ -2790,7 +2549,7 @@ span.CodeMirror-selectedtext {
   .popup-body .popup-content {
     overflow-y: auto; }
 
-.corner-button {
+.popup-footer button, .popup-header-close {
   position: absolute;
   top: 0;
   right: 0;
@@ -2798,6 +2557,15 @@ span.CodeMirror-selectedtext {
   height: 40px;
   border-radius: 0;
   box-shadow: none; }
+  .popup-footer button:active, .popup-header-close:active {
+    outline: 0; }
+
+.popup-header-close {
+  background-color: transparent;
+  border: 0;
+  color: #FFF;
+  font-size: 16px;
+  padding: 0 16px; }
 
 .popup-header, .popup-footer {
   display: block !important;
@@ -2808,6 +2576,9 @@ span.CodeMirror-selectedtext {
     color: #FFF;
     padding: 8px 16px; }
 
+.popup-footer {
+  margin-top: 1px; }
+
 body.flexbox-support #entity-selector-wrap .popup-body .form-group {
   height: 444px;
   min-height: 444px; }
@@ -2815,6 +2586,9 @@ body.flexbox-support #entity-selector-wrap .popup-body .form-group {
 #entity-selector-wrap .popup-body .form-group {
   margin: 0; }
 
+.popup-body .entity-selector-container {
+  flex: 1; }
+
 .image-manager-body {
   min-height: 70vh; }
 
@@ -2859,7 +2633,7 @@ body.flexbox-support #entity-selector-wrap .popup-body .form-group {
   @media screen and (max-width: 1100px) {
     .image-manager-list .image {
       width: 25%; } }
-  @media screen and (max-width: 800px) {
+  @media screen and (max-width: 880px) {
     .image-manager-list .image .image-meta {
       display: none; } }
 
@@ -3179,7 +2953,7 @@ body.flexbox-support #entity-selector-wrap .popup-body .form-group {
   top: 88px;
   left: -12px;
   width: 160px;
-  background: #E84F4F;
+  background: #ab0f0e;
   padding: 6px;
   color: white; }
 
@@ -3192,7 +2966,7 @@ body.flexbox-support #entity-selector-wrap .popup-body .form-group {
   height: 0;
   border-left: 6px solid transparent;
   border-right: 6px solid transparent;
-  border-bottom: 6px solid #E84F4F; }
+  border-bottom: 6px solid #ab0f0e; }
 
 .tab-container .nav-tabs {
   text-align: left;
@@ -3217,64 +2991,80 @@ body.flexbox-support #entity-selector-wrap .popup-body .form-group {
     margin-right: 6px;
     text-decoration: underline; }
 
-@media screen and (max-width: 800px) {
+@media screen and (max-width: 880px) {
   #code-editor .lang-options {
     max-width: 100%; }
   #code-editor .CodeMirror {
     height: 200px; } }
 
 .comment-box {
-  clear: left;
   border: 1px solid #DDD;
-  margin-bottom: 12px;
-  border-radius: 3px; }
+  border-radius: 4px;
+  background-color: #FFF; }
   .comment-box .content {
-    padding: 12px;
     font-size: 0.666em; }
     .comment-box .content p, .comment-box .content ul, .comment-box .content ol {
-      font-size: 15px;
+      font-size: 14px;
       margin: .5em 0; }
-  .comment-box .reply-row {
-    padding: 6px 12px; }
+  .comment-box .actions {
+    opacity: 0;
+    transition: opacity ease-in-out 120ms; }
+  .comment-box:hover .actions {
+    opacity: 1; }
 
-.comment-box .header {
-  padding: 6px 12px;
-  background-color: #f8f8f8;
-  border-bottom: 1px solid #DDD; }
-  .comment-box .header .meta img, .comment-box .header .meta a, .comment-box .header .meta span {
-    display: inline-block;
-    vertical-align: top; }
-  .comment-box .header .meta a, .comment-box .header .meta span {
-    padding: 3px 0 3px 0;
-    line-height: 1.6; }
-  .comment-box .header .meta a {
-    color: #666; }
-  .comment-box .header .meta span {
-    color: #888;
-    padding-left: 3px; }
-  .comment-box .header .text-muted {
-    color: #999; }
+.comment-box .header .meta img, .comment-box .header .meta a, .comment-box .header .meta span {
+  display: inline-block;
+  vertical-align: top; }
+
+.comment-box .header .meta a, .comment-box .header .meta span {
+  padding: 3px 0 3px 0;
+  line-height: 1.6; }
+
+.comment-box .header .meta a {
+  color: #666; }
+
+.comment-box .header .meta span {
+  color: #888;
+  padding-left: 3px; }
+
+.comment-box .header .text-muted {
+  color: #999; }
 
 #tag-manager .drag-card {
   max-width: 500px; }
 
+.permissions-table [permissions-table-toggle-all-in-row] {
+  display: none; }
+
+.permissions-table tr:hover [permissions-table-toggle-all-in-row] {
+  display: inline; }
+
 /**
  * Includes the main navigation header and the faded toolbar.
  */
+header .grid {
+  grid-template-columns: auto -webkit-min-content auto;
+  grid-template-columns: auto min-content auto; }
+
+@media screen and (max-width: 1000px) {
+  header .grid {
+    grid-template-columns: 1fr;
+    grid-row-gap: 0; } }
+
 header {
+  position: relative;
   display: block;
-  z-index: 2;
+  z-index: 6;
   top: 0;
   background-color: #0288D1;
   color: #fff;
   fill: #fff;
-  border-bottom: 1px solid #DDD; }
-  header .padded {
-    padding: 16px; }
+  border-bottom: 1px solid #DDD;
+  box-shadow: 0 1px 6px -1px rgba(0, 0, 0, 0.1);
+  padding: 3px 0; }
   header .links {
     display: inline-block;
-    vertical-align: top;
-    margin-left: 16px; }
+    vertical-align: top; }
   header .links a {
     display: inline-block;
     padding: 16px;
@@ -3283,12 +3073,6 @@ header {
   header .dropdown-container {
     padding-left: 16px;
     padding-right: 0; }
-  @media screen and (max-width: 992px) {
-    header .links a {
-      padding-left: 12px;
-      padding-right: 12px; }
-    header .dropdown-container {
-      padding-left: 12px; } }
   header .avatar, header .user-name {
     display: inline-block; }
   header .avatar {
@@ -3310,20 +3094,11 @@ header {
     header .user-name > svg {
       padding-top: 4px;
       font-size: 18px; }
-    @media screen and (max-width: 992px) {
+    @media screen and (min-width: 1000px) and (max-width: 1100px) {
       header .user-name {
         padding-left: 6px; }
         header .user-name .name {
           display: none; } }
-  @media screen and (max-width: 768px) {
-    header {
-      text-align: center; }
-      header .float.right {
-        float: none; }
-      header .links a {
-        padding: 12px; }
-      header .user-name {
-        padding-top: 12px; } }
 
 .header-search {
   display: inline-block; }
@@ -3333,12 +3108,15 @@ header .search-box {
   margin-top: 10px; }
   header .search-box input {
     background-color: rgba(0, 0, 0, 0.2);
-    border: 1px solid rgba(255, 255, 255, 0.3);
+    border: 1px solid rgba(255, 255, 255, 0.2);
+    border-radius: 40px;
     color: #EEE;
-    z-index: 2; }
+    z-index: 2;
+    padding-left: 40px; }
   header .search-box button {
     fill: #EEE;
-    z-index: 1; }
+    z-index: 1;
+    left: 16px; }
     header .search-box button svg {
       margin-right: 0; }
   header .search-box ::-webkit-input-placeholder {
@@ -3353,17 +3131,10 @@ header .search-box {
   header .search-box :-moz-placeholder {
     /* Firefox 18- */
     color: #DDD; }
-  @media screen and (max-width: 1200px) {
-    header .search-box {
-      max-width: 250px; } }
-  @media screen and (max-width: 1000px) {
+  @media screen and (min-width: 1000px) and (max-width: 1100px) {
     header .search-box {
       max-width: 200px; } }
 
-@media screen and (max-width: 600px) {
-  .header-search {
-    display: block; } }
-
 .logo {
   display: inline-block; }
   .logo:hover {
@@ -3384,9 +3155,155 @@ header .search-box {
   vertical-align: top;
   height: 43px; }
 
-.breadcrumbs span.sep {
-  color: #aaa;
-  padding: 0 6px; }
+.mobile-menu-toggle {
+  color: #FFF;
+  fill: #FFF;
+  font-size: 2em;
+  border: 2px solid rgba(255, 255, 255, 0.8);
+  border-radius: 4px;
+  padding: 0 6px;
+  position: absolute;
+  right: 16px;
+  top: 13px;
+  line-height: 1;
+  cursor: pointer;
+  -webkit-user-select: none;
+     -moz-user-select: none;
+      -ms-user-select: none;
+          user-select: none; }
+  .mobile-menu-toggle svg {
+    margin: 0;
+    bottom: -2px; }
+
+@media screen and (max-width: 1000px) {
+  header .header-links {
+    display: none;
+    background-color: #FFF;
+    z-index: 10;
+    right: 16px;
+    border-radius: 4px;
+    overflow: hidden;
+    position: absolute;
+    box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.13);
+    margin-top: -6px; }
+    header .header-links.show {
+      display: block; }
+  header .links a, header .dropdown-container ul li a {
+    text-align: left;
+    display: block;
+    padding: 12px 16px;
+    color: #444;
+    fill: #444; }
+    header .links a svg, header .dropdown-container ul li a svg {
+      margin-right: 12px; }
+    header .links a:hover, header .dropdown-container ul li a:hover {
+      background-color: #EEE;
+      color: #444;
+      fill: #444;
+      text-decoration: none; }
+  header .dropdown-container {
+    display: block;
+    padding-left: 0; }
+  header .links {
+    display: block; }
+  header .dropdown-container ul {
+    display: block !important;
+    position: relative;
+    background-color: transparent;
+    border: 0;
+    padding: 0;
+    margin: 0;
+    box-shadow: none; } }
+
+.tri-layout-mobile-tabs {
+  position: -webkit-sticky;
+  position: sticky;
+  top: 0;
+  z-index: 5;
+  background-color: #FFF;
+  border-bottom: 1px solid #DDD;
+  box-shadow: 0 1px 6px -1px rgba(0, 0, 0, 0.1); }
+
+.tri-layout-mobile-tab {
+  text-align: center;
+  border-bottom: 3px solid #BBB;
+  cursor: pointer; }
+  .tri-layout-mobile-tab:first-child {
+    border-right: 1px solid #DDD; }
+  .tri-layout-mobile-tab.active {
+    border-bottom-color: currentColor; }
+
+.breadcrumbs {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  justify-content: flex-start;
+  flex-wrap: wrap;
+  opacity: 0.7; }
+  .breadcrumbs .icon-list-item {
+    width: auto;
+    padding-top: 6px;
+    padding-bottom: 6px; }
+  .breadcrumbs .separator {
+    display: inline-block;
+    fill: #aaa;
+    font-size: 1.6em;
+    line-height: 0.8;
+    margin: -2px 0 0; }
+  .breadcrumbs:hover {
+    opacity: 1; }
+
+@media screen and (max-width: 1000px) {
+  .breadcrumbs .icon-list-item {
+    padding: 6px; }
+    .breadcrumbs .icon-list-item > span + span {
+      display: none; }
+    .breadcrumbs .icon-list-item > span:first-child {
+      margin-right: 0; } }
+
+.breadcrumb-listing {
+  position: relative; }
+  .breadcrumb-listing .breadcrumb-listing-toggle {
+    padding: 6px;
+    border: 1px solid transparent;
+    border-radius: 4px; }
+    .breadcrumb-listing .breadcrumb-listing-toggle:hover {
+      border-color: #DDD; }
+  .breadcrumb-listing .svg-icon {
+    margin-right: 0; }
+
+.breadcrumb-listing-dropdown {
+  box-shadow: 0 1px 3px 1px rgba(76, 76, 76, 0.26);
+  overflow: hidden;
+  min-height: 100px;
+  width: 240px;
+  display: none;
+  position: absolute;
+  z-index: 80;
+  right: -16px; }
+  .breadcrumb-listing-dropdown .breadcrumb-listing-search .svg-icon {
+    position: absolute;
+    left: 12px;
+    top: 11px;
+    fill: #888;
+    pointer-events: none; }
+  .breadcrumb-listing-dropdown .breadcrumb-listing-entity-list {
+    max-height: 400px;
+    overflow-y: scroll;
+    text-align: left; }
+  .breadcrumb-listing-dropdown input {
+    padding-left: 32px;
+    border-radius: 0;
+    border: 0;
+    border-bottom: 1px solid #DDD; }
+
+@media screen and (max-width: 880px) {
+  .breadcrumb-listing-dropdown {
+    position: fixed;
+    right: auto;
+    left: 16px; }
+  .breadcrumb-listing-dropdown .breadcrumb-listing-entity-list {
+    max-height: 240px; } }
 
 .faded a, .faded button, .faded span, .faded span > div {
   color: #666;
@@ -3403,21 +3320,12 @@ header .search-box {
   display: inline-block;
   padding: 12px; }
 
-.faded-small {
-  color: #000;
-  fill: #000;
-  font-size: 0.9em;
-  background-color: rgba(21, 101, 192, 0.15); }
-
-.toolbar-container {
-  background-color: #FFF; }
-
-.breadcrumbs .text-button, .action-buttons .text-button {
+.action-buttons .text-button {
   display: inline-block;
-  padding: 12px; }
-  .breadcrumbs .text-button:last-child, .action-buttons .text-button:last-child {
+  padding: 6px 12px; }
+  .action-buttons .text-button:last-child {
     padding-right: 0; }
-  .breadcrumbs .text-button:first-child, .action-buttons .text-button:first-child {
+  .action-buttons .text-button:first-child {
     padding-left: 0; }
 
 .action-buttons .dropdown-container:last-child a {
@@ -3434,22 +3342,11 @@ header .search-box {
   .action-buttons.text-center {
     text-align: center; }
 
-@media screen and (max-width: 800px) {
-  .breadcrumbs .text-button, .action-buttons .text-button {
+@media screen and (max-width: 880px) {
+  .action-buttons .text-button {
     padding: 6px 6px; }
   .action-buttons .dropdown-container:last-child a {
-    padding-left: 6px; }
-  .breadcrumbs .text-button {
-    font-size: 0; }
-  .breadcrumbs .text-button svg {
-    font-size: 15px; }
-  .breadcrumbs a i {
-    font-size: 15px;
-    padding-right: 0; }
-  .breadcrumbs span.sep {
-    padding: 0 3px; }
-  .toolbar .col-xs-1:first-child {
-    padding-right: 0; } }
+    padding-left: 6px; } }
 
 .nav-tabs {
   text-align: center; }
@@ -3462,179 +3359,215 @@ header .search-box {
     .nav-tabs a.selected, .nav-tabs .tab-item.selected {
       border-bottom: 2px solid #0288D1; }
 
-.faded-small .nav-tabs a {
-  padding: 12px 16px; }
-
-.page-list h4 {
-  margin: 24px 0 6px 0;
-  font-size: 1.666em; }
-
-.page-list a.chapter {
-  color: #ef7c3c; }
-
-.page-list .inset-list {
-  display: none;
-  overflow: hidden; }
-
-.page-list h5 {
-  display: block;
-  margin: 12px 0 0 0;
-  border-left: 5px solid #0288D1;
-  padding: 6px 0 6px 16px;
-  font-size: 1.1em;
-  font-weight: normal; }
-  .page-list h5.draft {
-    border-left-color: #9A60DA; }
-
-.page-list .entity-list-item {
-  margin-bottom: 16px; }
-
-.page-list hr {
-  margin-top: 0; }
-
-.page-list .page, .page-list .chapter, .page-list .book {
-  padding-left: 24px; }
-
-.page-list .page {
-  border-left: 5px solid #0288D1; }
-
-.page-list .page.draft {
-  border-left: 5px solid #9A60DA; }
-  .page-list .page.draft .text-page {
-    color: #9A60DA;
-    fill: #9A60DA; }
+.book-contents .entity-list-item .icon {
+  width: 4px;
+  border-radius: 1px;
+  justify-self: stretch;
+  align-self: stretch;
+  height: auto;
+  margin-right: 24px; }
 
-.page-list .chapter {
-  border-left: 5px solid #ef7c3c; }
+.book-contents .entity-list-item .icon:after {
+  opacity: 0.5; }
 
-.page-list .book {
-  border-left: 5px solid #009688; }
+.book-contents .entity-list-item .icon svg {
+  display: none; }
 
-.page-list .meta {
-  margin-top: -16px;
-  font-size: 0.95em; }
+.book-contents .entity-list-item p {
+  margin-bottom: 0; }
 
-.page-list .meta span {
-  margin-right: 12px; }
+.book-contents .entity-list-item .inner-page {
+  padding-top: 0;
+  padding-bottom: 0; }
 
-@media screen and (max-width: 600px) {
-  .page-list h4 {
-    font-size: 1.333em; } }
+.entity-list-item + .chapter-expansion {
+  display: flex;
+  padding: 0 16px 16px 16px;
+  align-items: center;
+  border: 0;
+  width: 100%;
+  position: relative; }
+  .entity-list-item + .chapter-expansion > .icon {
+    width: 4px;
+    height: auto;
+    border-radius: 0 0 1px 1px;
+    align-self: stretch;
+    flex-shrink: 0; }
+    .entity-list-item + .chapter-expansion > .icon:before {
+      position: absolute;
+      top: 0;
+      left: 0;
+      width: 100%;
+      height: 1px;
+      background-color: currentColor;
+      content: '';
+      opacity: 0.5; }
+    .entity-list-item + .chapter-expansion > .icon:after {
+      opacity: 0.5; }
+  .entity-list-item + .chapter-expansion .icon svg {
+    display: none; }
+  .entity-list-item + .chapter-expansion > .content {
+    flex: 1; }
+  .entity-list-item + .chapter-expansion .chapter-expansion-toggle {
+    border-radius: 0 4px 4px 0;
+    padding: 6px 16px; }
+  .entity-list-item + .chapter-expansion .chapter-expansion-toggle:hover {
+    background-color: rgba(0, 0, 0, 0.06); }
+
+.entity-list-item.has-children {
+  padding-bottom: 0; }
+  .entity-list-item.has-children > .icon {
+    border-radius: 4px 4px 0 0; }
+
+.inset-list {
+  display: none; }
+  .inset-list .entity-list-item-name {
+    font-size: 1rem; }
+  .inset-list .entity-list-item-children {
+    padding-top: 0;
+    padding-bottom: 0; }
 
 .sidebar-page-nav {
   list-style: none;
-  margin: 12px 0 16px 2px;
-  border-left: 2px dotted #BBB; }
+  margin: 12px 0 16px 6px;
+  position: relative; }
+  .sidebar-page-nav:after {
+    content: '';
+    display: block;
+    position: absolute;
+    left: 0;
+    background-color: rgba(0, 0, 0, 0.2);
+    width: 2px;
+    top: 5px;
+    bottom: 5px;
+    z-index: 0; }
   .sidebar-page-nav li {
-    padding-left: 12px;
     margin-bottom: 4px;
-    font-size: 0.95em; }
+    font-size: 0.95em;
+    position: relative; }
   .sidebar-page-nav .h1 {
-    margin-left: -2px; }
+    padding-left: 16px; }
   .sidebar-page-nav .h2 {
-    margin-left: -2px; }
+    padding-left: 16px; }
   .sidebar-page-nav .h3 {
-    margin-left: 12px; }
+    padding-left: 32px; }
   .sidebar-page-nav .h4 {
-    margin-left: 24px; }
+    padding-left: 40px; }
   .sidebar-page-nav .h5 {
-    margin-left: 36px; }
+    padding-left: 48px; }
   .sidebar-page-nav .h6 {
-    margin-left: 48px; }
+    padding-left: 56px; }
   .sidebar-page-nav .current-heading {
     font-weight: bold; }
-
-.book-tree {
-  transition: ease-in-out 240ms;
-  transition-property: right, border; }
-
-.book-tree h4 {
-  padding: 16px 12px 0 12px; }
-  .book-tree h4 i {
-    padding-right: 12px; }
+  .sidebar-page-nav li:not(.current-heading) .sidebar-page-nav-bullet {
+    background-color: #BBB !important; }
+  .sidebar-page-nav .sidebar-page-nav-bullet {
+    width: 6px;
+    height: 6px;
+    position: absolute;
+    left: -2px;
+    top: 30%;
+    border-radius: 50%;
+    box-shadow: 0 0 0 6px #F2F2F2;
+    z-index: 1; }
 
 .book-tree .sidebar-page-list {
   list-style: none;
-  margin: 6px 0 0;
+  margin: -6px -12px;
   padding-left: 0;
-  border-left: 5px solid #009688; }
-  .book-tree .sidebar-page-list li a {
+  padding-right: 0;
+  position: relative; }
+  .book-tree .sidebar-page-list:after, .book-tree .sidebar-page-list .sub-menu:after {
+    content: '';
     display: block;
-    border-bottom: none;
-    padding: 6px 0 6px 12px; }
-    .book-tree .sidebar-page-list li a:hover {
-      text-decoration: none; }
-  .book-tree .sidebar-page-list li a i {
-    padding-right: 8px; }
-  .book-tree .sidebar-page-list li, .book-tree .sidebar-page-list a {
-    display: block; }
-  .book-tree .sidebar-page-list a.bold {
-    color: #EEE !important;
-    fill: #EEE !important; }
+    position: absolute;
+    left: 16px;
+    top: 1rem;
+    bottom: 1rem;
+    border-left: 4px solid rgba(0, 0, 0, 0.1);
+    z-index: 0; }
   .book-tree .sidebar-page-list ul {
     list-style: none;
+    padding-left: 1rem;
+    padding-right: 0; }
+  .book-tree .sidebar-page-list .entity-list-item {
+    padding-top: 3px;
+    padding-bottom: 3px; }
+    .book-tree .sidebar-page-list .entity-list-item .content {
+      padding-top: 6px;
+      padding-bottom: 6px;
+      max-width: calc(100% - 20px); }
+  .book-tree .sidebar-page-list .entity-list-item.no-hover {
+    margin-top: -6px;
+    padding-right: 0; }
+  .book-tree .sidebar-page-list .entity-list-item-name {
+    font-size: 1em;
     margin: 0; }
-  .book-tree .sidebar-page-list .book {
-    color: #009688 !important;
-    fill: #009688 !important; }
-    .book-tree .sidebar-page-list .book.selected {
-      background-color: rgba(0, 150, 136, 0.29); }
-  .book-tree .sidebar-page-list .chapter {
-    color: #ef7c3c !important;
-    fill: #ef7c3c !important; }
-    .book-tree .sidebar-page-list .chapter.selected {
-      background-color: rgba(239, 124, 60, 0.12); }
-  .book-tree .sidebar-page-list .page {
-    color: #0288D1 !important;
-    fill: #0288D1 !important;
-    border-bottom: none; }
-    .book-tree .sidebar-page-list .page.selected {
-      background-color: rgba(2, 136, 209, 0.1); }
+  .book-tree .sidebar-page-list .chapter-child-menu {
+    font-size: .8rem;
+    margin-top: -.2rem;
+    margin-left: -1rem; }
   .book-tree .sidebar-page-list [chapter-toggle] {
-    padding-left: 12px; }
-  .book-tree .sidebar-page-list .list-item-chapter {
-    border-left: 5px solid #ef7c3c;
-    margin: 10px 10px;
-    display: block; }
-  .book-tree .sidebar-page-list .list-item-page {
-    border-bottom: none;
-    border-left: 5px solid #0288D1;
-    margin: 10px 10px; }
-  .book-tree .sidebar-page-list .list-item-page.draft {
-    border-left: 5px solid #9A60DA; }
-  .book-tree .sidebar-page-list .page.draft .page, .book-tree .sidebar-page-list .list-item-page.draft a.page {
-    color: #9A60DA !important;
-    fill: #9A60DA !important; }
-  .book-tree .sidebar-page-list .sub-menu {
-    display: none;
-    padding-left: 0; }
-  .book-tree .sidebar-page-list [chapter-toggle].open + .sub-menu {
-    display: block; }
+    padding-left: .7rem;
+    padding-bottom: .2rem; }
+  .book-tree .sidebar-page-list .entity-list-item .icon {
+    z-index: 2;
+    width: 4px;
+    height: auto;
+    align-self: stretch;
+    flex-shrink: 0;
+    border-radius: 1px;
+    opacity: 0.6; }
+  .book-tree .sidebar-page-list .entity-list-item .icon:after {
+    opacity: 1; }
+  .book-tree .sidebar-page-list .entity-list-item .icon svg {
+    display: none; }
+
+.chapter-child-menu ul.sub-menu {
+  display: none;
+  padding-left: 0;
+  position: relative; }
+
+.chapter-child-menu [chapter-toggle].open + .sub-menu {
+  display: block; }
 
 .sortable-page-list, .sortable-page-list ul {
-  list-style: none;
-  background-color: #FFF; }
+  list-style: none; }
 
 .sort-box {
   margin-bottom: 16px;
-  padding: 0 24px 0 24px;
-  border-left: 4px solid #009688; }
+  border: 2px solid rgba(0, 150, 136, 0.6);
+  padding: 16px 32px;
+  border-radius: 4px; }
 
-.sortable-page-list {
+.sort-box-options {
+  display: flex;
+  flex-wrap: wrap;
+  justify-content: space-between; }
+
+.sort-box-options .button {
   margin-left: 0; }
+
+.sortable-page-list {
+  margin-left: 0;
+  padding: 0; }
+  .sortable-page-list .entity-list-item > span:first-child {
+    align-self: flex-start; }
+  .sortable-page-list .entity-list-item > div {
+    display: block;
+    flex: 1; }
   .sortable-page-list > ul {
     margin-left: 0; }
   .sortable-page-list ul {
-    margin-bottom: 0;
+    margin-bottom: 16px;
     margin-top: 0;
-    box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.1); }
+    padding-left: 16px; }
   .sortable-page-list li {
     border: 1px solid #DDD;
-    padding: 6px 12px;
     margin-top: -1px;
     min-height: 38px; }
     .sortable-page-list li.text-chapter {
-      border-left: 2px solid #ef7c3c; }
+      border-left: 2px solid #d7804a; }
     .sortable-page-list li.text-page {
       border-left: 2px solid #0288D1; }
   .sortable-page-list li:first-child {
@@ -3648,16 +3581,27 @@ header .search-box {
 
 .activity-list-item {
   padding: 12px 0;
+  display: grid;
+  grid-template-columns: -webkit-min-content 1fr;
+  grid-template-columns: min-content 1fr;
+  grid-column-gap: 16px;
   color: #888;
   fill: #888;
-  border-bottom: 1px solid #EEE;
   font-size: 0.9em; }
-  .activity-list-item .left {
-    float: left; }
-  .activity-list-item .left + .right {
-    margin-left: 42px; }
-  .activity-list-item:last-of-type {
-    border-bottom: 0; }
+
+.card .activity-list-item {
+  padding: 12px 16px; }
+
+.user-list-item {
+  display: inline-grid;
+  padding: 12px;
+  grid-template-columns: -webkit-min-content 1fr;
+  grid-template-columns: min-content 1fr;
+  grid-column-gap: 16px;
+  font-size: 0.9em;
+  align-items: center; }
+  .user-list-item > div:first-child {
+    line-height: 0; }
 
 ul.pagination {
   display: inline-block;
@@ -3687,54 +3631,143 @@ ul.pagination {
 .compact ul.pagination {
   margin: 0; }
 
-.entity-list > div {
-  padding: 16px 0; }
+.entity-list, .icon-list {
+  margin: 0 -16px; }
+  .entity-list h4, .icon-list h4 {
+    margin: 0; }
+  .entity-list hr, .icon-list hr {
+    margin: 0; }
+  .entity-list .text-small.text-muted, .icon-list .text-small.text-muted {
+    color: #AAA;
+    font-size: 0.75em;
+    margin-top: 6px; }
+  .entity-list .text-muted p.text-muted, .icon-list .text-muted p.text-muted {
+    margin-top: 0; }
+  .entity-list .page.draft .text-page, .icon-list .page.draft .text-page {
+    color: #9A60DA;
+    fill: #9A60DA; }
+  .entity-list > .dropdown-container, .icon-list > .dropdown-container {
+    display: block; }
 
-.entity-list h4 {
-  margin: 0; }
+.icon-list hr {
+  margin: 12px 16px;
+  max-width: 140px;
+  opacity: 0.25;
+  height: 1.1px; }
 
-.entity-list hr {
-  margin: 0; }
+.icon-list hr + hr, .icon-list hr:first-child, .icon-list hr:last-child {
+  display: none; }
 
-.entity-list .text-small.text-muted {
-  color: #AAA;
-  font-size: 0.75em;
-  margin-top: 6px; }
+.entity-list-item, .icon-list-item {
+  padding: 12px 16px;
+  display: flex;
+  align-items: center;
+  background-color: transparent;
+  border: 0;
+  width: 100%;
+  position: relative;
+  word-break: break-word; }
+  .entity-list-item h4 a, .icon-list-item h4 a {
+    color: #666; }
+  .entity-list-item > span:first-child, .icon-list-item > span:first-child {
+    margin-right: 16px;
+    flex-basis: 1.88em;
+    flex: none; }
+  .entity-list-item > span:last-child, .icon-list-item > span:last-child {
+    flex: 1;
+    text-align: left; }
+  .entity-list-item:not(.no-hover), .icon-list-item:not(.no-hover) {
+    cursor: pointer; }
+  .entity-list-item:not(.no-hover):hover, .icon-list-item:not(.no-hover):hover {
+    text-decoration: none;
+    background-color: rgba(0, 0, 0, 0.1);
+    border-radius: 4px; }
+  .entity-list-item.outline-hover, .icon-list-item.outline-hover {
+    border: 1px solid transparent; }
+  .entity-list-item.outline-hover:hover, .icon-list-item.outline-hover:hover {
+    background-color: transparent;
+    border-color: rgba(0, 0, 0, 0.1); }
 
-.entity-list .text-muted p.text-muted {
-  margin-top: 0; }
+.entity-list-item-path-sep {
+  display: inline-block;
+  vertical-align: top;
+  position: relative;
+  top: 1px; }
+  .entity-list-item-path-sep svg {
+    margin-right: 0; }
 
-.entity-list .page.draft .text-page {
-  color: #9A60DA;
-  fill: #9A60DA; }
+.card .entity-list-item:not(.no-hover):hover {
+  background-color: #F2F2F2; }
 
-.card .entity-list-item, .card .activity-list-item {
-  padding-left: 16px;
-  padding-right: 16px; }
+.card .entity-list-item .entity-list-item:hover {
+  background-color: #EEEEEE; }
+
+.entity-list-item-children {
+  padding: 16px; }
+  .entity-list-item-children > div {
+    overflow: hidden;
+    padding: 6px 0;
+    margin-top: -6px; }
+  .entity-list-item-children .entity-chip {
+    text-overflow: ellipsis;
+    height: 2.5em;
+    overflow: hidden;
+    text-align: left;
+    display: block;
+    white-space: nowrap; }
+
+.entity-list-item-image {
+  align-self: stretch;
+  width: 140px;
+  flex: none;
+  background-size: cover;
+  background-position: 50% 50%;
+  border-radius: 3px;
+  position: relative;
+  margin-right: 24px; }
+  .entity-list-item-image.entity-list-item-image-wide {
+    width: 220px; }
+  .entity-list-item-image .svg-icon {
+    color: #FFF;
+    fill: #FFF;
+    font-size: 1.66rem;
+    margin-right: 0;
+    position: absolute;
+    bottom: 6px;
+    left: 6px; }
+  @media screen and (max-width: 880px) {
+    .entity-list-item-image {
+      width: 80px; } }
+
+.chapter > .entity-list-item-image {
+  width: 60px; }
 
 .entity-list.compact {
-  font-size: 0.6em; }
+  font-size: 8.4px; }
   .entity-list.compact h4, .entity-list.compact a {
     line-height: 1.2; }
   .entity-list.compact .entity-item-snippet {
     display: none; }
   .entity-list.compact .entity-list-item p {
-    font-size: 12px;
+    font-size: 11.2px;
     padding-top: 6px; }
   .entity-list.compact p {
     margin: 0; }
   .entity-list.compact > p.empty-text {
     display: block;
-    font-size: 15px; }
+    font-size: 14px; }
   .entity-list.compact hr {
     margin: 0; }
+  @media screen and (max-width: 880px) {
+    .entity-list.compact h4 {
+      font-size: 1.666em; } }
 
 .dropdown-container {
   display: inline-block;
   vertical-align: top;
   position: relative; }
 
-.dropdown-container ul {
+.dropdown-menu {
   display: none;
   position: absolute;
   z-index: 999;
@@ -3751,65 +3784,123 @@ ul.pagination {
   color: #555;
   fill: #555;
   text-align: left !important; }
-  .dropdown-container ul.wide {
+  .dropdown-menu.wide {
     min-width: 220px; }
-  .dropdown-container ul .text-muted {
+  .dropdown-menu .text-muted {
     color: #999;
     fill: #999; }
-  .dropdown-container ul li.padded {
-    padding: 6px 16px;
-    line-height: 1.2; }
-  .dropdown-container ul a, .dropdown-container ul button {
+  .dropdown-menu li.active a {
+    font-weight: 600; }
+  .dropdown-menu a, .dropdown-menu button {
     display: block;
     padding: 6px 16px;
     color: #555;
     fill: #555;
     white-space: nowrap; }
-    .dropdown-container ul a:hover, .dropdown-container ul button:hover {
+    .dropdown-menu a:hover, .dropdown-menu button:hover {
       text-decoration: none;
       background-color: #EEE; }
-    .dropdown-container ul a svg, .dropdown-container ul button svg {
+    .dropdown-menu a svg, .dropdown-menu button svg {
       margin-right: 12px;
       display: inline-block;
       width: 16px; }
-  .dropdown-container ul button {
+  .dropdown-menu button {
     width: 100%;
     text-align: left; }
-  .dropdown-container ul li.border-bottom {
+  .dropdown-menu li.border-bottom {
     border-bottom: 1px solid #DDD; }
 
 .featured-image-container {
   position: relative;
   overflow: hidden;
-  background: #F2F2F2; }
+  min-height: 140px;
+  background-size: cover;
+  background-position: 50% 50%;
+  transition: opacity ease-in-out 240ms; }
   .featured-image-container a {
     display: block; }
   .featured-image-container img {
     display: block;
     width: 100%;
     max-width: 100%;
-    height: auto;
-    transition: all .5s ease-in-out; }
-  .featured-image-container img:hover {
-    -webkit-transform: scale(1.15);
-            transform: scale(1.15);
-    opacity: .5; }
+    height: auto; }
+
+.featured-image-container-wrap {
+  position: relative; }
+  .featured-image-container-wrap .svg-icon {
+    color: #FFF;
+    fill: #FFF;
+    font-size: 2rem;
+    margin-right: 0;
+    position: absolute;
+    bottom: 10px;
+    left: 6px; }
+
+.grid-card:hover .featured-image-container {
+  opacity: .5; }
+
+.action-link {
+  background: transparent;
+  border: none;
+  color: currentColor;
+  padding: 16px 0; }
+
+.active-link-list a {
+  display: inline-block;
+  padding: 12px; }
+
+.active-link-list a:not(.active) {
+  color: #444;
+  fill: #444; }
+
+.active-link-list a:hover {
+  background-color: rgba(0, 0, 0, 0.05);
+  border-radius: 3px;
+  text-decoration: none; }
 
 .page-editor {
   display: flex;
   flex-direction: column;
   align-items: stretch;
-  overflow: hidden; }
-  .page-editor .faded-small {
-    height: auto; }
+  overflow: hidden;
+  background-color: #FFF; }
   .page-editor .edit-area {
     flex: 1;
-    flex-direction: column; }
+    flex-direction: column;
+    z-index: 10; }
   .page-editor .mce-tinymce {
     box-shadow: none; }
   .page-editor .mce-top-part::before {
     box-shadow: none; }
 
+@media screen and (max-width: 880px) {
+  .page-edit-toolbar {
+    overflow-x: scroll;
+    overflow-y: visible;
+    z-index: 12; }
+  .page-edit-toolbar .grid.third {
+    display: block;
+    white-space: nowrap; }
+    .page-edit-toolbar .grid.third > div {
+      display: inline-block; } }
+
+@media screen and (max-width: 880px) {
+  .page-edit-toolbar #save-button {
+    position: fixed;
+    z-index: 30;
+    border-radius: 50%;
+    width: 56px;
+    height: 56px;
+    font-size: 24px;
+    right: 16px;
+    bottom: 12px;
+    box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.13);
+    background-color: currentColor; }
+    .page-edit-toolbar #save-button svg {
+      fill: #FFF; }
+    .page-edit-toolbar #save-button span {
+      display: none; } }
+
 .draft-notification {
   pointer-events: none;
   -webkit-transform: scale(0);
@@ -3830,15 +3921,12 @@ ul.pagination {
   width: 100%;
   max-width: 840px;
   margin: 0 auto;
-  margin-top: 48px;
   overflow-wrap: break-word; }
-  .page-content.flex {
-    margin-top: 16px; }
   .page-content .align-left {
     text-align: left; }
   .page-content img.align-left, .page-content table.align-left {
     float: left !important;
-    margin: 6px 12px 6px 0; }
+    margin: 6px 16px 16px 0; }
   .page-content .align-right {
     text-align: right !important; }
   .page-content img.align-right, .page-content table.align-right {
@@ -4001,11 +4089,6 @@ ul.pagination {
     flex-direction: column;
     min-height: 0px;
     overflow-y: scroll; }
-  .floating-toolbox div[toolbox-tab-content] .padded {
-    flex: 1;
-    padding-top: 0; }
-  .floating-toolbox div[toolbox-tab-content] .padded.files {
-    overflow-x: hidden; }
   .floating-toolbox h4 {
     font-size: 24px;
     margin: 16px 0 0 0;
@@ -4082,15 +4165,10 @@ ul.pagination {
     .suggestion-box li.active {
       background-color: #EEE; }
 
-.comments-container {
-  width: 100%;
-  border-top: 1px solid #DDD;
-  margin-top: 32px;
-  margin-bottom: 16px; }
-  .comments-container h5 {
-    color: #888;
-    font-weight: normal;
-    margin-top: 0.5em; }
+.comments-container h5 {
+  color: #888;
+  font-weight: normal;
+  margin-top: 0.5em; }
 
 .comment-editor .CodeMirror, .comment-editor .CodeMirror-scroll {
   min-height: 175px; }
@@ -4099,6 +4177,56 @@ ul.pagination {
 .mce-floatpanel[aria-label="Insert/edit media"] .mce-open {
   display: none; }
 
+.entity-list-item > span:first-child, .icon-list-item > span:first-child, .chapter-expansion > .icon {
+  font-size: 0.8rem;
+  width: 1.88em;
+  height: 1.88em;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  text-align: center;
+  border-radius: 1em;
+  position: relative;
+  overflow: hidden; }
+  .entity-list-item > span:first-child svg, .icon-list-item > span:first-child svg, .chapter-expansion > .icon svg {
+    margin: 0;
+    bottom: 0; }
+  .entity-list-item > span:first-child:after, .icon-list-item > span:first-child:after, .chapter-expansion > .icon:after {
+    content: '';
+    position: absolute;
+    background-color: currentColor;
+    opacity: 0.2;
+    left: 0;
+    top: 0;
+    width: 100%;
+    height: 100%; }
+
+.entity-chip {
+  display: inline-block;
+  align-items: center;
+  justify-content: center;
+  text-align: center;
+  font-size: 0.9em;
+  border-radius: 3px;
+  position: relative;
+  overflow: hidden;
+  padding: 6px 12px;
+  fill: currentColor;
+  opacity: 0.85;
+  transition: opacity ease-in-out 120ms; }
+  .entity-chip:after {
+    content: '';
+    position: absolute;
+    background-color: currentColor;
+    opacity: 0.15;
+    left: 0;
+    top: 0;
+    width: 100%;
+    height: 100%; }
+  .entity-chip:hover {
+    text-decoration: none;
+    opacity: 1; }
+
 [v-cloak] {
   display: none;
   opacity: 0;
@@ -4162,7 +4290,7 @@ body.dragging, body.dragging * {
             animation-delay: 0s; }
   .loading-container > div:last-of-type {
     left: 16px;
-    background-color: #ef7c3c;
+    background-color: #d7804a;
     -webkit-animation-delay: 0.6s;
             animation-delay: 0.6s; }
   .loading-container > span {
@@ -4171,13 +4299,6 @@ body.dragging, body.dragging * {
     color: #888;
     vertical-align: top; }
 
-.search-results > h3 a {
-  font-size: 0.66em;
-  color: #0288D1;
-  padding-left: 16px; }
-  .search-results > h3 a i {
-    padding-right: 12px; }
-
 [back-to-top] {
   background-color: #0288D1;
   position: fixed;
@@ -4224,7 +4345,7 @@ body.dragging, body.dragging * {
   .contained-search-box button i {
     padding: 0; }
   .contained-search-box button.cancel.active {
-    background-color: #E84F4F;
+    background-color: #ab0f0e;
     color: #EEE; }
 
 .entity-selector {
@@ -4243,28 +4364,29 @@ body.dragging, body.dragging * {
   .entity-selector .entity-list {
     overflow-y: scroll;
     height: 400px;
-    background-color: #EEEEEE; }
+    background-color: #EEEEEE;
+    margin-right: 0;
+    margin-left: 0; }
+  .entity-selector .entity-list-item {
+    background-color: #FFF; }
+  .entity-selector .entity-list-item p {
+    margin-bottom: 0; }
+  .entity-selector .entity-list-item.selected {
+    background-color: rgba(0, 0, 0, 0.15) !important; }
   .entity-selector .loading {
     height: 400px;
     padding-top: 24px; }
-  .entity-selector .entity-list > p {
-    text-align: center;
-    padding-top: 24px;
-    font-size: 1.333em; }
-  .entity-selector .entity-list > div {
-    padding-left: 16px;
-    padding-right: 16px;
-    background-color: #FFF;
-    transition: all ease-in-out 120ms;
-    cursor: pointer; }
+  .entity-selector .entity-selector-add button {
+    margin: 0;
+    display: block;
+    width: 100%;
+    border: 0;
+    border-top: 1px solid #DDD; }
   .entity-selector.compact {
     font-size: 10px; }
     .entity-selector.compact .entity-item-snippet {
       display: none; }
 
-.entity-list-item.selected h3, .entity-list-item.selected i, .entity-list-item.selected p, .entity-list-item.selected a, .entity-list-item.selected span {
-  color: #EEE; }
-
 .scroll-box {
   max-height: 250px;
   overflow-y: scroll;
@@ -4276,16 +4398,6 @@ body.dragging, body.dragging * {
     .scroll-box .scroll-box-item:last-child {
       border-bottom: 0; }
 
-.center-box {
-  margin: 48px auto 0 auto;
-  width: 420px;
-  max-width: 100%;
-  display: inline-block;
-  text-align: left;
-  vertical-align: top; }
-  .center-box input {
-    width: 100%; }
-
 .fullscreen {
   border: 0;
   position: fixed;
@@ -4296,3 +4408,34 @@ body.dragging, body.dragging * {
   width: 100%;
   height: 100%;
   z-index: 150; }
+
+.list-sort-container {
+  display: inline-block; }
+  .list-sort-container form {
+    display: inline-block; }
+  .list-sort-container .list-sort {
+    display: inline-grid;
+    margin-left: 12px;
+    grid-template-columns: 120px 40px;
+    border: 2px solid #DDD;
+    border-radius: 4px; }
+  .list-sort-container .list-sort-label {
+    font-weight: bold;
+    display: inline-block;
+    color: #888; }
+  .list-sort-container .list-sort-type {
+    text-align: left; }
+  .list-sort-container .list-sort-type, .list-sort-container .list-sort-dir {
+    padding: 6px 12px;
+    cursor: pointer; }
+  .list-sort-container .list-sort-dir {
+    border-left: 2px solid #DDD;
+    fill: #888; }
+    .list-sort-container .list-sort-dir .svg-icon {
+      transition: -webkit-transform ease-in-out 120ms;
+      transition: transform ease-in-out 120ms;
+      transition: transform ease-in-out 120ms, -webkit-transform ease-in-out 120ms; }
+    .list-sort-container .list-sort-dir:hover .svg-icon {
+      -webkit-transform: rotate(180deg);
+              transform: rotate(180deg); }
+