.entry {
  font-size: 1.2rem;
  line-height: 1.65;

  h1, h2, h3, h4, h5, h6{
    line-height: 1.4;
  }

  h1 {
    line-height: 1.25;
    @apply lg:text-[2.2em] text-[1.7em] font-bold mt-12;
  }

  h2 {
    line-height: 1.25;
    @apply lg:text-[1.75em] text-[1.25em] font-bold mt-12;
  }

  h3 {
    @apply lg:text-[1.25em] text-[1.1em] font-bold mt-8;
  }

  h4 {
    @apply lg:text-[1.4em] text-[1.1em] font-semibold mt-6;
  }

  hr {
    @apply border-t border-theme-300 mt-8 mb-8;
  }

  h1, h2, h3, h4, h5, h6{
    &:first-child {
      @apply mt-0;
    }
  }

  p {
    @apply mt-4 mb-4;

    &:first-child {
      @apply mt-0;
    }

    &:last-child {
      @apply mb-0;
    }
  }
  h3 + p,
  h4 + p {
    @apply mt-[.3em];
  }

  .excerpt {
    @apply text-xl lg:text-2xl leading-relaxed;
  }

  strong {
    @apply font-bold text-theme-900;
  }

  small {
    @apply text-xs opacity-70;
  }

  a {
    @apply text-primary-600;

    &:hover {
      @apply opacity-60;
    }
  }

  blockquote {
    @apply border-l-4 border-theme-500 text-theme-900  bg-theme-50 mt-8 mb-8 py-4 px-6;
    quotes: '"\\201C""\\201D""\\2018""\\2019"';
    p {
      @apply my-0;
    }
    code {
      @apply bg-theme-100 text-theme-800;
    }
  }

  ol,
  ul {
    @apply mt-5 mb-5 ml-9;

    > li {
      @apply relative mt-2 mb-2 pl-2;

      ul {
        @apply mt-2 mb-2 ml-6;
      }
    }
  }

  ul > li {
    @apply list-disc;
  }

  ol {
    @apply list-decimal ml-4;
  }

  code {
    @apply rounded-md px-1 py-0 font-mono;
    font-size: 0.85em;
  }

  figure {
    @apply mt-4 mb-4 text-center;

    figcaption {
      @apply text-theme-400 mt-2 mb-4 font-sans text-sm;
    }

    > a,
    > img {
      @apply text-center inline-block;
    }

    img {
      @apply mb-0 rounded-md border border-theme-200;
    }
  }

  img {
    max-height: 60vh;
    @apply mt-4 mb-4;
  }

  .align-right {
    @apply float-right ml-4;
  }
  .align-left {
    @apply float-left ml-4;
  }

  .embed-responsive {
    margin: 0.5em 0;

    @media (max-width: 767px) {
      position: relative;
      padding-bottom: 56.25%;
      /* 16:9 */
      padding-top: 25px;
      height: 0;
    }

    iframe {
      width: 100%;

      @media (max-width: 767px) {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
      }
    }
  }

  //Remove margin of any element after heading or hr
  // h2 + *,
  // h3 + *,
  // h4 + *,
  // hr + * {
  //   @apply mt-0;
  // }

  // h2:first-of-type,
  // h3:first-of-type,
  // h4:first-of-type {
  //   @apply mt-6;
  // }
}
