@import '/modules/custom/oxfcms/oxfcms_layouts/css/oxfcms_dark_contrast_component.css';
:root {
  /* Footer */
  --footer--basic--font_family: "Roboto", sans-serif;
  --footer--basic--font_size: 1.25rem;
  --footer--basic--font_style: normal;
  --footer--basic--font_weight: 400;
  --footer--basic--line_height: 160%;
  --footer--basic--link--text_colour: #49B6ff;
  --footer--basic--link--font_weight: 500;
  --footer--basic--padding--sides: 0;
  --footer--basic--section--padding: 0;
  /* Footer - Top */
  --footer--basic--top--background_colour: #001124;
  --footer--basic--top--text_colour: #ffffff;
  --footer--basic--top--padding: 110px var(--footer--basic--padding--sides);
  /* Footer - Top - Link */
  --footer--basic--top--link--font_size: 1.375rem;
  --footer--basic--top--link--font_style: normal;
  --footer--basic--top--link--font_weight: 500;
  --footer--basic--top--link--line_height: 120%;
  --footer--basic--top--list--marker_colour: #49b6ff;
  /* Footer - Top - Columns */
  --footer--basic--top--columns--paragraph--margin: 0 0 10px 0;
  --footer--basic--top--columns--column_count: 3;
  --footer--basic--top--columns--column_gap: 22px;
  /* Footer - Top - Primary */
  /* Footer - Top - Primary - Button */
  --footer--basic--top--primary--button--background_colour: #49B6ff;
  --footer--basic--top--primary--button--border_colour: #49B6ff;
  --footer--basic--top--primary--button--text_colour: #002147;
  --footer--basic--top--primary--button--icon_colour: #002147;
  --footer--basic--top--primary--button--border_radius: 6px;
  /* Footer - Top - Primary - Button - Ative */
  --footer--basic--top--primary--button--active--background_colour: #002147;
  --footer--basic--top--primary--button--active--border_colour: #49B6ff;
  --footer--basic--top--primary--button--active--text_colour: #ffffff;
  --footer--basic--top--primary--button--active--icon_colour: #49B6ff;
  /* Footer - Top - Primary - Icons */
  --footer--basic--top--primary--icons--padding: 0 0 22px;
  --footer--basic--top--primary--link--text_colour: #ffffff;
  --footer--basic--top--primary--icon--text_colour: #49B6ff;
  --footer--basic--top--primary--icon--font_size: 1.25rem;
  --footer--basic--top--primary--icon--text--font_size: 1.375rem;
  --footer--basic--top--primary--button--icon--text_colour: #002147;
  /* Footer - Top - Container */
  --footer--basic--top--container--heading--font_size: 2.125rem;
  --footer--basic--top--container--heading--margin: 0 0 33px;
  /* Footer - Mid */
  --footer--basic--mid--text_colour: #ffffff;
  --footer--basic--mid--border_colour: #1d42a6;
  --footer--basic--mid--font_size: 2rem;
  --footer--basic--mid--font_style: normal;
  --footer--basic--mid--font_family: 'Noto Serif';
  --footer--basic--mid--font_weight: 400;
  --footer--basic--mid--line_height: 120%;
  --footer--basic--mid--padding: 44px var(--footer--basic--padding--sides);
  /* Footer - Mid - Social media */
  --footer--basic--mid--social-media--gap: 0;
  --footer--basic--mid--social-media--icon--size: 66px;
  --footer--basic--mid--social-media--icon--background_colour: #49B6ff;
  --footer--basic--mid--social-media--icon--text_colour: #001124;
  --footer--basic--mid--social-media--icon--font_size: 1.875rem;
  --footer--basic--mid--social-media--icon--gap: 15px;
  --footer--basic--mid--social-media--icon--inner_gap: 17px;
  --footer--basic--mid--social-media--icon--border_radius: 6px;
  /* Footer - Bottom */
  --footer--basic--bottom--background_colour: #002147;
  --footer--basic--bottom--text_colour: #ffffff;
  --footer--basic--bottom--font_size: 1.25rem;
  --footer--basic--bottom--padding: 22px var(--footer--basic--padding--sides);
}
/* Main styling */
.oxfcms-footer-container {
  background-color: var(--footer--basic--top--background_colour);
  .oxfcms-footer {
    padding-top: 0;
    padding-bottom: 0;
    .oxfcms-footer-top,
    .oxfcms-footer-mid,
    .oxfcms-footer-bottom {
      gap: var(--footer--basic--top--columns--column_gap);
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      justify-content: space-between;
    }
    .oxfcms-footer-top {
      .width-limit-container {
        padding: var(--footer--basic--top--padding);
      }
      /* Top - Primary */
      .oxfcms-footer-primary {
        gap: var(--footer--basic--top--columns--column_gap);
        padding: var(--footer--basic--section--padding);
        width: 25%;
        flex: 1;
        min-width: 0;
        .footer_primary_logo,
        .footer_primary_address,
        .footer_primary_icons,
        .footer_primary_button {
          width: 100%;
          padding: 0;
        }
        .footer_primary_logo {
          line-height: 1.15;
          margin-bottom: 44px;
          .oxfcms-image {
            img {
              max-width: 70%;
              border-radius: 0;
            }
          }
        }
        .oxfcms-footer-primary-content {
          .footer_primary_icons {
            padding: var(--footer--basic--top--primary--icons--padding);
            .paragraph--type--oxfcms-icon {
              width: 100%;
              .oxfcms-icon-container {
                padding: 0;
                .oxfcms-icon-link {
                  text-decoration: none;
                  .oxfcms-icon-text {
                    text-decoration: underline;
                  }
                }
                .oxfcms-icon-icon {
                  color: var(--footer--basic--top--primary--icon--text_colour);
                  font-size: var(--footer--basic--top--primary--icon--font_size);
                  display: inline-block;
                  margin-right: 8px;
                  padding-left: 0;
                }
                .oxfcms-icon-text {
                  color: var(--footer--basic--top--text_colour);
                  font-family: var(--footer--basic--font_family);
                  font-size: var(--footer--basic--top--primary--icon--text--font_size);
                  font-style: var(--footer--basic--font_style);
                  font-weight: var(--footer--basic--link--font_weight);
                  line-height: var(--footer--basic--line_height);
                }
              }
            }
          }
        }
        a {
          color: var(--footer--basic--top--primary--link--text_colour);
        }
        .oxfcms-button {
          a,
          a:visited {
            border-radius: var(--footer--basic--top--primary--button--border_radius);
            background-color: var(--footer--basic--top--primary--button--background_colour);
            border-color: var(--footer--basic--top--primary--button--border_colour);
            color: var(--footer--basic--top--primary--button--text_colour);
            i {
              color: var(--footer--basic--top--primary--button--icon_colour)
            }
            &:hover,
            &:focus {
              background-color: var(--footer--basic--top--primary--button--active--background_colour);
              border-color: var(--footer--basic--top--primary--button--active--border_colour);
              color: var(--footer--basic--top--primary--button--active--text_colour);
              i {
                color: var(--footer--basic--top--primary--button--active--icon_colour)
              }
            }
          }
          .oxfcms-icon-icon,
          i {
            color: var(--footer--basic--top--primary--button--icon--text_colour);
          }
        }
      }
      /* Top - Container */
      .oxfcms-footer-top-container {
        width: 75%;
        display: flex;
        gap: inherit;
        .oxfcms-footer-column {
          flex: 1;
        }
      }
      /* Generic Text styling */
      .oxfcms-text {
        .field--name-field-wysiwyg-content {
          color: var(--footer--basic--top--text_colour);
          font-family: var(--footer--basic--font_family);
          font-size: var(--footer--basic--font_size);
          font-style: var(--footer--basic--font_style);
          font-weight: var(--footer--basic--font_weight);
          line-height: var(--footer--basic--line_height);
          p {
            margin: var(--footer--basic--top--columns--paragraph--margin);
            a {
              color: var(--footer--basic--link--text_colour);
              font-family: var(--footer--basic--font_family);
              font-size: var(--footer--basic--font_size);
              font-style: var(--footer--basic--font_style);
              font-weight: var(--footer--basic--link--font_weight);
              line-height: var(--footer--basic--line_height);
              text-decoration-line: underline;
              text-decoration-style: solid;
              text-decoration-skip-ink: none;
              text-decoration-thickness: auto;
              text-underline-offset: auto;
              text-underline-position: from-font;
            }
          }
          ol,
          ul {
            li {
              color: var(--footer--basic--top--text_colour);
              font-family: var(--footer--basic--font_family);
              font-size: var(--footer--basic--font_size);
              font-style: var(--footer--basic--font_style);
              font-weight: var(--footer--basic--font_weight);
              &::marker {
                color: var(--footer--basic--top--list--marker_colour);
              }
            }
          }
        }
      }
      /* Generic Heading styling */
      .text-formatted.field--name-field-wysiwyg-content,
      .oxfcms-heading {
        h1,
        h2,
        h3,
        h4,
        h5,
        h6 {
          color: var(--footer--basic--top--text_colour);
          font-size: var(--footer--basic--top--container--heading--font_size);
          margin: var(--footer--basic--top--container--heading--margin);
        }
      }
    }
    .oxfcms-footer-mid {
      border-top: 1px solid var(--footer--basic--mid--border_colour);
      align-items: center;
      padding: var(--footer--basic--mid--padding);
      .oxfcms-footer-connect-prefix {
        flex: 1;
        min-width: 0;
        flex-shrink: 0;
        display: flex;
        .oxfcms-text {
          .field--name-field-wysiwyg-content {
            color: var(--footer--basic--mid--text_colour);
            font-size: var(--footer--basic--mid--font_size);
            font-style: var(--footer--basic--mid--font_style);
            font-family: var(--footer--basic--mid--font_family);
            font-weight: var(--footer--basic--mid--font_weight);
            line-height: var(--footer--basic--mid--line_height);
            p {
              margin: 0;
            }
          }
        }
      }
      .oxfcms-footer-connect {
        gap: var(--footer--basic--top--columns--column_gap);
        flex: 3;
        min-width: 0;
        display: flex;
        .paragraph--type--oxfcms-layout-flexbox {
          min-width: 100%;
          .oxfcms-flexbox-container {
            min-width: 100%;
            .oxfcms-flex-items {
              gap: var(--footer--basic--mid--social-media--icon--gap);
              .oxfcms-icon-icon {
                width: var(--footer--basic--mid--social-media--icon--size);
                height: var(--footer--basic--mid--social-media--icon--size);
                max-width: var(--footer--basic--mid--social-media--icon--size);
                max-height: var(--footer--basic--mid--social-media--icon--size);
                gap: var(--footer--basic--mid--social-media--icon--inner_gap);
                border-radius: var(--footer--basic--mid--social-media--icon--border_radius);
                background-color: var(--footer--basic--mid--social-media--icon--background_colour);
                color: var(--footer--basic--mid--social-media--icon--text_colour);
                padding: 0;
                display: flex;
                justify-content: center;
                align-items: center;
                .fontawesome-icon {
                  display: flex;
                  i {
                    font-size: var(--footer--basic--mid--social-media--icon--font_size);
                    box-sizing: border-box;
                    align-self: center;
                    justify-self: center;
                  }
                }
              }
              img {
                border-radius: 0;
              }
            }
          }
        }
      }
      .text-formatted.field--name-field-wysiwyg-content, .oxfcms-heading {
        h1,
        h2,
        h3,
        h4,
        h5,
        h6 {
          color: var(--footer--basic--mid--text_colour);
          margin: 0;
        }
      }
    }
    .oxfcms-footer-bottom {
      background-color: var(--footer--basic--bottom--background_colour);
      color: var(--footer--basic--bottom--text_colour);
      .width-limit-container {
        padding: var(--footer--basic--bottom--padding);
      }
      .oxfcms-text {
        .field--name-field-wysiwyg-content {
          color: var(--footer--basic--top--text_colour);
          font-family: var(--footer--basic--font_family);
          font-size: var(--footer--basic--font_size);
          font-style: var(--footer--basic--font_style);
          font-weight: var(--footer--basic--font_weight);
          line-height: var(--footer--basic--line_height);
          p {
            margin: 0;
          }
        }
      }
    }
  }
}
/* Mercury-specific styling */
.is-mercury-edit-mode {
  .oxfcms-footer-container {
    .oxfcms-footer {
      .js-lpb-region{
        max-width: 100%;
        width: 100%;
      }
      .oxfcms-footer-top {
        .footer_primary_logo {
          &.js-lpb-region {
            &:has(.js-lpb-component) {
              /* Hide only the first .lpb-btn--add inside a region that already contains components */
              .lpb-btn--add {
                display: none !important;
              }
            }
          }
        }
      }
      .oxfcms-footer-mid {
        &.js-lpb-region {
          &:has(.js-lpb-component) {
            /* Hide only the first .lpb-btn--add inside a region that already contains components */
            .lpb-btn--add {
              display: none !important;
            }
            /* Show only nested .lpb-btn--add buttons inside .js-lpb-region within .js-lpb-component in .oxfcms-footer-mid */
            .js-lpb-component {
              .js-lpb-region {
                .lpb-btn--add {
                  display: block !important;
                }
              }
            }
          }
        }
        .paragraph--type--oxfcms-layout-flexbox {
          min-width: 320px;
          min-height: 30px;
          margin: 0;
          .l__region .paragraph.paragraph--type--oxfcms-icon {
            margin: 0;
            .lpb-controls.js-lpb-ui {
              width: 200px;
              max-width: fit-content;
            }
          }
        }
      }
      .oxfcms-footer-bottom {
        &.js-lpb-region {
          &:has(.js-lpb-component) {
            /* Hide only the first .lpb-btn--add inside a region that already contains components */
            .lpb-btn--add {
              display: none !important;
            }
          }
        }
      }
    }
  }
}
/* Breakpoint - Small Desktop */
@media (width < 1280px) {
  .oxfcms-footer-container {
    --footer--basic--font_size: 1.25rem;
    --footer--basic--top--container--heading--font_size: 1.875rem;
    --footer--basic--top--columns--column_gap: 20px;
    --footer--basic--mid--font_size: 1.25rem;
    --footer--basic--mid--padding: 40px 0;
    --footer--basic--mid--social-media--icon--font_size: 1.75rem;
    --footer--basic--mid--social-media--icon--size: 60px;
    --footer--basic--mid--social-media--icon--inner_gap: 10px;
    --footer--basic--bottom--padding: 20px 0;
    --footer--basic--top--container--heading--font_size: 1.875rem;
    .oxfcms-footer {
      .oxfcms-footer-mid {
        .oxfcms-footer-connect {
          .oxfcms-icon-icon {
            padding: 0;
          }
        }
      }
    }
  }
}
/* Breakpoint - Large Tablet */
@media (width < 961px) {
  .oxfcms-footer-container {
    --footer--basic--top--columns--column_count: 2;
    --footer--basic--mid--social-media--icon--gap: 14px;
    --footer--basic--mid--social-media--icon--font_size: 1.625rem;
    --footer--basic--mid--social-media--icon--size: 54px;
    .oxfcms-footer {
      .oxfcms-footer-top {
        .width-limit-container {
          row-gap: 54px;
          display: flex;
          flex-wrap: wrap;
          align-items: flex-start;
          justify-content: space-between;
          .oxfcms-footer-primary {
            flex-basis: 100%;
            width: 100%;
            display: flex;
            .footer_primary_logo {
              flex-basis: calc(100% / var(--footer--basic--top--columns--column_count) - var(--footer--basic--top--columns--column_gap) / var(--footer--basic--top--columns--column_count) * (var(--footer--basic--top--columns--column_count) - 1))
            }
            .oxfcms-footer-primary-content {
              flex-basis: calc(100% / var(--footer--basic--top--columns--column_count) - var(--footer--basic--top--columns--column_gap) / var(--footer--basic--top--columns--column_count) * (var(--footer--basic--top--columns--column_count) - 1))
            }
          }
          .oxfcms-footer-top-container {
            flex-basis: 100%;
            width: 100%;
            flex-wrap: wrap;
            .oxfcms-footer-column {
              flex-basis: calc(100% / var(--footer--basic--top--columns--column_count) - var(--footer--basic--top--columns--column_gap) / var(--footer--basic--top--columns--column_count) * (var(--footer--basic--top--columns--column_count) - 1))
            }
          }
        }
      }
      .oxfcms-footer-mid {
        .width-limit-container {
          row-gap: 54px;
          display: flex;
          flex-wrap: wrap;
          align-items: flex-start;
          justify-content: space-between;
          .oxfcms-footer-connect-prefix {
            flex-basis: 100%;
            width: 100%;
            display: flex;
          }
          .oxfcms-footer-connect {
            flex-basis: 100%;
            width: 100%;
            display: flex;
          }
        }
      }
    }
  }
}
/* Breakpoint - Tablet */
@media (width < 768px) {
  .oxfcms-footer-container {
    --footer--basic--font_size: 1.125rem;
    --footer--basic--top--padding: 90px 0;
    --footer--basic--top--columns--column_gap: 54px;
    --footer--basic--top--link--font_size: 1.125rem;
    --footer--basic--mid--padding: 36px 0;
    --footer--basic--mid--font_size: 1.125rem;
    --footer--basic--mid--social-media--icon--inner_gap: 9px;
    --footer--basic--bottom--padding: 0;
    --footer--basic--top--container--heading--font_size: 1.5rem;
    .oxfcms-footer {
      .oxfcms-footer-top {
        flex-direction: column;
        .oxfcms-footer-primary {
          display: flex;
          width: 100%;
          gap: 0;
          .footer_primary_logo {
            flex: 0 0 50%;
            .oxfcms-image {
              text-align: left;
            }
          }
          .oxfcms-footer-primary-content {
            gap: 22px;
            flex: 0 0 50%;
            .l__region {
              display: flex;
              flex-direction: column;
              &.footer_primary_address{
                p {
                  margin-top: 0;
                }
              }
            }
          }
        }
        .oxfcms-footer-top-container {
          width: 100%;
          flex-wrap: wrap;
          column-gap: 0;
          .oxfcms-footer-column {
            flex: 0 0 50%;
            &.oxfcms-footer-quaternary {
              order: 3;
            }
          }
        }
        /* Hide empty columns */
        .oxfcms-footer-column.is-empty {
          display: none;
          margin: 0 !important;
          padding: 0 !important;
        }
      }
      .oxfcms-footer-mid {
        align-items: flex-start;
        flex-direction: column;
        .oxfcms-footer-connect {
          margin-right: -14px;
          .oxfcms-icon {
            .oxfcms-icon-container {
              padding-left: 0;
              .oxfcms-icon-icon {
                padding: 0;
              }
            }
          }
        }
      }
    }
  }
}
/* Breakpoint - Mobile */
@media (width < 481px) {
  .oxfcms-footer-container {
    --footer--basic--font_size: 1rem;
    --footer--basic--section--padding: 80px 0 0;
    --footer--basic--top--padding: 0 0 80px;
    --footer--basic--top--columns--column_count: 1;
    --footer--basic--top--container--heading--margin: 0 0 24px;
    --footer--basic--top--columns--paragraph--margin: 0 0 5px;
    --footer--basic--mid--font_size: 1rem;
    --footer--basic--mid--social-media--icon--font_size: 1.5rem;
    --footer--basic--mid--social-media--icon--size: 50px;
    --footer--basic--bottom--padding: 16px 0;
    .oxfcms-footer {
      .oxfcms-footer-top {
        .width-limit-container {
          row-gap: 32px;
          .oxfcms-footer-primary {
            flex-wrap: wrap;
            gap: 32px;
            .footer_primary_logo {
              flex-basis: 100%;
              margin: 0;
            }
            .oxfcms-footer-primary-content {
              flex-basis: 100%;
              .footer_primary_button {
                .oxfcms-button {
                  a {
                    width: 100%;
                  }
                }
              }
            }
          }
        }
      }
      .oxfcms-footer-mid {
        .width-limit-container {
          row-gap: 32px;
          .oxfcms-footer-connect {
            .oxfcms-flex-items {
              align-items: flex-start;
              justify-content: flex-start;
              gap: 8px;
              .oxfcms-icon-container {
                padding: 0;
              }
            }
          }
        }
      }
    }
  }
}
