blockquote {
  border-left: 6px solid var(--theme-color-secondary);
  margin: 2em 0;
  padding-left: 1.2em;
  font-style: italic;

  .author {
    font-style: normal;
    font-size: var(--font-size-small);
    line-height: 1.2;
  }
}

.magazine-article blockquote, blockquote[data-quote-type='magazine'] {
  border-left: 0;
  font-weight: 300;
  font-style: normal;
  margin: calc(var(--section-margin) * 0.6) 0;
  padding: 0 20px 0 40px;

  @media(max-width: 767px) {
    padding: 0 0 0 20px;
  }

  p:not(.author), div.text {
    line-height: 1.3;
    font-size: var(--font-size-h2);

    &:first-child:before {
      content: "";
      position: relative;
      display: block;
      width: 30px;
      height: 30px;
      background-image: url('../../assets/img/quote.svg');
      background-size: 100%;
      margin: 2px 0 2px -40px;

      @media(max-width: 767px) {
        margin-left: -20px;
      }
    }
  }

  p:not(.author):last-child:after, div.text:last-child:after, .author:after, h4:after {
    content: "";
    position: relative;
    display: block;
    width: 30px;
    height: 30px;
    background-image: url('../../assets/img/quote.svg');
    background-size: 100%;
    margin: 2px 0 2px -40px;
    transform: rotate(180deg);

    @media(max-width: 767px) {
      margin-left: -20px;
    }
  }

  .author, h4 {
    position: relative;
    font-weight: 400;
    text-align: right;
    margin-right: -20px;
    margin-top: 36px;
    font-family: "Source Sans Pro", sans-serif;
    font-size: 18px;

    &:before {
      content: "— ";
      position: relative;
      top: -1px;
      margin-right: 2px;
    }

    &:after {
      position: absolute;
      top: -36px;
      left: 0;
    }

    @media(max-width: 767px) {
      margin-right: 0;
      padding-left: 30px;
      font-size: 16px;
      font-weight: 500;
      margin-top: 32px;

      &:after {
        top: -30px;
      }
    }
  }
}