.lgd-region__inner .lgd-region__inner--header {
  margin-inline-start: 16px;
}

.menu--main .menu-item:last-child {
  margin-inline-end: 0;
}

/*bad workaround*/
html {

  /* Meetings Calendar */
  .node__restricted-width-section {
    max-width: unset;
  }

  .view-content-field-meeting-date-on-calendar .view-header .pager {
    display: none;
  }

  .is-mobile .view-content-field-meeting-date-on-calendar .view-header h3 {
    text-align: left;
  }

  .calendar-calendar table tr td:nth-child(6),
  .calendar-calendar table tr td:nth-child(7) {
    background-color: gainsboro;
  }

  .calendar-calendar td.empty {
    color: black;
  }

  /* Mobile overrides */
  @media (max-width: 480px) {
    .menu.menu--top-tasks {
      flex-direction: column;
      align-items: center;
    }

    .menu.menu--top-tasks .menu-item {
      flex: 1 1 95%;
      justify-content: stretch;
    }

    .view-promoted-services li {
      width: 100%;
    }

  }


  @media screen and (max-width: 480px) {
    #block-localgov-base-elymarketshomepage {
      padding: 1rem;
    }

    .view-content-field-meeting-date-on-calendar .views-display-link-page_1 {
      margin-right: 0;
    }

    .view-content-field-meeting-date-on-calendar .view-header ul {
      padding-inline-start: 1rem;
    }

    .view-content-field-meeting-dare-on-calendar .view-header h3 {
      text-align: left !important;
    }

    .view-content-field-meeting-date-on-calendar .view-content {
      overflow-x: auto;
    }

    .lgd-header .lgd-region--header {
      margin-inline-end: 0;
      flex: 1;
    }

    .path-frontpage .lgd-container {
      max-width: 100% !important;
    }

    #block-eastcambs-theme-views-block-promoted-services-block-1 {
      margin: 3rem 0 !important;
    }

    #block-eastcambs-theme-views-block-promoted-services-block-1-mobile {
      max-width: 99%;
      margin-left: auto;
      margin-right: auto;
      margin-top: 2rem;
    }

    #views-exposed-form-localgov-sitewide-search-sitewide-search-page-block {
      max-width: 99% !important;
    }

    .layout--twocol .layout__region--first,
    .layout--twocol .layout__region--second {
      flex: 0 1 100%;
    }

    .layout--twocol .layout__region--first {
      margin-right: 0;
      margin-bottom: 2rem;
    }

    .homepage-news-image img {
      max-width: 100% !important;
      float: unset !important;
      padding-right: 0 !important;
      margin-right: 0 !important;
      margin-bottom: 1rem !important;
    }

    .homepage-news.views-row .views-field-localgov-news-categories {
      width: 100% !important;
    }

    .path-frontpage .ely-markets img {
      float: unset !important;
    }

    .path-frontpage .layout--onecol .media-with-text__media {
      width: 100% !important;
    }

    .path-frontpage .layout--twocol .layout__region--first,
    .path-frontpage .layout--twocol .layout__region--second {
      flex: 1 0 100% !important;
      margin-right: 0 !important;
    }

    .footer-name {
      line-height: 2rem !important;
    }

    #block-eastcambs-theme-footernameandaddress {
      padding: 1rem 0 0.5rem !important;
    }

    #block-localgov-base-bettersocialsharingbuttons p {
      margin: 0;
    }
  }

  /* Theme overrides */
  body {
    /* colours  */
    --color-info: #2b5c6b;
    --color-success: #dfc322;
    --color-focus: #dfc322;
    --color-action: #dfc322;
    --color-directional: #f7a01d;
    --btn-start-color: black;
    --breadcrumbs-link-color: black;
    --btn-start-border-color: transparent;
    --btn-start-bg-color-hover: #dfc322;
    --btn-start-color-hover: black;
    --button-border-color: #f7a01d;
    --button-bg-color: #f2f2f2;
    --button-text-color: black;
    --button-text-color-hover: black;
    --colore-grey-light: #f3f3f3;
    --color-grey-lighter: #f2f2f2;
    --alert-banner-color: black;
    --button-icon-color-hover: black;
    --step-by-step-part-of-color: #1C414D;
    --text-focus-color: black;
    --section-divider-color: #4899B8;
  }

  .lgd-teaser .lgd-teaser__title {
    font-size: var(--font-size-h3);
    font-weight: var(--heading-3-font-weight);
    line-height: var(--heading-3-line-height);

    a {
      @media screen and (max-width: 768px) {
        text-decoration: underline;
      }
    }
  }

  #block-localgov-base-homepagetwocolumnblock {
    margin: 0;
    width: 100%;
  }

  #block-localgov-base-homepagetwocolumnblock a {
    color: black;
  }

  #block-localgov-base-homepagetwocolumnblock a:hover {
    text-decoration: unset;
  }

  #block-localgov-base-homepagetwocolumnblock .lgd-container {
    margin: 0;
    padding: 0;
    max-width: 100%;
  }

  .pager__item.is-active a {
    font-weight: 600;
    text-decoration: none;
    border: 1px solid var(--color-directional);
  }

  .path-frontpage .field--name-localgov-text.field--type-text-long {
    clear: unset;
    display: flex;
  }

  .path-frontpage .lgd-page-section--no-bg-color .layout--onecol {
    background-color: var(--color-grey-lighter) !important;
  }

  .path-frontpage .lgd-page-section--no-bg-color {
    margin-bottom: 2rem;
  }


  #block-localgov-base-elymarketshomepage {
    margin: 0;
    width: 100%;
  }

  #block-localgov-base-elymarketshomepage .lgd-container {
    margin: 0;
    padding: 0;
    max-width: 100%;
  }

  .pager__item.is-active a {
    font-weight: 600;
    text-decoration: none;
    border: 1px solid var(--color-directional);
  }

  .path-frontpage .field--name-localgov-text.field--type-text-long {
    clear: unset;
    display: flex;
  }

  .path-frontpage .lgd-page-section--no-bg-color .layout--onecol {
    background-color: var(--color-grey-lighter) !important;
  }

  .path-frontpage .lgd-page-section--no-bg-color {
    margin-bottom: 2rem !important;
  }

  #block-localgov-base-elymarketshomepage .lgd-container {
    max-width: 100% !important;
    padding: 0;
  }

  #block-localgov-base-elymarketshomepage {
    background-color: var(--color-grey-lighter) !important;
  }

  #block-localgov-base-elymarketshomepage a {
    color: black;
  }

  #block-localgov-base-elymarketshomepage a:hover {
    text-decoration: unset;
  }

  #block-localgov-base-elymarketshomepage .media-with-text__body {
    padding-top: 1rem;
  }

  .step-by-step-pages__relationship .step-by-step-pages__part-of {
    color: var(--step-by-step-part-of-color) !important;
  }

  .step-by-step-pages__relationship {
    border-left: 0.3125rem solid var(--step-by-step-part-of-color) !important;
  }

  .step-by-step-pages ol.step-list .step.step--active .step__title {
    color: var(--step-by-step-part-of-color) !important;
  }

  .step-by-step-pages ol.step-list .step.step--active .step__title a {
    color: var(--step-by-step-part-of-color) !important;
  }

  .page-node-type-localgov-guides-page #block-eastcambs-theme-pagetitle--2 {
    display: none;
  }

  .lgd-header__toggle {
    font-family: 'Poppins', sans-serif !important;
  }

  a.self-service {
    border: var(--color-directional) solid 1px !important;
    border-radius: 1rem !important;
    padding: 0.25rem !important;
    margin-top: 0.75rem !important;
  }

  .path-frontpage .layout--twocol .newsroom-teaser--has-image {
    padding: 1rem;
  }

  .path-frontpage .layout--twocol .newsroom-teaser--has-image img {
    aspect-ratio: auto;
    width: 100%;
  }

  .page-node-type-localgov-step-by-step-overview .summaries-control {
    display: none;
  }

  .step-by-step-pages .summaries-control {
    display: none;
  }

  .step-by-step-pages .step-show {
    display: none;
  }

  .page-node-type-localgov-step-by-step-overview .step-summary-container .step-show {
    display: none;
  }

  .step-by-step-pages ol.step-list .step .step__summary {
    display: block !important;
    padding-left: 5.5rem !important;
  }

  .lgd-teaser__content--directory-councillor .field--name-localgov-directory-facets-select .field__items .field__item:nth-last-child(n+3) {
    display: none !important;
  }

  .lgd-teaser__content--directory-councillor .field--name-localgov-directory-facets-select .field__items .field__item:nth-last-child(n+1):before {
    content: "Political party: " !important;
    font-weight: 500 !important;
  }

  .lgd-teaser__content--directory-councillor .field--name-localgov-directory-facets-select .field__items .field__item:nth-last-child(n+2):before {
    content: "Electoral ward: " !important;
    font-weight: 500 !important;
  }

  .external-link:not(.btn-start)::after {
    /*	-webkit-mask-image:unset;
mask-image:unset;
background-color:transparent;
*/
    background-color: black !important;
  }


  .layout--twocol {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: flex-start;
    align-items: stretch;
  }

  /*.layout--twocol .layout__region--first {*/
  /*  margin-right: 2rem;*/
  /*}*/

  .layout--twocol .layout__region--first,
  .layout--twocol .layout__region--second {
    flex: 1;
    background-color: var(--color-grey-lighter);
  }

  .btn.btn-start {
    display: inline-block;
    position: relative;
    border: none !important;
    border-left: solid 1rem var(--color-grey-lighter) !important;
    --btn-bg: var(--btn-start-bg-color, #f7d046);
    background-color: var(--btn-bg) !important;
    color: #222;
    text-decoration: none;
    transition: background-color .18s ease, color .18s ease, border-left-color .18s ease;
    will-change: background-color, color, border-left-color;
  }
  
  .btn.btn-start::after {
    content: "";
    position: absolute;
    top: 0;
    right: -1.5rem;
    height: 100%;
    width: 1.5rem;
    background-color: var(--btn-bg);
    border-left: 2px solid var(--btn-bg);
    -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    z-index: 0;
    transition: background-color .18s ease, border-left-color .18s ease;
    will-change: background-color, border-left-color;
  }
  
  .btn.btn-start > * {
    position: relative;
    z-index: 1;
  }
  
  .btn.btn-start:hover,
  .btn.btn-start:focus,
  .btn.btn-start:focus-visible {
    --btn-bg: black;
    background-color: var(--btn-bg) !important;
    color: white !important;
    text-decoration: underline;
  }
  
  /* Respect reduced motion */
  @media (prefers-reduced-motion: reduce) {
    .btn.btn-start,
    .btn.btn-start::after {
      transition: none;
    }
  }
  

  .callout-yellow,
  .callout-yellow a {
    color: black;
    background-color: var(--color-success);
  }

  .callout-teal {
    background-color: var(--color-info) !important;
    color: white !important;
  }

  .callout-primary {
    background-color: var(--color-info) !important;
    color: white !important;
  }

  .service-landing-page__service-item h3 {
    padding-top: 0.5rem;
  }

  .lgd-icon svg {
    width: 2rem !important;
    fill: #f7a01d !important;
  }

  .lgd-row__one-half h3 {
    padding-top: 0.5rem !important;
  }

  .lgd-teaser-list .lgd-topic-list-builder__service,
  .lgd-teaser-list .service-landing-page__service {
    border-bottom: none !important;
    margin-block-end: 0;
    padding-block-end: 0;
  }

  .step-by-step-pages ol.step-list .step.step--active:before {
    background-color: var(--service-box);
    border: 2px solid var(--service-box);
    color: #FFFFFF;
  }

  .step-by-step-pages ol.step-list .step:before {
    top: 0.75rem !important;
    height: 3.75rem !important;
    width: 3.75rem !important;
    background-color: var(--color-focus);
    line-height: 3.55rem !important;
    font-weight: 500 !important;
    border: 2px solid var(--color-focus);
    font-size: 2.5rem;
  }

  .step-by-step-pages ol.step-list .step .step__title {
    margin: 1rem 0 1rem 5.5rem !important;
  }

  .step-by-step-pages ol.step-list .step:not(:last-of-type):after {
    left: 1.8438rem !important;
    border: 2px solid #121212;
  }

  #block-eastcambs-theme-localgov-step-by-step-navigation-base {
    ol.step-list .step:not(:last-of-type):after {
      left: 1.8438rem !important;
      border: 2px solid #fff;
    }

    ol.step-list .step.step--active:not(:last-of-type):after {
      border: 2px solid var(--service-box);
    }
  }

  #block-localgov-guides-prev-next-block-base {
    margin-top: 2rem;
  }

  .lgd-prev-next__label {
    font-weight: bold !important;
  }

  .lgd-guide-nav {
    background-color: transparent !important;
    padding: 0;

  }

  .block-localgov-guides-contents {
    margin-block: 0;
  }

  .lgd-guide-nav__list {
    list-style: none;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 0;
    margin-left: -1rem;
  }

  .lgd-guide-nav__list-item {
    background-color: unset;
    margin: 1rem;
    padding: 1rem;
    border-left: solid 1.5rem var(--guide-page-tab);
    flex: 0 0 30%;
    border-top-right-radius: var(--service-border-radius) var(--service-border-radius);
    min-height: 5rem;
  }


  .lgd-guide-nav__list-item:focus,
  .lgd-guide-nav__list-item:hover {
    background-color: var(--guide-page-tab);
  }

  .lgd-guide-nav__list-item--active {
    text-align: left;
    border-left: unset;
    background-color: var(--color-directional);
  }

  .lgd-guide-nav__list-item--active:focus,
  .lgd-guide-nav__list-item--active:hover {
    background-color: var(--color-directional);
  }

  .lgd-prev-next--guides {
    /* Geometry and border */
    --tip-width: 16px;
    /* horizontal protrusion of the point */
    --tip-gap: 10px;
    /* space between content and arrow base */
    --border-w: 2px;
    /* thin border width on non-arrow sides */
    --arrow-side-w: 20px;
    /* thick diagonal border along the tip edge */
    --arrow-inset: 20px;
    /* inner fill inset from top & bottom */

    /* Hide any inline chevrons rendered by the component */
    .lgd-prev-next__icon {
      display: none;
    }

    /* Base link styling */
    .lgd-prev-next__link {
      position: relative;
      overflow: visible;
      z-index: 0;
      color: var(--button-text-color);
      background-color: var(--button-bg-color);
    }

    .lgd-prev-next__title {
      padding-inline-start: 0;
    }

    .lgd-prev-next__link:focus {
      background-color: #fff;
      /* your existing focus tweak */
    }

    .lgd-prev-next__list-item {
      height: auto;
    }

    .lgd-prev-next__link--prev,
    .lgd-prev-next__link--next {
      height: 100%;
      flex-direction: column;
      flex-wrap: nowrap;
      align-items: flex-start;
      justify-content: flex-start;
    }

    /* ===================== PREV (left-pointing) ===================== */
    .lgd-prev-next__link--prev {
      /* Thin borders on non-arrow sides; thick straight border on the arrow side */
      border-right: var(--border-w) solid var(--button-border-color);
      border-top: var(--border-w) solid var(--button-border-color);
      border-bottom: var(--border-w) solid var(--button-border-color);
      border-left: var(--arrow-inset) solid var(--button-border-color);

      padding-left: calc(1rem + var(--tip-gap));
      margin-left: var(--tip-width);
    }

    /* Border triangle (behind) — mirrors “next” but on the left */
    .lgd-prev-next__link--prev::before {
      content: '';
      position: absolute;
      /* push further left so the diagonal border continues the straight 20px */
      left: calc(-1 * (var(--tip-width) + var(--arrow-side-w) + var(--arrow-side-w)));
      top: calc(-1 * var(--border-w));
      bottom: calc(-1 * var(--border-w));
      width: calc(var(--tip-width) + var(--arrow-side-w) + 1px);
      background: var(--button-border-color);
      clip-path: polygon(0 50%, 100% 0, 100% 100%);
      /* point left */
      z-index: 1;
      /* under the fill */
    }

    /* Fill triangle (on top) — mirrors “next” but anchored to the left edge */
    .lgd-prev-next__link--prev::after {
      content: '';
      position: absolute;
      /* right: 100% places the triangle fully to the left;
         subtract 1px so it sits exactly inside the border */
      right: calc(100% - 1px);
      top: calc(-1 * var(--border-w));
      bottom: calc(-1 * var(--border-w));
      width: calc(var(--tip-width) + var(--arrow-side-w) + 1px);
      background: inherit;
      /* match current link bg (hover/focus/active) */
      clip-path: polygon(0 50%, 100% 0, 100% 100%);
      z-index: 2;
      margin-top: var(--border-w);
      margin-bottom: var(--border-w);
      pointer-events: none;
    }

    /* ===================== NEXT (right-pointing) ===================== */
    .lgd-prev-next__link--next {
      border-left: var(--border-w) solid var(--button-border-color);
      border-top: var(--border-w) solid var(--button-border-color);
      border-bottom: var(--border-w) solid var(--button-border-color);
      border-right: var(--arrow-inset) solid var(--button-border-color);

      padding-right: calc(1rem + var(--tip-gap));
      margin-right: var(--tip-width);
    }

    /* Border triangle (behind) */
    .lgd-prev-next__link--next::before {
      content: '';
      position: absolute;
      right: calc(-1 * (var(--tip-width) + var(--arrow-side-w) + var(--arrow-side-w)));
      top: calc(-1 * var(--border-w));
      bottom: calc(-1 * var(--border-w));
      width: calc(var(--tip-width) + var(--arrow-side-w) + 1px);
      background: var(--button-border-color);
      clip-path: polygon(100% 50%, 0 0, 0 100%);
      /* point right */
      z-index: 1;
    }

    /* Fill triangle (on top) */
    .lgd-prev-next__link--next::after {
      content: '';
      position: absolute;
      left: calc(100% - 1px);
      top: calc(-1 * var(--border-w));
      bottom: calc(-1 * var(--border-w));
      width: calc(var(--tip-width) + var(--arrow-side-w));
      background: inherit;
      /* match current link bg (hover/focus/active) */
      clip-path: polygon(100% 50%, 0 0, 0 100%);
      z-index: 2;
      margin-top: var(--border-w);
      margin-bottom: var(--border-w);
      pointer-events: none;
    }

    @media (max-width: 28rem) {
      --tip-width: 0.65rem;
      --arrow-side-w: 0.75rem;
      --arrow-inset: 0.75rem;
    }
  }

  @media (max-width: 28rem) {
    ul.lgd-prev-next__list {
      flex-direction: column;
      gap: 1rem;
    }
  }



  .file--mime-application-pdf a {
    color: white !important;
    position: relative;
    text-decoration: none !important;
    padding-right: 2rem;
  }

  .file--mime-application-pdf a:hover {
    text-decoration: underline !important;

  }

  .file--mime-application-pdf a:after {
    content: " ";
    width: 0;
    height: 0;
    border: unset;
  }

  .file--mime-application-pdf {
    display: inline-flex;
    align-items: center;
    padding: var(--btn-start-padding-vertical) var(--btn-start-padding-horizontal);
    text-decoration: none;
    color: white;
    border-left: solid 1rem var(--color-grey-lighter);
    background-color: transparent;
    background-image: url("/sites/default/files/2024-11/teal-link-background.png");
    background-size: cover;
    background-position: right;
    line-height: 1;
    margin-bottom: 1rem;
  }

  a {
    color: black;
    text-decoration: none;

    &:hover {
      text-decoration: underline;
    }
  }

  .field--name-body a,
  .field--name-localgov-subsites-content a,
  .view-empty a {
    color: #2b5c6b;
    text-decoration: underline;

    &:hover {
      text-decoration: unset;
    }
  }

  .menu--localgov_services_menu {
    list-style-type: none;
    text-decoration: underline;
  }

  .view-promoted-services {
    .promoted-service-card:hover {
      text-decoration: unset;
    }

    .views-field-title {
      margin-bottom: 1rem;
      font-weight: bold;
      text-decoration: underline;

      &:hover {
        text-decoration: unset;
      }
    }

    .views-field-body {
      font-size: 1.0rem;
    }
  }

  .view-promoted-services ul {
    row-gap: 1.875rem;
    column-gap: 2.5rem;
    padding-inline-start: 0;
  }

  .view-promoted-services li {
    background-color: var(--color-grey-lighter);
    padding: 1rem 1rem 0 1rem;
    list-style: none;
  }

  .view-promoted-services li:nth-child(1) {
    border-left: solid 2rem #6c8645;
  }

  .view-promoted-services li:nth-child(2) {
    border-left: solid 2rem #f8a65c;
  }

  .view-promoted-services li:nth-child(3) {
    border-left: solid 2rem #71ab92;
  }

  .view-promoted-services li:nth-child(4) {
    border-left: solid 2rem #a4902d;
  }

  .view-promoted-services li:nth-child(5) {
    border-left: solid 2rem #ad714c;
  }

  .view-promoted-services li:nth-child(6) {
    border-left: solid 2rem #e94e20;
  }

  .page-node-type-localgov-news-article .news-article__title {
    display: none;
  }

  .path-frontpage .viewsreference--view-title {
    display: none;
  }

  .views-field-localgov-news-categories .views-label {
    float: left;
    padding-right: 0.5rem;
  }

  .homepage-news.views-row {
    column-gap: 2.5rem;
    margin-bottom: 1.875rem;
    clear: both;

    h3,
    .views-field-body p {
      margin-block-end: 5px;
    }

    h3 a {
      color: var(--heading-3-color);
    }

    .homepage-news__metadata {
      display: flex;
      flex-direction: column;

      .views-field views-field-localgov-news-categories .field-content {
        display: flex;
        flex-direction: row;
      }
    }
  }

  .view-localgov-news-list .view-footer {
    clear: both;
    font-size: 1.125rem;
    
    @media screen and (min-width: 768px) {
      padding-left: 1.875rem;
    }

    &, a {
      color: var(--color-black);
    }
  }

  .path-frontpage .media-with-text__media {
    width: 30%;
  }

  .path-frontpage .ely-markets img {
    float: left;
    margin-right: 2rem;
  }

  .path-frontpage .newsroom-teaser--has-image .field--name-localgov-newsroom-teaser-title {
    font-weight: 500;
    font-size: 1.2rem;
  }

  .path-frontpage .field--name-localgov-subsites-content .field-item {
    clear: both;
  }

  .path-frontpage .layout--onecol .paragraph.paragraph--type--localgov-media-with-text {
    background-color: var(--color-grey-lighter);
    clear: both;
  }

  .path-frontpage .layout--onecol .paragraph.paragraph--type--localgov-media-with-text h2 {
    margin-top: 0.5rem;
  }

  .path-frontpage .layout--onecol .paragraph.paragraph--type--localgov-media-with-text .field--name-localgov-text.field--type-text-long {
    font-size: 1.2rem;
    padding-right: 3rem;
    padding-top: 1rem;
  }

  .path-frontpage .layout--twocol .media-with-text__media {
    width: 100%;
  }

  .path-frontpage .layout--twocol .media-with-text--featured {
    border: none;
    background-color: unset;
  }

  .menu--main>.menu-item a {
    color: black !important;

    &:focus {
      box-shadow: unset;
    }
  }

  .lgd-header__inner {
    justify-content: unset !important;
  }

  .lgd-header {
    background-color: unset !important;
  }

  #block-eastcambs-theme-views-block-promoted-services-block-1 {
    margin-top: 3rem;
    margin-bottom: 3rem;
    margin-inline: auto;
  }

  .path-frontpage {
    .field--name-localgov-subsites-content > .field__item > * {
      &:before {
        content: '';
        display: block;
        height: 1px;
        width: 100%;
        background-color: var(--section-divider-color);
        margin: 0.75rem 0 2.25rem;
      }
    }
  }

  .lgd-footer__footer a {
    color: black !important;
  }

  .branding__item.branding__item--logo {
    width: fit-content;
    margin-left: 1rem;

    img {
      max-width: 250px;
      width: 100%;

      @media screen and (min-width: 480px) {
        max-width: 300px;
      }
    }

    a {
      display: block;
      padding-bottom: 3px;
      border-bottom: 3px solid transparent;
      margin-bottom: -3px;
      transition: border-color 0.2s ease;

      &:hover,
      &:focus {
        border-bottom-color: var(--site-black);
      }
    }
  }

  #block-eastcambs-theme-footernameandaddress {
    padding: 0.5rem 0;
    position: relative;
    z-index: 0;

    &:before {
      content: "";
      position: absolute;
      inset: 0;
      background: var(--color-grey-lighter);
      pointer-events: none;
      z-index: -1;
      box-shadow: 0 0 0 100vmax var(--color-grey-lighter);
      clip-path: inset(0 -100vmax);
    }

    .field--name-body {
      position: relative;
    }
  }

  .footer-name {
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.5rem;
    margin-bottom: 0;
  }

  .footer-address {
    font-weight: 500;
    font-size: 1.2rem;
    margin-bottom: 0;
  }

  #block-localgov-base-bettersocialsharingbuttons {
    float: right;
    margin-top: -3rem;
    position: relative;

    .contextual {
      display: none;
    }
  }

  #block-eastcambs-theme-footermenu {
    background-color: white;
    padding: 1rem 0;

    ul:not(.contextual-links) {
      padding-inline-start: 0;

      @media screen and (max-width: 768px) {
        display: grid;
        align-items: center;
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem 3rem;
      }

      li {
        list-style: none;
        display: inline-block;
        font-size: 1rem;
        font-weight: 300;

        @media screen and (min-width: 768px) {
          margin-right: 3rem;
        }

        a {
          text-decoration: none;

          &:hover {
            text-decoration: underline;
          }
        }
      }
    }
  }

  .lgd-region.lgd-region--banner.region.region-banner {
    background-image: url("themes/custom/eastcambs_theme/assets/images/autumn-banner.jpg");
    background-repeat: no-repeat;
    background-position: top left;
    background-size: cover;
  }

  #views-exposed-form-localgov-sitewide-search-sitewide-search-page-block {
    max-width: 720px;
    margin: 2rem auto 6.5rem;
  }

  #edit-submit-localgov-sitewide-search,
  #edit-submit-localgov-sitewide-search--2 {
    display: none;
  }

  #views-exposed-form-localgov-sitewide-search-sitewide-search-page-block label {
    color: transparent !important;
  }

  #block-eastcambs-theme-sitewidesearchblock #edit-s--2,
  #block-eastcambs-theme-sitewidesearchblock--2 #edit-s--2,
  #block-eastcambs-theme-sitewidesearchblock #edit-s,
  #block-eastcambs-theme-sitewidesearchboxminimal #edit-sitewide-s,
  #block-eastcambs-theme-sitewidesearchboxminimal #edit-s {
    font-family: 'Poppins', sans serif;
    border-radius: 15px;
    font-size: 2rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    float: left
  }

  #block-eastcambs-theme-sitewidesearchblock .js-form-item.form-item.js-form-type-textfield.form-item-s.js-form-item-s,
  #block-eastcambs-theme-sitewidesearchblock--2 .js-form-item.form-item.js-form-type-textfield.form-item-s.js-form-item-s,
  #block-eastcambs-theme-sitewidesearchboxminimal .js-form-item.form-item.js-form-type-textfield.form-item-s.js-form-item-s {
    margin: 0 20px;
  }

  .block-localgov-directories-channel-search-block {
    .form-item-committees,
    .form-item-meeting-venue {
      label {
        font-size: var(--font-size-h3);
        font-weight: 300;
        margin-bottom: 1rem;
      }

      select {
        border-radius: var(--radius);
        appearance: none;
        -moz-appearance: none;
        -webkit-appearance: none;
        background-image: url('/themes/custom/eastcambs_theme/assets/icons/down-arrow.svg');
        background-repeat: no-repeat;
        background-position: 96% center;

        &:active {
          background-image: url('/themes/custom/eastcambs_theme/assets/icons/up-arrow.svg');
        }
      }
    }
  }

  #block-eastcambs-theme-localgov-subsite-banner-base {
    display: none !important;
  }

  .path-frontpage h1 {
    display: none !important;
  }

  .lgd-header__toggle {
    color: black;
    font-weight: 100;
    border-radius: 50px;
    max-height: 40px;
    max-width: 100px;

    .lgd-header__toggle-text--primary.open {
      display: none;
    }

    &.lgd-header__toggle--active {
      height: 50px;
      font-weight: 100;
      background-color: var(--toggle-active-bg);

      .lgd-header__toggle-text--primary {
        display: none;

        &.open {
          display: block;
        }
      }
    }
  }

  .lgd-header__toggle:focus,
  .lgd-header__toggle:hover {
    background-color: var(--toggle-active-bg);
    color: black !important;
    border-color: var(--toggle-active-bg) !important;
    outline: unset !important;
    box-shadow: unset;
  }

  .view-localgov-directory-channel .views-row {
    margin-bottom: 1rem;
  }

  .page-node-type-localgov-newsroom .feed-icons {
    display: none;
  }

  .view-content-field-meeting-date-on-calendar .views-display-link-page_1 {
    float: right;
    margin-top: -5.1rem;
    margin-right: 2rem;
    border: solid 1px;
    padding: 0.5rem;
  }

  .group-left {
    padding-right: 1rem;
  }

  .calendar-calendar td a {
    font-size: 0.85rem;
  }

  .calendar-calendar td {
    color: black;
  }

  #block-eastcambs-theme-meetingscalendarmenutabs {
    display: none;
  }

  .view-content-field-meeting-date-on-calendar nav.pager>ul {
    display: flex;
  }

  .view-content-field-meeting-date-on-calendar .view-header {
    text-align: left;
  }

  .view-content-field-meeting-date-on-calendar .pager__item.pager__item--previous {
    margin: 1rem;
    border: solid 1px;
    padding: 0.25rem;
  }

  .view-content-field-meeting-date-on-calendar .pager__item.pager__item--next {
    margin: 1rem;
    border: solid 1px;
    padding: 0.25rem;
  }

  /* Page sections */
  .paragraph--type--page-section .layout--twocol .layout__region--first {
    margin-right: 15px;
  }

  .paragraph--type--page-section .layout--twocol .layout__region--second {
    margin-left: 15px;
  }

  .paragraph--type--page-section .layout--threecol-33-34-33 .layout__region--first {
    padding-right: 20px;
  }

  .paragraph--type--page-section .layout--threecol-33-34-33 .layout__region--second {
    padding-right: 20px;
    padding-left: 20px;
  }

  .paragraph--type--page-section .layout--threecol-33-34-33 .layout__region--third {
    padding-left: 20px;
  }

  @media screen and (min-width: 40em) {
    .layout--threecol-33-34-33 > .layout__region--first,
    .layout--threecol-33-34-33 > .layout__region--third {
      flex: 0 1 32.75%;
      max-width: 32.75%;
    }
    .layout--threecol-33-34-33 > .layout__region--second {
      flex: 1 1 32.75%;
    }
  }

  @media screen and (max-width: 720px) {
    #block-localgov-base-bettersocialsharingbuttons {
      margin: 0;
      float: unset;
      z-index: 0;

      &:before {
        content: "";
        position: absolute;
        inset: 0;
        background: var(--color-grey-lighter);
        pointer-events: none;
        z-index: -1;
        box-shadow: 0 0 0 100vmax var(--color-grey-lighter);
        clip-path: inset(0 -100vmax);
      }

      .social-sharing-buttons {
        position: relative;
      }
    }
  }

  @media screen and (max-width: 480px) {
    .paragraph--type--page-section .layout--twocol .layout__region--first {
      margin-right: 0;
    }

    .paragraph--type--page-section .layout--twocol .layout__region--second {
      margin-left: 0;
    }
  }

  /*zoom fixes*/
  @media screen and (max-width:320px) {

    .path-frontpage .lgd-container {
      max-width: 100% !important;
    }

    .view-content-field-meeting-date-on-calendar .views-display-link-page_1 {
      margin-right: 0 !important;
      padding: 0.2rem !important;
    }

  }

  article.node--type-localgov-subsites-page>h2 {
    display: none
  }

}

.node--unpublished {
  background-color: lightpink;
}

.menu.menu--top-tasks {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  list-style: none;
  padding: 0;
  margin: 2rem auto;
  max-width: var(--width-container);
}

.menu.menu--top-tasks .menu-item {
  flex: 1 1 calc(33.333% - 1rem);
  display: flex;
  justify-content: center;
}

.menu.menu--top-tasks .menu-item a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  background: white;
  border-radius: 12px;
  padding: 0.3rem 1.25rem;
  text-decoration: none;
  color: #333;
  font-weight: 600;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.menu.menu--top-tasks .menu-item a:hover,
.menu.menu--top-tasks .menu-item a:focus {
  background: var(--color-success);
}

.menu.menu--top-tasks .menu-item a::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 20px;
  flex-shrink: 0;
  background-color: var(--color-directional);
}

/* For top tasks colourful bulletpoints */
.menu.menu--top-tasks .menu-item:nth-child(1) a::before {
  background-color: var(--theme-colour-1);
}

.menu.menu--top-tasks .menu-item:nth-child(2) a::before {
  background-color: var(--theme-colour-2);
}

.menu.menu--top-tasks .menu-item:nth-child(3) a::before {
  background-color: var(--theme-colour-3);
}

.menu.menu--top-tasks .menu-item:nth-child(4) a::before {
  background-color: var(--theme-colour-4);
}

.menu.menu--top-tasks .menu-item:nth-child(5) a::before {
  background-color: var(--theme-colour-5);
}

.menu.menu--top-tasks .menu-item:nth-child(6) a::before {
  background-color: var(--theme-colour-6);
}

.menu.menu--top-tasks .menu-item:nth-child(7) a::before {
  background-color: var(--theme-colour-7);
}

.menu.menu--top-tasks .menu-item:nth-child(8) a::before {
  background-color: var(--theme-colour-8);
}

/* Front page featured teasers */
.path-frontpage {
  .featured-teasers__teasers .field__items {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    justify-items: center;
    padding-top: 2rem;
  }

  .featured-teaser:hover,
  .featured-teaser:focus-within {
    outline: 6px solid var(--highlight-colour);
    text-decoration-line: underline;

    .featured-teaser__stretched-link {
      background-color: unset !important;
    }
  }

  .featured-teaser {
    .featured-teaser__content a,
    .featured-teaser__heading h3 {
      text-decoration: underline;
    }

    &:hover,
    &:focus-within {
      .featured-teaser__content a,
      .featured-teaser__heading h3 {
        text-decoration: unset;
      }
    }
  }
  

  .featured-teasers__teasers .field__item {
    width: 100%;
    height: 100%;
    margin-block-start: 0;
  }

  .featured-teaser {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    max-width: 100%;
    background: var(--color-grey-lighter);
    overflow: hidden;
  }

  /* Square media area */
  .featured-teaser__image {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #eaeaea;
  }

  @supports not (aspect-ratio: 1 / 1) {
    .featured-teaser__image::before {
      content: '';
      display: block;
      padding-top: 100%;
    }

    .featured-teaser__image>* {
      position: absolute;
      inset: 0;
    }
  }

  .featured-teaser__image img {
    width: 100%;
    height: 100%;
    display: block;
    padding: 0;
  }

  .featured-teaser__content {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.85);

    color: #000;
    padding: 0.75rem 1rem;
  }

  /* Heading + link styles inside overlay */
  .featured-teaser__heading h3 {
    margin: 0 0 0.25rem 0;
    font-size: 1.125rem;
    line-height: 1.2;
    color: inherit;
  }

  .featured-teaser__content a {
    color: #fff;
  }

  /* Remove extra top spacing between grid items */
  .featured-teasers__teasers>.field__items>.field__item+.field__item {
    margin-block-start: 0;
  }
}

/* Make the whole teaser clickable via a stretched link */
.newsroom-teaser-featured_card,
.featured-teaser {
  position: relative;
  /* ensure positioning context */
}

.newsroom-teaser__stretched-link,
.featured-teaser__stretched-link {
  position: absolute;
  inset: 0;
  z-index: 5;
  /* above image/overlay */
  display: block;
  /* Visually hide link text but keep it for screen readers */
  color: transparent;
  text-indent: -9999px;
  overflow: hidden;
}

.paragraph--type--page-section:has(.newsroom-teaser-featured_card) {
  margin-bottom: 2.5rem;

  @media screen and (min-width: 640px) {
    margin-bottom: 0;
  }
}

.newsroom-teaser-featured_card {
  display: flex;
  flex-direction: column;
  height: 100%;
  margin-block-end: 0;

  .newsroom-teaser__title {
    text-decoration-line: underline;
  }

  &:hover,
  &:focus-within {
    outline: 6px solid var(--highlight-colour);

    .newsroom-teaser__title {
      text-decoration-line: unset;
    }

    .newsroom-teaser__stretched-link {
      background-color: unset !important;
      text-decoration-line: underline;
      box-shadow: none;
    }
  }

  .newsroom-teaser__image {
    margin: 0;

    img {
      width: 100%;
      height: 100%;
    }
  }

  .newsroom-teaser__content {
    background-color: var(--colore-grey-light);
    padding: 1.25rem 2.5rem 0.5rem 1.875rem;
    margin: 0;
    flex: 1;

    .newsroom-teaser__title {
      margin: 0;
    }

    .newsroom-teaser__summary {
      margin-top: 0.75rem;
    }
  }
}

@media screen and (max-width: 640px) {
  .paragraph--type--page-section .layout--threecol-33-34-33 {
    .layout__region {
      &:has(.newsroom-teaser-featured_card) {
        padding: 0;
      }

      &:not(.layout__region--third):has(.newsroom-teaser-featured_card) {
        padding-bottom: 2rem;
      }
    }
  }
}

.homepage-news:nth-child(6n+1) .homepage-news-image {
  --tab-color: #6c8645;
}

.homepage-news:nth-child(6n+2) .homepage-news-image {
  --tab-color: #f8a65c;
}

.homepage-news:nth-child(6n+3) .homepage-news-image {
  --tab-color: #71ab92;
}

.homepage-news:nth-child(6n+4) .homepage-news-image {
  --tab-color: #a4902d;
}

.homepage-news:nth-child(6n+5) .homepage-news-image {
  --tab-color: #ad714c;
}

.homepage-news:nth-child(6n+6) .homepage-news-image {
  --tab-color: #e94e20;
}

.views-field-field-media-image img {
  border-left: var(--tab-color) solid 2rem;
  
  @media screen and (max-width: 768px) {
    width: 100%;
  }
}

.search-filters {
  margin-bottom: 1rem;
  border: 1px solid #ccc;
  border-radius: 6px;
  padding: 0.5rem 1rem;
}

.search-filters__toggle {
  font-weight: 600;
  cursor: pointer;
}

.search-filters[open] .search-filters__toggle {
  border-bottom: 1px solid #ccc;
}

.page-node-type-localgov-services-landing,
.page-node-type-localgov-services-page {
  .lgd-region__inner--content-top {

    h1,
    .h1 {
      margin-block-end: 0;
    }
  }

  .lgd-teaser-list .service-landing-page__service {
    margin-block-end: 0;
    padding-block-end: 0;
  }
}

.choices[data-type*=select-one] .choices__inner {
  padding-bottom: 0;
}

.view-search-filters .search-filters__content .views-exposed-form input[type="text"],
.view-search-filters .search-filters__content .views-exposed-form select,
.view-search-filters .search-filters__content .views-exposed-form .form-select,
.view-search-filters .search-filters__content .views-exposed-form .form-text {
  width: 100%;
  border-radius: 0.5rem;
}

.view-search-filters .view-filters__opener,
.view-search-filters #edit-submit-localgov-sitewide-search,
.view-search-filters #edit-reset,
.view-search-filters .choices__inner {
  border-radius: 0.5rem;
}

.block-localgov-directories-channel-search-block {

  #edit-field-meeting-date-wrapper--2,
  #edit-field-meeting-date-wrapper,
  .form-item-sort-by,
  .form-item-sort-order {
    display: none;
  }

  #edit-reset--3 {
    display: none;
  }
}

.lgd-teaser--directory-meetings .meeting-date {
  display: none;
}

.social-sharing-buttons__button {
  display: inline-flex;
  background-color: transparent;
}

.social-sharing-buttons__button svg {
  display: block;
}

    

input[type="date"]:focus,
input[type="datetime-local"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="text"]:focus,
input[type="url"]:focus,
input[type="submit"]:focus,
textarea:focus,
button:focus,
select:focus {
  /* Important here is fine as we need this to override everything */
  border-color: var(--color-black) !important;
  outline: 3px solid var(--color-focus) !important;
  outline-offset: 0;
  box-shadow: inset 0 0 0 3px;
}

a:not([class*="toolbar"]):not(.newsroom-teaser__stretched-link):not(.featured-teaser__stretched-link) {
  &:focus:is(:not(.branding__item--logo *)),
  &:active:is(:not(.branding__item--logo *)),
  &:focus-visible {
    background-color: var(--color-focus) !important;
    color: var(--text-focus-color) !important;
    box-shadow: none;
    text-decoration: underline;
  }
}

.node--view-mode-search-result-base {
  h2 {
    margin-block-end: 0;
    text-decoration: underline;
  }
}

div#sliding-popup {
  max-width: calc(var(--width-container) - var(--spacing-padding-horizontal) * 2);
  margin: auto;
  background: var(--color-info);
}

#sliding-popup #popup-buttons button {
  font-family: 'Poppins', sans serif;
  border-color: unset;
}

body:has(.block-manage-cookies) {
  .lgd-region__inner--content {
    font-size: 1.2rem;
  }
}

.cookie-form-container {
  fieldset.cookie-category__radios .js-form-type-radio input.form-radio {
    width: 30px;
    height: 30px;
    accent-color: var(--color-black);
    font-family: 'Poppins', sans serif;
  }

  .form-submit {
    font-family: 'Poppins', sans serif;
    font-size: 1.2rem;
  }
}

.table-wrapper {
  overflow-x: auto;
}

/* Search autocomplete dropdown items: black pill highlight */
ul.ui-widget-content.ui-autocomplete {
  font-family: 'Poppins', sans-serif;

  /* Base item */
  li.ui-menu-item {
    a.ui-menu-item-wrapper {
      display: block;
      box-sizing: border-box;
      margin: 2px 10px;
      padding: 10px 14px;
      border-radius: 100px;
      background: transparent;
      color: var(--text-focus-color);
      text-decoration: none;
      line-height: 1.25;
      transition: background-color 140ms ease, color 140ms ease;

      /* Keyboard active. */
      &.ui-state-active {
        background-color: var(--text-focus-color);
        color: var(--color-white);
        border: 0;
        margin: 2px 10px;

        div.search-api-autocomplete-suggestion {
          color: unset;
          background: unset;
        }
      }

      div.search-api-autocomplete-suggestion,
      span.autocomplete-suggestion-label {
        color: inherit;
      }
    }

    /* Hover */
    &:hover {
      /* Unset the styling applied by a contrib */
      background: unset;

      a.ui-menu-item-wrapper {
        background-color: var(--text-focus-color);
        color: var(--color-white);
      }
    }
  }
}

@media screen and (max-width: 48rem) {
  html {
    a {
      text-decoration: underline;

      &:hover,
      &:focus {
        text-decoration: none;
      }
    }

    #block-eastcambs-theme-footermenu {
      ul:not(.contextual-links) {
        li {
          a {
            text-decoration: underline;

            &:hover {
              text-decoration: none;
            }
          }
        }
      }
    }
  }

  a:not([class*="toolbar"]):not(.newsroom-teaser__stretched-link):not(.featured-teaser__stretched-link) {
    text-decoration: underline;

    &:focus:is(:not(.branding__item--logo *)),
    &:active:is(:not(.branding__item--logo *)),
    &:focus-visible {
      text-decoration: none;
    }
  }

  h1, h2, h3, h4, h5, h6 {
    word-break: break-word;
  }
}
