.article-section-wrapper {
  overflow: hidden;
  width: 100%;
}

.quote > div > div,
.article-text > div > div {
  display: flex;
  flex-direction: column;
}

.quote p, .article-text p {
  margin-top: 0;
  margin-bottom: 1.5rem;
}

.quote p:first-of-type {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-weight: var(--text-regular);
  font-size: var(--caption-text);
  gap: 0.75rem;
  float: left;
  width: 100%;
}

.quote p:first-of-type img,
.article-text p:first-of-type img {
  margin: auto;
}

.article-text p:first-of-type {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-weight: var(--text-regular);
  font-size: var(--caption-text);
  gap: 0.75rem;
  float: right;
  width: 100%;
}

.quote h4,
.quote h4 > em, 
.quote h4 > strong, 
.quote h4 > strong > em {
  color: var(--text-sky);
  font-size: var(--quote-article-text);
  font-weight: var(--text-regular);
  line-height: var(--line-height-120);
  margin: 0;
  margin-bottom: 1.5rem;
}

 /* stylelint-disable-next-line no-descending-specificity */
.article-text h5, .article-text h5 > strong {
  margin: 0;
  margin-top: 1.5rem;
}

@media (width >= 768px) {
  .article-text, .quote {
    margin-bottom: 1.5rem;
  }

  .quote > div > div,
  .article-text > div > div {
    display: block;
    gap: 1.5rem;
  }
  
  .quote p:first-of-type {
    align-items: flex-start;
    width: 34%;
    padding-right: 2.5rem;
    margin: 0;
  }
  
  .article-text p:first-of-type {
    align-items: flex-start;
    padding-left: 2.5rem;
    width: 34%;
    margin: 0;
  }

  .quote p:first-of-type,
  .article-text p:first-of-type {
    margin-bottom: 1.5rem;
  }

  .quote h4,
  .quote h4 > em, 
  .quote h4 > strong, 
  .quote h4 > strong > em,
  .article-text h5,
  .article-text h5 > strong {
    margin: 0;
    margin-bottom: 1.5rem;
  }

  .article-section.quote > div > div > ul > li {
    transform: translateX(2em);
  }
}