/*
  Most of these imports are derived from https://github.com/poole/poole.
  Designed, built, and released under MIT license by @mdo.
*/
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

html,
body {
  margin: 0;
  padding: 0; }

html {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5; }
  @media (min-width: 49rem) {
    html {
      font-size: 1.25rem; } }

body {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; }

main, article, section {
  display: block; }

a {
  color: #5e81ac;
  text-decoration: none; }
  a:hover, a:focus {
    color: #8fbcbb;
    text-decoration: none; }
  a strong {
    color: inherit; }

img {
  display: block;
  max-width: 100%;
  margin: 0 0 1rem;
  border-radius: 5px;
  height: auto; }

table {
  margin-bottom: 1rem;
  width: 100%;
  font-size: 85%;
  border: 1px solid #434c5e;
  border-collapse: collapse; }

td,
th {
  padding: .25rem .5rem;
  border: 1px solid #d8dee9; }

th {
  text-align: left; }

tbody tr:nth-child(odd) td,
tbody tr:nth-child(odd) th {
  background-color: #d8dee9; }

input[type="text"], input[type="search"], input[type="submit"], button {
  padding: 1em 1.5em;
  border: 1px solid #434c5e;
  border-radius: 300px; }

button, input[type="submit"] {
  cursor: pointer;
  background: transparent;
  border-color: #434c5e;
  color: #5e81ac;
  transition: color 0.6s ease-in-out, border-color 0.6s ease-in-out, background 0.6s ease-in-out; }
  button:hover, input[type="submit"]:hover {
    background: #5e81ac;
    border-color: #5e81ac;
    color: white;
    box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.16); }

h1, h2, h3, h4, h5, h6, .site-title {
  margin-bottom: 0.5rem;
  font-weight: 600;
  line-height: 1.25;
  color: #434c5e;
  text-rendering: optimizeLegibility; }

h1 {
  font-size: 2rem; }

h2 {
  margin-top: 1rem;
  font-size: 1.5rem; }

h3 {
  margin-top: 1.5rem;
  font-size: 1.25rem; }

h4, h5, h6 {
  margin-top: 1rem;
  font-size: 1rem; }

main h1 a,
main h2 a,
main h3 a,
main h4 a,
main h5 a,
main h6 a {
  text-decoration: none;
  -webkit-transition: color 180ms ease;
  -moz-transition: color 180ms ease;
  transition: color 180ms ease;
  color: #5e81ac;
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(50%, rgba(0, 0, 0, 0)), color-stop(50%, #b9c9d7));
  background-image: -moz-linear-gradient(rgba(0, 0, 0, 0) 50%, #b9c9d7 50%);
  background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0) 50%, #b9c9d7 50%);
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, rgba(0, 0, 0, 0)), color-stop(50%, #b9c9d7));
  background-image: -o-linear-gradient(rgba(0, 0, 0, 0) 50%, #b9c9d7 50%);
  background-image: linear-gradient(rgba(0, 0, 0, 0) 50%, #b9c9d7 50%);
  background-repeat: repeat-x;
  -webkit-background-size: 240px 2px;
  -moz-background-size: 240px 2px;
  -o-background-size: 240px 2px;
  background-size: 240px 2px;
  background-position: 0 1.0625em;
  text-shadow: 2px 1px 0px #eceff4, -2px 1px 0px #eceff4, 2px 0px 0px #eceff4, -2px 0px 0px #eceff4, 2px -1px 0px #eceff4, -2px -1px 0px #eceff4; }
  main h1 a:hover, main h1 a:focus,
  main h2 a:hover,
  main h2 a:focus,
  main h3 a:hover,
  main h3 a:focus,
  main h4 a:hover,
  main h4 a:focus,
  main h5 a:hover,
  main h5 a:focus,
  main h6 a:hover,
  main h6 a:focus {
    color: #8fbcbb;
    text-decoration: none; }

p {
  margin-top: 0;
  margin-bottom: 1rem; }

ul, ol, dl {
  margin-top: 0;
  margin-bottom: 1rem; }

dt {
  font-weight: bolder; }

dd {
  margin-bottom: .5rem; }

hr {
  position: relative;
  margin: 1.5rem 0;
  border: 0;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #fff; }

abbr {
  font-weight: normal; }
  abbr[title] {
    cursor: help;
    border-bottom: 1px dotted #434c5e; }

blockquote {
  padding: .5rem 1rem;
  margin: .8rem 0;
  color: #434c5e;
  border-left: 0.25rem solid #434c5e; }
  blockquote p:last-child {
    margin-bottom: 0; }
  @media (min-width: 30em) {
    blockquote {
      padding-right: 5rem;
      padding-left: 1.25rem; } }

a[href^="#fn:"],
a[href^="#fnref:"] {
  display: inline-block;
  margin-left: .1rem;
  font-weight: bold; }

.footnotes {
  margin-top: 2rem;
  font-size: 85%; }

.lead {
  font-size: 1.25rem;
  font-weight: 300; }

a svg, .icon svg {
  height: 1em;
  width: auto; }

a svg {
  fill: #5e81ac; }

.icon {
  vertical-align: middle; }

.highlight .hll {
  background-color: #ffc; }

.highlight .c {
  color: #999; }

/* Comment */
.highlight .err {
  color: #a00;
  background-color: #faa; }

/* Error */
.highlight .k {
  color: #069; }

/* Keyword */
.highlight .o {
  color: #555; }

/* Operator */
.highlight .cm {
  color: #09f;
  font-style: italic; }

/* Comment.Multiline */
.highlight .cp {
  color: #099; }

/* Comment.Preproc */
.highlight .c1 {
  color: #999; }

/* Comment.Single */
.highlight .cs {
  color: #999; }

/* Comment.Special */
.highlight .gd {
  background-color: #fcc;
  border: 1px solid #c00; }

/* Generic.Deleted */
.highlight .ge {
  font-style: italic; }

/* Generic.Emph */
.highlight .gr {
  color: #f00; }

/* Generic.Error */
.highlight .gh {
  color: #030; }

/* Generic.Heading */
.highlight .gi {
  background-color: #cfc;
  border: 1px solid #0c0; }

/* Generic.Inserted */
.highlight .go {
  color: #aaa; }

/* Generic.Output */
.highlight .gp {
  color: #009; }

/* Generic.Prompt */
/* Generic.Strong */
.highlight .gu {
  color: #030; }

/* Generic.Subheading */
.highlight .gt {
  color: #9c6; }

/* Generic.Traceback */
.highlight .kc {
  color: #069; }

/* Keyword.Constant */
.highlight .kd {
  color: #069; }

/* Keyword.Declaration */
.highlight .kn {
  color: #069; }

/* Keyword.Namespace */
.highlight .kp {
  color: #069; }

/* Keyword.Pseudo */
.highlight .kr {
  color: #069; }

/* Keyword.Reserved */
.highlight .kt {
  color: #078; }

/* Keyword.Type */
.highlight .m {
  color: #f60; }

/* Literal.Number */
.highlight .s {
  color: #d44950; }

/* Literal.String */
.highlight .na {
  color: #4f9fcf; }

/* Name.Attribute */
.highlight .nb {
  color: #366; }

/* Name.Builtin */
.highlight .nc {
  color: #0a8; }

/* Name.Class */
.highlight .no {
  color: #360; }

/* Name.Constant */
.highlight .nd {
  color: #99f; }

/* Name.Decorator */
.highlight .ni {
  color: #999; }

/* Name.Entity */
.highlight .ne {
  color: #c00; }

/* Name.Exception */
.highlight .nf {
  color: #c0f; }

/* Name.Function */
.highlight .nl {
  color: #99f; }

/* Name.Label */
.highlight .nn {
  color: #0cf; }

/* Name.Namespace */
.highlight .nt {
  color: #2f6f9f; }

/* Name.Tag */
.highlight .nv {
  color: #033; }

/* Name.Variable */
.highlight .ow {
  color: #000; }

/* Operator.Word */
.highlight .w {
  color: #bbb; }

/* Text.Whitespace */
.highlight .mf {
  color: #f60; }

/* Literal.Number.Float */
.highlight .mh {
  color: #f60; }

/* Literal.Number.Hex */
.highlight .mi {
  color: #f60; }

/* Literal.Number.Integer */
.highlight .mo {
  color: #f60; }

/* Literal.Number.Oct */
.highlight .sb {
  color: #c30; }

/* Literal.String.Backtick */
.highlight .sc {
  color: #c30; }

/* Literal.String.Char */
.highlight .sd {
  color: #c30;
  font-style: italic; }

/* Literal.String.Doc */
.highlight .s2 {
  color: #c30; }

/* Literal.String.Double */
.highlight .se {
  color: #c30; }

/* Literal.String.Escape */
.highlight .sh {
  color: #c30; }

/* Literal.String.Heredoc */
.highlight .si {
  color: #a00; }

/* Literal.String.Interpol */
.highlight .sx {
  color: #c30; }

/* Literal.String.Other */
.highlight .sr {
  color: #3aa; }

/* Literal.String.Regex */
.highlight .s1 {
  color: #c30; }

/* Literal.String.Single */
.highlight .ss {
  color: #fc3; }

/* Literal.String.Symbol */
.highlight .bp {
  color: #366; }

/* Name.Builtin.Pseudo */
.highlight .vc {
  color: #033; }

/* Name.Variable.Class */
.highlight .vg {
  color: #033; }

/* Name.Variable.Global */
.highlight .vi {
  color: #033; }

/* Name.Variable.Instance */
.highlight .il {
  color: #f60; }

/* Literal.Number.Integer.Long */
.css .o,
.css .o + .nt,
.css .nt + .nt {
  color: #999; }

code,
pre {
  font-family: Menlo, Monaco, "Courier New", monospace; }

code {
  padding: .25em .5em;
  font-size: 85%;
  color: #bf616a;
  background-color: #d8dee9;
  border-radius: 3px; }

pre {
  margin-top: 0;
  margin-bottom: 1rem; }

pre code {
  padding: 0;
  font-size: 100%;
  color: inherit;
  background-color: transparent; }

.highlight {
  padding: 1rem;
  margin-bottom: 1rem;
  font-size: .8rem;
  line-height: 1.4;
  background-color: #f9f9f9;
  border-radius: .25rem; }
  .highlight pre {
    margin-bottom: 0;
    overflow-x: auto; }
  .highlight .lineno {
    display: inline-block;
    padding-right: .75rem;
    padding-left: .25rem;
    color: #999;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none; }

pre {
  max-width: 100%;
  overflow-x: auto; }

/*
  Layout

  Styles for managing the structural hierarchy of the site.
  Hydeout features the large colored sidebar from Hyde that houses the
  site name, intro, and "footer" content. Sidebar is on top of content on
  mobile and expands into sidebar on larger width displays.

  Sidebar CSS assumes HTML looks like this for post pages:

    body
    > #sidebar
      > header (primary sidebar content -- i.e. title)
        > h1 (home page only, otherwise div or span)
      > secondary nav content we may want to hide on certain pages
    > .container
      > h1 (non-home page)
      > .content

  Basic approach is to color in body, make sidebar background transparent,
  and then fill in the .container or .content elements depending on how far
  we want the sidebar or header to stretch.
*/
body {
  color: rgba(255, 255, 255, 0.75);
  background-color: #434c5e;
  background-image: linear-gradient(to bottom, #525d73, #343b49);
  display: flex;
  flex-direction: column;
  min-width: 100vw;
  min-height: 100vh; }

#sidebar {
  flex: 0 0 auto;
  padding: 2rem; }
  #sidebar a {
    color: inherit; }
    #sidebar a .site-title {
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif;
      font-weight: bolder;
      font-size: 1.25rem;
      color: rgba(255, 255, 255, 0.75);
      margin-top: 0;
      margin-bottom: 0.5rem; }
    #sidebar a .back-arrow {
      margin-right: 0.5rem; }

.container {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column; }
  .container > .content {
    flex-grow: 1; }
  .container a {
    text-decoration: none;
    -webkit-transition: color 180ms ease;
    -moz-transition: color 180ms ease;
    transition: color 180ms ease;
    color: #5e81ac;
    background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(50%, rgba(0, 0, 0, 0)), color-stop(50%, #b9c9d7));
    background-image: -moz-linear-gradient(rgba(0, 0, 0, 0) 50%, #b9c9d7 50%);
    background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0) 50%, #b9c9d7 50%);
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, rgba(0, 0, 0, 0)), color-stop(50%, #b9c9d7));
    background-image: -o-linear-gradient(rgba(0, 0, 0, 0) 50%, #b9c9d7 50%);
    background-image: linear-gradient(rgba(0, 0, 0, 0) 50%, #b9c9d7 50%);
    background-repeat: repeat-x;
    -webkit-background-size: 240px 2px;
    -moz-background-size: 240px 2px;
    -o-background-size: 240px 2px;
    background-size: 240px 2px;
    background-position: 0 1.0625em;
    text-shadow: 2px 1px 0px #eceff4, -2px 1px 0px #eceff4, 2px 0px 0px #eceff4, -2px 0px 0px #eceff4, 2px -1px 0px #eceff4, -2px -1px 0px #eceff4; }
    .container a:hover, .container a:focus {
      color: #8fbcbb;
      text-decoration: none; }
  .container a.return-link {
    text-decoration: none;
    text-shadow: none;
    font-weight: bold;
    color: #b48ead; }
  .container figcaption > small {
    font-style: italic;
    font-weight: lighter; }
  .container figcaption + p {
    margin-top: 2rem; }

.content {
  background: #eceff4;
  color: #434c5e;
  padding: 2rem; }

/* -----------------------------------------------------------
  Mobile view
----------------------------------------------------------- */
#sidebar header ~ *, #sidebar header ~ nav, #sidebar p.lead {
  display: none; }

.container > header {
  background: transparent;
  color: white;
  margin: -1.5rem 2rem 2rem; }
  .container > header h1, .container > header h2 {
    color: white; }
    .container > header h1:last-child, .container > header h2:last-child {
      margin-bottom: 0; }

/* -----------------------------------------------------------
  Mobile view for home page)
----------------------------------------------------------- */
.home #sidebar {
  text-align: center; }
  .home #sidebar .site-title {
    font-size: 3.25rem;
    color: white; }
  .home #sidebar header ~ *, .home #sidebar p.lead {
    display: block; }
  .home #sidebar header ~ nav {
    display: flex; }
  .home #sidebar > *:last-child {
    margin-bottom: 0.5rem; }

/* -----------------------------------------------------------
  Tablet / Desktop view
----------------------------------------------------------- */
@media only screen and (min-width: 49rem) {
  body {
    flex-direction: row;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: scroll;
    /* has to be scroll, not auto */
    -webkit-overflow-scrolling: touch; }
    body > * {
      max-height: 100vh;
      overflow-y: scroll;
      -webkit-overflow-scrolling: touch; }

  /* Undo mobile CSS */
  #sidebar, .home #sidebar {
    width: 18rem;
    text-align: left; }
    #sidebar > *:last-child, .home #sidebar > *:last-child {
      margin-bottom: 0; }

  #sidebar .site-title {
    font-size: 3.25rem; }
    #sidebar .site-title a {
      color: white; }
    #sidebar .site-title .back-arrow {
      display: none; }
  #sidebar p.lead, #sidebar header ~ * {
    display: block; }
  #sidebar header ~ nav {
    display: flex; }
  #sidebar .narrow-nav {
    display: none; }

  .index #sidebar {
    margin-bottom: 0; }

  .container {
    background: #eceff4;
    color: #434c5e;
    padding: 4rem;
    height: 100vh; }
    .container > header {
      color: inherit;
      margin: 0; }
      .container > header h1, .container > header h2 {
        color: inherit; }
        .container > header h1:last-child, .container > header h2:last-child {
          margin-bottom: 0.5rem; }
    .container > * {
      max-width: 38rem;
      padding: 0; } }
/* -----------------------------------------------------------
  Bottoms of pages, possibly footers.
----------------------------------------------------------- */
nav.more-case-studies {
  margin-bottom: 10rem;
  text-align: center; }

.more-case-studies > span:not(:last-of-type):after,
.index-case-studies > span:not(:last-of-type):after {
  content: " | "; }

footer {
  margin-top: 5rem;
  padding-bottom: 10rem;
  /*margin-bottom: 10rem;*/
  text-align: center; }

.floral-heart {
  font-size: 4rem; }

/* -----------------------------------------------------------
  Sidebar links + nav
----------------------------------------------------------- */
#sidebar a {
  color: #eceff4; }
  #sidebar a svg {
    fill: rgba(255, 255, 255, 0.85); }
  #sidebar a:hover svg, #sidebar a:focus svg, #sidebar a.active svg {
    fill: #eceff4; }
  #sidebar a:hover, #sidebar a:focus {
    text-decoration: underline;
    color: #8fbcbb; }
    #sidebar a:hover.icon, #sidebar a:focus.icon {
      text-decoration: none; }
  #sidebar a.active {
    font-weight: bold; }
  #sidebar a.case-study {
    padding-left: 1em; }

#sidebar header a {
  text-decoration: none; }
  #sidebar header a:hover, #sidebar header a:focus {
    text-decoration: none;
    text-decoration-style: none;
    color: #8fbcbb; }
    #sidebar header a:hover.icon, #sidebar header a:focus.icon {
      text-decoration: none; }

#sidebar nav {
  display: flex; }

#sidebar-nav-links {
  flex-flow: column nowrap; }

#sidebar-icon-links {
  max-width: 100%;
  flex-flow: row wrap;
  justify-content: center;
  margin-top: 1rem; }
  @media (min-width: 49rem) {
    #sidebar-icon-links {
      margin-left: -0.25em;
      justify-content: flex-start; } }

#sidebar nav > * {
  display: block;
  line-height: 1.75; }

#sidebar nav > .icon {
  font-size: 1.5rem;
  display: inline-block;
  margin: 0 0.25em; }

/* -----------------------------------------------------------
  Sticky sidebar

  Set $sidebar-stick variable to affix sidebar contents to the
  bottom of the sidebar in tablets and up.
----------------------------------------------------------- */
@media only screen and (min-width: 49rem) {
  body {
    align-items: flex-end; } }
/* -----------------------------------------------------------
  Reverse layout

  Flip the orientation of the page by placing the `#sidebar`
  on the right.
----------------------------------------------------------- */
@media only screen and (min-width: 49rem) {
  .container {
    order: -1; } }
.linkedin-svg {
  width: 1em; }

.masthead {
  padding-top: 1rem;
  padding-bottom: 1rem;
  margin-bottom: 3rem; }

.masthead-title {
  margin-top: 0;
  margin-bottom: 0;
  color: #515151; }
  .masthead-title a {
    color: inherit; }
  .masthead-title small {
    font-size: 75%;
    font-weight: 400;
    opacity: .5; }

article + *, .post-body ~ section {
  padding-top: 2rem;
  border-top: 1px solid #434c5e;
  margin-top: 2rem; }
  article + * > h2:first-child, article + * > h3:first-child, .post-body ~ section > h2:first-child, .post-body ~ section > h3:first-child {
    margin-top: 0; }

.post .content li + li, .page .content li + li {
  margin-top: .25rem; }

.page-title,
.post-title,
.post-title a {
  color: #434c5e; }

.page-title,
.post-title {
  margin-top: 0; }

h2.post-title, h2.page-title {
  font-size: 2rem; }

.post-meta {
  margin-top: -.5rem;
  margin-bottom: 1rem;
  color: #434c5e; }

.post-tags a {
  font-size: 0.8em;
  margin-right: 0.5rem;
  white-space: nowrap;
  opacity: 0.75; }
  .post-tags a .tag-name {
    text-transform: capitalize; }
  .post-tags a:hover {
    text-decoration: none;
    opacity: 1; }

.posts-by-tag h2 {
  text-transform: capitalize; }

.posts-list {
  padding-left: 0;
  list-style: none; }
  .posts-list h3 {
    margin-top: 0; }
  .posts-list li small {
    font-size: 75%;
    color: #999;
    white-space: nowrap; }
  .posts-list li a:hover {
    color: #5e81ac;
    text-decoration: none; }
    .posts-list li a:hover small {
      color: inherit; }

button.disqus-load {
  margin-top: 1em; }

/*
  Pagination

  Super lightweight (HTML-wise) blog pagination. Should only be visible
  when there is navigation available -- single buttons at top or bottom
  of each page.
*/
.pagination {
  margin-bottom: 2rem;
  color: #ccc;
  text-align: center; }
  .pagination > a {
    display: inline-block;
    padding: 1em 1.5em;
    border: solid #434c5e;
    border-radius: 300px;
    border-width: 1px;
    width: 60%;
    max-width: 18rem;
    background: #eceff4;
    box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.16); }
    .pagination > a:hover {
      background-color: #434c5e; }

* + .pagination {
  margin-top: 2rem; }

.content .pagination:first-child {
  margin-top: -4rem; }

.index #sidebar {
  padding-bottom: calc(2rem + 1em); }

.home.index #sidebar {
  padding-bottom: 2rem; }

@media (min-width: 49rem) {
  .pagination > a {
    box-shadow: none; }
    .pagination > a:hover {
      box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.16); }

  .content .pagination:first-child {
    margin-top: 0; }
    .content .pagination:first-child + * {
      padding-top: 2rem;
      border-top: 1px solid #434c5e;
      margin-top: 2rem; }

  .index #sidebar {
    padding-bottom: 2rem; } }
.message {
  margin-bottom: 1rem;
  padding: 1rem;
  color: #4c566a;
  background-color: #d8dee9; }

.search-row {
  display: flex;
  border: 1px solid #434c5e;
  border-radius: 300px;
  padding: 2px; }
  .search-row input {
    border: 0; }
  .search-row input + input {
    margin-left: 2px; }
  .search-row input[type="text"], .search-row input[type="search"] {
    flex-grow: 1; }

.tags-list a {
  margin-right: 0.5em;
  white-space: nowrap;
  opacity: 0.75; }
  .tags-list a .tag-count {
    background: #5e81ac;
    color: rgba(255, 255, 255, 0.8);
    margin-left: 0.25em;
    border-radius: 1000px;
    font-size: 0.75em;
    padding-left: 0.6em;
    padding-right: 0.6em; }
  .tags-list a:hover {
    text-decoration: none;
    opacity: 1; }

@keyframes posts-for-tag-fade-in {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
.posts-for-tag {
  display: none; }
  .posts-for-tag:target {
    display: block;
    animation: posts-for-tag-fade-in 0.6s ease-in-out; }

/*   ========================================================================== */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    /* Black prints faster */
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    text-shadow: none !important; }

  div.content {
    width: 80%;
    margin-left: 5%; }

  a,
  a:visited {
    text-decoration: underline; }

  a[href]:after {
    content: " (" attr(href) ")"; }

  abbr[title]:after {
    content: " (" attr(title) ")"; }

  /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: ""; }

  pre {
    white-space: pre-wrap !important; }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }

  /*
   * Printing Tables:
   * http://css-discuss.incutio.com/wiki/Printing_Tables
   */
  thead {
    display: table-header-group; }

  tr,
  img {
    page-break-inside: avoid; }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }

  h2,
  h3 {
    page-break-after: avoid; }

  abbr {
    text-decoration: none;
    border-bottom: none; }
    abbr[title] {
      border-bottom: none; } }
