.text-width-limited > * {
  max-width: var(--content-medium);
  margin-inline: auto;
}

.text-align-centre {
  text-align: center;
}

.text-align-centre .image-caption {
  text-align: center;
}

.text-align-centre blockquote::before {
  left: 50%;
  transform: translateX(-50%);
}

.text-align-centre blockquote p {
  margin-left: auto;
  margin-right: auto;
}

.text-align-centre ol,
.text-align-centre ul {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.text-align-centre li {
  display: inline-block;
  text-align: center;
}

.text-align-centre ol li::before {
  left: auto;
  right: calc(100% + 5px);
}

.text-align-right {
  text-align: right;
}

.text-align-right > blockquote::before {
  left: auto;
  right: 0;
}

.text-align-right > blockquote p {
  margin-left: auto;
  margin-right: 0;
}

@media (min-width: 60rem) {
  .text-width-limited > *,
  .text-width-limited details p {
    padding-inline-end: calc(var(--content-medium) - var(--body-text-max-width));
  }
  .text-width-limited details,
  .text-width-limited .table-wrapper {
    padding-inline-end: 0;
  }
  .text-align-centre .snippet::before {
    left: calc((var(--content-medium) - var(--body-text-max-width)) / 2 - var(--snippet-line-distance));
  }
  .text-width-limited.text-align-centre > * {
    padding-inline: calc((var(--content-medium) - var(--body-text-max-width)) / 2);
  }
  .text-width-limited.text-align-centre details,
  .text-width-limited.text-align-right details,
  .text-width-limited.text-align-centre .table-wrapper,
  .text-width-limited.text-align-right .table-wrapper {
    padding-inline: 0;
  }
  .text-width-limited.text-align-right > * {
    padding-inline-start: calc(var(--content-medium) - var(--body-text-max-width));
    padding-inline-end: 0;
  }
  .text-align-right .snippet::before {
    left: calc(var(--content-medium) - var(--body-text-max-width) - var(--snippet-line-distance));
  }
}

/*# sourceMappingURL=/assets/application/base/text-alignment-95bee199.css.map */
