
@media (min-width: 48rem) {
  :root {
    --gutter-top: 2.5rem;
    --gutter-left: 2.5rem;
    --gutter-right: 2.5rem;
    --gap-col: 1.875rem;
    --spacing-default: 3.75rem;
    --spacing-small: 2.5rem;
    --spacing-large: 5rem;
    --canvas-offset-top: -2.5rem;
  }
  .grid > .col-2 {
    grid-column: span 4;
  }
  .grid > .col-3 {
    grid-column: span 3;
  }
  .grid > .col-4 {
    grid-column: span 4;
  }
  .grid > .col-5 {
    grid-column: span 5;
  }
  .grid > .col-6 {
    grid-column: span 6;
  }
  .grid > .col-7 {
    grid-column: span 7;
  }
  .grid > .col-8 {
    grid-column: span 8;
  }
  .grid > .col-9 {
    grid-column: span 9;
  }
  .grid > .col-10 {
    grid-column: span 10;
  }
  .grid > .col-11 {
    grid-column: span 11;
  }
  .grid:not(.twoThird) .accordionsWrap.col-12 {
    --accordion-padding-inline: 3.125rem;
  }
  .grid > .col-3 {
    grid-column: span 6;
  }
  .canvas.col-4::before {
    margin: 0 calc((100% - 100vw) / 2 * 3);
  }
  .canvas.col-3::before {
    margin: 0 calc((100% - 100vw) / 2 * 2);
  }
  .twoColumn {
    grid-template-columns: 1fr 2fr;
    grid-template-rows: auto;
    grid-template-areas: "oneThird twoThird";
    gap: 1.875rem;
  }
  .twoColumn.reverse {
    grid-template-columns: 2fr 1fr;
    grid-template-rows: auto;
    grid-template-areas: "twoThird oneThird";
  }
  .listingPage .searchBlock {
    margin: 0 0 2.5rem;
  }
  .listingPage .searchWrap {
    flex-flow: row;
  }
  .listingPage .searchFormSubmit {
    margin: auto 0 0 1.25rem;
  }
  .breadcrumbsItem {
    padding-inline: 0 0.625rem;
  }
  @supports not (margin-block: 10px) {
    .breadcrumbsItem {
      padding-left: 0;
      padding-right: 0.625rem;
    }
  }
  @supports not (margin-block: 10px) {
    [lang=ar] .breadcrumbsItem {
      padding-right: 0;
      padding-left: 0.625rem;
    }
  }
  .breadcrumbsLink {
    display: flex;
  }
  .breadcrumbsLink .icon svg {
    transform: rotate(-180deg);
  }
  [lang*=ar] .breadcrumbsLink .icon svg {
    transform: rotate(0deg);
  }
  .breadcrumbsLinkText {
    display: block;
  }
  .breadcrumbsLinkTextPrevious {
    display: none;
  }
  .breadcrumbsItem:has(.breadcrumbsLinkTextPrevious) .breadcrumbsLink {
    flex-flow: row nowrap;
  }
  .hero .titleBlock {
    padding: 2.5rem var(--gutter-left) 2.5rem;
  }
  .heroTitle {
    display: inline-block;
  }
  .heroTitleText {
    display: inline;
  }
  .heroTitle + .heroSummary, .heroTitle ~ .heroList {
    margin: 2.5rem 0 0;
  }
  .heroSummary ~ .heroList {
    margin: 1.25rem 0 0;
  }
  .heroList {
    flex-flow: row;
  }
  .heroVariant2.hero {
    padding: 4.375rem 0 1.875rem;
  }
  .heroVariant2 .heroSubtitle {
    text-align: center;
    margin: 0 auto 1.5rem;
  }
  .heroVariant2 .heroSummary {
    text-align: center;
    margin: 1.5rem auto 0;
  }
  .heroVariant2 .heroList {
    margin: 0.9375rem auto 0;
    padding-inline: 1.625rem;
    width: unset;
    max-width: 100%;
    display: grid;
    grid-template-columns: repeat(3, auto);
  }
  .heroVariant2 .heroList:after {
    position: absolute;
    content: "";
    opacity: 0.8;
    background-color: var(--cta-colour-bg);
    inset: 0;
    z-index: -1;
    clip-path: polygon(calc(0% + 1.0625rem) 0%, 100% 0%, calc(100% - 1.0625rem) 100%, 0% 100%);
  }
  .heroVariant2 .heroListItem {
    padding-inline: 0 1.25rem;
  }
  @supports not (margin-block: 10px) {
    .heroVariant2 .heroListItem {
      padding-left: 0;
      padding-right: 1.25rem;
    }
  }
  @supports not (margin-block: 10px) {
    [lang=ar] .heroVariant2 .heroListItem {
      padding-right: 0;
      padding-left: 1.25rem;
    }
  }
  .heroVariant2 .heroListItem:last-of-type {
    padding-inline-end: 0;
  }
  .heroVariant2 .heroListItem .arrowLink {
    font-size: 1.125rem;
    padding-block: 1.25rem;
    text-wrap: unset;
    --text-colour-headings: #0F1232;
    --arrow-url: url("/static/assets/arrow-navy.svg");
  }
  .heroVariant2 .heroListItem .arrowLink:before {
    background-image: linear-gradient(0deg, transparent 0%, transparent calc(50% - 0.0625rem), var(--text-colour-headings) calc(50% - 0.0625rem), var(--text-colour-headings) calc(50% + 0.0625rem), transparent calc(50% + 0.0625rem), transparent 100%), var(--arrow-url);
    inset-block: 1.25rem 0;
    height: 1.2em;
    background-size: 1rem 1.125rem, 1.25rem 1.125rem;
    background-position: center left, center left;
  }
  @supports not selector(*:focus-visible) {
    .heroVariant2 .heroListItem .arrowLink:focus::before {
      background-position: center left, center center;
    }
    body.notUsingKeys .heroVariant2 .heroListItem .arrowLink:focus {
      outline: 0;
    }
  }
  .heroVariant2 .heroListItem .arrowLink:hover::before {
    background-position: center left, center center;
  }
  .heroVariant2 .heroListItem .arrowLink:focus-visible::before {
    background-position: center left, center center;
  }
  .quoteBlockBody .wysiwyg p {
    font-size: 1.625rem;
    line-height: 1.23;
    margin: 0 0 3.125rem;
  }
  .carousel {
    gap: 1.875rem var(--carousel-gap);
    --carousel-cols: 2;
    grid-template-columns: 2.75rem 2.75rem 1fr 6.4375rem;
    grid-template-rows: auto 2.75rem;
    grid-template-areas: "carouselContents carouselContents carouselContents carouselContents" "carouselBtnStart carouselBtnEnd carouselPagination carouselGap";
  }
  [lang*=ar] .carousel {
    grid-template-areas: "carouselContents carouselContents carouselContents carouselContents" "carouselBtnEnd carouselBtnStart carouselPagination carouselGap";
  }
  .carouselContentList .promoBlockFrame {
    padding: 0;
  }
  .carouselBlockLinkWrap {
    position: absolute;
    bottom: 0.375rem;
    inset-inline: auto 0;
  }
  .promoBlockFrame {
    padding: 1.25rem 0;
  }
  .partial .promoBlockHeading {
    margin: 0;
  }
  .partial .promoBlockLabel {
    inset-block: 0 auto;
    inset-inline: -1.25rem auto;
    font-size: 1rem;
    padding-inline: 1.25rem 2.5rem;
  }
  @supports not (margin-block: 10px) {
    .partial .promoBlockLabel {
      top: 0;
      bottom: auto;
    }
  }
  @supports not (margin-block: 10px) {
    .partial .promoBlockLabel {
      left: -1.25rem;
      right: auto;
    }
  }
  @supports not (margin-block: 10px) {
    [lang=ar] .partial .promoBlockLabel {
      right: -1.25rem;
      left: auto;
    }
  }
  @supports not (margin-block: 10px) {
    .partial .promoBlockLabel {
      padding-left: 1.25rem;
      padding-right: 2.5rem;
    }
  }
  @supports not (margin-block: 10px) {
    [lang=ar] .partial .promoBlockLabel {
      padding-right: 1.25rem;
      padding-left: 2.5rem;
    }
  }
  .partial .promoBlockImage {
    height: 0;
    padding: 0 0 56%;
    margin: auto 0 0;
  }
  .grid:not(.gridTwoCol) .partial {
    grid-template-columns: auto 1fr;
    grid-template-rows: min-content auto auto auto 1fr;
    grid-template-areas: "partialImage partialTopic" "partialImage partialTitle" "partialImage partialDate" "partialImage partialSummary" "partialImage partialLink";
    gap: 0 1.25rem;
    padding-block: 1.25rem;
  }
  @supports not (margin-block: 10px) {
    .grid:not(.gridTwoCol) .partial {
      padding-top: 1.25rem;
      padding-bottom: 1.25rem;
    }
  }
  .grid:not(.gridTwoCol) .partialRecommended .promoBlockTopic, .grid:not(.gridTwoCol) .partialPromoted .promoBlockTopic {
    margin: 0 0 0.3125rem;
  }
  .grid:not(.gridTwoCol) .partialRecommended, .grid:not(.gridTwoCol) .partialPromoted {
    padding-block: 3.125rem 1.25rem;
  }
  @supports not (margin-block: 10px) {
    .grid:not(.gridTwoCol) .partialRecommended, .grid:not(.gridTwoCol) .partialPromoted {
      padding-top: 3.125rem;
      padding-bottom: 1.25rem;
    }
  }
  .grid:not(.gridTwoCol) .partial .promoBlockImage {
    margin: 0 0 auto;
    width: 19.625rem;
  }
  .grid:not(.gridTwoCol) .partial .promoBlockLabel {
    position: absolute;
    inset-inline: 1.25rem auto;
    grid-column: unset;
    grid-row: unset;
  }
  @supports not (margin-block: 10px) {
    .grid:not(.gridTwoCol) .partial .promoBlockLabel {
      left: 0;
      right: auto;
    }
    .grid:not(.gridTwoCol) .partial .promoBlockLabel [lang*=ar] {
      left: auto;
      right: 0;
    }
  }
  .grid.gridTwoCol .partialRecommended .promoBlockTopic, .grid.gridTwoCol .partialPromoted .promoBlockTopic {
    margin-block-start: 0;
  }
  @supports not (margin-block: 10px) {
    .grid.gridTwoCol .partialRecommended .promoBlockTopic, .grid.gridTwoCol .partialPromoted .promoBlockTopic {
      margin-top: 0;
    }
  }
  .grid.gridTwoCol .partial .promoBlockLabel {
    inset-inline: 0 auto;
    margin-block-end: 1.375rem;
  }
  @supports not (margin-block: 10px) {
    .grid.gridTwoCol .partial .promoBlockLabel {
      left: 0;
      right: auto;
    }
  }
  @supports not (margin-block: 10px) {
    [lang=ar] .grid.gridTwoCol .partial .promoBlockLabel {
      right: 0;
      left: auto;
    }
  }
  @supports not (margin-block: 10px) {
    .grid.gridTwoCol .partial .promoBlockLabel {
      margin-bottom: 1.375rem;
    }
  }
  .grid.gridTwoCol .partial .promoBlockLink {
    margin-block-end: 1.25rem;
  }
  @supports not (margin-block: 10px) {
    .grid.gridTwoCol .partial .promoBlockLink {
      margin-bottom: 1.25rem;
    }
  }
  .gridBlock {
    grid-template-rows: min-content auto;
    grid-template-columns: 1fr auto;
    grid-template-areas: "gridBlockTitle gridBlockLink" "gridBlockList gridBlockList";
    gap: 1.875rem 0.625rem;
    align-items: center;
  }
  .gridBlockTitle {
    margin: 0;
  }
  .gridBlockListItem {
    grid-column: span 6;
  }
  .gridBlockLink {
    margin: 0;
  }
  .searchBlock .searchForm, .pageHeaderSearch .searchForm {
    grid-template-columns: 1fr auto;
    grid-template-rows: auto;
    grid-template-areas: "searchInput searchButton";
  }
  .stickyCtaContainer {
    padding-block-start: 0.625rem;
    padding-inline-end: 0.9375rem;
  }
  .stickyCtaContainer.sticky .stickyCtaButtons {
    margin-inline-end: 0.9375rem;
  }
  .stickyCtaButtonsInner {
    margin-inline: 0;
  }
  .stickyCtaButton .icon {
    display: flex;
    align-items: center;
  }
  .authorContainer {
    padding: 1.875rem 2.5rem;
  }
  .authorTextWrap {
    flex-flow: row nowrap;
  }
  .authorInfoWrap {
    justify-content: center;
  }
  .authorLink {
    font-size: 1.125rem;
    line-height: normal;
  }
  .authorImg {
    width: 7.8125rem;
    height: 7.8125rem;
  }
  .authorName {
    font-size: 1.25rem;
    line-height: 1.3;
  }
  .authorJobPosition {
    font-size: 1.125rem;
    line-height: 1.33;
  }
  .authorDate {
    font-size: 1.125rem;
    line-height: 1.33;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
  }
  .inPageNavWrap {
    padding: 1.375rem var(--gutter-left) 0.625rem;
  }
  .inPageNavWrap {
    padding: 1.375rem var(--gutter-left) 0.125rem;
  }
  .officeFinder .searchWrap {
    padding: 0 0 2.5rem;
  }
  .trainingPartialBestSeller {
    font-size: 1rem;
    padding-inline: 1.25rem 2.5rem;
  }
  @supports not (margin-block: 10px) {
    .trainingPartialBestSeller {
      padding-left: 1.25rem;
      padding-right: 2.5rem;
    }
  }
  @supports not (margin-block: 10px) {
    [lang=ar] .trainingPartialBestSeller {
      padding-right: 1.25rem;
      padding-left: 2.5rem;
    }
  }
  .trainingPartialNew {
    font-size: 1rem;
  }
  .grid:not(.gridTwoCol) .trainingPartial {
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-template-rows: repeat(4, auto) 1fr;
    grid-template-areas: "title title" "summary summary" "price type" "length date" "cta cta";
  }
  .grid:not(.gridTwoCol) .trainingPartial .cta {
    margin-left: auto;
  }
}
@media (min-width: 64rem) {
  :root {
    --gutter-top: 3.75rem;
    --gutter-left: 3.75rem;
    --gutter-right: 3.75rem;
    --gap-col: 2.5rem;
    --spacing-default: 5rem;
    --spacing-large: 7.5rem;
  }
  .grid > .col-2 {
    grid-column: span 2;
  }
  .grid > .col-3 {
    grid-column: span 3;
  }
  .grid > .col-3 {
    grid-column: span 6;
  }
  .canvas.col-3::before {
    margin: 0 calc((100% - 100vw) / 2 * 2);
  }
  .twoColumn {
    --gutter-top: 2.5rem;
    gap: 2.5rem;
  }
  .listingPage {
    --bottom-content-margin: 0 auto 2.5rem;
  }
  .listingPageForm, .schemeListPageForm {
    grid-template-columns: 1fr 2fr;
    gap: 0 2.5rem;
    grid-template-rows: auto min-content min-content min-content min-content min-content auto;
    grid-template-areas: "listingForm listingForm" "listingTitle listingTitle" "listingSummary listingSummary" "listingMsg listingMsg" "listingSort listingResults" "listingFilters listingResults" "listingFilters listingPagination";
  }
  .listingPageFilters {
    margin: var(--bottom-content-margin);
  }
  .listingPage .grid {
    padding: 0 0 1.875rem;
  }
  .listingDialog {
    padding: 3.75rem;
    max-width: 73rem;
  }
  .listingDialogTitle {
    font-size: 3rem;
    line-height: 3.375rem;
  }
  .listingDialogBodyMain {
    gap: 1.875rem;
  }
  .listingDialogBodyMain {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 1.875rem;
  }
  .listingDialogBodyMainSide {
    grid-area: 1/4/3/5;
    width: 20.625rem;
  }
  .listingDialogBodyMainKeys {
    grid-area: 1/1/3/4;
    grid-template-columns: repeat(3, 1fr);
  }
  .listingDialogBtn {
    padding: 0.875rem;
  }
  .pageHeaderWrap::before {
    margin: 0 -50%;
  }
  .pageHeaderWrap {
    grid-template-columns: auto auto 1fr auto;
    grid-template-rows: 2.75rem 5.625rem;
    max-width: 90rem;
    grid-template-areas: "local local contact contact" "logo nav nav searchButton";
    padding: 0 var(--gutter-left);
    gap: 0;
  }
  .pageHeaderWrap::before {
    grid-column: 1/4;
  }
  .pageHeaderLocal {
    padding-inline: 0;
  }
  @supports not (margin-block: 10px) {
    .pageHeaderLocal {
      padding-left: 0;
      padding-right: 0;
    }
  }
  .pageHeaderButton.nav {
    display: none;
  }
  .pageHeaderButton.nav button {
    display: none;
  }
  .pageHeaderButton.search {
    justify-content: center;
    align-items: center;
    grid-area: searchButton;
    padding-inline-start: 1.375rem;
    display: flex;
  }
  @supports not (margin-block: 10px) {
    .pageHeaderButton.search {
      padding-left: 1.375rem;
    }
  }
  @supports not (margin-block: 10px) {
    [lang=ar] .pageHeaderButton.search {
      padding-right: 1.375rem;
    }
  }
  .pageHeaderEyebrow {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-end;
    align-items: center;
  }
  .pageHeaderEyebrowContact {
    --cta-padding-sides: 1.5rem;
    --cta-padding-top: 1rem;
  }
  .pageHeaderEyebrowLink {
    transition: ease-out 0.5s text-decoration;
    -webkit-text-decoration: underline solid transparent;
            text-decoration: underline solid transparent;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    font-size: 0.875rem;
    color: #0F1232;
    margin: 0 1.875rem;
  }
  @supports not selector(*:focus-visible) {
    .pageHeaderEyebrowLink:focus {
      text-decoration-color: #0F1232;
    }
    body.notUsingKeys .pageHeaderEyebrowLink:focus {
      outline: 0;
    }
  }
  .pageHeaderEyebrowLink:hover {
    text-decoration-color: #0F1232;
  }
  .pageHeaderEyebrowLink:focus-visible {
    text-decoration-color: #0F1232;
  }
  .pageHeaderEyebrow .pageHeaderButton:not(:nth-of-type(1)):not(:nth-last-of-type(1))::before {
    position: absolute;
    inset-block: 0.625rem;
    inset-inline: 0 auto;
    width: 0.0625rem;
    background-color: #0F1232;
    display: block;
    content: "";
  }
  @supports not (margin-block: 10px) {
    .pageHeaderEyebrow .pageHeaderButton:not(:nth-of-type(1)):not(:nth-last-of-type(1))::before {
      top: 0.625rem;
      bottom: 0.625rem;
    }
  }
  @supports not (margin-block: 10px) {
    .pageHeaderEyebrow .pageHeaderButton:not(:nth-of-type(1)):not(:nth-last-of-type(1))::before {
      left: 0;
      right: auto;
    }
  }
  @supports not (margin-block: 10px) {
    [lang=ar] .pageHeaderEyebrow .pageHeaderButton:not(:nth-of-type(1)):not(:nth-last-of-type(1))::before {
      right: 0;
      left: auto;
    }
  }
  .pageHeaderLogo {
    padding-block: 1.25rem;
    padding-inline: 0;
  }
  @supports not (margin-block: 10px) {
    .pageHeaderLogo {
      padding-top: 1.25rem;
      padding-bottom: 1.25rem;
    }
  }
  @supports not (margin-block: 10px) {
    .pageHeaderLogo {
      padding-left: 0;
      padding-right: 0;
    }
  }
  .pageHeaderSearchButton {
    font-family: var(--font-family-header);
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: end;
    z-index: 1000;
  }
  .pageHeaderNav {
    height: 4.75rem;
    visibility: visible;
    overflow: visible;
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    height: auto;
    position: static;
  }
  .arrow-mobile {
    display: none;
  }
  .arrow-desktop {
    display: block;
    margin-inline: 0.625rem 0;
  }
  @supports not (margin-block: 10px) {
    .arrow-desktop {
      margin-left: 0.625rem;
      margin-right: 0;
    }
  }
  @supports not (margin-block: 10px) {
    [lang=ar] .arrow-desktop {
      margin-right: 0.625rem;
      margin-left: 0;
    }
  }
  .navigation a, .navigation p, .navigation button {
    visibility: visible;
  }
  .navigation {
    position: static;
    height: auto;
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-end;
  }
  .navigationList {
    position: static;
    height: auto;
    flex-flow: row nowrap;
    align-content: flex-end;
    align-items: stretch;
    --nav-gutter-start: var(--gutter-left);
    --nav-level2-width: 20rem;
    --nav-level3-width: 16.25rem;
    --nav-level4-width: 18.125rem;
    --nav-level3-padding-inline: 1.875rem;
    --nav-level4-padding-inline: 3.75rem;
    --nav-level-padding-block: 1.25rem;
    --nav--open-bg: rgba(255, 255, 255, 0.05);
  }
  .navigationListItem {
    position: static;
    width: auto;
    height: auto;
    display: inline-flex;
    flex: 0 1 auto;
    margin: 0 0.625rem;
    padding: 0;
    flex-flow: row nowrap;
    align-items: stretch;
    align-content: stretch;
    justify-content: center;
    background-color: transparent;
  }
  .navigationListItemLink {
    font-family: var(--font-family-header);
    font-weight: 700;
    margin: 0;
    font-size: 1rem;
    line-height: normal;
    padding: 1.25rem 0.75rem;
    white-space: normal;
  }
  .navigationListItemLink svg {
    width: 0.375rem;
    height: 0.625rem;
    transform: rotate(-90deg);
  }
  .navigationListItemLink use {
    fill: #0FF2B2;
  }
  .navigationListItemLink > .text {
    width: auto;
  }
  .navigationListItem.extraLink, .navigationListItem.back {
    display: none;
  }
  .navigationList.level2, .navigationList.level3, .navigationList.level4 {
    position: absolute;
    display: none;
  }
  .navigationList.level2 a, .navigationList.level2 p, .navigationList.level2 button, .navigationList.level3 a, .navigationList.level3 p, .navigationList.level3 button, .navigationList.level4 a, .navigationList.level4 p, .navigationList.level4 button {
    visibility: hidden;
  }
  .quoteBlockQuote.left {
    width: 3.4375rem;
    height: 2.8125rem;
  }
  .quoteBlockAuthor {
    font-size: 1.125rem;
    line-height: 1.33;
    font-family: var(--font-family-header);
    font-weight: 700;
  }
  .twoColumn .quoteBlockBody {
    padding: 1.875rem 1.875rem;
  }
  .carousel {
    --carousel-gap: 1.25rem;
    --carousel-cols: 3;
  }
  .partial .promoBlockHeading {
    font-size: 1rem;
  }
  .grid:not(.oneThird) .promoIcon .promoIconLink, .grid:not(.oneThird) .promoIcon .promoIconSummary, .grid:not(.oneThird) .promoIcon .promoIconHeading {
    grid-column: 2/3;
  }
  .grid:not(.oneThird) .promoIcon .promoIconImg {
    grid-row: 1/-3;
  }
  .grid:not(.oneThird) .promoIcon .promoIconImg + * {
    margin: 0;
  }
  .grid:not(.gridTwoCol) .partial .promoBlockImage {
    margin: 0 0 auto;
    width: 17.5rem;
  }
  .gridBlockListItem {
    grid-column: span 4;
  }
  .stickyCtaText {
    display: block;
  }
  .caseStudiesBlock {
    --blue-bg-bottom:-2.5rem;
  }
  .caseStudiesBlock:last-child {
    --blue-bg-bottom:-5rem;
  }
  .caseStudiesBlock .grid {
    padding: 0;
    min-height: 52vh;
  }
  .caseStudiesBlock.spacingSmall {
    --blue-bg-bottom:0;
  }
  .caseStudiesBlock.spacingSmall:last-child {
    --blue-bg-bottom:-2.5rem;
  }
  .caseStudiesBlock.spacingLarge {
    --blue-bg-bottom: -5rem;
  }
  .caseStudiesBlock.spacingLarge:last-child {
    --blue-bg-bottom: -8.75rem;
  }
  .caseStudiesBlockItem {
    grid-column: span 4;
  }
  .caseStudiesBlockItem:last-child .caseStudiesBlockItemContent {
    padding-inline: 3.125rem 3.75rem;
  }
  @supports not (margin-block: 10px) {
    .caseStudiesBlockItem:last-child .caseStudiesBlockItemContent {
      padding-left: 3.125rem;
      padding-right: 3.75rem;
    }
  }
  @supports not (margin-block: 10px) {
    [lang=ar] .caseStudiesBlockItem:last-child .caseStudiesBlockItemContent {
      padding-right: 3.125rem;
      padding-left: 3.75rem;
    }
  }
  .caseStudiesBlockItem:first-child .caseStudiesBlockItemContent {
    padding-inline: 3.75rem 3.125rem;
  }
  @supports not (margin-block: 10px) {
    .caseStudiesBlockItem:first-child .caseStudiesBlockItemContent {
      padding-left: 3.75rem;
      padding-right: 3.125rem;
    }
  }
  @supports not (margin-block: 10px) {
    [lang=ar] .caseStudiesBlockItem:first-child .caseStudiesBlockItemContent {
      padding-right: 3.75rem;
      padding-left: 3.125rem;
    }
  }
  .caseStudiesBlockItemContent {
    padding: 1.25rem 50p;
    align-content: end;
  }
  .caseStudiesBlockItemContent::after {
    top: var(--canvas-offset-top);
  }
  .EPiServerForms {
    margin: 5.625rem 0;
    padding: 0 calc((100% - 43.75rem) / 2);
  }
  .EPiServerForms::before {
    top: -5.625rem;
    bottom: -5.625rem;
  }
  .EPiServerForms .Form__Element {
    margin-bottom: 1.875rem;
  }
  .EPiServerForms .FormChoice label {
    font-size: 1rem;
  }
  .officeFinderNoscript {
    line-height: 1.6;
  }
  .officeFinder .searchForm {
    max-width: 37.5rem;
  }
  .officeLocationList {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .schemePartialService {
    flex-direction: row;
  }
  .schemePartialContactLinks {
    flex-direction: row;
    gap: 1.25rem;
  }
  .pageHeaderLogo svg {
    height: 1.875rem;
    width: 5.75rem;
  }
}
@media (min-width: 80rem) {
  :root {
    --gutter-left: 5rem;
    --gutter-right: 5rem;
    --gap-col: 3rem;
    --spacing-default: 7.5rem;
    --spacing-small: 3.75rem;
    --spacing-large: 11.25rem;
    --canvas-offset-top: -3.75rem;
  }
  .grid.oneThird .canvas:not(.canvasGrey) {
    --optiBlock-padding-inline: 1.875rem;
    --optiBlock-padding-block: 1.875rem;
  }
  .grid.twoThird .accordionsWrap {
    max-width: 43.75rem;
    margin-inline: auto;
  }
  @supports not (margin-block: 10px) {
    .grid.twoThird .accordionsWrap {
      margin-left: auto;
      margin-right: auto;
    }
  }
  .grid > .col-3 {
    grid-column: span 3;
  }
  :root {
    --footer-padding-block: 5rem;
  }
  .cta, .button {
    font-size: 1.125rem;
    line-height: 1.1;
  }
  .arrowLink {
    font-size: 1rem;
  }
  .arrowLinkBold {
    font-size: 1.125rem;
  }
  .canvas.col-3::before {
    margin: 0 calc((100% - 100vw) / 2 * 4);
  }
  h1, .heroTitle {
    font-size: 3.75rem;
    line-height: 1.41;
  }
  h2, .headingLarge, .t8 {
    font-size: 3rem;
    line-height: 1.12;
  }
  h3, .headingMedium, .t7 {
    font-size: 2.5rem;
    line-height: 1.1;
  }
  h4, h5, h6 {
    font-size: 1.625rem;
    line-height: 1.23;
  }
  .headingSmall, .subHeader, .t6 {
    font-size: 1.625rem;
    line-height: 1.23;
  }
  p, li, .t1 {
    font-size: 1rem;
  }
  .bodyCopyLarge, .medium, .t2 {
    font-size: 1.125rem;
    line-height: 1.33;
  }
  .bodyCopyLargeExtra, .large, .t3, .t4, .t5 {
    font-size: 1.25rem;
    line-height: 1.3;
  }
  .desktopCentre, .desktop-center {
    text-align: center;
  }
  .wysiwyg,
  .mce-content-body {
    --spacing-default: 0.75rem;
    --spacing-large: 1.25rem;
  }
  td {
    padding: 1.25rem 0.9375rem;
  }
  th {
    padding: 1.25rem 0.9375rem;
    font-size: 1.125rem;
    line-height: 1.22;
  }
  .twoColumn {
    --gutter-top: 3.75rem;
    gap: 3.75rem;
  }
  .twoColumn.reverse .grid.twoThird .accordionsWrap {
    margin-inline: 0 auto;
  }
  @supports not (margin-block: 10px) {
    .twoColumn.reverse .grid.twoThird .accordionsWrap {
      margin-left: 0;
      margin-right: auto;
    }
  }
  @supports not (margin-block: 10px) {
    [lang=ar] .twoColumn.reverse .grid.twoThird .accordionsWrap {
      margin-right: 0;
      margin-left: auto;
    }
  }
  .listingPageForm, .schemeListPageForm {
    gap: 0 5rem;
    max-width: calc(90rem - var(--gutter-left) - var(--gutter-left));
  }
  .listingPageSummary {
    margin: 0 0 3.75rem;
  }
  .listingPage .searchWrap {
    max-width: 50rem;
  }
  .listingPage .grid {
    gap: 1.875rem;
  }
  .pageHeaderButton.search {
    padding-inline-start: 1.6875rem;
  }
  @supports not (margin-block: 10px) {
    .pageHeaderButton.search {
      padding-left: 1.6875rem;
    }
  }
  @supports not (margin-block: 10px) {
    [lang=ar] .pageHeaderButton.search {
      padding-right: 1.6875rem;
    }
  }
  .pageHeaderEyebrowContact {
    font-size: 0.875rem;
    line-height: normal;
  }
  .pageHeaderLogo {
    padding-block: 0.9375rem;
  }
  @supports not (margin-block: 10px) {
    .pageHeaderLogo {
      padding-top: 0.9375rem;
      padding-bottom: 0.9375rem;
    }
  }
  .navigationListItem {
    margin: 0 0.9375rem;
  }
  .navigationListItemLink {
    font-size: 1.125rem;
    line-height: 1.33;
  }
  .footer {
    padding: var(--footer-padding-block) var(--gutter-left) 2.5rem;
  }
  .footer::after {
    position: absolute;
    inset: 0 calc((100vw - 100%) / -2) 0 auto;
    width: 24.5rem;
    height: 100%;
    background: linear-gradient(211deg, rgba(238, 239, 249, 0.11) -27.02%, rgba(255, 255, 255, 0) 93.02%);
    z-index: -1;
    clip-path: polygon(7.125rem 0, 100% 0, 100% 100%, 0 100%);
    content: "";
  }
  @supports not (margin-block: 10px) {
    .footer::after {
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
    }
  }
  .footerLogoImage {
    width: 9.375rem;
  }
  .footerList {
    justify-content: center;
    text-align: center;
  }
  .accordionsWrap {
    gap: 1.875rem;
  }
  .accordionsWrap .accordions {
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    gap: 0.625rem;
  }
  .accordionsWrap .accordionSummary {
    border: 0.1875rem solid var(--accordion-keyline);
  }
  .accordionsWrap .accordionContentWrap {
    min-height: 11.25rem;
    padding: 0.625rem 3.75rem 0.625rem 1.25rem;
  }
  .accordionsWrap .accordionContentWrap::before {
    position: absolute;
    inset-block: -0.1875rem 0;
    inset-inline: 0;
    border: 0.1875rem solid var(--accordion-keyline);
    border-top: 0;
    content: "";
    z-index: 1;
    pointer-events: none;
  }
  @supports not (margin-block: 10px) {
    .accordionsWrap .accordionContentWrap::before {
      top: -0.1875rem;
      bottom: 0;
    }
  }
  @supports not (margin-block: 10px) {
    .accordionsWrap .accordionContentWrap::before {
      left: 0;
      right: 0;
    }
  }
  .accordionsWrap .accordionContentWrap::after {
    position: absolute;
    inset-inline: auto -8.5625rem;
    inset-block: auto 0;
    border-inline-start: 0.1875rem solid var(--accordion-keyline);
    height: 11.25rem;
    width: 11.25rem;
    background-color: var(--accordion-bg);
    transform: skew(var(--accordion-angle));
    z-index: 2;
    content: "";
  }
  @supports not (margin-block: 10px) {
    .accordionsWrap .accordionContentWrap::after {
      left: auto;
      right: -8.5625rem;
    }
  }
  @supports not (margin-block: 10px) {
    [lang=ar] .accordionsWrap .accordionContentWrap::after {
      right: auto;
      left: -8.5625rem;
    }
  }
  @supports not (margin-block: 10px) {
    .accordionsWrap .accordionContentWrap::after {
      top: auto;
      bottom: 0;
    }
  }
  @supports not (margin-block: 10px) {
    .accordionsWrap .accordionContentWrap::after {
      border-left: solid;
    }
  }
  @supports not (margin-block: 10px) {
    [lang=ar] .accordionsWrap .accordionContentWrap::after {
      border-right: solid;
    }
  }
  @supports not selector(p:has(p)) {
    .accordionsWrap .accordionContentWrap.noHas-.schemePartial- {
      padding: 1.25rem 0.1875rem;
      max-width: 100%;
    }
    .accordionsWrap .accordionContentWrap.noHas-.schemePartial-::after {
      background-color: transparent;
      content: none;
    }
  }
  .accordionsWrap .accordionContentWrap:has(.schemePartial) {
    padding: 1.25rem 0.1875rem;
    max-width: 100%;
  }
  .accordionsWrap .accordionContentWrap:has(.schemePartial)::after {
    background-color: transparent;
    content: none;
  }
  .accordionsWrap .accordion[open] .accordionSummary {
    border-bottom-color: #ffffff;
  }
  .accordionsTitle {
    font-size: 1.875rem;
  }
  .hero .titleBlock {
    margin: 0 auto 5rem;
  }
  .heroControls {
    inset-inline: auto 0;
    inset-block: 0;
  }
  @supports not (margin-block: 10px) {
    .heroControls {
      left: auto;
      right: 0;
    }
  }
  @supports not (margin-block: 10px) {
    [lang=ar] .heroControls {
      right: auto;
      left: 0;
    }
  }
  @supports not (margin-block: 10px) {
    .heroControls {
      top: 0;
      bottom: 0;
    }
  }
  .heroTitle + .heroSummary, .heroTitle ~ .heroList {
    margin: 5rem 0 0;
  }
  .heroSummary {
    font-size: 1.25rem;
    line-height: normal;
    max-width: 41.25rem;
    width: 52%;
  }
  .heroSummary ~ .heroList {
    margin: 1.875rem 0 0;
  }
  .heroList {
    gap: 3.125rem;
  }
  .noGapSupport .heroListItem {
    margin-inline: 1.5625rem;
  }
  @supports not (margin-block: 10px) {
    .noGapSupport .heroListItem {
      margin-left: 1.5625rem;
      margin-right: 1.5625rem;
    }
  }
  .noGapSupport .heroList {
    margin-inline: -1.5625rem;
  }
  @supports not (margin-block: 10px) {
    .noGapSupport .heroList {
      margin-left: -1.5625rem;
      margin-right: -1.5625rem;
    }
  }
  .hero .video ~ .titleBlock {
    margin: 0 auto 6.25rem;
  }
  .heroVariant2.hero {
    padding: 6.875rem 0 2.8125rem;
  }
  .heroVariant2 .heroSubtitle {
    font-size: 1rem;
    line-height: 1.68;
    letter-spacing: 0.2rem;
    margin: 0 auto 0.625rem;
  }
  .heroVariant2 .heroSummary {
    font-size: 1.125rem;
    line-height: 1.33;
    margin: 0.625rem auto 0;
  }
  .heroVariant2 .heroList {
    margin: 2.875rem auto 0;
  }
  .heroVariant2 .heroListItem {
    padding-inline: 0 1.875rem;
  }
  @supports not (margin-block: 10px) {
    .heroVariant2 .heroListItem {
      padding-left: 0;
      padding-right: 1.875rem;
    }
  }
  @supports not (margin-block: 10px) {
    [lang=ar] .heroVariant2 .heroListItem {
      padding-right: 0;
      padding-left: 1.875rem;
    }
  }
  .heroVariant2 .heroTitle {
    font-size: 3rem;
    line-height: 1.12;
  }
  .carouselBlockHeading {
    margin: 0 0 3.75rem;
  }
  .promoBlockHeading {
    font-size: 1.625rem;
    line-height: 1.23;
  }
  .promoBlockList {
    margin: 1.25rem 0 0;
  }
  .promoBlock:not(.partial) .promoBlockHeading:not(.container-query-polyfill) {
    font-size: 1.625rem;
    line-height: 1.23;
  }
  .promoIconWrap {
    max-width: 33.125rem;
  }
  .partial .promoBlockHeading {
    font-size: 1.25rem;
    line-height: 1.3;
  }
  .grid:not(.oneThird) .promoIcon .promoIconWrap {
    grid-template-columns: 3.75rem 1fr;
  }
  @container (min-width: 520px) {
    .grid:not(.oneThird) .promoIcon .promoIconWrap:not(.container-query-polyfill) {
      grid-template-columns: 4.375rem 1fr;
    }
  }
  .grid:not(.oneThird) .promoIcon .promoIconImg {
    width: 3.75rem;
  }
  @container (min-width: 520px) {
    .grid:not(.oneThird) .promoIcon .promoIconImg:not(.container-query-polyfill) {
      width: 4.375rem;
    }
  }
  .grid.oneThird .promoIcon .promoIconImg {
    width: 3.75rem;
  }
  .grid:not(.gridTwoCol) .partial .promoBlockImage {
    margin: 0 0 auto;
    width: 19.375rem;
  }
  .quickLinksTitle + .swipeNav {
    margin: 2.5rem calc((100% - 100vw) / 2) 0;
  }
  .quickLinksSummary + .swipeNav {
    margin: 2.5rem calc((100% - 100vw) / 2) 0;
  }
  .swipeNavWrap {
    padding: 0 var(--gutter-left) 4.375rem;
  }
  .gridBlock {
    gap: 1.875rem;
  }
  .gridBlockTitle {
    font-size: 3rem;
    line-height: 1.12;
  }
  .searchBlock .searchForm, .pageHeaderSearch .searchForm {
    max-width: 50rem;
  }
  .searchBlock .searchFormInput, .pageHeaderSearch .searchFormInput {
    font-size: 1.625rem;
    padding-block: 0.625rem;
    background-size: 2.1875rem auto;
    padding-inline: 2.9375rem 0;
  }
  @supports not (margin-block: 10px) {
    .searchBlock .searchFormInput, .pageHeaderSearch .searchFormInput {
      padding-top: 0.625rem;
      padding-bottom: 0.625rem;
    }
  }
  @supports not (margin-block: 10px) {
    .searchBlock .searchFormInput, .pageHeaderSearch .searchFormInput {
      padding-left: 2.9375rem;
      padding-right: 0;
    }
  }
  @supports not (margin-block: 10px) {
    [lang=ar] .searchBlock .searchFormInput, [lang=ar] .pageHeaderSearch .searchFormInput {
      padding-right: 2.9375rem;
      padding-left: 0;
    }
  }
  .featureInfoItem {
    padding: 0 0 2.5rem;
  }
  .featureImpactHeading {
    padding: 0 0 1.25rem;
  }
  .featureInfoContent {
    font-size: 1.25rem;
    line-height: 1.3;
  }
  .featureImpactWrap {
    padding: 2.5rem 1.875rem 0.625rem;
  }
  .featureImpactItem {
    padding: 0 0 1.875rem;
  }
  .featureImpactFigure {
    font-size: 2.5rem;
    line-height: 1.1;
  }
  .featureImpactContent {
    font-size: 1.25rem;
    line-height: 1.3;
  }
  .caseStudiesBlock {
    --blue-bg-bottom:-3.75rem;
  }
  .caseStudiesBlock:last-child {
    --blue-bg-bottom:-7.5rem;
  }
  .caseStudiesBlock.spacingSmall {
    --blue-bg-bottom:0;
  }
  .caseStudiesBlock.spacingSmall:last-child {
    --blue-bg-bottom:-3.75rem;
  }
  .caseStudiesBlock.spacingLarge {
    --blue-bg-bottom: -7.5rem;
  }
  .caseStudiesBlock.spacingLarge:last-child {
    --blue-bg-bottom: -11.25rem;
  }
  .caseStudiesBlockItem:last-child .caseStudiesBlockItemContent {
    padding-inline: 3.125rem 5rem;
  }
  @supports not (margin-block: 10px) {
    .caseStudiesBlockItem:last-child .caseStudiesBlockItemContent {
      padding-left: 3.125rem;
      padding-right: 5rem;
    }
  }
  @supports not (margin-block: 10px) {
    [lang=ar] .caseStudiesBlockItem:last-child .caseStudiesBlockItemContent {
      padding-right: 3.125rem;
      padding-left: 5rem;
    }
  }
  .caseStudiesBlockItem:first-child .caseStudiesBlockItemContent {
    padding-inline: 5rem 3.125rem;
  }
  @supports not (margin-block: 10px) {
    .caseStudiesBlockItem:first-child .caseStudiesBlockItemContent {
      padding-left: 5rem;
      padding-right: 3.125rem;
    }
  }
  @supports not (margin-block: 10px) {
    [lang=ar] .caseStudiesBlockItem:first-child .caseStudiesBlockItemContent {
      padding-right: 5rem;
      padding-left: 3.125rem;
    }
  }
  .caseStudiesBlockItemContent {
    padding: 3.125rem;
    min-height: 34.375rem;
  }
  .caseStudiesBlockItemLink {
    font-size: 1.125rem;
    margin-top: 1.25rem;
  }
  .caseStudiesBlockItemTitle {
    font-size: 1.625rem;
    min-height: 3.75rem;
  }
  .EPiServerForms .Form__Title {
    margin-bottom: 2.5rem;
    font-size: 2.5rem;
  }
  .EPiServerForms .Form__Description {
    font-size: 1rem;
  }
  .eventDetailsTitle {
    font-size: 1.625rem;
    line-height: 1.23;
  }
  .eventDetailsCourse .accordionContentWrap {
    --cta-padding-sides: 1.875rem;
  }
  .eventDetailsCourse .accordionContentWrap .cta {
    margin-inline: 0 auto;
    margin-block: 0;
  }
  @supports not (margin-block: 10px) {
    .eventDetailsCourse .accordionContentWrap .cta {
      margin-left: 0;
      margin-right: auto;
    }
  }
  @supports not (margin-block: 10px) {
    [lang=ar] .eventDetailsCourse .accordionContentWrap .cta {
      margin-right: 0;
      margin-left: auto;
    }
  }
  @supports not (margin-block: 10px) {
    .eventDetailsCourse .accordionContentWrap .cta {
      margin-top: 0;
      margin-bottom: 0;
    }
  }
  .eventDetailsFormSelect:not(:disabled) {
    font-size: 1.125rem;
    line-height: 1.33;
    height: 3rem;
  }
  .eventDetailsFormButton {
    height: 3rem;
  }
  .officeContactHeading {
    font-size: 1.125rem;
    line-height: 1.33;
  }
  .officeContactLinkText {
    font-size: 1.125rem;
    line-height: normal;
  }
  .officeFinderSearch .searchFormLabel {
    font-size: 2.5rem;
    margin: 0 0 0.625rem;
  }
  .schemeListPageForm .grid {
    gap: 1.25rem;
  }
  .pageHeaderLogo svg {
    height: 2.875rem;
    width: 8.75rem;
  }
}
@media (min-width: 90rem) {
  .grid > .col-2 {
    grid-column: span 2;
  }
  :root {
    --navLevelWidth: 28.125rem;
    --navLevelWidth2: 25.625rem;
  }
  .navigationList {
    --nav-gutter-start: var(--gutter-left);
    --nav-level2-width: 24.125rem;
    --nav-level3-width: 24.125rem;
    --nav-level4-width: 21.625rem;
    --nav-level3-padding-inline: 2.5rem;
    --nav-level-padding-block: 2.5rem;
  }
  .grid:not(.gridTwoCol) .partial .promoBlockImage {
    margin: 0 0 auto;
    width: 24.375rem;
  }
  .swipeNavWrap {
    padding: 0 calc((100vw - 80rem) / 2) 4.375rem;
  }
  .stickyCtaContainer:after, .stickyCtaContainer:before {
    inset-inline-start: calc((100vw - 100%) / 2 * -1);
  }
  .stickyCtaContainer.sticky {
    right: 0;
    padding-inline: calc((100% - 80rem) / 2);
  }
  .inPageNavWrap {
    padding: 1.375rem calc((100vw - 80rem) / 2) 0.125rem;
  }
}