html {
  font-size: initial;
}

body {
  background: var(--dcc-pallete-neutral-white);
  position: relative;
}

a {
  text-decoration: underline;
  text-underline-offset: var(--dcc-link-text-underline-offset);
}

a:hover {
  text-decoration: none;
}

.full__main-content {
  width: 100%;
}

.full__main-content > * + * {
  margin-top: var(--dcc-spacing-300);
}

.full__content--full-width .full__main-content {
  background: transparent;
}

.breadcrumbs {
  margin-bottom: 0;
  min-height: auto;
}

.breadcrumbs-content {
  padding: 0;
  border-bottom: 0;
  display: block;
}

.theme--dcc_reference .header__search-toggle {
  position: static;
  z-index: 0; /* Shouldn't be needed... */
}

.page-node-type-homepage .header__search-toggle {
  display: block;
}

.page-node-type-homepage .homepage {
  padding-inline: 0;
}

.page-node-type-homepage .homepage__hero-search {
  margin: 0;
}

.page-node-type-homepage .homepage__hero-search .block-search {
  position: initial;
}

.page-node-type-homepage  .homepage__hero-search .block-search .form--inline {
  justify-content: start;
  margin: 0;
}

.page-node-type-homepage .view-search .full__top {
  background: transparent;
}

/* Commenting this out for now. Seems to break inline images e.g.
 * dublin-fire-brigade-museum page
 */
/* .single-image img {
  width: 100%;
} */

/**
 * Empty sidebars should not be displayed, even if their markup is rendered.
 *
 * This is required because we can't rely on the theme's with_sidebar variable
 * thanks to Drupal's block lazy-loading.
 *
 * Note that we use > :first-child instead of e.g. > * because browsers warn
 * of the performance impact of essentially using an empty :has().
 */
.full__main-content--with-sidebar >.full__sidebar:not(:has(.full__sidebar-component > :first-child)) {
  display: none;
}

.node > .field--name-field-building-blocks,
.node > .field--name-field-building-blocks-extra {
  margin-top: var(--dcc-layout-grid-mobile-row-gap);
}

@media screen and (min-width: 40rem) {
  .node > .field--name-field-building-blocks,
  .node > .field--name-field-building-blocks-extra {
    margin-top: var(--dcc-layout-grid-tablet-row-gap);
  }
}

@media screen and (min-width: 64rem) {
  .node > .field--name-field-building-blocks,
  .node > .field--name-field-building-blocks-extra {
    margin-top: var(--dcc-layout-grid-desktop-row-gap);
  }
}

/* Sidebar */

@media screen and (min-width: 768px) {
  .full--has-sidebar .full__sidebar {
    border-left: none;
    margin-left: 0;
    padding-left: 0;
  }
}

.theme--dcc_reference :where(
  .button,
  a,
  a.button,
  button,
  button.button,
  input,
  input.button,
  input[type="button"].button,
  input[type="reset"].button,
  input[type="submit"].button
):is(
  .button--primary,
  .button--secondary,
  .button--tertiary,
  .button--quaternary,
  .button--text-icon
) {
  /* align-items: center;
  background: var(--dcc-button-background);
  border: var(--dcc-button-border);
  box-sizing: border-box;
  color: var(--dcc-button-color);
  cursor: auto;
  display: inline-flex;
  font-size: var(--dcc-button-font-size);
  font-weight: var(--dcc-button-font-weight);
  justify-content: center;
  line-height: var(--dcc-button-line-height);
  max-height: max-content;
  max-width: var(--dcc-button-max-width);
  min-height: unset;
  min-width: calc(var(--dcc-button-max-width) / 2);
  overflow: hidden;
  padding: var(--dcc-button-padding-block) var(--dcc-button-padding-inline);
  text-align: inherit;
  text-decoration: none;
  text-overflow: ellipsis; */

  /* &:is(a) {
    cursor: pointer;
  } */

  /* &:hover,
  &:focus {
    background: var(--dcc-button-background);
    color: var(--dcc-button-color);
  } */

  /* &:hover {
    border: var(--dcc-button-border);
    text-decoration: underline;
    text-decoration-thickness: var(--dcc-link-text-decoration-thickness);
    text-underline-offset: var(--dcc-link-text-underline-offset);
  } */
}

/* .theme--dcc_reference .button.button--secondary {
  background: var(--dcc-button-secondary-background);
  color: var(--dcc-button-secondary-color);

  &:hover,
  &:focus {
    background: var(--dcc-button-secondary-background);
    color: var(--dcc-button-secondary-color);
  }
}

.theme--dcc_reference .button.button--tertiary {
  background: var(--dcc-button-tertiary-background);

  &:hover,
  &:focus {
    background: var(--dcc-button-tertiary-background);
    color: var(--dcc-button-tertiary-color);
  }
} */

/* .theme--dcc_reference .button.button--text-icon {
  margin: 0;
  min-height: inherit;
  padding-left: var(--dcc-button-icon-divider-icon-side-padding);
  padding-right: var(--dcc-button-padding-inline);
  position: relative;
  text-align: left;

  &:hover svg,
  &:focus svg {
    top: calc(0.24rem + var(--dcc-button-icon-icon-top));
    transition: var(--dcc-transition-in);
  }
} */

/* .theme--dcc_reference .button.button--text-icon svg {
  border: none;
  display: block;
  height: var(--dcc-button-icon-icon-height);
  left: 25px;
  padding: 0;
  position: absolute;
  top: var(--dcc-button-icon-icon-top);
  width: var(--dcc-button-icon-icon-width);
} */

/* .theme--dcc_reference .button.button--text-icon svg path {
  fill: currentcolor;
} */

/* .theme--dcc_reference .button.button--text-icon::before {
  background-color: currentcolor;
  content: "";
  display: block;
  height: calc(100% - var(--dcc-button-padding-block) * 2);
  left: calc(var(--dcc-button-icon-divider-icon-side-padding) - var(--dcc-spacing-150));
  position: absolute;
  top: var(--dcc-button-padding-block);
  width: 1px;
} */

/* Fake input.button.button--tertiary.button--icon-only.button--responsive */
.icon-input.icon-input--search {

}

@media screen and (min-width: 640px) {
  .theme--dcc_reference *:is(.button) {
  }
}

@media screen and (min-width: 768px) {
  .theme--dcc_reference *:is(.button) {
  }
}

@media screen and (min-width: 1024px) {
  .theme--dcc_reference *:is(.button) {
  }
}

.nt__link:hover,
.nt__link:focus,
.form-text:hover,
.form-text:focus,
button.menu-toggle__button:hover,
button.menu-toggle__button:focus,
.page--blogs .views-exposed-form .form-submit:hover,
.page--blogs .views-exposed-form .form-submit:focus,
.page--news .views-exposed-form .form-submit:hover,
.page--news .views-exposed-form .form-submit:focus,
.location-finder .views-exposed-form .form-submit.icon-button--search:focus,
.location-finder .views-exposed-form .form-submit.icon-button--search:hover,
.theme--dcc_reference :where(
  .button,
  a,
  a.button,
  button,
  button.button,
  input,
  input.button,
  input[type="button"].button,
  input[type="reset"].button,
  input[type="submit"].button
):is(
  .button--primary,
  .button--secondary,
  .button--tertiary,
  .button--quaternary,
  .button--text-icon
):is(
  :hover,
  :focus
) {
  box-shadow: var(--dcc-button-box-shadow);
  border: var(--dcc-button-border);
  outline-offset: 5px;
}

.nt__link:hover,
.nt__link:focus,
.form-text:hover,
.form-text:focus,
.form-submit:active,
.form-submit:focus,
.form-submit:hover,
.more-link a:active,
.more-link a:focus,
.more-link a:hover,
.view-display-id-news .form-submit.icon-button--search:focus,
.view-display-id-news .form-submit.icon-button--search:hover,
.view-display-id-page_events .form-submit.icon-button--search:focus,
.view-display-id-page_events .form-submit.icon-button--search:hover,
.location-finder .views-exposed-form .form-submit.icon-button--search:focus,
.location-finder .views-exposed-form .form-submit.icon-button--search:hover,
.page--blogs .views-exposed-form .form-submit:focus,
.page--news .views-exposed-form .form-submit:focus,
.theme--dcc_reference :where(
  .button,
  a,
  a.button,
  button,
  button.button,
  input,
  input.button,
  input[type="button"].button,
  input[type="reset"].button,
  input[type="submit"].button
):is(
  .button--primary,
  .button--secondary,
  .button--tertiary,
  .button--quaternary,
  .button--text-icon
):is(
  :active,
  :focus,
  :hover
) {

}

/* Fixing focus styles. */
.nt:hover,
.nt:focus-within,
.form-text :hover,
.form-text:focus-visible,
.form-submit.icon-input--search:focus-visible,
button.menu-toggle__button:focus-visible,
.call-to-action__link:focus-visible,
.autocomplete__wrapper .autocomplete__input:focus-visible,
.views-exposed-form .form-email:not(.form-submit):focus-visible,
.views-exposed-form .form-search:not(.form-submit):focus-visible,
.views-exposed-form .form-submit:not(.form-submit):focus-visible,
.views-exposed-form .form-tel:not(.form-submit):focus-visible,
.views-exposed-form .form-text:not(.form-submit):focus-visible,
.views-exposed-form .form-textarea:not(.form-submit):focus-visible,

.search-overlay .search-overlay__button:focus-visible,
.view-display-id-page_events .form-submit.icon-button--search:focus-visible,
.view-display-id-location_finder_park .form-submit.icon-button--search:focus-visible,
.page--news .views-exposed-form .form-submit:focus-visible,
.page--blogs .views-exposed-form .form-submit:focus-visible,
.location-finder .views-exposed-form .form-submit.icon-button--search:focus-visible,
.location-finder .views-exposed-form .form-submit.icon-button--search:hover,
.theme--dcc_reference :where(
  .button,
  a,
  a.button,
  button,
  button.button,
  input,
  input.button,
  input[type="button"].button,
  input[type="reset"].button,
  input[type="submit"].button
):is(
  .button--primary,
  .button--secondary,
  .button--tertiary,
  .button--quaternary,
  .button--text-icon
):focus-visible,
.pager__item a:focus-visible,
.pager__item--ellipsis:focus-visible {
  box-shadow:
    0 0 0 2px var(--dcc-focus-outline-inner-color),
    0 0 0 4px var(--dcc-focus-outline-outer-color);
  outline: none;
}
.social-sharing__menu-link,
.social-sharing__menu-item svg,
.location__contact-details-social-service,
.location__contact-details-social-service svg {
  display: block;
  border-radius: 100%;
}

.contact--contact-details .contact__email-address,
.contact--contact-details .contact__telephone-number {
  margin-top: unset;
}

.call-to-action__link {
  min-height: unset;
  padding: unset;
  font-size: unset;
  font-weight: unset;
  line-height: unset;
}

.card__link {
  display: block;
}

/* <main> */
.site-content:not(
  :has(.view-location-finder)
) {
  margin-block-end: var(--dcc-spacing-300);
}

/* Adds space to the top of content pages */
.full__top {
  margin-top: var(--dcc-spacing-600);
}

/* Accordions */
.accordion .faq__search-form:not([hidden]) {
  margin-block: 0 var(--dcc-spacing-300);
}

/* Content listing */
.content-listing {
  margin-bottom: 0;

  .list--text .views-row {
    padding-inline: 0;
  }
}

/* Facets */
.block-facet ul a {
  background-color: unset;
  display: unset;
  font-size: unset;
  line-height: unset;
  padding: unset;
  position: unset;

  & > * {
    font-size: inherit;
    line-height: inherit;
  }

  &:focus,
  &:hover {
    background-color: unset;
  }

  &::before {
    content: none;
  }
}

/* Services Cards */
.services-cards {
  display: grid;
  grid-auto-rows: auto;
  grid-column-gap: var(--dcc-layout-grid-mobile-column-gap);
  grid-row-gap: var(--dcc-layout-grid-mobile-row-gap);
  grid-template-columns: 1fr;
  margin-block: 0;
  margin-inline: 0;
}

.services-card {
  margin-block: 0;
  margin-inline: 0;
  width: 100%;
}

@media screen and (min-width: 40rem) {
  .services-cards {
    grid-auto-rows: unset;
    grid-column-gap: var(--dcc-layout-grid-tablet-column-gap);
    grid-row-gap: var(--dcc-layout-grid-tablet-row-gap);
    grid-template-columns: 1fr 1fr;
  }
}

@media screen and (min-width: 48rem) {
  .services-cards {
    grid-template-columns: 1fr 1fr 1fr;
    gap: var(--dcc-spacing-300);
  }
}

@media screen and (min-width: 64rem) {
  .services-cards {
    grid-column-gap: var(--dcc-layout-grid-desktop-column-gap);
    grid-row-gap: var(--dcc-layout-grid-desktop-row-gap);
  }
}

/* Downloads */

.theme--dcc_reference {
  /* .full--no-sidebar .building-blocks > .building-block > .download, */
  .download {
    background: var(--dcc-pallete-neutral-light-grey-120);
    padding-block: var(--dcc-spacing-140) var(--dcc-spacing-400);
    padding-inline: var(--dcc-spacing-300);
  }

  .download__title {
    border-bottom-color: var(--dcc-pallete-neutral-light-grey-160);
    font-size: var(--dcc-font-size-200);
    font-weight: var(--dcc-font-weight-bold);
    line-height: var(--dcc-line-height-700);
    margin-block: 0 var(--dcc-spacing-300);
    padding-block: 0;
  }

  .download__items {
    display: flex;
    flex-direction: column;
    gap: var(--dcc-spacing-300);

    a {
      margin-inline: 0;
    }

    .button:nth-child(n+2) {
      margin-top: 0;
    }
  }
}

@media screen and (min-width: 40rem) {
  .theme--dcc_reference {
    .download__items {
      flex-direction: row;
    }
  }
}

/* Fix unexplained change to hero banner form. */
.block-search .form-search,
.block-search .form-text {
  box-sizing: border-box;
}

/* Don't restrict the .form-item width (restrict the overall form instead). */
.block-search .form-item {
  width: 100%;
}

/* Sidebar */

.full__sidebar .item-list__links,
.full__sidebar .item-list > ul,
.full__sidebar .menu {
  display: flex;
  flex-direction: column;
  gap: var(--dcc-sidebar-menu-menu-item-gap);
  list-style: '';
  margin-block: 0;
  margin-inline: 0;
  padding-block: 0;
  padding-inline: 0;
}

.full__sidebar .item-list__links > ul a,
.full__sidebar .item-list > ul a,
.full__sidebar .menu-item a {
  box-sizing: border-box;
}

.full__sidebar .block-views:has(.item-list,.item-list__links) h2,
.full__sidebar .navigation__title {
  min-height: unset;
}

.full__sidebar .block-views:has(.item-list,.item-list_-links) h2,
.full__sidebar .navigation__title {
  background: transparent;
  border: none;
  color: unset;
  font-size: var(--dcc-sidebar-menu-title-font-size);
  line-height: var(--dcc-sidebar-menu-title-line-height);
  margin: 0 0 var(--dcc-sidebar-menu-title-margin-bottom);
  padding: 0;
}

@media screen and (min-width: 40rem) {
  .full__sidebar .item-list__links,
  .full__sidebar .item-list > ul,
  .full__sidebar .menu {
    display: grid;
    grid-auto-rows: auto;
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (min-width: 48rem) {
  .full__sidebar .block-facet:has(.item-list__links) h2,
  .full__sidebar .block-views:has(.item-list) h2,
  .full__sidebar .navigation__title {
    font-size: var(--dcc-sidebar-menu-title-font-size-medium);
    line-height: var(--dcc-sidebar-menu-title-line-height-medium);
  }

  .full__sidebar .item-list__links,
  .full__sidebar .item-list > ul,
  .full__sidebar .menu {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media screen and (min-width: 64rem) {
  .full__sidebar .block-views:has(.item-list) h2,
  .full__sidebar .navigation__title {
    font-size: var(--dcc-sidebar-menu-title-font-size-large);
    line-height: var(--dcc-sidebar-menu-title-line-height-large);
  }

  .full__sidebar .item-list__links,
  .full__sidebar .item-list > ul,
  .full__sidebar .menu {
    display: flex;
    flex-direction: column;
  }
}

/* Pager */
.pager--sidebar {
  max-width: none;
}

nav.pager[role="navigation"][aria-labelledby] {
  margin-top: var(--dcc-spacing-300);
}

nav.pager[role="navigation"][aria-labelledby] ul.pager__items {
  --pager-gap: var(--dcc-spacing-100);
  --pager-item-size: 50px;
  --pager-prev-next-size: 8em;

  align-items: center;
  display: flex;
  gap: var(--pager-gap);
  justify-content: center;
  margin-bottom: 0;
  margin-inline: auto;
  max-width: unset;
  padding: 0;
  position: unset;
  width: 100%;
}

/* If there's no "Previous" link, add a fake one. */
.pager__items:not(:has(.pager__item--previous))::before {
  content: "";
  display: block;
  margin-right: auto;
  width: var(--pager-item-size);
}

.pager__item {
  width: min-content;
}

.pager__item--next,
.pager__item--previous {
  display: block;
  flex: 1;
  width: auto;
}

.pager__item a,
.pager__item--ellipsis {
  background-color: var(--dcc-pallete-neutral-light-grey-100);
  box-sizing: border-box;
  color: var(--dcc-pallete-neutral-mid-grey-500);
  font-weight: var(--dcc-font-weight-semibold);
  height: var(--pager-item-size);
  line-height: var(--dcc-line-height-900);
  max-width: none;
  padding: var(--dcc-spacing-50);
  width: var(--pager-item-size);
}

.pager__item--ellipsis {
  display: none;
}

.pager__item--next svg,
.pager__item--previous svg {
  display: none;
}

.pager__item--next a {
  justify-content: end;
  padding-right: 20px;
}

.pager__item--previous a {
  justify-content: start;
  padding-left: 20px;
}

@media screen and (min-width: 40em) {
  .pager__items {
    --pager-item-size: 60px;
    box-sizing: content-box;
  }

  .pager__item:not(.pager__item--ellipsis) {
    padding: 0;
  }

  .pager__item--next {
    margin-left: auto;
    position: unset;
    max-width: var(--pager-prev-next-size);
  }

  .pager__item--previous {
    margin-right: auto;
    position: unset;
    max-width: var(--pager-prev-next-size);
  }

  .pager__item--ellipsis {
    display: block;
    height: var(--pager-item-size);
  }

  .pager__item--next a {
    padding-left: var(--dcc-spacing-100);
    width: 100%;
  }

  .pager__item--previous a {
    padding-right: var(--dcc-spacing-100);
    width: 100%;
  }
}

/* Find-a views maps */
.view-location-finder .full__content {
  background: var(--dcc-pallete-neutral-light-grey-100);
  margin-block: 0;
}

.location-finder__switch-map {
   display: flex;
   justify-content: end;
   margin-block: var(--dcc-spacing-150);
}

@media screen and (min-width: 48em) {
  .pager__item:not(.pager__item--previous, .pager__item--next) {
    margin: unset;
  }

  .pager__item--next svg,
  .pager__item--previous svg {
    display: inline;
  }
}

/* Views tables */
table.views-table.views-view-table {
  margin: 0;
  width: 100%;
}

/* Other tables */
.table-responsive {
  overflow-x: auto;
  table {
    width: 100%;
  }
}

/* Search view */
.search-result {
  height: 100%;
}

.search-result--location {
  background-color: var(--dcc-pallete-neutral-white);

  .search-result__title {
    padding-block: 0;
    padding-inline: 0;
  }

  .search-result__content {
    margin-block: 0;
    padding-block: 0;
    padding-inline: 0;
  }

  .search-result__link {
    background-color: transparent;
    padding: var(--dcc-spacing-200);
  }
}

.search-result__link > * {
  box-sizing: border-box;
}

@media screen and (min-width: 64em) {
  table.views-table.views-view-table {
    max-width: var(--dcc-content-width-400);
  }
}

/* Footer */
.footer__block--contact section,
.footer__menu > .menu > .menu-item .menu {
  margin-bottom: 27px;
}

/* Tiled Layout */

.tl .content-listing {
  display: flex;
  margin-block: 0;
  margin-inline: 0;
  padding-block: 0;
  padding-inline: 0;
}

.tl .content-listing h2 {
  padding-block: 0;
  padding-inline: 0;
}

.tl .content-listing .views-row + .views-row {
  margin-block: var(--dcc-spacing-200) 0;
}

.tl .content-listing .views-element-container {
  display: flex;
  flex-direction: column;
}

.page-node-type-libraries-homepage,
.page-node-type-homepage {
  .tiled-layout,
  .views-element-container {
    width: 100%;
    display: unset;
    >.tiled-layout__content,
    >.list--cards {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      grid-template-rows: auto;
      gap: var(--dcc-spacing-300);
      .more-link {
        grid-column: 2;
      }
    }
  }
}

@media screen and (max-width: 40rem) {
  .page-node-type-libraries-homepage,
    .page-node-type-homepage {
      .tiled-layout,
      .views-element-container {
        >.tiled-layout__content,
        >.list--cards {
          padding: 0 var(--dcc-spacing-100);
          display: block;
          gap: var(--dcc-spacing-300);

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

.tiled-layout__content > .tile {
  display: block;
  width: 100%;
}

.tiled-layout__content > .tile[data-disclosure-expanded="false"] {
  display: none;
}

.tile-items__toggle[aria-expanded="true"] .open-text {
  display: none;
}

.tile-items__toggle[aria-expanded="false"] .close-text {
  display: none;
}

.tiled-layout__actions-inner {
  display: flex;
  justify-content: center;
}

/* Notices */
.hb + .field--name-field-building-blocks-notice {
  border: var(--dcc-spacing-100) solid var(--dcc-pallete-neutral-white);
  border-left: none;
  border-right: none;
}

.field--name-field-building-blocks-notice .messages {
  margin-block: 0;
}

div[data-drupal-messages],
.homepage div[data-drupal-messages] {
  margin-top: var(--layout-section-margin-block);
  max-width: none;
  padding-inline: 0;
}

/* Form External / Embed External */
.form-external__heading {
  padding-block: 0;
}

.form-external__content {
  margin-bottom: 0;
  padding: 0;
  /* Don't permit content to exceed the BB itself. */
  position: relative;
}

.form-external__content > * + * {
  margin-top: 1em
}

/**
 * Some existing content has obnoxious css in the style attribute. For other
 * content let's try to set some reasonable defaults:
 *
 * - set a default 16:9 aspect ratio
 * - (try to) force static positioning
 * - set it to 100% width
 *
 * See .form-external__content where we try to force positioned element to
 * stay in their container.
 */
.form-external__content iframe {
  aspect-ratio: 16 / 9;
  display: block;
  position: static !important;
  width: 100%;
}

/* Video */
.video-embed-field-responsive-video {
}

.video-embed-field-responsive-video iframe {
  z-index: 5;
}

.video:has(
  iframe[data-src],
  iframe[style="display: none;"]
) .anrt-cookieproconsent-optout {
  align-items: center;
  bottom: 0;
  display: flex;
  justify-content: center;
  left: 0;
  outline: 2px solid var(--dcc-pallete-accessible-blue);
  position: relative;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 6;
}

.video:has(
  iframe[src]
):not(
  :has(iframe[style="display: none;"])
) .anrt-cookieproconsent-optout {
  display: none;
}

.video-play-button * {
  pointer-events: none;
}

.anrt-cookieproconsent-optout__text {
  font-size: var(--dcc-font-size-300);
  font-weight: var(--dcc-font-weight-bold);
  text-align: center;
}

/* Content types */

/* Shared */
.full__top h1 {
  margin-bottom: 0;
}

.full__title h1 {
  margin-bottom: var(--dcc-spacing-200);
}

.full__top__date,
.full__top__location {
  margin-top: unset;
}

.full__content .full__content {
  background: transparent;
}

.full__back-to-link {
  display: block;
  width: auto;
  margin-block: 0 var(--dcc-spacing-200);
  padding-block: 0;
  text-align: unset;
}

/* Blog */
.blog .full__top__date {
  margin-block-start: 0;
}

.blog__recommended-tags {
  display: block;
}

.blog__recommended-tags-inner,
.recommended-tags {
  display: flex;
  gap: var(--dcc-spacing-100);
}

.blog__recommended-tags-inner {
  align-items: first baseline;
  display: flex;
  justify-content: start;
}

.recommended-tags__tag {
  margin-block: 0;
  margin-inline: 0;
}

.teaser--blog.node--sticky {
  border-top: none;
}

.teaser--blog .teaser__content {
  display: block;
  max-width: none;
}


/* Event */
/* .event .building-blocks { */
/*   margin-block: var(--dcc-spacing-300); */
/* } */

/* Libraries Homepage */
.libraries-homepage {
  & .full__top {
    background: var(--dcc-pallete-neutral-light-grey-120);
    margin-block: 0;
  }

  & .full__top-content {
    --dcc-libraries-full-top-grid-gap: var(--dcc-spacing-300);

    display: grid;
    row-gap: var(--dcc-libraries-full-top-grid-gap);
    grid-auto-rows: auto;
  }

  & .full__top-content label {
    font-weight: var(--dcc-font-weight-bold);
    margin-bottom: var(--dcc-spacing-100);
    display: inline-block;
  }

  & .libraries__login-block > :last-child {
    margin-bottom: 0;
  }
}

.view-display-id-libraries_events {
  margin-bottom: 0;
}

@media screen and (min-width: 40rem) {
  .page-node-type-libraries-homepage .view-display-id-libraries_events .rows {
    display: flex;
    gap: var(--dcc-spacing-300);
  }
}

.view-display-id-libraries_events .more-link {
	text-align: center;
}

@media screen and (min-width: 40rem) {
  .libraries-homepage {
    & .full__top-content {
      --dcc-libraries-full-top-grid-column-width: 1fr;

      column-gap: var(--dcc-libraries-full-top-grid-gap);
      grid-auto-rows: unset;
      grid-template-columns: 1fr 1fr;
    }
  }
}

@media screen and (min-width: 48rem) {
  .libraries-homepage {
    & .full__top.ls--wrapped-block {
      --ls-inner-padding-block: var(--dcc-spacing-400);
    }

    & .full__top-content {
      --dcc-libraries-full-top-grid-column-width: calc((100% - 2 * var(--dcc-spacing-300)) / 3);

      grid-template-columns:
        calc(2 * var(--dcc-libraries-full-top-grid-column-width) + var(--dcc-libraries-full-top-grid-gap))
        var(--dcc-libraries-full-top-grid-column-width);
    }
  }
}

@media screen and (min-width: 64rem) {
  .libraries-homepage {
    & .full__top.ls--wrapped-block {
      --ls-inner-padding-block: var(--dcc-spacing-600);
    }
  }
}

/* Notices */
[data-drupal-messages] {
  margin-block: 0 var(--dcc-spacing-300);
}

.messages {
  --ls-outer-margin-block: var(--dcc-spacing-100);
  margin-block-end: 0;
  padding-inline: var(--dcc-spacing-200);
}

.messages__inner {
  display: grid;
  grid-template-columns: var(--dcc-spacing-300) auto;
  gap: var(--dcc-spacing-100);
}

.messages svg {
  align-items: first baseline;
  display: flex;
  height: var(--dcc-spacing-300);
  left: unset;
  position: relative;
  top: -2px;
  width: var(--dcc-spacing-300);
}

/* News */
.road-closure .full__back-to-link {
  position: static;
  top: unset;
}

/* Library Blog listing */
.page--blogs .full__content {
  margin-bottom: var(--layout-section-margin-block);
}

/* Location */
.opening-times,
.opening-times ~ .opening-times,
.location__contact-details {
  width: auto;
}

.opening-times ~ .opening-times__txt {
  display: block;
}

.opening-times ~ .opening-times__txt > :last-child {
  margin-bottom: 0;
}

.opening-times__today {
  --today-size: calc(var(--dcc-spacing-1000) * 2);
  align-items: center;
  background: var(--dcc-pallete-neutral-white);
  border-radius: calc(var(--today-size) / 2);
  display: flex;
  flex-direction: column;
  font-size: var(--dcc-font-size-375);
  justify-content: center;
  margin-block: var(--layout-section-margin-block);
  margin-inline: auto;
  padding: unset;
  text-align: unset;
  width: var(--today-size);
}

/* No Sidebar */
.person-list--grey .person-list__content {
  background: transparent;
}

/* Policy Document */
.policy-document.full {
  margin: unset;
}

.policy-document__search.overlay-active .policy-document__search-results {
  box-sizing: border-box;
  margin-block: 0 calc(-1 * var(--layout-section-margin-block));
  margin-inline: calc(-1 * var(--layout-section-padding-inline));
  padding: 50px var(--layout-section-padding-inline) 0;
  width: 100vw;
}

.policy-document.full .block-search {
  min-width: unset;
}

.policy-document__regions {
  display: flex;
  flex-direction: column;
  gap: var(--layout-section-margin-block);
}

.policy-document__pager {
  border-top: none;
}

.policy-document__pager::before {
  border-top: 1px solid var(--dcc-pallete-neutral-light-grey-160);
  content: "";
  display: block;
  height: 0;
  margin-block: var(--dcc-spacing-300);
}

.policy-document__outline-heading--chapters {
  border-right: none;
}

.policy-document__chapters,
.policy-document__sections {
  margin-top: unset;
  margin-bottom: unset;
}

.policy-document__regions > * {
  margin-left: unset;
  margin-right: unset;
}

.policy-document__chapters,
.policy-document__sections {
  margin-top: unset;
  margin-bottom: unset;
}

.menu--policy-document-chapters[data-disclosure-expanded="false"],
.menu--policy-document-sections[data-disclosure-expanded="false"] {
  display: none;
}

.policy-document__outline-heading-button[aria-expanded="true"] .policy-document__outline-heading-icon {
  transform: rotate(90deg);
}

.policy-document__outline-heading-title {
  padding-left: 0;
}

.policy-document__regions > * {
  margin: 0;
  width: unset;
}

.policy-document__regions {
  margin: unset;
}

@media screen and (min-width: 48em) {
  .policy-document {
    grid-area: document;
  }

  .policy-document__outline {
    grid-area: outline;
  }

  .policy-document__regions {
    display: grid;
    gap: var(--dcc-spacing-300);
    grid-template-areas: "chapters sections";
    grid-template-columns: 1fr 1fr;
  }

  .policy-document__chapters {
    grid-area: chapters;
  }

  .policy-document__sections {
    grid-area: sections;
  }
}

@media screen and (min-width: 64em) {
  .policy-document__search.overlay-active .policy-document__search-results {
    margin-inline: 0;
    width: var(--dcc-content-width-500);
  }

  .policy-document.full .full__content-inner {
    display: grid;
    gap: var(--dcc-spacing-300);
    grid-template-areas: "navigation content";
    grid-template-columns: repeat(2, calc((100% - var(--dcc-spacing-300)) / 2));
    width: var(--dcc-content-width-500);
  }

  .policy-document.full .full__main-content {
    grid-area: content;
  }

  .policy-document.full .policy-document__outline {
    grid-area: navigation;
  }

  .policy-document__pager::before {
    margin-inline: 0;
  }

  .policy-document.full .block-book-navigation {
    padding-block: 0;
  }

  .policy-document__outline .menu-item {
    border-right: unset;
  }
}

/* Road Closure */
.road-closure__info,
[class^="road-closure__info--"] {
  margin-bottom: unset;
  margin-top: unset;
}

.road-closure .full__main-content > .full__introduction {
  width: auto;
}

.road-closure .full__main-content > * + * {
  margin-top: var(--layout-section-margin-block);
}

/* Main Search */
.list--search-results {
  min-height: unset;
}

.list--search-results .view-header {
  margin-block: var(--dcc-spacing-300) 0;
	max-width: none;
}

/* Sitewide notice */
.theme--dcc_reference {
  .block-views-blocknotices-block-1 {
    padding: var(--dcc-spacing-100) 0;
    display: contents;

    .view-id-notices {
      .view-content > div,
      .messages--status {
          display: inline-block;
          width: 100%;
        }
      .view-content > div:first-child {
        margin-top: unset;
      }
      .view-content > div:last-child {
        padding-bottom: var(--dcc-spacing-200);
      }
    }
  }
}

/* Basic page introduction text */
.full__top .full__introduction {
  font-weight: var(--dcc-font-weight-regular);
  font-size: var(--dcc-font-size-350);
}

