/* =========================================================================
   NHS UK Typography Styles
   ========================================================================= */

@charset "UTF-8";

/* Base HTML elements and font loading */
html {
  box-sizing: border-box;
  background-color: #d8dde0;
  font-family: Frutiger W01, arial, sans-serif;
  overflow-y: scroll;
}

*, :after, :before {
  box-sizing: inherit;
}

/* Font face declarations */
@font-face {
  font-display: swap;
  font-family: Frutiger W01;
  font-style: normal;
  font-weight: 400;
  src: url(https://assets.nhs.uk/fonts/FrutigerLTW01-55Roman.eot?#iefix);
  src: url(https://assets.nhs.uk/fonts/FrutigerLTW01-55Roman.eot?#iefix) format("eot"),
       url(https://assets.nhs.uk/fonts/FrutigerLTW01-55Roman.woff2) format("woff2"),
       url(https://assets.nhs.uk/fonts/FrutigerLTW01-55Roman.woff) format("woff"),
       url(https://assets.nhs.uk/fonts/FrutigerLTW01-55Roman.ttf) format("truetype"),
       url(https://assets.nhs.uk/fonts/FrutigerLTW01-55Roman.svg#7def0e34-f28d-434f-b2ec-472bde847115) format("svg");
}

@font-face {
  font-display: swap;
  font-family: Frutiger W01;
  font-style: normal;
  font-weight: 600;
  src: url(https://assets.nhs.uk/fonts/FrutigerLTW01-65Bold.eot?#iefix);
  src: url(https://assets.nhs.uk/fonts/FrutigerLTW01-65Bold.eot?#iefix) format("eot"),
       url(https://assets.nhs.uk/fonts/FrutigerLTW01-65Bold.woff2) format("woff2"),
       url(https://assets.nhs.uk/fonts/FrutigerLTW01-65Bold.woff) format("woff"),
       url(https://assets.nhs.uk/fonts/FrutigerLTW01-65Bold.ttf) format("truetype"),
       url(https://assets.nhs.uk/fonts/FrutigerLTW01-65Bold.svg#eae74276-dd78-47e4-9b27-dac81c3411ca) format("svg");
}

/* Body base typography */
body {
  background-color: #f0f4f5;
  color: #212b32;
  font-size: 16px;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
  margin: 0;
  min-height: 100%;
}

/* Headings - XL (h1) */
.nhsuk-heading-xl, h1 {
  display: block;
  font-size: 32px;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.1875;
  margin-top: 0;
  margin-bottom: 40px;
}

@media (min-width: 40.0625em) {
  .nhsuk-heading-xl, h1 {
    font-size: 48px;
    font-size: 3rem;
    line-height: 1.125;
    margin-bottom: 48px;
  }
}

@media print {
  .nhsuk-heading-xl, h1 {
    font-size: 26pt;
    line-height: 1.15;
  }
}

/* Headings - Large (h2) */
.nhsuk-heading-l, h2 {
  display: block;
  font-size: 27px;
  font-size: 1.6875rem;
  font-weight: 600;
  line-height: 1.22222;
  margin-top: 0;
  margin-bottom: 16px;
}

@media (min-width: 40.0625em) {
  .nhsuk-heading-l, h2 {
    font-size: 36px;
    font-size: 2.25rem;
    line-height: 1.16667;
    margin-bottom: 24px;
  }
}

@media print {
  .nhsuk-heading-l, h2 {
    font-size: 20pt;
    line-height: 1.2;
  }
}

/* Headings - Medium (h3) */
.nhsuk-heading-m, h3 {
  display: block;
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.31818;
  margin-top: 0;
  margin-bottom: 16px;
}

@media (min-width: 40.0625em) {
  .nhsuk-heading-m, h3 {
    font-size: 26px;
    font-size: 1.625rem;
    line-height: 1.23077;
    margin-bottom: 24px;
  }
}

@media print {
  .nhsuk-heading-m, h3 {
    font-size: 17pt;
    line-height: 1.25;
  }
}

/* Headings - Small (h4) */
.nhsuk-heading-s, h4 {
  display: block;
  font-size: 19px;
  font-size: 1.1875rem;
  font-weight: 600;
  line-height: 1.42105;
  margin-top: 0;
  margin-bottom: 16px;
}

@media (min-width: 40.0625em) {
  .nhsuk-heading-s, h4 {
    font-size: 22px;
    font-size: 1.375rem;
    line-height: 1.36364;
    margin-bottom: 24px;
  }
}

@media print {
  .nhsuk-heading-s, h4 {
    font-size: 15pt;
    line-height: 1.25;
  }
}

/* Headings - Extra Small (h5) */
.nhsuk-heading-xs, h5 {
  display: block;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  margin-top: 0;
  margin-bottom: 16px;
}

@media (min-width: 40.0625em) {
  .nhsuk-heading-xs, h5 {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.47368;
    margin-bottom: 24px;
  }
}

@media print {
  .nhsuk-heading-xs, h5 {
    font-size: 13pt;
    line-height: 1.25;
  }
}

/* Headings - Double Extra Small (h6) */
.nhsuk-heading-xxs, h6 {
  display: block;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  margin-top: 0;
  margin-bottom: 16px;
}

@media (min-width: 40.0625em) {
  .nhsuk-heading-xxs, h6 {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.47368;
    margin-bottom: 24px;
  }
}

@media print {
  .nhsuk-heading-xxs, h6 {
    font-size: 13pt;
    line-height: 1.25;
  }
}

/* Caption styles for headings */
.nhsuk-caption-xl {
  color: #4c6272;
  display: block;
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: 400;
  line-height: 1.31818;
  margin-bottom: 4px;
}

@media (min-width: 40.0625em) {
  .nhsuk-caption-xl {
    font-size: 26px;
    font-size: 1.625rem;
    line-height: 1.23077;
  }
}

@media print {
  .nhsuk-caption-xl {
    font-size: 17pt;
    line-height: 1.25;
  }
}

.nhsuk-caption-l {
  color: #4c6272;
  display: block;
  font-size: 19px;
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.42105;
  margin-bottom: 4px;
}

@media (min-width: 40.0625em) {
  .nhsuk-caption-l {
    font-size: 22px;
    font-size: 1.375rem;
    line-height: 1.36364;
  }
}

@media print {
  .nhsuk-caption-l {
    font-size: 15pt;
    line-height: 1.25;
  }
}

.nhsuk-caption-m {
  color: #4c6272;
  display: block;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
}

@media (min-width: 40.0625em) {
  .nhsuk-caption-m {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.47368;
  }
}

@media print {
  .nhsuk-caption-m {
    font-size: 13pt;
    line-height: 1.25;
  }
}

.nhsuk-caption--bottom {
  margin-bottom: 0;
  margin-top: 4px;
}

/* Body text styles */
.nhsuk-body-l {
  display: block;
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 1.31818;
  margin-top: 0;
  margin-bottom: 24px;
}

@media (min-width: 40.0625em) {
  .nhsuk-body-l {
    font-size: 26px;
    font-size: 1.625rem;
    line-height: 1.23077;
    margin-bottom: 32px;
  }
}

@media print {
  .nhsuk-body-l {
    font-size: 17pt;
    line-height: 1.25;
  }
}

.nhsuk-body-m, address, p {
  display: block;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  margin-top: 0;
  margin-bottom: 16px;
}

@media (min-width: 40.0625em) {
  .nhsuk-body-m, address, p {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.47368;
    margin-bottom: 24px;
  }
}

@media print {
  .nhsuk-body-m, address, p {
    font-size: 13pt;
    line-height: 1.25;
  }
}

.nhsuk-body-m, p {
  color: inherit;
}

.nhsuk-body-s {
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71429;
  margin-top: 0;
  margin-bottom: 16px;
}

@media (min-width: 40.0625em) {
  .nhsuk-body-s {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
    margin-bottom: 24px;
  }
}

@media print {
  .nhsuk-body-s {
    font-size: 12pt;
    line-height: 1.3;
  }
}

address {
  font-style: normal;
}

/* Lead text styles */
.nhsuk-lede-text {
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: 400;
  line-height: 1.31818;
  margin-bottom: 40px;
}

@media (min-width: 40.0625em) {
  .nhsuk-lede-text {
    font-size: 26px;
    font-size: 1.625rem;
    line-height: 1.23077;
    margin-bottom: 48px;
  }
}

@media print {
  .nhsuk-lede-text {
    font-size: 17pt;
    line-height: 1.25;
  }
}

.nhsuk-lede-text p, .nhsuk-lede-text ul {
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: 400;
  line-height: 1.31818;
}

@media (min-width: 40.0625em) {
  .nhsuk-lede-text p, .nhsuk-lede-text ul {
    font-size: 26px;
    font-size: 1.625rem;
    line-height: 1.23077;
  }
}

@media print {
  .nhsuk-lede-text p, .nhsuk-lede-text ul {
    font-size: 17pt;
    line-height: 1.25;
  }
}

.nhsuk-lede-text--small {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 24px;
}

@media (min-width: 40.0625em) {
  .nhsuk-lede-text--small {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.47368;
    margin-bottom: 32px;
  }
}

@media print {
  .nhsuk-lede-text--small {
    font-size: 13pt;
    line-height: 1.25;
  }
}

h1 + .nhsuk-lede-text, h1 + .nhsuk-lede-text--small {
  margin-top: -8px;
}

/* Font weight utilities */
b, strong {
  font-weight: 600;
}

/* Spacing between typography elements */
.nhsuk-body-l + .nhsuk-heading-l, .nhsuk-body-l + h2 {
  padding-top: 4px;
}

@media (min-width: 40.0625em) {
  .nhsuk-body-l + .nhsuk-heading-l, .nhsuk-body-l + h2 {
    padding-top: 8px;
  }
}

.nhsuk-body-m + .nhsuk-heading-l, .nhsuk-body-m + h2, .nhsuk-body-s + .nhsuk-heading-l, .nhsuk-body-s + h2, address + .nhsuk-heading-l, address + h2, p + .nhsuk-heading-l, p + h2 {
  padding-top: 16px;
}

@media (min-width: 40.0625em) {
  .nhsuk-body-m + .nhsuk-heading-l, .nhsuk-body-m + h2, .nhsuk-body-s + .nhsuk-heading-l, .nhsuk-body-s + h2, address + .nhsuk-heading-l, address + h2, p + .nhsuk-heading-l, p + h2 {
    padding-top: 24px;
  }
}

.nhsuk-body-m + .nhsuk-heading-m, .nhsuk-body-m + .nhsuk-heading-s, .nhsuk-body-m + h3, .nhsuk-body-m + h4, .nhsuk-body-s + .nhsuk-heading-m, .nhsuk-body-s + .nhsuk-heading-s, .nhsuk-body-s + h3, .nhsuk-body-s + h4, address + .nhsuk-heading-m, address + .nhsuk-heading-s, address + h3, address + h4, p + .nhsuk-heading-m, p + .nhsuk-heading-s, p + h3, p + h4 {
  padding-top: 4px;
}

@media (min-width: 40.0625em) {
  .nhsuk-body-m + .nhsuk-heading-m, .nhsuk-body-m + .nhsuk-heading-s, .nhsuk-body-m + h3, .nhsuk-body-m + h4, .nhsuk-body-s + .nhsuk-heading-m, .nhsuk-body-s + .nhsuk-heading-s, .nhsuk-body-s + h3, .nhsuk-body-s + h4, address + .nhsuk-heading-m, address + .nhsuk-heading-s, address + h3, address + h4, p + .nhsuk-heading-m, p + .nhsuk-heading-s, p + h3, p + h4 {
    padding-top: 8px;
  }
}

.nhsuk-lede-text + .nhsuk-heading-l, .nhsuk-lede-text + h2 {
  padding-top: 0;
}

/* Typography utility classes */
.nhsuk-u-font-size-64 {
  font-size: 48px !important;
  font-size: 3rem !important;
  line-height: 1.125 !important;
}

@media (min-width: 40.0625em) {
  .nhsuk-u-font-size-64 {
    font-size: 64px !important;
    font-size: 4rem !important;
    line-height: 1.09375 !important;
  }
}

@media print {
  .nhsuk-u-font-size-64 {
    font-size: 34pt !important;
    line-height: 1.1 !important;
  }
}

.nhsuk-u-font-size-48 {
  font-size: 32px !important;
  font-size: 2rem !important;
  line-height: 1.1875 !important;
}

@media (min-width: 40.0625em) {
  .nhsuk-u-font-size-48 {
    font-size: 48px !important;
    font-size: 3rem !important;
    line-height: 1.125 !important;
  }
}

@media print {
  .nhsuk-u-font-size-48 {
    font-size: 26pt !important;
    line-height: 1.15 !important;
  }
}

.nhsuk-u-font-size-36 {
  font-size: 27px !important;
  font-size: 1.6875rem !important;
  line-height: 1.22222 !important;
}

@media (min-width: 40.0625em) {
  .nhsuk-u-font-size-36 {
    font-size: 36px !important;
    font-size: 2.25rem !important;
    line-height: 1.16667 !important;
  }
}

@media print {
  .nhsuk-u-font-size-36 {
    font-size: 20pt !important;
    line-height: 1.2 !important;
  }
}

.nhsuk-u-font-size-26 {
  font-size: 22px !important;
  font-size: 1.375rem !important;
  line-height: 1.31818 !important;
}

@media (min-width: 40.0625em) {
  .nhsuk-u-font-size-26 {
    font-size: 26px !important;
    font-size: 1.625rem !important;
    line-height: 1.23077 !important;
  }
}

@media print {
  .nhsuk-u-font-size-26 {
    font-size: 17pt !important;
    line-height: 1.25 !important;
  }
}

.nhsuk-u-font-size-24 {
  font-size: 20px !important;
  font-size: 1.25rem !important;
  line-height: 1.4 !important;
}

@media (min-width: 40.0625em) {
  .nhsuk-u-font-size-24 {
    font-size: 24px !important;
    font-size: 1.5rem !important;
    line-height: 1.29167 !important;
  }
}

@media print {
  .nhsuk-u-font-size-24 {
    font-size: 16pt !important;
    line-height: 1.25 !important;
  }
}

.nhsuk-u-font-size-22 {
  font-size: 19px !important;
  font-size: 1.1875rem !important;
  line-height: 1.42105 !important;
}

@media (min-width: 40.0625em) {
  .nhsuk-u-font-size-22 {
    font-size: 22px !important;
    font-size: 1.375rem !important;
    line-height: 1.36364 !important;
  }
}

@media print {
  .nhsuk-u-font-size-22 {
    font-size: 15pt !important;
    line-height: 1.25 !important;
  }
}

.nhsuk-u-font-size-19 {
  font-size: 16px !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;
}

@media (min-width: 40.0625em) {
  .nhsuk-u-font-size-19 {
    font-size: 19px !important;
    font-size: 1.1875rem !important;
    line-height: 1.47368 !important;
  }
}

@media print {
  .nhsuk-u-font-size-19 {
    font-size: 13pt !important;
    line-height: 1.25 !important;
  }
}

.nhsuk-u-font-size-16 {
  font-size: 14px !important;
  font-size: 0.875rem !important;
  line-height: 1.71429 !important;
}

@media (min-width: 40.0625em) {
  .nhsuk-u-font-size-16 {
    font-size: 16px !important;
    font-size: 1rem !important;
    line-height: 1.5 !important;
  }
}

@media print {
  .nhsuk-u-font-size-16 {
    font-size: 12pt !important;
    line-height: 1.3 !important;
  }
}

.nhsuk-u-font-size-14 {
  font-size: 12px !important;
  font-size: 0.75rem !important;
  line-height: 1.66667 !important;
}

@media (min-width: 40.0625em) {
  .nhsuk-u-font-size-14 {
    font-size: 14px !important;
    font-size: 0.875rem !important;
    line-height: 1.71429 !important;
  }
}

@media print {
  .nhsuk-u-font-size-14 {
    font-size: 12pt !important;
    line-height: 1.3 !important;
  }
}

.nhsuk-u-font-weight-normal {
  font-weight: 400 !important;
}

.nhsuk-u-font-weight-bold {
  font-weight: 600 !important;
}

.nhsuk-u-text-break-word {
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
}

.nhsuk-u-secondary-text-color {
  color: #4c6272 !important;
}

.nhsuk-u-text-align-left {
  text-align: left !important;
}

.nhsuk-u-text-align-centre {
  text-align: center !important;
}

.nhsuk-u-text-align-right {
  text-align: right !important;
}

/* Reading width constraint */
.nhsuk-u-reading-width {
  max-width: 44em;
}

/* Print media query overrides */
@media print {
  .nhsuk-main-wrapper {
    padding-bottom: 1em;
    padding-top: 1em;
  }
  
  .nhsuk-body-l, .nhsuk-body-m, .nhsuk-body-s, .nhsuk-heading-l, .nhsuk-heading-m, .nhsuk-heading-s, .nhsuk-heading-xl, .nhsuk-heading-xs, .nhsuk-heading-xxs, .nhsuk-lede-text, .nhsuk-list, address, h1, h2, h3, h4, h5, h6, ol, p, ul {
    margin-bottom: 7.5pt;
  }
  
  h1 {
    margin-bottom: 15pt !important;
  }
  
  .nhsuk-body-l + .nhsuk-heading-l, .nhsuk-body-l + h2, .nhsuk-body-m + .nhsuk-heading-l, .nhsuk-body-m + .nhsuk-heading-m, .nhsuk-body-m + .nhsuk-heading-s, .nhsuk-body-m + h2, .nhsuk-body-m + h3, .nhsuk-body-m + h4, .nhsuk-body-s + .nhsuk-heading-l, .nhsuk-body-s + .nhsuk-heading-m, .nhsuk-body-s + .nhsuk-heading-s, .nhsuk-body-s + h2, .nhsuk-body-s + h3, .nhsuk-body-s + h4, address + .nhsuk-heading-l, address + .nhsuk-heading-m, address + .nhsuk-heading-s, address + h2, address + h3, address + h4, p + .nhsuk-heading-l, p + .nhsuk-heading-m, p + .nhsuk-heading-s, p + h2, p + h3, p + h4 {
    padding-top: 0.45em;
  }
}