.text {
  hyphens: auto;
}

.text:after {
  clear: both;
  content: " ";
  display: table;
}

.text ol, .text ul {
  padding-left: 1.5rem;
}

.text.text--spacing-small, .text.text--spacing-small .media-audio, .text.text--spacing-small .media-document, .text.text--spacing-small .media-image, .text.text--spacing-small .media-video, .text.text--spacing-small blockquote, .text.text--spacing-small figure, .text.text--spacing-small ol, .text.text--spacing-small p, .text.text--spacing-small table, .text.text--spacing-small ul {
  margin-bottom: 1rem;
}

.text.text--spacing-none, .text.text--spacing-none .media-audio, .text.text--spacing-none .media-document, .text.text--spacing-none .media-image, .text.text--spacing-none .media-video, .text.text--spacing-none blockquote, .text.text--spacing-none figure, .text.text--spacing-none ol, .text.text--spacing-none p, .text.text--spacing-none table, .text.text--spacing-none ul, .text.text--spacing-small .media-audio:last-child, .text.text--spacing-small .media-document:last-child, .text.text--spacing-small .media-image:last-child, .text.text--spacing-small .media-video:last-child, .text.text--spacing-small blockquote:last-child, .text.text--spacing-small figure:last-child, .text.text--spacing-small ol:last-child, .text.text--spacing-small p:last-child, .text.text--spacing-small table:last-child, .text.text--spacing-small ul:last-child {
  margin-bottom: 0;
}

.text img {
  width: auto;
}

.responsive-table {
  background: linear-gradient(90deg, #fff 30%, hsla(0, 0%, 100%, 0)), linear-gradient(90deg, hsla(0, 0%, 100%, 0), #fff 70%) 0 100%, radial-gradient(farthest-side at 0 50%, rgba(0, 0, 0, .2), transparent), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, .2), transparent) 0 100%;
  background-attachment: local, local, scroll, scroll;
  background-position: 0 0, 100%, 0 0, 100%;
  background-repeat: no-repeat;
  background-size: 2rem 100%, 2rem 100%, 1rem 100%, 1rem 100%;
  max-width: 100%;
  overflow-x: auto;
  position: relative;
}

.responsive-table:after {
  content: "";
  height: 100%;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  width: 1rem;
}

table {
  border: 0;
  border-collapse: collapse;
  border-spacing: 0;
  margin: 0;
  width: 100%;
}

table td, table th {
  border: 0;
  padding: .5rem 1rem;
  text-align: left;
}

table th {
  background-color: var(--color-grey-light);
  font-weight: var(--font-weight-bold);
}

table tbody tr:nth-child(2n) {
  background-color: rgba(53, 49, 49, .07);
}

table caption {
  caption-side: bottom;
  font-style: italic;
  padding: .5rem 0 0;
  text-align: left;
}

.table--fax, .table--phone {
  min-width: 500px;
}

.table--fax td:first-child, .table--phone td:first-child {
  width: 200px;
}

.table--fax td:last-child, .table--phone td:last-child {
  width: auto;
}

@media screen and (min-width: 761px) {
  .table--fax td:first-child, .table--phone td:first-child {
    width: 250px;
  }
}

.table--email {
  min-width: 600px;
}

.table--email td:first-child {
  width: 300px;
}

.table--email td:last-child {
  width: auto;
}

@media screen and (min-width: 761px) {
  .table--email td:first-child {
    width: 400px;
  }
}

.table--specialisms {
  min-width: 500px;
}

.table--specialisms a {
  text-decoration: none;
}

.table--specialisms a:hover {
  text-decoration: underline;
}

.table--waiting-times {
  margin-bottom: 2rem;
}

blockquote {
  border-left: .2rem solid var(--color-grey-light);
  padding: .5rem 1rem;
}

iframe {
  border: 0;
  width: 100%;
}

.media-image.align-left, .media-image.align-right {
  margin-bottom: 1.5rem;
}

.block--text .media-image.align-left, .block--text .media-image.align-right, .block--update .media-image.align-left, .block--update .media-image.align-right {
  margin-bottom: .5rem;
}

.media-video {
  padding-bottom: 56.25%;
  position: relative;
}

.media-video iframe {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
