@layer general {
  /* 7. Single Post
  /* ---------------------------------------------------------- */

  .post-template .site-main,
  .page-template .site-main {
    padding-bottom: 4vw;
    background: #fff;
  }

  .post-full {
    position: relative;
  }

  .post-full-header {
    margin: 0 auto;
    padding: 6vw 3vw 3vw;
    max-width: 1040px;
    text-align: center;
  }
  @media (max-width: 500px) {
    .post-full-header {
      padding: 14vw 3vw 10vw;
    }
  }

  .post-full-meta {
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--midgrey);
    font-size: 1.4rem;
    font-weight: 600;
    text-transform: uppercase;
  }

  .post-full-meta-date {
    color: var(--blue);
  }

  .post-full-title {
    margin: 0;
    color: #090a0b;
  }

  .date-divider {
    display: inline-block;
    margin: 0 6px 1px;
  }

  .post-full-image {
    margin: 0 -10vw -165px;
    height: 800px;
    background: var(--lightgrey) center center;
    background-size: cover;
    border-radius: 5px;
  }

  @media (max-width: 1170px) {
    .post-full-image {
      margin: 0 -4vw -100px;
      height: 600px;
      border-radius: 0;
    }
  }

  @media (max-width: 800px) {
    .post-full-image {
      height: 400px;
    }
  }

  .post-full-content {
    position: relative;
    margin: 0 auto;
    padding: 70px 100px 0;
    min-height: 230px;
    font-family: Georgia, serif;
    font-size: 2.2rem;
    line-height: 1.6em;
    background: #fff;
  }

  @media (max-width: 1170px) {
    .post-full-content {
      padding: 5vw 7vw 0;
    }
  }
  @media (max-width: 800px) {
    .post-full-content {
      font-size: 1.9rem;
    }
  }

  .post-full-content:before {
    content: '';
    position: absolute;
    top: 15px;
    left: -5px;
    z-index: -1;
    display: block;
    width: 20px;
    height: 200px;
    background: rgba(39, 44, 49, 0.15);
    filter: blur(5px);
    transform: rotate(-5deg);
  }

  .post-full-content:after {
    content: '';
    position: absolute;
    top: 15px;
    right: -5px;
    z-index: -1;
    display: block;
    width: 20px;
    height: 200px;
    background: rgba(39, 44, 49, 0.15);
    filter: blur(5px);
    transform: rotate(5deg);
  }

  .no-image .post-full-content {
    padding-top: 0;
  }

  .no-image .post-full-content:before,
  .no-image .post-full-content:after {
    display: none;
  }

  .kg-card-markdown {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 920px;
  }

  .post-full-content h1,
  .post-full-content h2,
  .post-full-content h3,
  .post-full-content h4,
  .post-full-content p,
  .post-full-content ul,
  .post-full-content ol,
  .post-full-content dl,
  .post-full-content pre,
  .post-full-content blockquote,
  .post-full-comments,
  .footnotes {
    min-width: 100%;
  }

  .post-full-content li {
    word-break: break-word;
  }

  .post-full-content li p {
    margin: 0;
  }

  .post-template .kg-card-markdown > p:first-child {
    font-size: 1.25em;
    line-height: 1.5em;
  }

  .post-full-content a {
    color: #000;
    box-shadow: var(--blue) 0 -1px 0 inset;
  }

  .post-full-content a:hover {
    color: var(--blue);
    text-decoration: none;
  }

  .post-full-content strong,
  .post-full-content em {
    color: #090a0b;
  }

  .post-full-content small {
    display: inline-block;
    line-height: 1.6em;
  }

  .post-full-content li:first-child {
    margin-top: 0;
  }

  .post-full-content img,
  .post-full-content video {
    display: block;
    margin: 1.5em auto;
    max-width: 1040px;
  }
  @media (max-width: 1040px) {
    .post-full-content img,
    .post-full-content video {
      width: 100%;
    }
  }

  /* Full bleed images (#full)
  Super neat trick courtesy of @JoelDrapper

  Usage (In Ghost edtior):

  ![img](/some/image.jpg#full)

  */
  .post-full-content img[src$='#full'] {
    max-width: none;
    width: 100vw;
  }

  /* Image captions

  Usage (In Ghost editor):

  ![img](/some/image.jpg)
  <small>Your image caption</small>

  */
  .post-full-content img + br + small {
    display: block;
    margin-top: -3em;
    margin-bottom: 1.5em;
  }

  .post-full-content iframe {
    margin: 0 auto;
  }

  .post-full-content blockquote {
    margin: 0 0 1.5em;
    padding: 0 1.5em;
    border-left: #3eb0ef 3px solid;
  }

  .post-full-content blockquote p {
    margin: 0 0 1em 0;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
    font-style: italic;
  }

  .post-full-content blockquote p:last-child {
    margin-bottom: 0;
  }

  .post-full-content h1,
  .post-full-content h2,
  .post-full-content h3,
  .post-full-content h4 {
    color: #090a0b;
  }

  .post-full-content h1 {
    margin: 0.5em 0 0.2em 0;
    font-size: 4.6rem;
    font-weight: 700;
  }
  @media (max-width: 500px) {
    .post-full-content h1 {
      font-size: 2.8rem;
    }
  }

  .post-full-content h2 {
    margin: 0.5em 0 0.2em 0;
    font-size: 3.6rem;
    font-weight: 700;
  }
  @media (max-width: 500px) {
    .post-full-content h2 {
      font-size: 2.6rem;
    }
  }

  .post-full-content h3 {
    margin: 0.5em 0 0.2em 0;
    font-size: 2.8rem;
    font-weight: 700;
  }
  @media (max-width: 500px) {
    .post-full-content h3 {
      font-size: 2.2rem;
    }
  }

  @media (max-width: 500px) {
    .post-full-image {
      margin-bottom: 4vw;
      height: 350px;
    }
    .post-full-content {
      padding: 0;
    }
    .post-full-title {
      font-size: 2.9rem;
    }
  }
}
