html {
  font-size: 16px;
}

@media screen and (min-width: 1020px) {
  html {
    font-size: 20px;
  }
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--color-text);
  font-family: Abel, Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1rem;
  min-height: 100vh;
  min-width: var(--min-width);
  overflow-x: hidden;
  position: relative;
  width: 100vw;
}

@media screen and (min-width: 1020px) {
  body {
    font-size: 20px;
  }
}

.ck-content * {
  font-family: Abel, Arial, Helvetica, sans-serif;
}

@media screen and (min-width: 1020px) {
  .ck-content ol, .ck-content p, .ck-content ul {
    font-size: 20px;
    font-weight: 300;
  }
}

.main-content {
  margin: 0 auto;
  max-width: var(--max-width-content);
  padding: calc(100px + 1rem) 1rem 3rem;
}

@media screen and (min-width: 1020px) {
  .main-content {
    max-width: calc(var(--max-width-content) + 4.8rem);
    padding: calc(100px + 1rem) 2.4rem 6rem;
  }
}

.main-content [id] {
  scroll-margin-top: var(--scroll-margin-top-small);
}

body[data-type=location] .main-content, body[data-type=specialism] .main-content {
  padding-top: 0;
}

.is-front .article--full, .is-front .main-content, .is-homepage:not(.palette-hospital) .article--full, .is-homepage:not(.palette-hospital) .main-content {
  margin-top: 0;
  padding-top: 0;
}

@media screen and (min-width: 761px) {
  .has-sidebar .main-content-wrapper {
    display: flex;
    gap: 2rem;
    justify-content: center;
    padding-bottom: 8rem;
  }

  .has-sidebar .main-content-inner {
    flex: 2 1 0;
  }

  .has-sidebar .sidebar {
    flex: 1 1 0;
    margin-top: 1rem;
  }

  .has-sidebar .pager {max-width: calc(100vw - 2rem);
    position: absolute;
    width: var(--max-width-content);
  }
}

a {
  color: var(--color-primary);
}

a:hover {
  text-decoration: none;
}

a:hover, h1, h2, h3, h4 {
  color: var(--color-primary-darker);
}

h1, h2, h3, h4 {
  font-weight: var(--font-weight-bold);
  line-height: 1;
  margin: 0;
}

h1 {
  font-size: 2rem;
}

h1, h2 {
  padding: 1rem 0;
}

h2 {
  font-size: 1.6rem;
}

h3 {
  font-size: 1.2rem;
  padding: 1rem 0;
}

strong {
  font-weight: var(--font-weight-bold);
}

img {
  max-width: 100%;
}

p {
  margin: 0;
}

p + h3 {
  padding-top: 0;
}

.content-section, .grid, .media-audio, .media-document, .media-image, .media-video, .quicklinks, .text, blockquote, figure, ol, p, table, ul, ul.list {
  line-height: 1.5rem;
  margin-bottom: 2rem;
  margin-top: 0;
}

.content-section--no-margin, .content-section:last-child, .grid:last-child, .media-audio:last-child, .media-document:last-child, .media-image:last-child, .media-video:last-child, .quicklinks:last-child, .text:last-child, blockquote:last-child, figure:last-child, ol:last-child, p:last-child, table:last-child, ul.list:last-child, ul:last-child {
  margin-bottom: 0;
}

.content-section--full {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: 100vw;
  padding: 2em 2em 0 2em;
}

.layout-builder-block > .text, a > .media-image, a > figure {
  margin-bottom: 2rem;
}

.layout-builder-block:last-child > .text, a:last-child > .media-image, a:last-child > figure, figure > .media-image {
  margin-bottom: 0;
}

.page-title {
  margin: 0 auto;
  max-width: var(--max-width-content);
  padding: 2rem 0;

}
.page-title--small {
  max-width: var(--max-width-content-small);
}

.page-title--extra-small {
  max-width: var(--max-width-content-extra-small);
}

.content-section + .content-section > h2 {
  padding-top: 1rem;
}

.visually-hidden {
  clip: rect(.1rem, .1rem, .1rem, .1rem);
  word-wrap: normal;
  bottom: auto;
  height: .1rem;
  left: auto;
  overflow: hidden;
  position: absolute !important;
  right: auto;
  top: auto;
  width: .1rem;
}

.visually-hidden.focusable:active, .visually-hidden.focusable:focus {
  clip: auto;
  height: auto;
  overflow: visible;
  position: static !important;
  width: auto;
}

.hidden, .js-hide {
  display: none;
}

a:focus, button:focus, summary:focus {
  outline-color: var(--color-primary);
  outline-offset: .1rem;
  outline-style: dotted;
  outline-width: .1rem;
  transition: outline-offset .05s ease-in-out;
}

a:focus:not(:focus-visible), button:focus:not(:focus-visible), summary:focus:not(:focus-visible) {
  outline: 0;
}

.text-small {
  font-size: .8rem;
}

.text-medium {
  font-size: 1.2rem;
}

.text-large {
  font-size: 1.6rem;
}

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

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

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

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

.text-emergency {
  align-items: center;
  color: var(--color-secondary-darker);
  display: flex;
  font-size: 1.2rem;
  font-weight: var(--font-weight-bold);
  margin: 1rem 0;
}

.text-emergency .icon {
  height: 1.2rem;
  margin-right: .5rem;
  width: 1.2rem;
}

.align-left {
  display: block;
  float: left;
  margin-bottom: .5rem;
  margin-right: 1rem;
  max-width: calc(50% - .5rem);
  width: 100%;
}

@media screen and (min-width: 1020px) {
  .align-left {
    margin-right: 1.5rem;
    max-width: calc(50% - .75rem);
  }
}

.align-right {
  display: block;
  float: right;
  margin-bottom: 2rem;
  margin-left: 1rem;
  max-width: calc(50% - .5rem);
  width: 100%;
}

@media screen and (min-width: 1020px) {
  .align-right {
    max-width: calc(50% - .75rem);
  }
}

.align-center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.w-10 {
  width: 10%;
}

.w-20 {
  width: 20%;
}

.w-30 {
  width: 30%;
}

.w-40 {
  width: 40%;
}

.w-50 {
  width: 50%;
}

.w-60 {
  width: 60%;
}

.w-70 {
  width: 70%;
}

.w-80 {
  width: 80%;
}

.w-90 {
  width: 90%;
}

.w-100 {
  width: 100%;
}

.list--reset {
  list-style: none outside none;
  margin: 0;
  padding: 0;
}

.list--reset li {
  padding: 0;
}

.list--inline {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}

.list--lines li {
  border-bottom: 1px solid var(--color-grey-lighter);
}

.list--lines li:last-child {
  border-bottom: 0;
}

.list--columns {
  column-count: 1;
}

@media screen and (min-width: 481px) {
  .list--columns {
    column-count: 2;
  }
}

.list--margin-bottom {
  margin-bottom: 1rem;
}

.text-block {
  padding: 1rem;
}

@media screen and (min-width: 761px) {
  .text-block {
    padding: 2rem;
  }
}

.text-block--no-padding {
  padding-left: 0;
  padding-right: 0;
}

.text-block--light-grey {
  background-color: var(--color-grey-lighter);
}

.text-block--border {
  border-top: 1px solid var(--color-grey-lighter);
}

.text-block--full {
  width: calc(var(--max-width-content) - 2rem);
}

@media screen and (min-width: 761px) {
  .text-block--full {
    width: calc(var(--max-width-content) - 4.8rem);
  }
}

hr {
  background-color: var(--color-grey-lighter);
  border: 0;
  height: 1px;
  margin: 2rem 0;
}

.content-section--brandbox, .content-section--top-tasks, .layout-builder__section--layout__brandbox {
  margin-left: calc(50% - var(--width) / 2);
  margin-right: calc(50% - var(--width) / 2);
  padding: 0;
}

@media screen and (min-width: 1500px) {
  .content-section--brandbox, .content-section--top-tasks, .layout-builder__section--layout__brandbox {
    margin-left: calc(50% - var(--max-width) / 2);
    margin-right: calc(50% - var(--max-width) / 2);
    max-width: var(--max-width);
  }
}

.content-section--top-tasks {
  background-color: var(--color-grey-lighter);
  padding: 2rem 0;
}

.content-section--top-tasks ul {
  margin: 0 auto;
  max-width: var(--max-width-content);
  padding: 0 1rem;
}

@media screen and (min-width: 1020px) {
  .content-section--top-tasks ul {
    max-width: calc(var(--max-width-content) + 4.8rem);
    padding: 0 2.4rem;
  }
}

.content-section--brandbox {
  margin-bottom: 0;
}

.content-section--brandbox + .content-section {
  margin-top: 0;
}

.js-dialog-prevent-scroll {
  height: 100vh;
  overflow: hidden;
  width: 100vw;
}

.ajax-progress {
  display: none;
}

.bg-white {
  background-color: var(--color-white);
}

.bg-primary-light {
  background-color: var(--color-primary-light);
}

.bg-primary {
  background-color: var(--color-primary);
}

.bg-primary-dark {
  background-color: var(--color-primary-darker);
}

.bg-secondary-light {
  background-color: var(--color-secondary-light);
}

.bg-secondary {
  background-color: var(--color-secondary);
}

.bg-secondary-dark {
  background-color: var(--color-secondary-darker);
}

.bg-grey-light {
  background-color: var(--color-grey-light);
}

.bg-grey {
  background-color: var(--color-grey);

}

.bg-grey-dark {
  background-color: var(--color-grey-darker);
}

.bg-black {
  background-color: var(--color-black);
}
