/* HEADER, FOOTER, BASIC CONTAINERS */
/* VARS ----------------------------------------------- */
    :root {
        /* colours */
        --colour-black: #000;
		--colour-bone: #F6F6F6;
        --colour-white: #F6F6F6;
        --colour-pure-white: #fff;
        --colour-magenta: #FF0098;
        --colour-jet: #2E2D2D;
        --colour-dark-grey: #2E2D2D;
        --colour-mimosa: #FBE202;
        --colour-candy: #F2C3D3;


        /* fonts, add font face css in next section */
        --body-font: 'Avenir35Light', sans-serif;
        --headline-font: 'Avenir65Medium', sans-serif;
        --fontawesome: fontawesome, "Font Awesome 6 Free";
        --fontSize: 1.60rem;                             /* default font size for P */


        /* sizes */
        --theWidth: 1360px;                             /* width of widest content, also edit responsive section */
        --block-medium: 1125px;                         /* med width block about 75% of theWidth */
        --block-special: 900px;                         /* special blocks custom */
        --block-narrow: 658px;                          /* narrow blocks (mainly for text) about 50% of theWidth */
        --expander-max-height: 1100px;                  /* max height of contents of an accordion */
        --marginVert: 40px;                             /* for top/bot padding */
        --marginHoriz: 40px;                            /* for left/right padding */
        --gridGap: 40px;                                /* for grid gaps */

        /* other */
        --colour-link-hover: var(--colour-mimosa);      /* link hover for light text on dark bg */
        --colour-link-hover-dk: var(--colour-magenta);   /* link hover for dark text on light bg */
    }

    .has-black-color,
	.c-black { color: var(--colour-black); }
    .has-bone-color,
    .c-white {color: var(--colour-bone); }
    .has-pure-white-color,
    .c-pure-white {color: var(--colour-pure-white); }
    .has-magenta-color,
    .c-magenta {color: var(--colour-magenta); }
    .has-jet-color,
    .c-jet {color: var(--colour-jet); }
    .has-dark-grey-color,
    .c-dark-grey {color: var(--colour-dark-grey); }
    .has-mimosa-color,
    .c-mimosa {color: var(--colour-mimosa); }
    .has-candy-color,
    .c-candy {color: var(--colour-candy); }



    .has-black-background-color,
	.bg-black, .bull-black li:before { background-color: var(--colour-black); }
    .has-bone-background-color,
    .bg-white, .bull-white li:before {background-color: var(--colour-bone); }
    .has-pure-white-background-color,
    .bg-pure-white, .bull-pure-white li:before {background-color: var(--colour-pure-white); }
    .has-magenta-background-color,
    .bg-magenta, .bull-magenta li:before {background-color: var(--colour-magenta); }
    .has-jet-background-color,
    .bg-jet, .bull-jet li:before {background-color: var(--colour-jet); }
    .has-dark-grey-background-color,
    .bg-dark-grey {background-color: var(--colour-dark-grey); }
    .has-mimosa-background-color,
    .bg-mimosa, .bull-mimosa li:before {background-color: var(--colour-mimosa); }
    .has-candy-background-color,
    .bg-candy, .bull-candy li:before {background-color: var(--colour-candy); }

	.border-black { border-color: var(--colour-black); }
    .border-white { border-color: var(--colour-white); }
    .border-pure-white { border-color: var(--colour-pure-white); }
    .border-magenta { border-color: var(--colour-magenta); }
    .border-jet { border-color: var(--colour-jet); }
    .border-dark-grey { border-color: var(--colour-dark-grey); }
    .border-mimosa { border-color: var(--colour-mimosa); }
    .border-candy { border-color: var(--colour-candy); }





/* FONTS FOR THIS SITE -------------------------------- */
    @font-face {
        font-display: swap;
        font-weight: normal;
        font-family: "Avenir85Heavy";
        src: url('../fonts/avenir/avenir-heavy.woff2') format('woff2'), url('../fonts/avenir/avenir-heavy.woff') format('woff');
    }
    @font-face {
        font-display: swap;
        font-weight: normal;
        font-family: "Avenir85HeavyOblique";
        src: url('../fonts/avenir/avenir-heavy-oblique.woff2') format('woff2'), url('../fonts/avenir/avenir-heavy-oblique.woff') format('woff');
    }
    @font-face {
        font-display: swap;
        font-weight: normal;
        font-family: "Avenir55Roman";
        src: url('../fonts/avenir/avenir-roman.woff2') format('woff2'), url('../fonts/avenir/avenir-roman.woff') format('woff');
    }
    @font-face {
        font-display: swap;
        font-weight: normal;
        font-family: "Avenir35Light";
        src: url('../fonts/avenir/avenir-light.woff2') format('woff2'), url('../fonts/avenir/avenir-light.woff') format('woff');
    }
    @font-face {
        font-display: swap;
        font-weight: normal;
        font-family: "Avenir95Black";
        src: url('../fonts/avenir/avenir-black.woff2') format('woff2'), url('../fonts/avenir/avenir-black.woff') format('woff');
    }
    @font-face {
        font-display: swap;
        font-weight: normal;
        font-family: "Avenir65Medium";
        src: url('../fonts/avenir/avenir-medium.woff2') format('woff2'), url('../fonts/avenir/avenir-medium.woff') format('woff');
    }





/* BASIC ---------------------------------------------- */

    body { min-height: 100vh; overflow-x: hidden; display: flex; flex-direction: column; -webkit-text-size-adjust: none; font-family: var(--body-font), sans-serif; background: var(--colour-white); }
    html { font-size: 62.5%; color: var(--colour-black); }
    * { margin: 0px; padding: 0px; }

/* Default Body Font and Text Colour */
    html, select, input, textarea, label, address, cite, select { font-weight: 400; font-family: var(--body-font), sans-serif; }
    body, select, input, textarea, label, address, cite, select { font-size: var(--fontSize); }


/* RESET SOME STANDARD WP BLOCK STYLE
    .wp-block-columns { margin: 0; gap: var(--marginVert); }
    .wp-block-columns.is-layout-flex { align-items: normal; }
    .wp-block-column { flex-basis: 0; flex-grow: 1; }

    .wp-block-columns ul { padding-bottom: 0; }
    .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column { flex-basis: 0 !important; flex-grow: 0 !important; }
*/

    body { background: var(--colour-magenta); }

/* HEADER --------------------------------------------- */

    header { position: fixed; top: 0; left: 0; width: 100%; z-index: 11; }

    .header-wrapper { display: flex; flex-flow: row wrap; justify-content: space-between; position: relative;
    padding: calc(var(--marginHoriz) / 1.5) 0; margin: 0; width: 100%; /*transition: all 0.5s ease-out;*/ }
    /*body:not(.homepage) .header-wrapper { background: var(--colour-dark-grey); }*/
    .header-wrapper { background: var(--colour-magenta); }
    .homepage .header-wrapper.bg-dark-grey .logo-wrapper img { visibility: visible; }
    .header-wrapper .inner-wrapper { display: flex; flex-flow: column wrap; width: var(--block-medium); }
    .logo-wrapper { width: 100%; position: relative; z-index: 100; display: flex; flex-flow: row nowrap; justify-content: space-between; align-items: center; }
    .logo-wrapper img { width: 70px; height: auto; margin: 0 auto; display: block; }

    .homepage .header-block > .wp-block-group__inner-container { display: flex; flex-flow: column wrap; }
    .homepage .header-block .wp-block-group__inner-container { background: var(--colour-jet); margin: 0; }
    .homepage .header-block h1 { color: var(--colour-white); margin-bottom: var(--marginVert); }

    .hero-inner { padding: 0 calc(var(--marginHoriz) * 4); }
    .hero-inner  > .wp-block-group__inner-container { display: flex; flex-flow: column wrap; }
    .hero-inner  > .wp-block-group__inner-container h4 { align-self: start; }


/* MAIN MENU ------------------------------------------ */

    /* main menu icon */
    .menuicon { cursor: pointer; width: 85px; height: 64px; transform: scale(0.66); }
    /*.menuicon .bar { transition: all 0.33s ease; }*/
    .menuicon .bar { width: 100%; height: 4px; position: relative;
        background-color: var(--colour-jet); }
    .pageLoaded .menuicon .bar { transition: all 0.33s linear; transform-origin: right; }
    .menuicon .bar.mid { margin-top: 26px; }
    .menuicon .bar.bot { margin-top: 26px; }
    .menuicon:hover .bar { background-color: var(--colour-mimosa); }

    /* main menu container */
    .menu-main-container { position: absolute; z-index: 50; width: 100%; padding-top: 153px; margin: 0;
        background: var(--colour-magenta); display: none; }
    .pageLoaded .menu-main-container { transition: transform 0.5s ease-out; transform: translateY(-700px); transition-delay: 0.75s; display: block; }
    .menu-main,
    .menu-main li { padding: 0; list-style-type: none; margin-bottom: 0; }
    .menu-main { margin: 0 auto var(--marginHoriz); display: inline-block; }
    .menu-main li { font-family: "Avenir95Black"; font-size: 4.8rem; margin: 0 0 20px; display: block; text-align: left; line-height: 100%; position: relative;transition: all 0.5s ease-out; opacity: 0;  }
    .menu-main li:nth-child(1) { transition-delay: 0.5s; transform: translateY(-40px); }
    .menu-main li:nth-child(2) { transition-delay: 0.3s; transform: translateY(-80px); }
    .menu-main li:nth-child(3) { transition-delay: 0.1s; transform: translateY(-80px); }
    .menu-main li:nth-child(4) { transition-delay: 0.0s; transform: translateY(-80px); }
    .menu-main li:last-child { margin-bottom: 0; }
    .menu-main li a { color: var(--colour-jet); }
    .menu-main li a[aria-current="page"],
    .menu-main li.current-menu-item a,
    .menu-main li a:hover { color: var(--colour-white); }

    /* main menu animation */
    .menushow .bar { background: var(--colour-white); }
    .menushow .bar.top { transform: rotate(-45deg); }
    .menushow .bar.bot { transform: rotate(45deg); }
    .menushow .bar.mid { opacity: 0; }

    .menushow .menu-main-container { transform: translateY(-123px); transition-delay: 0.2s; }
    .menushow .menu-main li { opacity: 1; transform: translateY(0); }
    .menushow .menu-main li:nth-child(1) { transition-delay: 0.5s; }
    .menushow .menu-main li:nth-child(2) { transition-delay: 0.6s; }
    .menushow .menu-main li:nth-child(3) { transition-delay: 0.7s; }
    .menushow .menu-main li:nth-child(4) { transition-delay: 0.8s; }


/* FOOTER --------------------------------------------- */

	footer { display: flex; width: 100%; box-sizing: border-box; padding: var(--marginVert) var(--marginHoriz); position: relative; background: url('/wp-content/uploads/background-footer.svg') no-repeat top center; background-size: cover; }
    footer .inner-wrapper { display: grid; grid-template-columns: repeat(2, 1fr);  column-gap: calc(var(--marginHoriz) * 2); padding: calc(var(--marginHoriz) * 2); box-sizing: border-box; }
    .footer-intro { grid-column: 1 / 2; grid-row: 1 / 2; }
    .footer-intro p { margin-bottom: 0; }
    .footer-contact { grid-column: 1 / 2; grid-row: 2 / 3; }
    .footer-bottom { grid-column: 1 / 2; grid-row: 3 / 4; align-self: flex-end; }
    .footer-form { grid-column: 2 / 3; grid-row: 1 / 4; }
    footer ul { list-style-type: none; padding: 0; margin: 0; }
    footer ul li { display: inline; padding: 0; margin: 0; }
    footer ul li a { color: inherit; }
    footer .social { display: flex; gap: calc(var(--gridGap) / 2); margin: calc(var(--marginVert) / 1) 0 calc(var(--marginVert) * 1); }
    footer .social li svg { width: 30px; height: auto; }

    .toplink { position: fixed; bottom: 83px; right: 0; padding: 0; text-align: center; z-index: 998; }
    .toplink:after { content: "<"; position: absolute; top: 3px; right: 14px; transform: rotate(90deg); color: inherit; font-style: normal; }
    .toplink { padding: 5px 0 10px; font-size: 23px; width: 40px; height: 20px; color: var(--colour-white);
    transition: transform 0.5s ease-in; transform: translateX(100px); background: rgba(0,0,0,0.3); }
    .toplink.show { transform: translateX(0); }
    .jump { cursor: pointer; }
    .toplink.show:hover { background: var(--colour-black); color: var(--colour-white); }

    footer h2 { margin-bottom: calc(var(--marginVert) * 1); }
    footer h2 span { line-height: 100%; border-bottom: 3px solid var(--colour-white); }
    .contactBlock li { display: block; margin: 0; padding: 0 0 3px; }
    .contactBlock li:last-child { padding: 0; }

    .insights-index footer { display: none; }
    p.small { margin: 10px 0; font-size: 1.5rem; }


/* OTHER ---------------------------------------------- */

    .e404 .header-block .wp-block-group__inner-container { margin-bottom: var(--marginVert); }


/* HEADER + FOOTER RESPONSIVE ------------------------- */


/* FIRST BREAKPOINT IS theWidth -1 */
@media only screen and (max-width : 1439px) {
    /* redefine vars here */
    :root {
        --theWidth: 100%;
    }

    .inner-wrapper { padding: 0 var(--marginHoriz); }
}


@media only screen and (max-width : 1199px) {
    :root {
        --block-medium: 100%;
    }
}


@media only screen and (max-width : 1023px) {
    :root {
        --marginVert: 24px;
        --marginHoriz: 24px;
        --gridGap: 24px;
        /*--marginHoriz: 18px;
        --marginVert: 18px;*/
    }
    .hero-inner { padding: 0; }
    footer .inner-wrapper { column-gap: calc(var(--marginHoriz) * 1.5);  padding: calc(var(--marginHoriz) * 1); }
}


@media only screen and (max-width : 767px) {
    :root {
        --block-narrow: 100%;
    }
    .logo-wrapper img { width: 60px; }
    .menu-main li { font-size: 2.4rem; }
    footer .inner-wrapper { padding: calc(var(--marginHoriz)); }
    footer .logo-footer { max-width: 300px; }
    footer .footer-links li { padding: 0 10px 0 0; }
    footer .social li { font-size: 2.5rem; padding: 0; }
    footer .col:nth-child(2) { flex: 1 1 100%; }
    footer .social { float: none; margin: calc(var(--marginVert) / 1) 0 0; }
    footer .row { flex-flow: row wrap; }
    footer p { flex: 1 1 100%; margin: 20px 0 0 0; }
    footer ul.footer-links li,
    footer ul li { padding: 0 15px 0 0; }
    footer ul.footer-links li:last-child { padding-right: 0; }
    footer .inner-wrapper { grid-template-columns: repeat(1, 1fr); }
    .footer-intro { grid-column: 1 / 2; grid-row: 1 / 2; }
    .footer-contact { grid-column: 1 / 2; grid-row: 3 / 4; margin-top: var(--marginVert); }
    .footer-form { grid-column: 1 / 2; grid-row: 2 / 3; margin-top: var(--marginVert); }
    .footer-bottom { grid-column: 1 / 2; grid-row: 4 / 5; }
}


@media only screen and (max-width : 599px) {
}


@media only screen and (max-width : 374px) {
}


@media (hover: none) {
    .menuicon:hover .bar { background-color: var(--colour-white); }
    .button:hover { background-color: var(--colour-mimosa) !important; }
}





/* END OF HEADER AND FOOTER*/





/* TEXT + LINKS ---------------------------------------- */
    /* headings on single pages:
    h1 - main headline on each page (home h1 is the masthead heading)
    h2 - main sub headings
    h3 - secondary sub-headings
    h4 - smaller sub headings like P but bigger
    */

    h1, h2, h3, h4, h5, h6 { font-family: var(--headline-font), sans-serif; color: var(--default-heading-colour); -webkit-text-size-adjust: none; font-weight: normal; }


    h1 { font-family: "Avenir95Black", sans-serif; font-size: 4.8rem; margin-bottom: var(--gridGap); line-height: 120%; }
	h2 { font-size: 3.6rem; margin-bottom: var(--gridGap); line-height: 150%; }
    blockquote p { font-size: 2.2rem; font-family: "Avenir85HeavyOblique", sans-serif; line-height: 170%; margin: var(--marginVert) 0; }
    h3 { font-size: 2.4rem; font-weight: 700; line-height: 170%; margin: calc(var(--marginVert) / 3) 0; }
    h4 { font-size: 1.6rem; line-height: 150%; padding: 3px 5px 0; /*color: var(--colour-white); background: var(--colour-jet);*/ display: inline-block; margin-bottom: var(--marginVert); } /* reversed */
    .inverse h4 { /*color: var(--colour-jet); /*background: var(--colour-white);*/ }


    p, li, th, td, label, address, cite, select { line-height: 150%; margin-bottom: calc(var(--marginVert) * 0.85); }
    strong { font-family: "Avenir65Medium", sans-serif; }
    b { font-family: "Avenir65Medium", sans-serif; }
    .caps-header { font-family: "Avenir65Medium", sans-serif; font-size: 1.6rem; text-transform: uppercase; margin-bottom: 10px; width: 100%; }

    p.bullet { padding-left: 22px; margin-left: 8px; position: relative;  }
    .not-mobile { }
    .not-desktop { display: none; }

    /* links*/
    a { color: var(--colour-link); text-decoration: none; }
    a:hover { color: var(--colour-link-hover); }
    main a {}
    main a:hover { color: var(--colour-link-hover-dk); }
    footer .social li a:hover svg path { fill: var(--colour-link-hover); }
    a img { border: none; }
    .grid-item p a:hover span { border-bottom: 1px solid var(--colour-magenta); }


/* LISTS --------------------------------------- */

    ul { list-style-type: disc;	}
    ul, ol { padding-bottom: var(--marginVert); }
	li { padding-left: 5px; margin-left: 25px; margin-bottom: 3px; }
    ul li:last-child{ margin-bottom: 0; }

    ul ul { padding-top: 10px; }

    ul.bullet { list-style: none; }
	.bullet li { list-style: none; padding-left: 22px; margin-left: 0; position: relative; }
    .bullet li:before,
    p.bullet:before { content: ""; position: absolute; left: 0; top: 11px;
        width: 6px; height: 6px; display: block; background: var(--colour-link); }
    ul li ul { padding-bottom: 0; }


/* IMAGES AND BACKGROUNDS ----------------------------- */

    /* imgs are wrapped in figure blocks */
    img { height: auto; }
    .alignleft { float: left; margin-right: var(--marginHoriz); width: auto; max-width: 50%; height: auto; }
    .alignright { float: right; margin-left: var(--marginHoriz); width: auto; max-width: 50%; height: auto; }
    figure.wp-block-image.cropped,
    .alignnone { margin-bottom: var(--marginVert); width: 100%; }
    .actual { max-width: 100%; width: auto; }

    .bg.crop-from-right { background-position: left top; }
    .bg.crop-from-left { background-position: right top; }

    figure { margin: 0 0 var(--marginVert); }
    figure img { /*background: var(--colour-lt-grey);*/ width: 100%; height: auto; color: var(--colour-primary); }
    .is-type-video[class*="bg-"] figcaption,
    figcaption { margin: 10px 0 var(--marginVert); font-weight: normal; }
    .is-type-video[class*="bg-"] figcaption,
    figcaption[class*="bg-"] { padding: 10px; width: 100%; box-sizing: border-box; }
    figcaption.right { text-align: right; }


    figure.aligncenter,
    figure.alignright { display: flex; }
    figure.alignright img { margin-right: 0; }



/* CONTAINERS + SPACING ------------------------------- */

    main.page-content { flex: 1; width: 100%; padding: 123px 0 0; margin: 0 auto; position: relative;  background: var(--colour-pure-white); }
	.insights-index main.page-content,
	.homepage main.page-content { background: var(--colour-magenta); }
	.insights-index main.page-content { display: flex; flex-flow: column wrap; }
    #the-page { background: var(--colour-pure-white); padding-top: calc(var(--marginVert) *2); }
    .inner-wrapper { width: var(--theWidth); box-sizing: border-box; /*padding: 0 var(--marginHoriz);*/ margin: 0 auto; position: relative; }

    .block { overflow: hidden; }
    .block-full-width { width: 100%; margin: 0; /* auto;*/ }
    .width-large { width: var(--theWidth); flex: 0 0 var(--block-large) !important; }
    .width-medium { width: var(--block-medium); flex: 0 0 var(--block-medium) !important; }
    .width-narrow { width: var(--block-narrow); flex: 0 0 var(--block-narrow) !important; display: flex; flex-direction: column; }
    .centre-this { text-align: center; }
    .horiz-centre { margin-left: auto; margin-right: auto; }
    .gap-top-xxl { margin-top: calc(var(--marginVert) * 3); }
    .gap-bot-xxl { margin-bottom: calc(var(--marginVert) * 3); }
    .gap-top-xl { margin-top: calc(var(--marginVert) * 2); }
    .gap-bot-xl { margin-bottom: calc(var(--marginVert) * 2); }
    .gap-top-big { margin-top: var(--marginVert); }
    .gap-bot-big { margin-bottom: var(--marginVert); }
    .gap-top-small { margin-top: calc(var(--marginVert) / 2); }
    .gap-bot-small { margin-bottom: calc(var(--marginVert) / 2); }
    .mb0 { margin-bottom: 0; }
    .mb10 { margin-bottom: 10px; }
    .mt { margin-top: var(--marginVert); }


/* CONTACT FORM  -------------------------------------- */

    footer form { width: 100%; box-sizing: border-box; }
    footer form input[type="email"],
    footer form input[type="text"], footer form textarea {
        box-sizing: border-box; background: var(--colour-white);
        width: 100%; padding: 7px; border: 1px solid transparent;
    }
    footer form > div { margin: calc(var(--marginHoriz) / 2) 0 0; }
    footer form > input:first-of-type,
    footer form > div:first-of-type { margin: 0; }
    footer form > div:first-of-type { display: flex; gap: calc(var(--marginHoriz) / 2); }
    footer form > div:first-of-type input { }
    .newsletter-opt input { margin-left: 15px; height: 15px; width: 15px; vertical-align: middle; }
    .newsletter-opt { margin: calc(var(--marginVert) / 2) 0; }

    form input[type="submit"] { margin-bottom: 0; margin-top: 15px !important; }
    footer form input.error,
    footer form textarea.error { background: var(--colour-candy); border-color: var(--colour-magenta); }
    footer form > *:last-child { margin-bottom: 0; }
    input[type=submit], input[type=text], textarea {
        -webkit-appearance: none;
        -webkit-border-radius:0;
        border-radius:0;
    }


/* SHARED FORM STYLING ------------------------- */

    form .check { visibility: hidden; display: none; margin: calc(var(--marginVert) / 1) 0 0; }
    form .check i { padding-right: 10px; }
    form .check.show { visibility: visible; display: block; }
    #form_success { display: none; padding: var(--marginVert); }
    #form_success h2,
    #form_success p { margin-bottom: 0; }


/*  PAGES --------------------------------------- */

    /* homepage */
    .home-video { position: relative; }
    .home-video .wp-block-group { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
    .home-video .wp-block-group .button { text-align: right; }
    .home-video figure { display: flex; }
    .home-video video { min-height: 550px; object-fit: cover; transform: scale(1.005); margin: 0 auto; }

    .talk-link .wp-block-column { text-align: right; }
    .home-hero { margin: 0 auto calc(var(--marginVert) * 2); /*margin-top: calc(100vh - var(--marginVert));*/ }
    .home-hero > .wp-block-group__inner-container { background: var(--colour-jet); color: var(--colour-white);
    padding: var(--marginVert) var(--marginHoriz); }
    .home-hero figure { margin-top: calc(var(--marginVert) * 2); margin-bottom: 0; }
    /*.home-hero .wp-block-group__inner-container .button { text-align: right; }*/
	
	.insights-outer { padding: calc(var(--marginVert) * 2) 0; flex: 1; }
    .insights-home { background: #ECECEC; }
    .insights-home .wp-block-group__inner-container { width: var(--block-medium); margin: 0 auto; padding: calc(var(--marginVert)* 2) 0; box-sizing: border-box; }
    .insights-home .swiper { margin: 0 auto; }
    .insights-home .swiper-wrapper { display: flex; flex-wrap: nowrap !important; }
    .insights-home .swiper-wrapper .cell { flex-basis: unset !important; flex-grow: 1; }
    .insights-home .swiper-wrapper .cell:last-child { margin-right: 0 !important; }
    .insights-home .swiper-wrapper .cell img { display: block; width: 100%; margin: 0 0 calc(var(--marginVert) / 2); }
    .insights-home .swiper-wrapper .cell p:last-of-type { margin-bottom: 0; }
    .testimonials { background: var(--colour-jet); color: var(--colour-white); }
    .testimonials .wp-block-columns { display: flex; }
    .testimonials .swiper { width: var(--block-special); box-sizing: border-box; padding:  calc(var(--marginVert) * 3) var(--marginHoriz); margin: 0 auto; }
    .testimonials .swiper-slide { cursor: ew-resize; }
    .testimonials .swiper-buttons { display: none !important; }
    .testimonials .swiper .swiper-pagination { display: flex !important; justify-content: flex-end; margin: 0;  }
    .testimonials .swiper-pagination-bullet:after { background-color: var(--colour-magenta); opacity: 1; }
    .testimonials .swiper-pagination-bullet-active:after { background-color: var(--colour-white); }
    .testimonials cite { display: block; text-align: right; font-style: normal; margin-bottom: calc(var(--marginVert) * 0.85); }
    .testimonials blockquote { margin: 0; padding: 0; }
    .testimonials blockquote p { position: relative; margin: 0 0 calc(var(--marginVert) / 2); padding: 0 calc(var(--marginHoriz)* 1.5); }
    .testimonials blockquote p:before,
    .testimonials blockquote p:after { content: "\""; font-family: "Avenir85HeavyOblique", sans-serif; color: var(--colour-magenta); font-size: inherit; position: absolute; font-size: 5.4rem; }
    .testimonials blockquote p:before { top: 0px; left: 0; }
    .testimonials blockquote p:after { bottom: 0px; right: 0; }
    .testimonials blockquote:before,
    .testimonials blockquote:after { display: none; }
    .testimonials h4 { margin-bottom: calc(var(--marginVert)* 1.5); }


    /* about page */
    .how-work { margin: 0 auto calc(var(--marginVert) * 2); }
    .how-work .wp-block-group { padding: 0; margin: 0; width: 100%; }
    /*.how-work .wp-block-group__inner-container { width: 100%; }*/

    .how-work > .wp-block-group__inner-container { background: var(--colour-jet); color: var(--colour-white);
    padding: calc(var(--marginHoriz) *2); }
    .how-work .wp-block-group__inner-container .button { text-align: right; margin-bottom: 0; }
    .how-work .swiper-slide p:last-of-type { margin-bottom: 0; }
    .how-work .swiper-slide .caps-header { margin: calc(var(--marginVert) / 1.5) 0 var(--marginVert); background: var(--colour-white); color: var(--colour-jet); padding: 11px 0 5px; text-align: center; }
    .staff-profiles { display: flex; margin-bottom: calc(var(--marginVert) * 2); gap: calc(var(--gridGap) * 2); }
    .staff-profiles h2 { width: 100%; margin-bottom: calc(var(--marginVert) / 2); }
    .staff-profiles .wp-block-column { display: flex; flex: 1 1 100% !important; flex-flow: column; }
    .staff-profiles .button { margin: auto 0 0; align-self: flex-end; }
    .staff-profiles > .wp-block-column:first-child { position: relative; }
    .staff-profiles > .wp-block-column:first-child:after { content: ""; position: absolute; top: 0; right: calc(-1 * var(--marginHoriz)); width: 3px; height: 100%; background: var(--colour-magenta); }
    #how-we-work .wp-block-columns { display: flex; flex-flow: row nowrap; }
    #how-we-work .swiper { margin: 0; }

    .staff-card2 .wp-block-group__inner-container { display: grid; grid-template-columns: 185px 1fr; column-gap: calc(var(--gridGap) / 2); }
    .staff-card2 h2 { grid-column: 1 / 3; grid-row: 1 / 2; }


    /* insights index */
    .grid-insights { display: grid; gap: var(--gridGap); }
    .grid-top { grid-template-columns: repeat(2, 1fr); padding-bottom: calc(var(--marginVert) * 2); border-bottom: 2px solid var(--colour-jet); }
    .grid-other { grid-template-columns: repeat(4, 1fr); }
    .grid-item img { width: 100%; height: auto; display: block; margin: 0 0 var(--marginVert); }
    .insights-home .title, /* homepage insights */
    .grid-item .title { font-family: "Avenir95Black", sans-serif; margin: 0 0 calc(var(--marginVert) / 2); }
    .grid-item .excerpt { margin: 0 0 calc(var(--marginVert) / 3); }
    .grid-item p:last-of-type { margin-bottom: 0; }
    main a,
    .insights-home .cell p a span,
    .grid-item p a span { padding-bottom: 3px; border-bottom: 1px solid var(--colour-jet); font-family: "Avenir65Medium", sans-serif; margin: 0; }
    .load-more-wrapper { text-align: right; }
    #insights-load-more { font-size: var(--fontSize); visibility: hidden; }
    #insights-load-more.show { visibility: visible; }
    .fade-in { animation: fadeIn 0.5s ease-in forwards; opacity: 0; }
    @keyframes fadeIn {
        0% { opacity: 0; }
        100% { opacity: 1; }
    }


    /* insights post */
    .insight-header { margin-top: calc(var(--marginVert) *2); }
    .insight-header.wp-block-column { display: flex; justify-content: space-between; align-items: center; }
    .insight-header p { font-size: 1.6rem; font-family: "Avenir65Medium", sans-serif; }
    .insight-header p a { position: relative; }
    .insight-header p a:before { content: "<"; font-size: 70%; position: relative; left: -3px; top: -2px; }
    .parentLink .wp-block-group__inner-container { display: flex; width: 100%; }
    .parentLink .button { margin-bottom: 0; }


/* ITEMS --------------------------------------- */

/* 2 columns */
    .two-columns { display: flex; flex-flow: row wrap; grid-gap: var(--gridGap); margin-bottom: var(--marginVert); }
    .two-columns .wp-block-column { flex: 1 1 50%; }
    .two-columns figure,
    .two-columns figcaption { margin-bottom: 0; }

/* header block - h1 in a grey box */
    .header-block .wp-block-group__inner-container { background: var(--colour-magenta); box-sizing: border-box; padding: calc(var(--marginVert) * 2) calc(var(--marginVert) * 4.5); margin: var(--marginVert) auto calc(var(--marginVert) * 2); color: var(--colour-jet); }
    .header-block h1 { color: var(--colour-jet); margin: 0; }
    .header-block h1+p { margin: calc(var(--marginVert) / 1.5) 0 0; }


    .columns-5 { display: grid; grid-template-columns: repeat(5,1fr); gap: var(--gridGap); margin-bottom: calc(var(--marginVert) * 2); }
    .columns-5 > div *:last-child { margin-bottom: 0; }
    .large-number { color: var(--colour-magenta); font-size: 7.4rem; line-height: 100%; font-family: "Avenir95Black", sans-serif; width: 100%; margin: 0 0 calc(var(--marginVert) / 2); }

/* hero block */
    .hero-block { width: 100%; height: calc(100vh - 124px); margin-bottom: 0; display: flex; justify-content: center; align-items: center; }
    .hero-block.half { height: calc(50vh - 124px); }
    .hero-block .wp-block-group__inner-container { width: 100%; }
    .hero-text { width: var(--block-medium); }
    .hero-text > .wp-block-group__inner-container { display: flex; flex-flow: column wrap; }
    .hero-text h1 { font-size: 10rem; }
    .hero-text .button { margin-bottom: 0; }


/* padded boxes */
    .padded { width: 100%; padding: 15px; box-sizing: border-box; margin-bottom: var(--marginVert); }
    .padded.rounded { border-radius: 10px; }
    .padded > *:last-child,
    .padded ul:last-child { padding-bottom: 0; margin-bottom: 0; }



/* buttons */
    .button { margin: 0 auto var(--marginVert); }
    .button a { display: inline-block; }
    button { background: var(--colour-mimosa); }
    button,
    input[type="submit"],
    .button a { padding: 17px 40px 11px; border: none; /*background: var(--colour-mimosa); color: var(--colour-jet);*/ cursor: pointer; transition: background 0.33s ease, color 0.33s ease; font-family: "Avenir85Heavy", sans-serif; line-height: 100%; }
    .button + .button { margin-left: 15px; }
    .button.rounded { border-radius: 25px; }
    input[type="submit"]:hover,
    button:hover,
    .button a:hover { background: var(--colour-candy); }
    .has-text-align-right { margin-left: auto; margin-right: 0; }
    .has-text-align-left { margin-left: 0; margin-right: auto; }
    .has-text-align-center { margin-left: auto; margin-right: auto; text-align: center; }


/* highlight icons */
    .icon-highlight { width: 30px; height: auto; margin: 0 !important; position: absolute; z-index: 250; top: 10px; right: 10px; }

/* accordions */
    .expandable-wrapper { clear: both; margin-bottom: var(--marginVert); }
    .expandable { width: 100%; box-sizing: border-box; margin-bottom: 2px; }
    .expandable[class*="bg"] { padding: 10px; }
    .expandable-wrapper .expandable:last-child { margin-bottom: 0; }
    .expandable .expandable-content { max-height: 0; overflow: hidden; padding-left: 25px; transition: max-height 0.5s ease; }
    /*.expandable .expandable-content pdf([class*="gap"]),*/
    .expandable .expandable-content div > *:last-child,
    h2.expandable-link,
    h3.expandable-link { margin-bottom: 0; }
    .expandable .expandable-content ul { padding-bottom: 0; }
    .expandable.show .expandable-content { max-height: var(--expander-max-height); }
    .expandable .expandable-content > div { margin-top: 10px; }
    .expandable-link { color: var(--colour-link); margin-bottom: 0; cursor: pointer; padding-left: 25px; position: relative; font-weight: 600; }
    .expandable-link:before { position: absolute; left: 0; top: 0; opacity: 0.5; transition: transform 0.5s ease 0.1s; content: "\f107"; color: var(--colour-primary); /* angle down */ }
    .expandable.show .expandable-link:before { transform: rotate(180deg); }

/* videos */
    figure.is-type-video { }
    figure.is-type-video .wp-block-embed__wrapper { position: relative; padding-bottom: 56.25%; overflow: hidden; height: auto; }
    figure.is-type-video .wp-block-embed__wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }


    .mobileOnly { display: none; }
    .desktopOnly {  }


/* CAROUSELS ----------------------------------------- */

    /*
    can have no pagination, dots and arrows, dots or arrows
    (add .has-dots and/or .has-arrows to .swiper
    add captions except for dots
    */

    .swiper { margin: 0 auto var(--marginVert); position: relative; overflow: hidden; padding: 0; z-index: 1; width: 100%; }
    .swiper.has-dots,
    .swiper.has-arrows {  padding-bottom: 10px; }
    .swiper.has-border { padding-bottom: 0; }

    .swiper .wp-block-gallery,
    .swiper .wp-block-group__inner-container,
    .wp-block-gallery { position: relative; width: 100%; z-index: 1; display: flex; transition-property: transform;
        box-sizing: content-box; align-items: flex-start; }
    .wp-block-gallery { padding-bottom: 30px; }
    .swiper .wp-block-image,
    .swiper-slide { width: 100%; height: auto; position: relative; flex-shrink: 0; display: flex; flex-flow: row wrap; margin-bottom: 0; align-items: flex-start; align-content: flex-start; flex-basis: unset !important;
    flex-grow: 1; }
    .swiper-slide img { width: 100%; height: auto; }

    .swiper-pagination,
    .swiper-buttons { display: none; flex-flow: row nowrap; gap: 20px; justify-content: center; margin: 20px 0 0;
    width: 100%; bottom: 0; right: 0; }

    .swiper .swiper-pagination { position: relative; margin: 0; justify-content: flex-start; }
    .swiper .swiper-buttons { position: relative;  margin: 30px 0 20px; height: 20px; }
    .swiper.has-arrows .swiper-buttons { display: flex; }
    .swiper.has-dots .swiper-pagination { display: flex; }


    .swiper-pagination { gap: 15px; right: auto; bottom: 0; width: 100%; justify-content: flex-start; }
    .swiper-pagination-bullet { width: 16px; height: 16px; cursor: pointer; position: relative; display: inline-block; text-align: center; opacity: 1; }
    .swiper-pagination-bullet:after { position: absolute; left: 0; top: 0; z-index: 10; content: ""; z-index: 20; opacity: 0.33; background-color: var(--colour-jet); width: 15px; height: 15px; border-radius: 50%; }
    .swiper-pagination-bullet-active:after { opacity: 1; }
    .swiper-pagination-bullet:only-child { display: none; }

    .swiper-buttons div { width: 67px; height: 24px; cursor: pointer; position: absolute; }
    .swiper-buttons div:after { position: absolute; top: 0; width: 100%; height: 100%; z-index: 10; content: ""; background: url(/wp-content/uploads/arrow-short.svg) no-repeat top left; }
    .swiper-prev { left: 0; }
    .swiper-next { right: 0; }
    .swiper-prev:after { transform: rotate(180deg); }
    .swiper-next:after { }


    /* specific carousels */
    #homeIcons { margin-top: calc(var(--marginVert) * 2); }
    #homeIcons img { width: 80px; height: auto; margin:0 auto calc(var(--marginVert) / 2); }
    #homeIcons .caps-header { text-align: center; }
    #homeIcons .wp-block-columns { display: flex; flex-flow: row nowrap; gap: var(--gridGap); justify-content: center; }
    #homeIcons .wp-block-column { width: 20%; flex: 0 0 20% !important; }
    #homeIcons { margin-bottom: calc(var(--marginVert) * 2); }
    #homeIcons .wp-block-column > *:last-child { margin-bottom: 0; }



/* COOKIES MSG ---------------------------------------- */

    .cookiemsg { width: 100%; position: fixed; left: 0; bottom: 0; padding: 25px 0; z-index: 9999; background: var(--colour-slate); }
    .cookiemsg div p { margin-bottom: 0; font-size: 1.6rem; }
    .cookiemsg .button { display: inline-block; margin: 10px 15px 0 0; padding: 2px 20px; }

    .cookiemsg div p,
    .cookiemsg span a:hover { color: var(--colour-white); }
    .cookiemsg span a { color: var(--colour-mid-grey); }
    .cookiemsg .button { color: var(--colour-black);  background-color: var(--colour-white); }
    .cookiemsg .button:hover { color: var(--colour-white);  background-color: var(--colour-mid-green); }


/* NO JAVASCRIPT -------------------------------------- */

/* homepage fixes 1/5/24
.homepage h1 { text-align: center; max-width: 760px; margin: 0 auto; }
.home-video .wp-block-group .button { text-align: center; }
.homepage .wp-block-video + .wp-block-group { width: var(--block-medium); }
*/

/* RESPONSIVE ----------------------------------------- */


/* FIRST BREAKPOINT IS theWidth -1 */
@media only screen and (max-width : 1439px) {
    .how-work .width-medium { width: 100%; }
    .insights-home .wp-block-group__inner-container { padding: calc(var(--marginVert)* 2) var(--marginHoriz); }
    .header-block .wp-block-group__inner-container { padding: calc(var(--marginVert) * 1.5) calc(var(--marginVert) * 4.5); }

    h1 { font-size: 4.0rem; }
}


@media only screen and (max-width : 1279px) {
    .swiper-slide { cursor: ew-resize; }
    .swiper#insight-home-carousel .swiper-slide { cursor: default; }
    .swiper-buttons { display: block; }
    .swiper .swiper-pagination { display: flex; }
    .swiper#insight-home-carousel .swiper-buttons { display: none; }
    .swiper#insight-home-carousel .swiper-pagination { display: none; }
    .how-work .swiper-buttons { display: none; }
    .how-work .swiper-pagination { margin: calc(var(--marginVert) / 1) 0; justify-content: flex-end; }
    .how-work .swiper-pagination-bullet:after { background-color: var(--colour-white); }
}


@media only screen and (max-width : 1023px) {
    /*header { position: relative; }
    .homepage header { position: absolute; }*/
    .home-hero { /*margin-top: calc(100vh + 50px - var(--marginVert));*/ }
    main.page-content { padding-top: 0; }
    main.page-content { padding-top: 94px; }
    .grid-other { grid-template-columns: repeat(2, 1fr); }
    .how-work > .wp-block-group__inner-container { padding: var(--marginVert); }
    .staff-profiles.wp-block-columns.is-not-stacked-on-mobile { flex-flow: row wrap !important; }
    .staff-profiles > .wp-block-column:first-child:after { right: auto; left: 0; height: 3px; width: 100%; bottom: calc(-1* var(--marginHoriz)); top: auto; }
    .staff-card2 .wp-block-group__inner-container { column-gap: calc(var(--gridGap)); }
    .swiper#insight-home-carousel .swiper-buttons { display: block; margin-bottom: 10px; }
    .swiper#insight-home-carousel .swiper-pagination { display: flex; margin-top: calc(var(--marginVert) * 1.5); }
    .swiper#insight-home-carousel .swiper-slide { cursor: ew-resize; }
    .testimonials .swiper { width: 100%; padding: calc(var(--marginVert) * 2) var(--marginHoriz); }
    .testimonials .swiper .swiper-pagination { justify-content: center; }
    .testimonials blockquote p { padding: 0 calc(var(--marginHoriz)* 1.5); font-size: 1.9rem; line-height: 160%; }
    .testimonials h4 { margin-bottom: calc(var(--marginVert)* 2); }
    .testimonials cite,
    .testimonials blockquote p { margin-bottom: calc(var(--marginVert)* 1.5); }

    h1 { font-size: 3.0rem; line-height: 135%; }

    .columns-5 { grid-template-columns: repeat(3,1fr); }
    #homeIcons .wp-block-column { width: 33%; flex: 1 1 33% !important; }
    .hero-block { height: calc(100vh - 95px); }
    .hero-block.half { height: calc(50vh - 95px); }    
    .hero-block h1 { font-size: 7.0rem; }
}


@media only screen and (max-width : 767px) {
    main.page-content { padding-top: 88px; }
    h1,
    h2 { font-size: 2.4rem; line-height: 135%; }
    h3 { font-size: 2.0rem; line-height: 150%; }
    .mobileOnly { display: block; }
    .desktopOnly { display: none; }

    .home-video video { min-height: 366px; }

    footer { background: url('/wp-content/uploads/background-footer-mobile.webp') no-repeat top center; background-size: cover; }

    .two-columns.stacked { flex-flow: row wrap !important; }
    .two-columns.stacked .wp-block-column { flex: 1 1 100%; }
    .two-columns.stacked .wp-block-column figcaption { margin-bottom: 0; }

    .load-more-wrapper { text-align: left; }
    .insights-post .parentLink  .button { display: none; }

    .header-block .wp-block-group__inner-container { padding: calc(var(--marginVert) * 1.2) calc(var(--marginVert) * 1); }

    .grid-insights { grid-template-columns: repeat(1, 1fr); }
    .grid-top { border-bottom: 0; padding-bottom: 0; margin-bottom: var(--marginVert); }

    form .check { margin: calc(var(--marginVert) / 1) 0 0; }

    .columns-5 { grid-template-columns: repeat(2,1fr); }
    #homeIcons .wp-block-columns { flex-flow: row wrap; }
    #homeIcons .wp-block-column { width: 100%; flex: 1 1 100% !important; }
    .hero-block { height: calc(100vh - 89px); }
    .hero-block.half { height: calc(50vh - 89px); }
    .hero-block h1 { font-size: 4.0rem; }
    button, input[type="submit"], .button a { padding: 15px 30px 10px; }
    
    #home-numbers .wp-block-columns { flex-flow: column; }
}


@media only screen and (max-width : 599px) {
    .not-mobile { display: none; }
    .toplink {bottom: 0px; }

    .alignleft,
    .alignright { float: left; width: 100%; max-width: 100%; margin: 0 0 var(--marginVert); }

    figure.crop-centre img { height: 300px; width: 100%; object-fit: cover; }
    figure.crop-centre.h200 img { height: 200px; }
    .talk-link .wp-block-column,
    .home-video .wp-block-group .button,
    .home-hero .wp-block-group__inner-container .button { text-align: left; }

    .staff-profiles.wp-block-columns.is-not-stacked-on-mobile { margin-bottom: calc(var(--marginVert) * 1); }
    .staff-profiles .button { align-self: flex-start; }
    .staff-card2 figure { grid-column: 1 / 3; grid-row: 1 / 2; }
    .staff-card2 figure img { width: 195px; }
    .staff-card2 h2 { grid-row: 2 / 3; }
    .staff-card2 p { grid-column: 1 / 4; }

    .columns-5 { grid-template-columns: repeat(1,1fr); }
    .hero-block h1 { font-size: 3.0rem; }
}


@media only screen and (max-width : 374px) {
    .toplink { bottom: 20px; }
}


