body {

  /* Breadcrumbs */
  .page-node-type-localgov-publication-page .lgd-region--breadcrumb,
  .page-node-type-localgov-publication-page .lgd-region--messages,
  .page-node-type-localgov-publication-cover-page .lgd-region--breadcrumb,
  .page-node-type-localgov-publication-cover-page .lgd-region--messages {
    background: var(--color-publication-breadcrumb-bg);
    padding: 0;
  }

  .page-node-type-localgov-publication-page .lgd-region--breadcrumb a,
  .page-node-type-localgov-publication-cover-page .lgd-region--breadcrumb a,
  .page-node-type-localgov-publication-page .breadcrumbs__item+.breadcrumbs__item::before,
  .page-node-type-localgov-publication-cover-page .breadcrumbs__item+.breadcrumbs__item::before {
    color: var(--color-link);
  }

  .page-node-type-localgov-publication-page .breadcrumbs,
  .page-node-type-localgov-publication-cover-page .breadcrumbs {
    border-bottom: none;
  }

  /* Publication header */
  .publication-header {
    background: var(--color-publication-breadcrumb-bg);
    padding: 24px 0 40px;
    margin-bottom: 30px;
  }

  .publication-header .lgd-page-title-block {
    border-bottom: none;
    margin-bottom: 0;
  }

  .publication-header .lgd-page-title-block__title {
    color: var(--color-accent);
    max-width: 100%;
    border-bottom: var(--border-width) solid var(--color-accent);
    font-size: var(--font-size-h2);
  }

  .publication-header .lgd-page-title-block__publication-title {
    font-size: var(--font-size-largest);
    font-weight: normal;
    color: black;
  }

  .publication-header .publication-header-summary {
    font-size: var(--font-size-summary);
    color: var(--color-accent);
    margin-bottom: var(--vertical-rhythm-spacing);
  }

  .publication-header .lgd-page-title-block__published,
  .publication-header .lgd-page-title-block__updated {
    font-size: var(--font-size-medium);
    color: #5C5B5B;
  }

  .publication-header .lgd-page-title-block__published {
    margin-bottom: 8px;
  }

  .publication-header .lgd-page-title-block__updated {
    display: inline-block;
    margin-right: 12px;
  }

  .publication-header .publication-revision-logs-toggle {
    font-size: var(--font-size-medium);
    color: var(--color-black);
    text-decoration: underline;
  }

  .publication-revision-logs .views-row {
    font-size: var(--font-size-medium);
    padding-top: var(--vertical-rhythm-spacing);
  }

  .publication-revision-logs .views-field-revision-timestamp {
    font-weight: 700;
  }

  /* Contents */
  .book-contents-wrapper .desktop-title {
    display: none;
  }

  .book-contents-wrapper .mobile-title {
    font-size: var(--font-size-default);
    font-weight: 700;
    text-decoration: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--color-black);
    padding: 20px;
  }

  .book-contents-wrapper .mobile-title:after {
    content: url("../../assets/icons/chevron.svg");
    height: 24px;
  }

  .book-contents-wrapper .mobile-title[aria-expanded="false"]:after {
    transform: rotate(180deg);
  }

  .book-contents-wrapper .book-contents {
    background: var(--color-white);
    border: 2px solid var(--color-accent);
    border-radius: 25px;
    margin-bottom: var(--vertical-rhythm-spacing);
    overflow: hidden;
  }

  .book-contents-wrapper .top-level {
    display: none
  }

  .book-contents-wrapper .top-level.not-hidden {
    display: flex;
  }

  .book-contents-wrapper ul {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: var(--font-size-pub-content);
  }

  .book-contents-wrapper ul li a {
    color: var(--color-black);
    text-decoration: none;
    padding: 5px 12px;
    border-radius: 22px;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    font-size: var(--font-size-summary);
  }

  .book-contents-wrapper ul li li li a {
    padding-left: 24px;
  }

  .book-contents-wrapper ul li li li li a {
    padding-left: 36px;
  }

  .book-contents-wrapper ul li li li li li a {
    padding-left: 48px;
  }

  .book-contents-wrapper ul li li li li li li a {
    padding-left: 60px;
  }

  .book-contents-wrapper ul li li li li li li li a {
    padding-left: 72px;
  }

  .book-contents-wrapper ul li li li li li li li li a {
    padding-left: 84px;
  }

  .book-contents-wrapper ul li li li li li li li li li a {
    padding-left: 96px;
  }

  .book-contents-wrapper ul li.active>a {
    background: var(--color-publication-contents-active);
  }

  .book-contents-wrapper ul.top-level {
    padding: 0 20px 20px;
  }

  .book-contents-wrapper ul.top-level>li>a {
    font-weight: 700;
  }

  .book-contents-wrapper ul li li a:before {
    content: url("../../assets/icons/chevron.svg");
    height: 24px;
    transform: rotate(90deg);
  }

  @media screen and (min-width: 48rem) {
    .book-contents-wrapper .desktop-title {
      font-size: var(--font-size-default);
      font-weight: 700;
      text-decoration: none;
      display: flex;
      justify-content: space-between;
      align-items: center;
      color: var(--color-black);
      padding: 20px;
    }

    .book-contents-wrapper .desktop-title:after {
      content: url("../../assets/icons/chevron.svg");
      height: 24px;
      transform: rotate(180deg);
    }

    .book-contents-wrapper .desktop-title[aria-expanded="false"]:after {
      transform: rotate(0deg);
    }

    .book-contents-wrapper .mobile-title {
      display: none;
    }

    .book-contents-wrapper ul {
      font-size: var(--font-size-banner-title);
    }

    .book-contents-wrapper ul.top-level {
      padding: 0 10px;
    }

    .book-contents-wrapper .top-level {
      display: flex;
    }

    .book-contents-wrapper .top-level.hidden {
      display: none;
    }

    .book-contents-wrapper {
      padding-right: 2rem;
    }
  }

  /* Prev next styling for the publications */
  .book-navigation--publication {
    display: flex;
    flex-direction: column-reverse;
    gap: 20px;
    padding-top: 20px;
    border-top: 2px solid var(--color-publication-pager-border);
  }

  .book-navigation--publication .prev-link,
  .book-navigation--publication .next-link {
    width: 100%;
    margin: 0;
  }

  .book-navigation--publication .prev-link a,
  .book-navigation--publication .next-link a {
    padding: 30px;
    display: flex;
    border-radius: 30px;
    flex-direction: column;
    gap: 13px;
    text-decoration: none;
    height: 100%;
  }

  .book-navigation--publication .prev-link a {
    color: var(--color-accent-hover);
    border: var(--border-width) solid var(--color-accent-hover);
    align-items: end;
  }

  .book-navigation--publication .next-link a {
    color: var(--color-white);
    border: var(--border-width) solid var(--color-accent);
    background: var(--color-accent);
  }

  .book-navigation--publication .prev-link a:hover,
  .book-navigation--publication .prev-link a:focus,
  .book-navigation--publication .next-link a:hover,
  .book-navigation--publication .next-link a:focus {
    background: var(--color-yellow);
    color: var(--color-black);
  }

  .book-navigation--publication a .pager-text {
    font-weight: 700;
    display: flex;
    justify-content: space-between;
    align-self: stretch;
    align-items: center;
  }

  .book-navigation--publication .next-link .pager-text:after {
    content: ' ';
    -webkit-mask: var(--btn-start-icon);
    mask: var(--btn-start-icon);
    background-color: var(--color-white);
    width: 24px;
    height: 24px;
  }

  .book-navigation--publication .prev-link .pager-text:before {
    content: ' ';
    -webkit-mask: var(--btn-start-icon);
    mask: var(--btn-start-icon);
    background-color: var(--color-accent-hover);
    width: 24px;
    height: 24px;
    transform: rotate(180deg);
  }

  .book-navigation--publication a:hover .pager-text {
    text-decoration: underline;
  }

  .book-navigation--publication a:hover .pager-text:after,
  .book-navigation--publication a:focus .pager-text:after,
  .book-navigation--publication a:hover .pager-text:before,
  .book-navigation--publication a:focus .pager-text:before {
    background-color: var(--color-black);
  }

  .book-navigation--publication a .pager-label {
    font-size: var(--font-size-medium);
  }

  .book-navigation--publication .prev-link .pager-label {
    text-align: right;
  }

  @media screen and (min-width: 60rem) {
    .book-navigation--publication {
      justify-content: space-between;
      align-items: center;
      flex-direction: row;
      gap: 30px;
      padding-top: 30px;
    }

    .book-navigation--publication.only-next {
      justify-content: flex-end;
    }

    .book-navigation--publication .prev-link,
    .book-navigation--publication .next-link {
      width: calc(50% - 15px);
      align-self: stretch;
    }
  }

  /* Overall publication content */
  .field--name-localgov-publication-content>.field__item {
    margin-bottom: var(--vertical-rhythm-spacing);
  }

  /* Accordion */
  .accordion-pane__title button {
    color: var(--color-black);
    font-size: var(--font-size-default);
    font-weight: 700;
    background-color: var(--color-white);
    border-radius: 20px;
    border: var(--border-width) solid var(--color-sub-theme-accent);
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .accordion-pane__title button:after {
    content: ' ';
    display: block;
    background: url(../../assets/icons/chevron.svg) no-repeat center center;
    width: 12px;
    height: 12px;
    transform: rotate(0deg);
  }

  .accordion-pane__title button[aria-expanded="false"]:after {
    transform: rotate(180deg);
  }

  .accordion-pane__title button:hover,
  .accordion-pane__title button:focus {
    background-color: var(--color-yellow);
    text-decoration: none;
    outline: none;
  }

  .accordion-pane__title button[aria-expanded='true'] {
    background-color: var(--color-sub-theme-accent-opacity);
  }

  .accordion--initialised .accordion-pane__content--open {
    padding: 10px;
  }

  @media screen and (min-width: 60rem) {
    .accordion-pane__title button {
      font-size: var(--font-size-large);
    }

    .accordion--initialised .accordion-pane__content--open {
      padding: 10px 40px;
    }
  }

  /* Tables */
  .field--name-localgov-publication-content table,
  .field--name-localgov-publication-content table tr {
    border-color: var(--color-accent);
  }

  .field--name-localgov-publication-content table th {
    background: var(--color-accent);
    color: var(--color-white);
    border-right: var(--border-width) solid var(--color-white);
  }

  .field--name-localgov-publication-content table th:last-child {
    border-right: none;
  }

  /* Full width icon + text box */
  .media-with-text .media-with-text__body .field--name-localgov-text p {
    margin-bottom: 0;
  }

  .media-with-text--default .media-with-text__inner {
    gap: var(--spacing);
  }

  .media-with-text--default .media-with-text__body,
  .media-with-text--default .media-with-text__media {
    position: relative;
    padding: var(--spacing);
  }

  .media-with-text--default .media-with-text__body .field--name-localgov-text {
    color: var(--color-black);
  }

  .media-with-text--default .media-with-text__body {
    background: var(--color-accent-light);
  }

  .media-with-text--default .media-with-text__media {
    background: var(--color-accent);
  }

  .media-with-text--default.media-with-text--media-top .media-with-text__media,
  .media-with-text--default.media-with-text--media-left .media-with-text__media {
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
  }

  .media-with-text--default.media-with-text--media-bottom .media-with-text__media,
  .media-with-text--default.media-with-text--media-right .media-with-text__media {
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
  }

  .media-with-text--default .field--name-localgov-media-item,
  .media-with-text--default .field--name-localgov-media-item>div,
  .media-with-text--default .field--name-localgov-media-item .field--name-field-media-image {
    height: 100%;
  }

  .media-with-text--default .field--name-localgov-media-item .field--name-field-media-image {
    display: flex;
    align-items: center;
  }

  .media-with-text--default.media-with-text--media-top .media-with-text__media,
  .media-with-text--default.media-with-text--media-left .media-with-text__media {
    margin-bottom: var(--spacing);
  }

  .media-with-text--default.media-with-text--media-bottom .media-with-text__media,
  .media-with-text--default.media-with-text--media-right .media-with-text__media {
    margin-top: var(--spacing);
  }

  @container (min-width: 500px) {
    .media-with-text.media-with-text--default .media-with-text__media {
      margin: 0;
    }

    .media-with-text--default.media-with-text--media-left .media-with-text__media {
      border-top-left-radius: 20px;
      border-bottom-left-radius: 20px;
      border-top-right-radius: 0;
    }

    .media-with-text--default.media-with-text--media-right .media-with-text__media {
      border-top-right-radius: 20px;
      border-bottom-right-radius: 20px;
      border-bottom-left-radius: 0;
    }
  }

  /* Full width highlighted box + image */
  .highlighted-box-wrapper,
  .media-with-text--featured {
    background: var(--color-accent);
    border: none;
    border-radius: 20px;
    color: var(--color-white);
    container-type: inline-size;
    --banner-title-size: var(--font-size-large);
  }

  .banner__link:is(:hover, :focus)>.highlighted-box-wrapper {
    background-color: var(--color-yellow);
    color: var(--color-black);
    text-decoration: underline;
  }

  .media-with-text--featured .media-with-text__media,
  .media-with-text--featured .media-with-text__media {
    padding: var(--spacing);
  }

  .media-with-text--featured .field--name-localgov-media-item,
  .media-with-text--featured .field--name-localgov-media-item>div,
  .media-with-text--featured .field--name-localgov-media-item .field--name-field-media-image {
    height: 100%;
  }

  .media-with-text--featured .field--name-localgov-media-item .field--name-field-media-image {
    display: flex;
    align-items: center;
  }

  .highlighted-box-wrapper .highlighted-box-content,
  .highlighted-box-wrapper .highlighted-box-image {
    padding: var(--spacing);
  }

  .highlighted-box-wrapper .highlighted-box-image .field--name-localgov-image,
  .highlighted-box-wrapper .highlighted-box-image .field--name-localgov-image>div,
  .highlighted-box-wrapper .highlighted-box-image .field--name-localgov-image .field--name-field-media-image {
    height: 100%;
  }

  .highlighted-box-wrapper .highlighted-box-image .field--name-localgov-image .field--name-field-media-image {
    display: flex;
    align-items: center;
  }

  .highlighted-box-wrapper .field--name-localgov-title {
    text-align: left;
    text-decoration: none;
  }

  @container (width > 500px) {
    .highlighted-box-wrapper.with-image .highlighted-box-inner {
      display: flex;
      justify-content: space-between;
    }

    .highlighted-box-wrapper.with-image .highlighted-box-content {
      flex-basis: 75%;
    }

    .highlighted-box-wrapper.with-image .highlighted-box-image {
      flex-basis: 25%;
    }
  }

  /* Quote */
  .pull-out-quote {
    background: var(--color-accent);
    color: var(--color-white);
    border: none;
    border-radius: 20px;
    padding: 80px 80px 60px;
    position: relative;
  }

  .pull-out-quote:before {
    content: '“';
    position: absolute;
    left: 20px;
    top: 50px;
    font-size: 100px;
    display: block;
    line-height: 50px;
    height: 50px;
    width: 50px;
    font-family: Arial, serif;
    font-weight: 700;
  }

  .pull-out-quote:after {
    content: '”';
    position: absolute;
    font-family: Arial, serif;
    font-weight: 700;
    right: 20px;
    bottom: -10px;
    font-size: 100px;
    display: block;
    line-height: 50px;
    height: 50px;
    width: 50px;
  }

  /* Page section */
  .lgd-page-section {
    padding: 0;
  }

  .layout {
    --lgd-page-section-gap: var(--spacing);
  }

  .layout__region>* {
    margin-bottom: var(--spacing);
  }

  @media screen and (min-width: 40em) {

    /* Two col page section should have images with rounded corners */
    .layout--twocol .layout__region--first .lgd-image img {
      border-top-left-radius: 20px;
      border-bottom-left-radius: 20px;
    }

    .layout--twocol .layout__region--second .lgd-image img {
      border-top-right-radius: 20px;
      border-bottom-right-radius: 20px;
    }
  }

  /* Full-width subtle highlight box */
  .fact-box {
    background: var(--color-accent-light);
    border: none;
    color: var(--color-black);
    padding: var(--spacing);
  }

  .fact-box,
  .fact-box p {
    text-align: left;
  }

  .fact-box p {
    margin-bottom: var(--spacing);
  }

  .fact-box .fact-box__fact {
    font-size: var(--font-size-summary);
  }

  /* Numbered text */
  .paragraph--type--localgov-numbered-text .localgov-numbered-text__number {
    margin-bottom: 0.5rem;
    color: var(--color-accent);
  }

  /* Horizontal line */
  .paragraph--type--localgov-text hr {
    margin-bottom: var(--vertical-rhythm-spacing);
    border: none;
    border-top: var(--border-width) solid var(--color-accent);
  }

  /* Print button */
  .publications-print-btn {
    background: var(--color-accent-hover);
    border-color: var(--color-accent-hover);
    border-radius: 200px;
    color: var(--color-white);
    font-size: var(--font-size-banner-title);
    display: flex;
    gap: 10px;
    padding: 15px 30px;
    align-items: center;
    margin-bottom: var(--vertical-rhythm-spacing);
  }

  .publications-print-btn:after {
    content: url("../../assets/icons/print-w.svg");
    height: 32px;
  }

  .publications-print-btn:focus,
  .publications-print-btn:hover {
    background: var(--color-yellow);
    color: var(--color-black);
    outline: none;
  }

  .publications-print-btn:focus:after,
  .publications-print-btn:hover:after {
    content: url("../../assets/icons/print.svg");
  }

  /* Adjustments for print version */
  @media print {
    * {
      margin-bottom: none;
    }

    .node__content>span {
      display: none;
    }

    .localgov-publication-page__content img {
      max-width: 100%;
    }

    .accordion-pane__title button:after {
      transform: none !important;
    }

    .book-contents-wrapper {
      display: none;
    }

    .accordion--initialised .accordion-pane__content {
      display: block;
      padding: 10px;
    }

    .publications-print-btn,
    .lgd-region--content-bottom {
      display: none;
    }

    .publication-content-wrapper .publication-contents.empty-contents {
      display: none;
    }

    .publication-content-wrapper .publication-contents.empty-contents+.publication-node {
      width: calc(100% - var(--grid-column-spacing));
    }

    .book-navigation--publication {
      display: none;
    }

    /* Elements that should not break page */
    .paragraph--type--localgov-media-with-text,
    .paragraph--type--localgov-quote,
    .paragraph--type--localgov-fact-box,
    .paragraph--type--localgov-publications-banner,
    .paragraph--type--localgov-accordion-pane,
    .paragraph--type--localgov-numbered-text,
    .paragraph--type--localgov-table,
    .paragraph--type--localgov-text table,
    .paragraph--type--localgov-text ol,
    .paragraph--type--localgov-text ul,
    article.node div:has(> img) {
      break-inside: avoid;
    }

    img {
      width: auto !important;
      max-width: 100% !important;
      height: auto !important;
    }

    .highlighted-box-wrapper.with-image {
      display: flex !important;
      align-items: center !important;
    }

    .media-with-text__body {
      padding: 1rem;
    }
  }

  /* Safari specific styles */
  @media print and (-webkit-min-device-pixel-ratio:0) {

    .paragraph--type--localgov-media-with-text,
    .paragraph--type--localgov-quote,
    .paragraph--type--localgov-fact-box,
    .paragraph--type--localgov-publications-banner,
    .paragraph--type--localgov-accordion-pane,
    .paragraph--type--localgov-numbered-text,
    .paragraph--type--localgov-table,
    .paragraph--type--localgov-text table,
    .paragraph--type--localgov-text ol,
    .paragraph--type--localgov-text ul {
      page-break-inside: avoid;
    }

    .book-contents-wrapper {
      display: none;
    }

    .lgd-row__one-third {
      display: none;
    }

    article.node div img {
      page-break-inside: avoid;
    }

    .lgd-row__two-thirds.publication-node {
      width: 100% !important;
      margin: 0 auto !important;
      float: none !important;
    }

    .lgd-row {
      display: block !important;
    }
  }
}