/*
Theme Name: Emblation
Template: x
*/


/***************************************************************/
/************************* FONTS *************************/
/***************************************************************/

@font-face {
    font-family: "Ostra Centra";
    src: url("/wp-content/themes/x-child/fonts/ostra-centra.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/*

Arboria Book
font-family: "arboria", sans-serif;
font-weight: 400;
font-style: normal;

Arboria Medium
font-family: "arboria", sans-serif;
font-weight: 500;
font-style: normal;

Arboria Bold
font-family: "arboria", sans-serif;
font-weight: 700;
font-style: normal;

*/


/***************************************************************/
/************************* COLOURS *************************/
/***************************************************************/

:root {
    --navy: #04022b;
    --deep-blue: #1e235a;
    --lavender: #7857ba;
    --pale-lavender: #8c85f2;
    --dark-grey: #373c42;
    --mid-grey: #7a868e;
    --light-grey: #ebebeb;
    --electric-blue: #5a5adc;
    --white: #ffffff;
    --black: #000000;
}

/***************************************************************/
/************************* COOKIES *************************/
/***************************************************************/

p.cky-title {
    display: none!important;
}

button.cky-btn {
    background-color: var(--navy)!important;
    border: 0!important;
    border-radius: 6px!important;
}

button.cky-btn:hover {
    background-color: var(--lavender)!important;  
}


/***************************************************************/
/************************* MASTER LAYOUT *************************/
/***************************************************************/

html,
body {
    margin: 0;
    padding: 0;
}

body {
    background: var(--white);
    color: var(--navy);
    font-family: "arboria", serif!important;
    font-weight: 400!important;
    font-style: normal;
    font-size: 18px;
    line-height: 1.4;
}

.site,
.x-site {
    background: var(--white);
}

.x-main {
    width: 100%;
}

.x-container.max {
    max-width: 1440px;
}

.x-container.width {
    width: calc(100% - 120px);
}

.x-content-band {
    margin: 0 0 0!important;
}

.borderT {
    border-top: 1px solid var(--white);
    padding-top: 120px!important;
}

/* tablet */

@media (max-width: 1199px) {

    .x-container.width {
        width: calc(100% - 70px);
    }

    .borderT {
        padding-top: 90px!important;
    }

}

/* mobile */

@media (max-width: 767px) {

    body {
        font-size: 17px;
    }

    .x-container.width {
        width: calc(100% - 40px);
    }

    .borderT {
        padding-top: 65px!important;
    }

}


/***************************************************************/
/************************* TYPOGRAPHY *************************/
/***************************************************************/

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    margin-top: 0;
    color: var(--navy);
    font-family: "Ostra Centra", sans-serif!important;
    font-weight: 400!important;
    font-style: normal;
    line-height: 1.1;
    letter-spacing: -0.01!important;
}

h1,
.h1 {
    font-size: clamp(60px, 6vw, 105px);
}

h2,
.h2 {
    font-size: clamp(48px, 4.6vw, 80px);
    color: var(--navy)!important;
}

.rowDark h2 {
    color: var(--white)!important;
}

.rowDark h2,
.bg-light-grey h2 {
    margin: 0 0 30px 0;
}

h3,
.h3 {
    font-size: clamp(34px, 3vw, 52px);
    color: var(--navy)!important;
}

.rowDark h3 {
    color: var(--white)!important;
    margin: 0 0 30px 0;
}

h4,
.h4 {
    font-size: 30px;
}

body.page-id-294 h4 {
    margin: 0 0 0 0!important;
    color: var(--lavender)!important;
}

p {
    margin: 0 0 1.25em;
}

.rowContent p,
body.single p,
.rowContent ul,
body.single ul {
    margin: 0 0 26px;
    color: var(--navy);
    font-size: 20px;
    line-height: 1.42;
}

.rowContent p.sml {
    font-size: 16px;
}

.rowContent ul,
body.single ul {
    list-style-type: disc!important;
    list-style-position: outside!important;
    margin: 0 0 20px 0!important;
    padding-left: 22px!important;
}

.rowContent ul li,
body.single ul li {
    margin-bottom: 6px!important;
    padding-left: 0!important;
}

.rowContent table {
    margin: 40px 0 60px 0!important;
}

.rowContent td,
.rowContent tr {
    margin: 0 0 26px;
    color: var(--navy);
    font-size: 20px;
    line-height: 1.42;
    vertical-align: top!important;
}

.rowContent table th {
    border-top: 0!important;
    border-bottom: 0!important;
    color: var(--white);
    background-color: var(--pale-lavender);
    vertical-align: top!important;
}

.rowContent table th,
.rowContent table td {
    border-top: 0!important;
    border-bottom: 1px solid var(--mid-grey)!important;
}

p:last-child {
    margin-bottom: 0;
}

a {
    color: inherit;
    text-decoration: none;
}

.rowContent a,
body.single #x-content-band-2 a {
    color: var(--lavender)!important;
}

.rowContent a:hover,
body.single #x-content-band-2 a:hover {
    color: var(--navy)!important;
}

strong,
b {
    font-weight: 600;
}


/* mobile */

@media (max-width: 767px) {

    h1,
    .h1 {
        font-size: 54px;
    }

    h2,
    .h2 {
        font-size: 46px;
    }

    h3,
    .h3 {
        font-size: 34px;
    }

    h4,
    .h4 {
        font-size: 27px;
    }

}


/***************************************************************/
/************************* DISPLAY TYPE *************************/
/***************************************************************/

.display {
    font-family: "Ostra Centra", sans-serif;
    font-weight: 400;
    line-height: .95;
}

.display-lavender {
    color: var(--pale-lavender);
}

.text-white {
    color: var(--white)!important;
}

.text-navy {
    color: var(--navy)!important;
}

.text-lavender {
    color: var(--lavender)!important;
}

.bg-navy {
    background-color: var(--navy);
}

.bg-deep-blue {
    background-color: var(--deep-blue);
}

.bg-white {
    background-color: var(--white);
}

.bg-lavender {
    background-color: var(--lavender);
}

.bg-light-grey {
    background-color: var(--light-grey)!important;    
}


/***************************************************************/
/************************* BUTTONS *************************/
/***************************************************************/

.x-btn,
.emblation-btn,
a.emblation-btn,
input.nf-element[type=submit],
.hsfc-NavigationRow__Buttons[type=submit],
[data-hsfc-id=Renderer] .hsfc-NavigationRow__Buttons button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    min-width: 210px;
    min-height: 54px;
    margin: 0;
    padding: 12px 18px;
    border: 0!important;
    border-radius: 3px!important;
    background: var(--lavender)!important;
    box-shadow: none!important;
    color: var(--white)!important;
    font-family: "arboria", sans-serif!important;
    font-size: 18px;
    font-weight: 400!important;
    line-height: 1.1;
    text-shadow: none!important;
    transition: background .2s ease;
}

.x-btn:hover,
.emblation-btn:hover,
a.emblation-btn:hover,
input.nf-element[type=submit]:hover {
    background: var(--electric-blue)!important;
    color: var(--white)!important;
}

.x-btn:after,
.emblation-btn:after {
    
    display: block;
    flex: 0 0 auto;
    font-size: 27px;
    font-weight: 300;
    line-height: .7;
}

.emblation-btn.white {
    background: var(--white)!important;
    color: var(--navy)!important;
}

.emblation-btn.white:hover {
    background: var(--light-grey)!important;
    color: var(--navy)!important;
}


/* mobile */

@media (max-width: 767px) {

    .x-btn,
    .emblation-btn,
    a.emblation-btn {
        min-height: 48px;
        padding: 10px 15px;
        font-size: 17px;
    }

}

/* concept arrow */

.newsCardButton,
.newsSliderViewAll a,
.relatedButton,
.hasArrow,
li.menu-item-64 > a,
li.menu-item-1869 > a,
a.emblation-btn,
a.homeFeatureButton,
.x-colophon.top .x-column:nth-child(4) a {
    position: relative;
}

.newsCardButton::before,
.newsSliderViewAll a::before,
.relatedButton::before,
.hasArrow::before,
li.menu-item-64 > a::before,
li.menu-item-1869 > a::before,
a.emblation-btn::before,
a.homeFeatureButton::before,
.x-colophon.top .x-column:nth-child(4) a::before {
    display: none;
}

.newsCardButton::after,
.newsSliderViewAll a::after,
.relatedButton::after,
.hasArrow::after,
li.menu-item-64 > a::after,
li.menu-item-1869 > a::after,
a.emblation-btn::after,
a.homeFeatureButton::after,
.x-colophon.top .x-column:nth-child(4) a::after,
a.btnOutline.btnShare::after {
    content: "";
    position: absolute;
    top: 9px;
    right: 10px;
    width: 27px;
    height: 27px;
    background-color: currentColor;
    -webkit-mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M3 25L25 3M12 3h13v13' fill='none' stroke='black' stroke-width='1.25' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E")
        center / contain no-repeat;
    mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M3 25L25 3M12 3h13v13' fill='none' stroke='black' stroke-width='1.25' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E")
        center / contain no-repeat;
    pointer-events: none;
}

.newsCardButton,
.newsSliderViewAll a,
.relatedButton,
.emblation-btn {
    position: relative;
}

/* smaller header contact arrow */
li.menu-item-64 > a::after,
li.menu-item-1869 > a::after {
    top: 10px;
    right: 10px;
    width: 22px;
    height: 22px;
}


/***************************************************************/
/************************* BACKGROUND IMAGE POSITIONING *************************/
/***************************************************************/

.bgImgTop {
    background-position: top center !important;
}


/***************************************************************/
/************************* PADDING UTILITIES *************************/
/***************************************************************/

.padT {
    padding-top: 120px !important;
}

.padTSml {
    padding-top: 60px !important;
}

.padB {
    padding-bottom: 120px !important;
}

.padBSml {
    padding-bottom: 60px !important;
}

/* tablet */

@media (max-width: 1199px) {

    .padT {
        padding-top: 90px !important;
    }

    .padTSml {
        padding-top: 45px !important;
    }

    .padB {
        padding-bottom: 90px !important;
    }

    .padBSml {
        padding-bottom: 45px !important;
    }

}

/* mobile */

@media (max-width: 767px) {

    .padT {
        padding-top: 65px !important;
    }

    .padTSml {
        padding-top: 30px !important;
    }

    .padB {
        padding-bottom: 65px !important;
    }

    .padBSml {
        padding-bottom: 30px !important;
    }

}


/***************************************************************/
/************************* HEADER *************************/
/***************************************************************/

.masthead {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
}

.x-navbar {
    min-height: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.x-navbar-inner {
    min-height: 0 !important;
}

.x-navbar .x-container {
    display: flex;
    align-items: center;
    width: calc(100% - 120px);
    max-width: 1440px;
    min-height: 105px;
}


/* logo */

.x-brand {
    display: flex;
    align-items: center;
    float: none !important;
    width: auto;
    margin: 0 !important;
    padding: 0 !important;
}

.x-brand img {
    display: block;
    width: auto !important;
    max-width: none !important;
    height: 58px !important;
}


/* tablet */

@media (max-width: 1199px) {

    .x-navbar .x-container {
        width: calc(100% - 70px);
    }

    .x-brand img {
        height: 50px !important;
    }

}


/* mobile */

@media (max-width: 979px) {

    .x-navbar .x-container {
        position: relative;
        width: calc(100% - 40px);
        min-height: 90px;
    }

    .x-brand img {
        height: 46px !important;
    }

}


/* ==========================================================
   DESKTOP NAVIGATION
========================================================== */

.x-nav-wrap.desktop {
    display: flex;
    align-items: center;
    margin-left: auto;
}

.x-navbar .desktop .x-nav {
    display: flex;
    align-items: center;
    gap: 15px;
    margin: 0;
}

.x-navbar .desktop .x-nav > li {
    display: flex;
    align-items: center;
    float: none;
}

.x-navbar .desktop .x-nav > li > a {
    display: flex;
    align-items: center;
    height: auto !important;
    padding: 10px 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    color: var(--white) !important;
    font-family: "arboria", sans-serif !important;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.2;
    text-decoration: none;
    text-transform: none;
}

/*.x-navbar .desktop .x-nav > li > a > span {
    margin-top: 5px!important;
}*/

.x-navbar .desktop .x-nav > li > a:hover,
.x-navbar .desktop .x-nav > .current-menu-item > a {
    color: var(--pale-lavender) !important;
}


/* tablet */

@media (max-width: 1199px) {

    .x-navbar .desktop .x-nav {
        gap: 16px;
    }

    .x-navbar .desktop .x-nav > li > a {
        font-size: 14px;
    }

}


/* ==========================================================
   HEADER - DARK VERSION
========================================================== */

/*
 * Add "headerDark" in:
 * Page Settings > Body CSS Class(es)
 *
 * Used on pages with a light hero/banner.
 * Changes:
 * - dark Emblation logo
 * - navy navigation
 * - lavender contact button
 *
 * Sticky header returns to the standard header treatment.
 */


/* dark logo */

body.headerDark .masthead:not(.sticky) .x-brand {
    background:
        url("https://www.emblation.com/wp-content/uploads/2026/10/emblation.png")
        left center / contain no-repeat;
}

body.headerDark .masthead:not(.sticky) .x-brand img {
    opacity: 0;
}


/* dark navigation */

body.headerDark .masthead:not(.sticky) .desktop .x-nav > li > a {
    color: var(--navy) !important;
}

body.headerDark .masthead:not(.sticky) .desktop .x-nav > li > a:hover,
body.headerDark .masthead:not(.sticky) .desktop .x-nav > .current-menu-item > a {
    color: var(--lavender) !important;
}


/* current page */

body.headerDark .masthead:not(.sticky) .desktop .x-nav > .current-menu-item > a {
    color: var(--lavender) !important;
}


/* contact button */

body.headerDark .masthead:not(.sticky) .desktop .x-nav > li.menu-contact > a {
    background: var(--lavender) !important;
    color: var(--white) !important;
}

body.headerDark .masthead:not(.sticky) .desktop .x-nav > li.menu-contact > a::after {
    color: var(--white) !important;
}


/* contact hover */

body.headerDark .masthead:not(.sticky) .desktop .x-nav > li.menu-contact > a:hover,
body.headerDark .masthead:not(.sticky) .desktop .x-nav > li.menu-contact > a:focus {
    background: var(--pale-lavender) !important;
    color: var(--navy) !important;
}

body.headerDark .masthead:not(.sticky) .desktop .x-nav > li.menu-contact > a:hover::after,
body.headerDark .masthead:not(.sticky) .desktop .x-nav > li.menu-contact > a:focus::after {
    color: var(--navy) !important;
}

/* ==========================================================
   HEADER CONTACT BUTTON
========================================================== */

.x-navbar .desktop .x-nav > li.menu-contact {
    margin-left: 8px;
}

.x-navbar .desktop .x-nav > li.menu-contact > a {
    position: relative;
    top: 0;
    display: flex !important;
    align-items: center !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 12px 48px 14px 17px !important;
    border: 0 !important;
    border-radius: 6px !important;
    outline: 0 !important;
    background: var(--white) !important;
    color: var(--navy) !important;
    font-family: "arboria", sans-serif !important;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    box-shadow: none !important;
}

/* remove X Theme styling from inner span */

.x-navbar .desktop .x-nav > li.menu-contact > a > span,
.x-navbar .desktop .x-nav > li.menu-contact > a:hover > span,
.x-navbar .desktop .x-nav > li.menu-contact > a:focus > span {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: inherit !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

/* arrow */

.x-navbar .desktop .x-nav > li.menu-contact > a::after {
    position: absolute;
    top: 9px;
    right: 12px;
    margin: 0;
    color: var(--navy) !important;
    font-family: Arial, sans-serif !important;
    font-size: 23px;
    font-weight: 300;
    line-height: 1;
    transform: none;
}

/* hover */

.x-navbar .desktop .x-nav > li.menu-contact > a:hover,
.x-navbar .desktop .x-nav > li.menu-contact > a:focus,
.masthead.sticky .desktop .x-nav > li.menu-contact > a:hover,
.masthead.sticky .desktop .x-nav > li.menu-contact > a:focus,
.x-navbar.x-navbar-fixed-top .desktop .x-nav > li.menu-contact > a:hover,
.x-navbar.x-navbar-fixed-top .desktop .x-nav > li.menu-contact > a:focus {
    border: 0 !important;
    outline: 0 !important;
    background: var(--lavender) !important;
    color: var(--white) !important;
    box-shadow: none !important;
}

/* sticky header */

.masthead.sticky .desktop .x-nav > li.menu-contact > a,
.x-navbar.x-navbar-fixed-top .desktop .x-nav > li.menu-contact > a {
    background: var(--white) !important;
    color: var(--navy) !important;
}

/* tablet */

@media (max-width: 1199px) {

    .x-navbar .desktop .x-nav > li.menu-contact {
        margin-left: 5px;
    }

    .x-navbar .desktop .x-nav > li.menu-contact > a {
        padding: 11px 43px 11px 15px !important;
        font-size: 14px;
    }

    .x-navbar .desktop .x-nav > li.menu-contact > a::after {
        top: 8px;
        right: 11px;
        font-size: 22px;
    }

}

/* ==========================================================
   STICKY HEADER
========================================================== */

/*
 * Sticky header is always the standard dark-background version,
 * including pages using body.headerDark.
 */

.masthead.sticky .x-navbar,
.x-navbar.x-navbar-fixed-top {
    /*background: var(--deep-blue) !important;*/
    background: linear-gradient(to right, var(--lavender) 0%, var(--deep-blue) 65%) !important;
    box-shadow: none !important;
}

/* reduced sticky header depth */

.masthead.sticky .x-navbar .x-container,
.x-navbar.x-navbar-fixed-top .x-container {
    min-height: 75px;
}

/* sticky logo */

.masthead.sticky .x-brand,
.x-navbar.x-navbar-fixed-top .x-brand {
    width: 156px;
}

/* restore normal white logo on headerDark pages */

body.headerDark .masthead.sticky .x-brand,
body.headerDark .x-navbar.x-navbar-fixed-top .x-brand {
    background: none !important;
}

body.headerDark .masthead.sticky .x-brand img,
body.headerDark .x-navbar.x-navbar-fixed-top .x-brand img {
    opacity: 1 !important;
}

/* sticky navigation */

.masthead.sticky .desktop .x-nav,
.x-navbar.x-navbar-fixed-top .desktop .x-nav {
    gap: 15px;
}

.x-navbar-fixed-top-active .x-navbar .desktop .x-nav>li>a>span {
    margin-top: 0;
}

.masthead.sticky .desktop .x-nav > li > a,
.x-navbar.x-navbar-fixed-top .desktop .x-nav > li > a,
body.headerDark .masthead.sticky .desktop .x-nav > li > a,
body.headerDark .x-navbar.x-navbar-fixed-top .desktop .x-nav > li > a {
    color: var(--white) !important;
}

.masthead.sticky .desktop .x-nav > li > a:hover,
.masthead.sticky .desktop .x-nav > .current-menu-item > a,
.x-navbar.x-navbar-fixed-top .desktop .x-nav > li > a:hover,
.x-navbar.x-navbar-fixed-top .desktop .x-nav > .current-menu-item > a,
body.headerDark .masthead.sticky .desktop .x-nav > li > a:hover,
body.headerDark .masthead.sticky .desktop .x-nav > .current-menu-item > a,
body.headerDark .x-navbar.x-navbar-fixed-top .desktop .x-nav > li > a:hover,
body.headerDark .x-navbar.x-navbar-fixed-top .desktop .x-nav > .current-menu-item > a {
    color: var(--pale-lavender) !important;
}

/* sticky contact button */

.masthead.sticky .desktop .x-nav > li.menu-contact > a,
.x-navbar.x-navbar-fixed-top .desktop .x-nav > li.menu-contact > a,
body.headerDark .masthead.sticky .desktop .x-nav > li.menu-contact > a,
body.headerDark .x-navbar.x-navbar-fixed-top .desktop .x-nav > li.menu-contact > a {
    background: var(--white) !important;
    color: var(--navy) !important;
}

.masthead.sticky .desktop .x-nav > li.menu-contact > a:after,
.x-navbar.x-navbar-fixed-top .desktop .x-nav > li.menu-contact > a:after,
body.headerDark .masthead.sticky .desktop .x-nav > li.menu-contact > a:after,
body.headerDark .x-navbar.x-navbar-fixed-top .desktop .x-nav > li.menu-contact > a:after {
    color: var(--navy) !important;
}

/* sticky contact hover */

.masthead.sticky .desktop .x-nav > li.menu-contact > a:hover,
.masthead.sticky .desktop .x-nav > li.menu-contact > a:focus,
.x-navbar.x-navbar-fixed-top .desktop .x-nav > li.menu-contact > a:hover,
.x-navbar.x-navbar-fixed-top .desktop .x-nav > li.menu-contact > a:focus,
body.headerDark .masthead.sticky .desktop .x-nav > li.menu-contact > a:hover,
body.headerDark .masthead.sticky .desktop .x-nav > li.menu-contact > a:focus,
body.headerDark .x-navbar.x-navbar-fixed-top .desktop .x-nav > li.menu-contact > a:hover,
body.headerDark .x-navbar.x-navbar-fixed-top .desktop .x-nav > li.menu-contact > a:focus {
    background: var(--pale-lavender) !important;
    color: var(--navy) !important;
}

/* ==========================================================
   MOBILE NAV
========================================================== */

.x-btn-navbar {
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--white) !important;
    font-size: 0 !important;
}

.x-btn-navbar::before {
    content: "";
    display: block;
    width: 52px;
    height: 34px;

    background:
        linear-gradient(var(--white), var(--white)) 0 0 / 100% 4px no-repeat,
        linear-gradient(var(--white), var(--white)) 0 50% / 100% 4px no-repeat,
        linear-gradient(var(--white), var(--white)) 0 100% / 100% 4px no-repeat;
}

/* mobile sticky */

@media (max-width: 979px) {

    .masthead.sticky .x-navbar,
    .x-navbar.x-navbar-fixed-top {
        min-height: 68px !important;
    }

    .masthead.sticky .x-navbar-inner,
    .x-navbar.x-navbar-fixed-top .x-navbar-inner,
    .masthead.sticky .x-navbar .x-container,
    .x-navbar.x-navbar-fixed-top .x-container {
        min-height: 68px !important;
    }

    .masthead.sticky .x-brand img,
    .x-navbar.x-navbar-fixed-top .x-brand img {
        height: 36px !important;
    }

    .masthead.sticky .x-btn-navbar::before,
    .x-navbar.x-navbar-fixed-top .x-btn-navbar::before {
        background:
            linear-gradient(var(--white), var(--white)) 0 0 / 100% 4px no-repeat,
            linear-gradient(var(--white), var(--white)) 0 50% / 100% 4px no-repeat,
            linear-gradient(var(--white), var(--white)) 0 100% / 100% 4px no-repeat;
    }

}

/* ==========================================================
   MAX MEGA MENU - X THEME NAVIGATION COMPATIBILITY
   ========================================================== */

#mega-menu-primary .mega-sub-menu {
    display: none !important;
}

@media (min-width: 980px) {

    .x-navbar .desktop #mega-menu-wrap-primary {
        margin-left: auto;
        background: transparent !important;
    }

    .x-navbar .desktop #mega-menu-primary {
        display: flex !important;
        align-items: center;
        justify-content: flex-end;
        gap: 15px;
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }

    /* Top-level items */

    #mega-menu-wrap-primary #mega-menu-primary
    > li.mega-menu-item {
        display: flex;
        align-items: center;
        float: none;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }

    /* Standard navigation links */

    #mega-menu-wrap-primary #mega-menu-primary
    > li.mega-menu-item > a.mega-menu-link {
        display: flex !important;
        align-items: center;
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        padding: 10px 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;

        color: var(--white) !important;
        font-family: "arboria", sans-serif !important;
        font-size: 15px !important;
        font-weight: 400 !important;
        line-height: 1.2 !important;
        letter-spacing: normal !important;
        text-decoration: none !important;
        text-transform: none !important;
    }

    /* Standard hover and current page */

    #mega-menu-wrap-primary #mega-menu-primary
    > li.mega-menu-item:not(.menu-contact)
    > a.mega-menu-link:hover,

    #mega-menu-wrap-primary #mega-menu-primary
    > li.mega-menu-item:not(.menu-contact).mega-toggle-on
    > a.mega-menu-link,

    #mega-menu-wrap-primary #mega-menu-primary
    > li.mega-current-menu-item:not(.menu-contact)
    > a.mega-menu-link {
        color: var(--pale-lavender) !important;
        background: transparent !important;
    }

    /* Remove plugin dropdown indicator */

    #mega-menu-wrap-primary #mega-menu-primary
    > li > a .mega-indicator {
        display: none !important;
    }

    /* ------------------------------------------------------
       HEADER DARK - NAVY LINKS
       ------------------------------------------------------ */

    body.headerDark .masthead:not(.sticky):not(:has(.x-navbar-fixed-top))
    #mega-menu-wrap-primary #mega-menu-primary
    > li.mega-menu-item:not(.menu-contact)
    > a.mega-menu-link {
        color: var(--navy) !important;
    } 

    body.headerDark .masthead:not(.sticky)
    #mega-menu-wrap-primary #mega-menu-primary
    > li.mega-menu-item:not(.menu-contact)
    > a.mega-menu-link:hover,

    body.headerDark .masthead:not(.sticky)
    #mega-menu-wrap-primary #mega-menu-primary
    > li.mega-menu-item:not(.menu-contact).mega-toggle-on
    > a.mega-menu-link,

    body.headerDark .masthead:not(.sticky)
    #mega-menu-wrap-primary #mega-menu-primary
    > li.mega-current-menu-item:not(.menu-contact)
    > a.mega-menu-link {
        /*color: var(--lavender) !important;*/
    }

    /* ------------------------------------------------------
       CONTACT BUTTON
       ------------------------------------------------------ */

    #mega-menu-wrap-primary #mega-menu-primary
    > li.menu-contact {
        margin-left: 15px !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary
    > li.menu-contact > a.mega-menu-link {
        position: relative;
        display: flex !important;
        align-items: center !important;
        width: auto !important;
        min-width: 0 !important;
        height: auto !important;
        padding: 12px 48px 14px 17px !important;
        border: 0 !important;
        border-radius: 6px !important;
        background: var(--white) !important;
        color: var(--navy) !important;
        font-family: "arboria", sans-serif !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        box-shadow: none !important;
    }

    /* Contact arrow */

    #mega-menu-wrap-primary #mega-menu-primary
    > li.menu-contact > a.mega-menu-link::after {
        content: "\2197";
        position: absolute;
        top: 9px;
        right: 12px;
        display: block;
        width: auto;
        height: auto;
        margin: 0;
        color: var(--navy) !important;
        font-family: Arial, sans-serif !important;
        font-size: 23px;
        font-weight: 300;
        line-height: 1;
        transform: none;
        border: 0;
    }

    /* Contact hover */

    #mega-menu-wrap-primary #mega-menu-primary
    > li.menu-contact > a.mega-menu-link:hover,
    #mega-menu-wrap-primary #mega-menu-primary
    > li.menu-contact > a.mega-menu-link:focus {
        background: var(--lavender) !important;
        color: var(--white) !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary
    > li.menu-contact > a.mega-menu-link:hover::after,
    #mega-menu-wrap-primary #mega-menu-primary
    > li.menu-contact > a.mega-menu-link:focus::after {
        color: var(--white) !important;
    }

    /* HeaderDark contact button */

    body.headerDark .masthead:not(.sticky)
    #mega-menu-wrap-primary #mega-menu-primary
    > li.menu-contact > a.mega-menu-link {
        background: var(--lavender) !important;
        color: var(--white) !important;
    }

    body.headerDark .masthead:not(.sticky)
    #mega-menu-wrap-primary #mega-menu-primary
    > li.menu-contact > a.mega-menu-link::after {
        color: var(--white) !important;
    }

    body.headerDark .masthead:not(.sticky)
    #mega-menu-wrap-primary #mega-menu-primary
    > li.menu-contact > a.mega-menu-link:hover {
        background: var(--pale-lavender) !important;
        color: var(--navy) !important;
    }

    body.headerDark .masthead:not(.sticky)
    #mega-menu-wrap-primary #mega-menu-primary
    > li.menu-contact > a.mega-menu-link:hover::after {
        color: var(--navy) !important;
    }

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

    .masthead.sticky
    #mega-menu-wrap-primary #mega-menu-primary
    > li.mega-menu-item:not(.menu-contact)
    > a.mega-menu-link,

    .x-navbar.x-navbar-fixed-top
    #mega-menu-wrap-primary #mega-menu-primary
    > li.mega-menu-item:not(.menu-contact)
    > a.mega-menu-link {
        color: var(--white) !important;
    }

    .masthead.sticky
    #mega-menu-wrap-primary #mega-menu-primary
    > li.mega-menu-item:not(.menu-contact)
    > a.mega-menu-link:hover,

    .masthead.sticky
    #mega-menu-wrap-primary #mega-menu-primary
    > li.mega-current-menu-item:not(.menu-contact)
    > a.mega-menu-link,

    .x-navbar.x-navbar-fixed-top
    #mega-menu-wrap-primary #mega-menu-primary
    > li.mega-menu-item:not(.menu-contact)
    > a.mega-menu-link:hover {
        color: var(--pale-lavender) !important;
    }

    /* Sticky contact button */

    .masthead.sticky
    #mega-menu-wrap-primary #mega-menu-primary
    > li.menu-contact > a.mega-menu-link,

    .x-navbar.x-navbar-fixed-top
    #mega-menu-wrap-primary #mega-menu-primary
    > li.menu-contact > a.mega-menu-link {
        background: var(--white) !important;
        color: var(--navy) !important;
    }

    .masthead.sticky
    #mega-menu-wrap-primary #mega-menu-primary
    > li.menu-contact > a.mega-menu-link::after {
        color: var(--navy) !important;
    }

    .masthead.sticky
    #mega-menu-wrap-primary #mega-menu-primary
    > li.menu-contact > a.mega-menu-link:hover,

    .x-navbar.x-navbar-fixed-top
    #mega-menu-wrap-primary #mega-menu-primary
    > li.menu-contact > a.mega-menu-link:hover {
        background: var(--pale-lavender) !important;
        color: var(--navy) !important;
    }

    /* ------------------------------------------------------
       TABLET
       ------------------------------------------------------ */

    @media (max-width: 1199px) {

        .x-navbar .desktop #mega-menu-primary {
            gap: 16px;
        }

        #mega-menu-wrap-primary #mega-menu-primary
        > li.mega-menu-item > a.mega-menu-link {
            font-size: 14px !important;
        }

        #mega-menu-wrap-primary #mega-menu-primary
        > li.menu-contact {
            margin-left: 5px !important;
        }

        #mega-menu-wrap-primary #mega-menu-primary
        > li.menu-contact > a.mega-menu-link {
            padding: 11px 43px 11px 15px !important;
        }

        #mega-menu-wrap-primary #mega-menu-primary
        > li.menu-contact > a.mega-menu-link::after {
            top: 8px;
            right: 11px;
            font-size: 22px;
        }
    }
}


/* ==========================================================
   MEGA MENU - FULL HEADER WIDTH
   ========================================================== */

@media (min-width: 980px) {

    /* Position relative to the full header */
    .x-navbar .x-container {
        position: relative;
    }

    /* Allow dropdown to extend beyond navigation */
    #mega-menu-wrap-primary,
    #mega-menu-primary,
    #mega-menu-item-65 {
        position: static !important;
    }

    /* Full header width dropdown */
    #mega-menu-wrap-primary
    #mega-menu-primary
    #mega-menu-item-65 > .mega-sub-menu {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        box-sizing: border-box;
    }
}

#mega-sub-menu-65 {

}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu {
    border-radius: 15px!important;
    background-color: rgba(255,255,255,0.9)!important;
}

#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item {
    padding: 30px!important;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item {
    color: var(--navy)!important;
    font-size: 16px!important;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu a {
    color: var(--navy)!important;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu a:hover {
    color: var(--lavender)!important;
}

li.mega-menu-item.mega-menu-item-type-widget.widget_text.mega-menu-item-text-6 li {
    border-bottom: 1px solid var(--navy)!important;
    list-style-type: none!important;
}

#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item {
    line-height: 1.4em!important;
}


/* ==========================================================
   MOBILE NAVIGATION - SUPERFLY ONLY
   ========================================================== */

@media (max-width: 979px) {

    /* Hide Max Mega Menu completely */
    #mega-menu-wrap-primary {
        display: none !important;
    }

    /* Hide X Theme's standard mobile navigation */
    .x-nav-wrap.mobile,
    .x-btn-navbar {
        display: none !important;
    }

}

#x-btn-navbar {
	display: none!important;
}

@media screen and (max-width: 1199px) {
	
	nav.x-nav-wrap.desktop {
		display: none;
	}

}

@media screen and (min-width: 1200px) {
	
	#custom_toggle	{
		display: none;
	}
	
}

#custom_toggle {
	position: absolute;
	right: 10%;
	margin-top: 20px;
	z-index: 9999997!important;
}

#sfm-overlay-wrapper {
	z-index: 9999998!important;
}

#sfm-sidebar {
	z-index: 9999999!important;
}

#custom_toggle:hover {
	cursor: pointer; 
}

#custom_toggle:before {
	content: url(/wp-content/uploads/2026/10/nav-rev.webp)!important;
}

body.headerDark #custom_toggle:before {
	content: url(/wp-content/uploads/2026/10/nav.webp)!important;
}

.sfm-toggle-hover .sfm-sidebar-close {
    display: unset!important;
	position: absolute;
	right: 50px!important;
}

#sfm-sidebar,
.sfm-logo,
.sfm-nav {
	background-color: var(--navy)!important;
}

#sfm-sidebar .sfm-logo img {
	padding-top: 50px!important;
}

#sfm-sidebar .sfm-logo p,
.sfm-widget.sfm-widget-bottom {
	margin: 0!important;
	text-align: center!important;
}

.sfm-widget.sfm-widget-bottom img {
	width: 860px!important;
}

.sfm-style-full #sfm-sidebar .sfm-logo {
	background-color: var(--navy)!important;
	padding: 0!important;
}

.sfm-style-full #sfm-sidebar .sfm-fs-bottom-box>*, .sfm-style-full #sfm-sidebar .sfm-logo>*, .sfm-style-full #sfm-sidebar .sfm-nav>* {
    transform: none;
    -webkit-transition: none;
    transition: none;
	background-color: var(--navy)!important;
}

ul.sfm-menu-level-0.sfm-menu li a {
	color: var(--white)!important;
	font-family: "arboria", sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    font-style: normal!important;
	letter-spacing: 0!important;
    padding: 10px 0!important;
}

ul.sfm-menu-level-0.sfm-menu li a:hover {
	color: var(--lavender)!important;
}

ul.sfm-child-menu.sfm-menu-level-1 li a {
	font-size: 1.4em!important;
}

/***************************************************************/
/************************* CONTENT SECTIONS *************************/
/***************************************************************/

.section {
    position: relative;
}


/***************************************************************/
/************************* PAGE BANNERS *************************/
/***************************************************************/

/*
 * Generic internal page hero.
 *
 * WPBakery row class:
 * pageBanner
 *
 * Background image is set directly on the WPBakery row.
 *
 * Text content contains only:
 * h1
 * p
 * span.accent
 */

.pageBanner {
    position: relative;
    width: 100%;
    min-height: 100vh;
    margin: 0;
    padding: 0;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: cover !important;
    overflow: hidden;
}

/* container */

.pageBanner > .x-container {
    position: relative;
    width: 88%!important;
    max-width: 1400px !important;
    min-height: 100vh;
    margin: 0 auto !important;
}

/* content column */

.pageBanner .x-column {
    position: absolute;
    bottom: 10vh;
    left: 0;
    float: none !important;
    width: 48% !important;
    max-width: 700px;
    margin: 0 !important;
    padding: 0 !important;
}

/* heading */

.pageBanner h1 {
    margin: 0 0 30px;
    color: var(--deep-blue);
    font-family: "Ostra Centra", sans-serif;
    font-size: clamp(72px, 6.5vw, 108px);
    font-weight: 400;
    line-height: 1;
}

/* heading accent */


.pageBanner h1 .accent {
    color: var(--pale-lavender);
}

.homeIntro h2 .accent {
    color: var(--pale-lavender);
}

h2 .accent {
    color: var(--lavender);
}

/* intro copy */

.pageBanner .x-column > p {
    max-width: 650px;
    margin: 0;
    color: var(--deep-blue);
    font-family: "arboria", sans-serif;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.32;
}

/* tablet */

@media (max-width: 1199px) {

    .pageBanner > .x-container {
       width: 88%!important;!important;
    }

    .pageBanner .x-column {
        bottom: 8vh;
        width: 48% !important;
    }

    .pageBanner h1 {
        margin-bottom: 35px;
        font-size: clamp(60px, 7vw, 88px);
    }

    .pageBanner .x-column > p {
        font-size: 21px;
    }

}

/* mobile */

@media (max-width: 767px) {

    .pageBanner {
        min-height: 100svh;
    }

    .pageBanner > .x-container {
        width: 88%!important;
        min-height: 100svh;
    }

    .pageBanner .x-column {
        right: 0;
        top: 140px;
        left: 0;
        width: 100% !important;
        max-width: 480px;
    }

    .pageBanner h1 {
        margin-bottom: 20px;
        font-size: clamp(52px, 14vw, 72px);
        line-height: .92;
    }

    .pageBanner .x-column > p {
        max-width: 90%;
        font-size: 19px;
        line-height: 1.35;
    }

}

/***************************************************************/
/********************** SHALLOW PAGE BANNER ********************/
/***************************************************************/

/*
 * WPBakery row classes:
 * pageBanner shallow
 */

.pageBanner.shallow {
    min-height: 55vh;
}

.pageBanner.shallow > .x-container {
    min-height: 55vh;
}

.pageBanner.shallow .x-column {
    bottom: 6vh;
}

.pageBanner.shallow h1 {
    font-size: clamp(56px, 5vw, 82px);
    margin-bottom: 20px;
}

.pageBanner.shallow .x-column > p {
    font-size: 21px;
}

/* tablet */

@media (max-width: 1199px) {

    .pageBanner.shallow,
    .pageBanner.shallow > .x-container {
        min-height: 50vh;
    }

    .pageBanner.shallow .x-column {
        bottom: 5vh;
    }

    .pageBanner.shallow h1 {
        font-size: clamp(52px, 6vw, 72px);
    }

}

/* mobile */

@media (max-width: 767px) {

    .pageBanner.shallow,
    .pageBanner.shallow > .x-container {
        min-height: 50svh;
    }

    .pageBanner.shallow .x-column {
        bottom: 35px;
    }

    .pageBanner.shallow h1 {
        font-size: clamp(42px, 11vw, 60px);
        margin-bottom: 20px;
    }

    .pageBanner.shallow .x-column > p {
        font-size: 18px;
    }

}


/***************************************************************/
/************************* HOMEPAGE HERO *************************/
/***************************************************************/

.homeHero {
    position: relative;
    min-height: 100vh;
    overflow: hidden;
    background: var(--navy);
    color: var(--white);
}

.homeHeroSlider {
    position: relative;
    min-height: 100vh;
}

.homeHeroSlide {
    position: absolute;
    inset: 0;
    z-index: 1;
    min-height: 100vh;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    background-image: var(--desktop-bg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transition: opacity 1s ease, visibility 1s ease;
}

.homeHeroSlide.active {
    z-index: 2;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.homeHeroSlideInner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(400px, .85fr);
    align-items: center;
    gap: 70px;
    width: 100%;
    max-width: none;
    min-height: 100vh;
    margin: 0;
    padding: 155px 0 95px;
}

.homeHeroCopy {
    align-self: end;
    width: 100%;
    max-width: 780px;
    margin-left: max(60px, calc((100vw - 1440px) / 2));
    padding-bottom: 80px;
}

.homeHeroTitle {
    margin: 0 0 30px;
    color: var(--white);
    font-size: clamp(60px, 5.5vw, 100px);
    line-height: 1.1;
}

.homeHeroTitle .accent {
    color: var(--pale-lavender);
}

.homeHeroIntro {
    max-width: 680px;
    font-size: 25px;
    line-height: 1.25;
}

.homeHeroIntro p {
    margin: 0;
    font-weight: 600;
}

/* image */

.homeHeroImage {
    position: absolute;
    right: 0;
    bottom: 0;
    width: min(46vw, 720px);
    aspect-ratio: 1 / 1;
    margin: 0;
    padding: 0;
}

.homeHeroImage img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    object-fit: contain;
}

/* slider navigation */

.homeHeroDots {
    position: absolute;
    bottom: 50px;
    left: 50%;
    z-index: 10;
    display: flex;
    gap: 18px;
    transform: translateX(-50%);
}

.homeHeroDots button {
    display: block;
    width: 58px;
    height: 8px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: var(--pale-lavender);
    box-shadow: none;
    cursor: pointer;
    appearance: none;
    transition: background .2s ease;
}

.homeHeroDots button:hover,
.homeHeroDots button:focus {
    background: var(--white);
    outline: none;
}

.homeHeroDots button.active {
    background: var(--white);
}

/* tablet */

@media (max-width: 1199px) {
    .homeHeroSlideInner {
        grid-template-columns: minmax(0, 1fr) minmax(340px, .85fr);
        gap: 40px;
    }

    .homeHeroCopy {
        max-width: 55%;
        margin-left: 35px;
    }

    .homeHeroTitle {
        font-size: clamp(55px, 6vw, 82px);
    }

    .homeHeroIntro {
        font-size: 22px;
    }

    .homeHeroImage {
        width: 43%;
        height: calc(100% - 140px);
    }
}

/* mobile */

@media (max-width: 767px) {
    .homeHero,
    .homeHeroSlider,
    .homeHeroSlide {
        min-height: 100svh;
    }

    .homeHeroSlide {
        background-image: var(--mobile-bg);
        background-position: center;
        background-size: cover;
    }

    .homeHeroImage {
        display: none;
    }

    .homeHeroSlideInner {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        gap: 0;
        width: 100%;
        min-height: 100svh;
        padding: 125px 0 0;
    }

    .homeHeroCopy {
        align-self: auto;
        width: auto;
        max-width: none;
        margin: 0 20px;
        padding: 0;
    }

    .homeHeroTitle {
        margin: 0 0 20px;
        font-size: clamp(50px, 13vw, 50px);
        line-height: .94;
    }

    .homeHeroIntro {
        max-width: none;
        font-size: 18px;
        line-height: 1.3;
    }

    .homeHeroImage {
        display: none;
    }

    .homeHeroDots {
        bottom: 32px;
        gap: 14px;
    }

    .homeHeroDots button {
        width: 43px;
        height: 6px;
    }
}

/* reduced motion */

@media (prefers-reduced-motion: reduce) {
    .homeHeroSlide {
        transition: none;
    }
}



/***************************************************************/
/************************* HOMEPAGE INTRO + REVERSED STANDARD CONTENT *************************/
/***************************************************************/

.homeIntro {
    background: var(--navy);
    color: var(--white);
    text-align: center;
}

.contentRev {
    background: var(--navy);
    color: var(--white);
    text-align: left;
}

.homeIntro h1,
.contentRev h1,
.homeIntro h2,
.contentRev h2 {
    max-width: 1000px;
    margin: 0 auto 25px;
    color: var(--white)!important;
}

.homeIntro h2 .accent,
.contentRev h2 .accent {
    color: var(--lavender)!important;
}

.contentRev.contentL h1,
.contentRev.contentL h2 {
    margin: 0 0 25px 0;
}

.homeIntro p,
.contentRev p {
    max-width: 1100px;
    margin-right: auto;
    margin-left: auto;
    font-size: 22px;
}

.contentRev.contentL p {
    margin: 0 0 20px 0;
}

.homeIntro a,
.contentRev a {
    color: var(--white);
}

.homeIntro a:hover,
.contentRev a:hover {
    color: var(--lavender);
}

/* mobile */

@media (max-width: 767px) {

    .homeIntro {
        text-align: left;
    }

    .homeIntro p,
    .contentRev p {
        font-size: 19px;
    }

}

/***************************************************************/
/************************* HOMEPAGE ACCORDION *************************/
/***************************************************************/

.homeAccordion {
    width: 100%;
    padding-top: 120px;
}

/* tablet */

@media (max-width: 1199px) {

    .homeAccordion {
        padding-top: 90px;
    }

}


/* mobile */

@media (max-width: 767px) {

    .homeAccordion {
        padding-top: 65px;
    }

}

.homeAccordionItem {
    position: relative;
    margin: 0 0 10px;
    overflow: hidden;
    border-radius: 6px;
    background: var(--light-grey);
}

.homeAccordionItem:last-child {
    margin-bottom: 0;
}


/* accordion title */

.homeAccordionTitle {
    position: relative;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 145px;
    margin: 0;
    padding: 30px 55px 20px 50px;
    border: 0;
    border-radius: 0;
    background: var(--electric-blue);
    box-shadow: none;
    text-align: left;
    cursor: pointer;
    appearance: none;
}

.homeAccordionItem:nth-child(2) .homeAccordionTitle {
    background: var(--pale-lavender);
}

.homeAccordionItem:nth-child(3) .homeAccordionTitle {
    background: var(--lavender);
}

.homeAccordionTitle h3 {
    width: 760px;
    max-width: calc(100% - 100px);
    margin: 0;
    padding: 0;
    color: var(--navy);
    font-family: "Ostra Centra", sans-serif;
    font-size: clamp(42px, 3.6vw, 58px);
    font-weight: 400;
    line-height: .98;
}

.homeAccordionTitle h3 .accent {
    color: var(--white);
}


/* plus / minus */

.homeAccordionIcon {
    position: relative;
    flex: 0 0 54px;
    width: 54px;
    height: 54px;
    margin-left: 30px;
}

.homeAccordionIcon::before,
.homeAccordionIcon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 52px;
    height: 5px;
    background: var(--white);
    transform: translate(-50%, -50%);
    transition: transform .25s ease, opacity .25s ease;
}

.homeAccordionIcon::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.homeAccordionItem.active .homeAccordionIcon::after {
    opacity: 0;
}


/* open panel */

.homeAccordionContent {
    position: relative;
    display: block;
    max-height: 0;
    min-height: 0;
    opacity: 0;
    overflow: hidden;
    background: #f3f3f4;
    transition: max-height 0.5s ease, opacity 0.5s ease;
}

.homeAccordionItem.active .homeAccordionContent {
    max-height: 1000px;
    min-height: 470px;
    opacity: 1;
}

/* background image */

.homeAccordionImage {
    position: absolute;
    z-index: 1;
    inset: 0;
    width: 100%;
    height: 100%;
}

.homeAccordionImage img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.homeAccordionImage picture {
    display: block;
    width: 100%;
    height: 100%;
}


/* pale fade over image */

.homeAccordionContent::after {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(
        90deg,
        rgba(245, 245, 247, 1) 0%,
        rgba(245, 245, 247, .98) 24%,
        rgba(245, 245, 247, .88) 37%,
        rgba(245, 245, 247, .42) 52%,
        rgba(245, 245, 247, 0) 68%
    );
}


/* copy */

.homeAccordionCopy {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 50%;
    min-height: 470px;

    /* same 70px left edge as heading */
    padding: 30px 30px 40px 50px;

    text-align: left;
}

.homeAccordionCopy p {
    width: 100%;
    max-width: 520px;
    margin: 0;
    color: var(--navy);
    font-size: 21px;
    line-height: 1.4;
}


/* accordion button */

.homeAccordionCopy .emblation-btn {
    position: relative;
    display: flex;
    align-items: flex-end;
    width: 290px;
    min-width: 0;
    height: 100px;
    margin: auto 0 0;
    padding: 18px 55px 16px 18px !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: rgba(210, 214, 220, .76) !important;
    color: var(--navy) !important;
    font-family: "arboria", serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.1;
    text-align: left;
    box-shadow: none !important;
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

.homeAccordionCopy .emblation-btn::after {
    
    position: absolute;
    top: 10px;
    right: 12px;
    margin: 0;
    color: var(--navy);
    font-family: Arial, sans-serif;
    font-size: 30px;
    font-weight: 300;
    line-height: 1;
}

.homeAccordionCopy .emblation-btn:hover {
    background: rgba(225, 228, 232, .9) !important;
    color: var(--navy) !important;
}


/* tablet */

@media (max-width: 1199px) {

    .homeAccordionTitle {
        min-height: 130px;
        padding: 22px 40px 22px 45px;
    }

    .homeAccordionTitle h3 {
        width: 650px;
        font-size: clamp(39px, 4.3vw, 52px);
    }

    .homeAccordionIcon {
        flex-basis: 48px;
        width: 48px;
        height: 48px;
    }

    .homeAccordionIcon::before,
    .homeAccordionIcon::after {
        width: 44px;
        height: 5px;
    }

    .homeAccordionContent,
    .homeAccordionCopy {
        min-height: 430px;
    }

    .homeAccordionCopy {
        width: 54%;
        padding: 42px 30px 28px 45px;
    }

    .homeAccordionCopy p {
        font-size: 19px;
    }

}



/* mobile */
@media (max-width: 767px) {
    .homeAccordionItem {
        margin-bottom: 10px;
        border-radius: 10px;
    }
    .homeAccordionTitle {
        min-height: 128px;
        padding: 20px 27px 20px 19px;
        border-radius: 10px;
    }
    .homeAccordionItem.active .homeAccordionTitle {
        border-radius: 10px 10px 0 0;
    }
    .homeAccordionTitle h3 {
        width: auto;
        max-width: calc(100% - 75px);
        font-size: clamp(36px, 9.5vw, 46px);
        line-height: 1.02;
    }
    .homeAccordionIcon {
        flex: 0 0 52px;
        width: 52px;
        height: 52px;
        margin-left: 15px;
    }
    .homeAccordionIcon::before,
    .homeAccordionIcon::after {
        width: 52px;
        height: 5px;
    }
    .homeAccordionContent {
        min-height: 0;
    }
    .homeAccordionItem.active .homeAccordionContent {
        min-height: 410px;
    }
    .homeAccordionImage picture {
        display: block;
        width: 100%;
        height: 100%;
    }
    .homeAccordionImage picture img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
    }
    .homeAccordionContent::after {
        background: linear-gradient(
            135deg,
            rgba(245, 245, 247, .98) 0%,
            rgba(245, 245, 247, .9) 25%,
            rgba(245, 245, 247, .38) 49%,
            rgba(245, 245, 247, 0) 70%
        );
    }
    .homeAccordionCopy {
        width: 100%;
        min-height: 500px;
        padding: 30px 18px 24px 19px;
    }
    .homeAccordionCopy p {
        width: 100%;
        max-width: unset;
        margin: 0;
        font-size: 17px;
        line-height: 1.45;
    }

    .homeAccordionCopy .emblation-btn {
        position: relative;
        display: unset;
        align-items: unset;
        width: 248px;
        height: 74px;
        margin-top: 20px;
        padding: 15px 48px 12px 12px !important;
        font-size: 16px;
    }

    .homeAccordionCopy .emblation-btn::after {
        top: 8px;
        right: 10px;
        font-size: 27px;
    }


}



/***************************************************************/
/******************** X THEME ACCORDION ************************/
/***************************************************************/

.x-accordion {
    margin: 10px 0 60px !important;
    padding-top: 30px;
    border-top: 1px solid var(--lavender)!important;
}

/* Remove default X Theme styling */
.x-accordion .x-accordion-group,
.x-accordion .x-accordion-heading,
.x-accordion .x-accordion-inner {
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Accordion groups */
.x-accordion .x-accordion-group {
    margin-bottom: 10px !important;
    background: transparent !important;
}

/* Headings */
.x-accordion .x-accordion-toggle {
    position: relative;
    display: flex !important;
    align-items: center;
    min-height: 78px;
    padding: 18px 85px 18px 55px !important;
    color: var(--lavender) !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    background: var(--light-grey) !important;
    box-shadow: none !important;
    transition: background .25s ease, color .25s ease;
}

/* Hover */
.x-accordion .x-accordion-toggle:hover {
    background: var(--pale-lavender) !important;
}

/* Expanded heading */
.x-accordion .x-accordion-toggle:not(.collapsed) {
    color: #fff !important;
    background: var(--pale-lavender) !important;
}

/* Hide original X Theme icon */
.x-accordion .x-shortcode-accordion-icon {
    display: none !important;
}

/* Custom plus / cross */
.x-accordion .x-accordion-toggle::before,
.x-accordion .x-accordion-toggle::after {
    content: "";
    position: absolute;
    top: 51%;
    background: var(--lavender);
    transform: translateY(-50%);
    transition: transform .25s ease, background .25s ease;
    pointer-events: none;
}

/* Horizontal line */
.x-accordion .x-accordion-toggle::before {
    left: 25px;
    width: 16px;
    height: 2px;
}

/* Vertical line */
.x-accordion .x-accordion-toggle::after {
    left: 32px;
    width: 2px;
    height: 16px;
}

/* Expanded: plus becomes cross */
.x-accordion .x-accordion-toggle:not(.collapsed)::before,
.x-accordion .x-accordion-toggle:not(.collapsed)::after {
    background: #fff;
}

/* Rotate plus into cross */
.x-accordion .x-accordion-toggle:not(.collapsed)::before {
    transform: translateY(-50%) rotate(45deg);
}

.x-accordion .x-accordion-toggle:not(.collapsed)::after {
    transform: translateY(-50%) rotate(45deg);
}

/* Accordion content */
.x-accordion .x-accordion-inner {
    padding: 15px 35px 30px !important;
    background: #fff !important;
    font-size: inherit;
    border: 1px solid var(--light-grey)!important;
}

/* Lists inside accordion */
.x-accordion .x-accordion-inner ul {
    margin: 0 0 20px 0;
    padding-left: 0;
    list-style-position: outside;
}

.x-accordion .x-accordion-inner li {
    margin: 0 0 12px 0;
    padding-left: 0;
}

/* Remove unnecessary bottom spacing */
.x-accordion .x-accordion-inner > *:last-child {
    margin-bottom: 0 !important;
}

/* Mobile */
@media (max-width: 767px) {

    .x-accordion .x-accordion-toggle {
        min-height: 65px;
        padding: 15px 20px 15px 55px !important;
        font-size: 24px !important;
    }

    .x-accordion .x-accordion-toggle::before {
        left: 18px;
        width: 20px;
        height: 3px;
    }

    .x-accordion .x-accordion-toggle::after {
        left: 26.5px;
        width: 3px;
        height: 20px;
    }

    .x-accordion .x-accordion-inner {
        padding: 15px 20px 25px !important;
    }
}


/***************************************************************/
/************************* IMAGE / COPY SECTIONS *************************/
/***************************************************************/

.imageCopy {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.imageCopy.reverse .imageCopyImage {
    order: 2;
}

.imageCopyImage img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.imageCopyContent {
    display: flex;
    align-items: center;
    padding: 80px;
}

.imageCopyContentInner {
    width: 100%;
    max-width: 620px;
}

.imageCopyContent h2 {
    color: var(--lavender);
}


/* tablet */

@media (max-width: 1199px) {

    .imageCopyContent {
        padding: 55px;
    }

}


/* mobile */

@media (max-width: 767px) {

    .imageCopy,
    .imageCopy.reverse {
        display: flex;
        flex-direction: column;
    }

    .imageCopy.reverse .imageCopyImage {
        order: 0;
    }

    .imageCopyImage {
        min-height: 320px;
    }

    .imageCopyContent {
        padding: 45px 20px;
    }

}


/***************************************************************/
/************************* IMAGE FEATURE PANELS *************************/
/***************************************************************/

/*
 * Generic full-width image feature rows.
 *
 * WPBakery row classes:
 *
 * rowFeatureTextR = text panel on right
 * rowFeatureTextL = text panel on left
 *
 * Set the background image directly on the WPBakery row.
 */


.rowFeatureTextR,
.rowFeatureTextL {
    position: relative;
    min-height: 700px;

    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: cover !important;

    overflow: hidden;
}


/* remove normal X container restriction */

.rowFeatureTextR > .x-container,
.rowFeatureTextL > .x-container {
    position: relative;

    width: 100% !important;
    max-width: none !important;
    min-height: 700px;

    margin: 0 !important;
}


/* content panel */

.rowFeatureTextR .x-column,
.rowFeatureTextL .x-column {
    position: absolute;
    top: 50%;
    float: none !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 38px 36px 28px !important;
    border-radius: 12px;
    background: rgba(245, 247, 249, .88);
    color: var(--navy);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    transform: translateY(-50%);
}

.rowFeatureTextR.noBox .x-column,
.rowFeatureTextL.noBox .x-column {
    background: transparent;
    color: var(--white)!important;
}

@media (max-width: 767px) {

    body.page-id-52 #x-content-band-15.rowFeatureTextL.noBox .x-column {
        background: var(--navy);
        border-radius: 0;
    }

}

@media (min-width: 768px) {

    .x-content-band.vc.mobile {
       display: none;
    }

}

/* panel right */

.rowFeatureTextR .x-column {
    left: 50vw;
    right: 8vw;
}


/* panel left */

.rowFeatureTextL .x-column {
    left: 8vw;
    right: 50vw;
}


/* headings */

.rowFeatureTextR h2,
.rowFeatureTextL h2 {
    margin: 0 0 22px;
    color: var(--navy);
    font-family: "Ostra Centra", sans-serif;
    font-size: 42px;
    font-weight: 400;
    line-height: 1.02;
}

.rowFeatureTextR.noBox h2,
.rowFeatureTextL.noBox h2 {
    color: var(--white)!important;
}

/* heading accent */

.rowFeatureTextR h2 .accent,
.rowFeatureTextL h2 .accent {
    color: var(--lavender);
}


/* body copy */

.rowFeatureTextR .x-column > p,
.rowFeatureTextL .x-column > p {
    margin: 0 0 26px;
    color: var(--navy);
    font-size: 20px;
    line-height: 1.42;
}

.rowFeatureTextR.noBox .x-column > p,
.rowFeatureTextL.noBox .x-column > p {
    color: var(--white)!important;
}

.rowFeatureTextR strong,
.rowFeatureTextL strong {
    font-weight: 700;
}

.rowFeatureTextR .x-column > p a,
.rowFeatureTextL .x-column > p a {
    color: var(--pale-lavender);
}

.rowFeatureTextR .x-column > p a:hover,
.rowFeatureTextL .x-column > p a:hover {
    color: var(--electric-blue);
}

/* remove paragraph spacing around button */

.rowFeatureTextR .x-column > p:last-child,
.rowFeatureTextL .x-column > p:last-child {
    margin: 0;
}


/* feature button */

.rowFeatureTextR a.homeFeatureButton,
.rowFeatureTextL a.homeFeatureButton,
.rowLAlign a.homeFeatureButton {
    position: relative;
    display: flex !important;
    align-items: flex-end !important;
    width: 250px;
    height: 92px;
    margin: 0 !important;
    padding: 16px 55px 14px 14px !important;
    border: 0 !important;
    border-radius: 6px !important;
    outline: 0 !important;
    background: var(--lavender) !important;
    color: var(--white) !important;
    font-family: "arboria", sans-serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    font-style: normal;
    line-height: 1.15 !important;
    text-align: left !important;
    text-decoration: none !important;
    text-transform: none !important;
    box-shadow: none !important;
    opacity: 1;
    transition: background .2s ease;
}

/* remove the unwanted first BR inserted by WP */

.rowFeatureTextR a.homeFeatureButton > br:first-child,
.rowFeatureTextL a.homeFeatureButton > br:first-child {
    display: none;
}

/* button arrow */

.rowFeatureTextR a.homeFeatureButton::after,
.rowFeatureTextL a.homeFeatureButton::after {
    position: absolute;
    top: 10px;
    right: 12px;
    margin: 0;
    color: var(--white) !important;
    font-family: Arial, sans-serif !important;
    font-size: 29px;
    font-weight: 300;
    line-height: 1;
}

/* button hover */

.rowFeatureTextR a.homeFeatureButton:hover,
.rowFeatureTextR a.homeFeatureButton:focus,
.rowFeatureTextL a.homeFeatureButton:hover,
.rowFeatureTextL a.homeFeatureButton:focus,
.rowLAlign a.homeFeatureButton:hover,
.rowLAlign a.homeFeatureButton:focus {
    background: var(--pale-lavender) !important;
    color: var(--navy) !important;
}

.rowFeatureTextR a.homeFeatureButton:hover::after,
.rowFeatureTextR a.homeFeatureButton:focus::after,
.rowFeatureTextL a.homeFeatureButton:hover::after,
.rowFeatureTextL a.homeFeatureButton:focus::after,
.rowLAlign a.homeFeatureButton:hover::after,
.rowLAlign a.homeFeatureButton:focus::after {
    color: var(--navy) !important;
}

/* tablet */

@media (max-width: 1199px) {

    .rowFeatureTextR,
    .rowFeatureTextL,
    .rowFeatureTextR > .x-container,
    .rowFeatureTextL > .x-container {
        min-height: 620px;
    }

    .rowFeatureTextR .x-column,
    .rowFeatureTextL .x-column {
        padding: 32px 30px 26px !important;
    }

    .rowFeatureTextR .x-column {
        left: 50vw;
        right: 6vw;
    }

    .rowFeatureTextL .x-column {
        left: 6vw;
        right: 50vw;
    }

    .rowFeatureTextR h2,
    .rowFeatureTextL h2 {
        font-size: 38px;
    }

    .rowFeatureTextR .x-column > p,
    .rowFeatureTextL .x-column > p {
        font-size: 18px;
    }

}

/* mobile */

@media (max-width: 767px) {

    .rowFeatureTextR,
    .rowFeatureTextL,
    .rowFeatureTextR > .x-container,
    .rowFeatureTextL > .x-container {
        min-height: 650px;
    }

    .rowFeatureTextR,
    .rowFeatureTextL {
        background-position: center center !important;
    }

    .rowFeatureTextR .x-column,
    .rowFeatureTextL .x-column {
        position: relative!important;
        display: block!important;
        top: 0!important;
        right: 0!important;
        bottom: 0!important;
        left: 0!important;
        width: auto !important;
        max-width: none !important;
        padding: 0 24px 30px 24px !important;
        border-radius: 10px;
        background: rgba(245, 247, 249, .88);
        transform: none;
    }

    .rowFeatureTextR h2,
    .rowFeatureTextL h2 {
        margin-bottom: 18px;
        font-size: 36px;
        line-height: 1.02;
    }

    .rowFeatureTextR .x-column > p,
    .rowFeatureTextL .x-column > p {
        margin-bottom: 20px;
        font-size: 18px;
        line-height: 1.4;
    }

    .rowFeatureTextR .x-column > p:last-child,
    .rowFeatureTextL .x-column > p:last-child {
        margin-bottom: 0;
    }

    .rowFeatureTextR a.homeFeatureButton,
    .rowFeatureTextL a.homeFeatureButton {
        width: 245px;
        height: 82px;
        padding: 14px 50px 12px 13px !important;
        font-size: 17px !important;
    }

    .rowFeatureTextR a.homeFeatureButton::after,
    .rowFeatureTextL a.homeFeatureButton::after {
        top: 9px;
        right: 11px;
        font-size: 27px;
    }

}

/***************************************************************/
/************************* FEATURE TEXT ROWS - MOBILE IMAGE **************************/
/***************************************************************/

@media (max-width: 767px) {

    /* Remove the desktop background image */
    .rowFeatureTextR,
    .rowFeatureTextL {
        background-image: none !important;
    }

    /* Remove inherited spacing around the mobile image */
    .rowFeatureTextR .mobile,
    .rowFeatureTextL .mobile {
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 0 !important;
        overflow: visible !important;
        background: none !important;
    }

    /* Reset the nested WPBakery containers and columns */
    .rowFeatureTextR .mobile > .x-container,
    .rowFeatureTextL .mobile > .x-container,
    .rowFeatureTextR .mobile > .x-container > .x-column,
    .rowFeatureTextL .mobile > .x-container > .x-column {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
        border-radius: 0 !important;
    }

    /* Remove paragraph spacing around image */
    .rowFeatureTextR .mobile p,
    .rowFeatureTextL .mobile p {
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Full-width image with no curves */
    .rowFeatureTextR .mobile img,
    .rowFeatureTextL .mobile img {
        display: block;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 0 !important;
    }

    /* Remove desktop background and outer spacing */
    .rowFeatureTextR,
    .rowFeatureTextL {
        background-image: none !important;
    }

    /* Allow the mobile image to extend beyond text padding */
    .rowFeatureTextR > .x-container,
    .rowFeatureTextL > .x-container,
    .rowFeatureTextR > .x-container > .x-column,
    .rowFeatureTextL > .x-container > .x-column {
        overflow: visible !important;
    }

    /* Reset mobile image Content Band */
    .rowFeatureTextR .mobile,
    .rowFeatureTextL .mobile {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        transform: none !important;
        float: none !important;
        clear: both !important;
        width: 100vw !important;
        max-width: none !important;
        margin: 0 0 25px calc(50% - 50vw) !important;
        padding: 0 !important;
        background: none !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    /* Reset nested containers and columns */
    .rowFeatureTextR .mobile .x-container,
    .rowFeatureTextL .mobile .x-container,
    .rowFeatureTextR .mobile .x-column,
    .rowFeatureTextL .mobile .x-column {
        position: static !important;
        width: 100% !important;
        max-width: none !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
        transform: none !important;
        background: none !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    /* Remove paragraph spacing */
    .rowFeatureTextR .mobile p,
    .rowFeatureTextL .mobile p {
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Show entire image, full width, without cropping */
    .rowFeatureTextR .mobile img,
    .rowFeatureTextL .mobile img {
        display: block !important;
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
        object-fit: contain !important;
        object-position: center center !important;
        transform: none !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        clip-path: none !important;
    }

}

/***************************************************************/
/************************* MISC LAYOUT **************************/
/***************************************************************/

.rowLAlign {
    text-align: left!important;
}

/***************************************************************/
/************************* NEWS POSTS **************************/
/***************************************************************/

/* slider */

.newsSlider {
    position: relative;
    width: 100%;
}

.newsSliderViewport {
    width: 100%;
    overflow: hidden;
}

.newsSliderTrack {
    display: flex;
    align-items: stretch;
    gap: 24px;
    width: max-content;
    cursor: grab;
    user-select: none;
    touch-action: pan-y;
    will-change: transform;
}

.newsSliderTrack:active {
    cursor: grabbing;
}

.newsSlider .newsCard {
    flex: 0 0 auto;
}

/* card */

.newsCard {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 6px solid var(--light-grey);
    border-radius: 12px;
    background: var(--light-grey);
    box-sizing: border-box;
}

.newsCardImage {
    display: block;
    overflow: hidden;
    width: 100%;
    height: 280px;
    border-radius: 7px;
}

.newsCardImage img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    object-fit: cover;
}

.newsCardContent {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 14px 0 0;
}

.newsCard h3 {
    margin: 0;
    padding: 0 8px 30px;
    color: var(--navy)!important;
    font-family: "arboria", sans-serif!important;
    font-size: 22px;
    font-weight: 500!important;
    line-height: 1.4;
}

.newsCard h3 a {
    color: inherit !important;
    text-decoration: none !important;
}

.newsCardButton {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 54px;
    margin-top: auto;
    padding: 7px 48px 7px 14px;
    border-radius: 6px;
    background: var(--lavender);
    color: var(--white) !important;
    font-family: "arboria", sans-serif;
    font-size: 21px;
    font-weight: 400;
    line-height: 1.1;
    text-decoration: none !important;
    box-sizing: border-box;
}

.newsCardButton::after {
    
    position: absolute;
    top: 7px;
    right: 10px;
    color: inherit;
    font-family: Arial, sans-serif;
    font-size: 31px;
    font-weight: 300;
    line-height: 1;
}

.newsCardButton:hover,
.newsCardButton:focus {
    background: var(--pale-lavender);
    color: var(--navy) !important;
}

/* slider navigation */

.newsSliderNav {
    display: flex;
    justify-content: center;
    gap: 23px;
    margin-top: 36px;
}

.newsSliderBar {
    display: block;
    width: 55px;
    height: 7px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    outline: 0;
    background: var(--pale-lavender);
    box-shadow: none;
    cursor: pointer;
    appearance: none;
}

.newsSliderBar:hover,
.newsSliderBar:focus {
    background: var(--white);
}

.newsSliderBar:disabled {
    background: var(--white);
    cursor: default;
    opacity: 1;
}

body.page-id-52 .newsSliderBar:disabled {
    background: var(--mid-grey);
}

body.page-id-52 .newsSliderBar:hover,
body.page-id-52 .newsSliderBar:focus {
    background: var(--lavender);
}

/* view all */

.newsSliderViewAll {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.newsSliderViewAll a {
    position: relative;
    display: flex;
    align-items: flex-end;
    width: 330px;
    min-height: 90px;
    padding: 18px 55px 10px 14px;
    border-radius: 7px;
    background: var(--light-grey);
    color: var(--navy) !important;
    font-family: "arboria", sans-serif;
    font-size: 21px;
    font-weight: 400;
    line-height: 1.1;
    text-decoration: none !important;
    box-sizing: border-box;
}

.newsSliderViewAll a::after {

    position: absolute;
    top: 10px;
    right: 13px;
    color: var(--navy);
    font-family: Arial, sans-serif;
    font-size: 31px;
    font-weight: 300;
    line-height: 1;
}

.newsSliderViewAll a:hover,
.newsSliderViewAll a:focus {
    background: var(--pale-lavender);
}

/* grid */

.newsGrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 35px 24px;
}

.newsGrid .newsCard {
    width: 100%;
}

/* pagination */
.newsPagination {
    margin-top: 55px;
}
.newsPagination ul {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.newsPagination li {
    margin: 0;
    padding: 0;
}
.newsPagination a,
.newsPagination span,
.newsPagination button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    height: 48px;
    padding: 0 12px;
    border: 1px solid var(--navy);
    border-radius: 50%;
    background: transparent;
    color: var(--navy);
    font-family: "arboria", sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
    text-decoration: none !important;
    box-sizing: border-box;
    cursor: pointer;
}
.newsPagination .current,
.newsPagination a:hover,
.newsPagination a:focus,
.newsPagination button:hover,
.newsPagination button:focus {
    background: var(--lavender);
    color: var(--white);
    border: 1px solid var(--lavender);
}
.newsPagination button:disabled {
    opacity: .3;
    cursor: default;
}
.newsPagination button:disabled:hover {
    background: transparent;
    color: var(--navy);
}
.newsGridItem[hidden] {
    display: none !important;
}

/* tablet */

@media (max-width: 1199px) {

    .newsSliderTrack {
        gap: 20px;
    }

    .newsCardImage {
        height: 260px;
    }

    .newsCard h3 {
        font-size: 20px;
    }

    .newsGrid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 30px 20px;
    }

}

/* mobile */

@media (max-width: 767px) {

    .newsSliderTrack {
        gap: 15px;
    }

    .newsCardImage {
        height: 260px;
    }

    .newsCard h3 {
        padding: 0 8px 25px;
        font-size: 19px;
        line-height: 1.35;
    }

    .newsCardButton {
        min-height: 50px;
        font-size: 19px;
    }

    .newsSliderNav {
        gap: 15px;
        margin-top: 28px;
    }

    .newsSliderBar {
        width: 45px;
        height: 6px;
    }

    .newsSliderViewAll {
        margin-top: 18px;
    }

    .newsSliderViewAll a {
        width: min(100%, 330px);
        min-height: 80px;
        font-size: 19px;
    }

    .newsGrid {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .newsPagination {
        margin-top: 40px;
    }

}

/***************************************************************/
/************************ NEWS FILTERS *************************/
/***************************************************************/

/* Filter controls only. News cards inherit the shared NEWS POSTS styles. */

.newsFilters {
    width: 100%;
}

.newsFiltersRow {
    display: flex;
    align-items: center;
    gap: 25px;
    margin-bottom: 20px;
}

.newsFiltersLabel {
    flex: 0 0 120px;
    color: var(--deep-blue);
    font-family: "arboria", sans-serif;
    font-size: 20px;
    line-height: 1.2;
}

.newsFiltersButtons {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.newsFilterButton,
.newsSortButton {
    min-width: 172px;
    padding: 13px 20px;
    border: 0;
    border-radius: 11px;
    background: var(--lavender);
    color: var(--white);
    font-family: "arboria", sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.1;
    text-align: left;
    cursor: pointer;
    transition: background .2s ease, color .2s ease;
}

.newsFilterButton:hover,
.newsFilterButton.active,
.newsSortButton:hover,
.newsSortButton.active {
    background: var(--deep-blue);
    color: var(--white);
}

/* The existing .newsGrid and .newsCard styles control card layout. */
.newsFilters .newsGrid {
    margin-top: 10px;
    padding-top: 40px;
    /*border-top: 1px solid var(--lavender);*/
}

.newsFilters .newsGridItem {
    min-width: 0;
}

.newsFilters .newsGridItem[hidden],
.newsFilters .newsNoResults[hidden] {
    display: none !important;
}

@keyframes newsFadeUp {
    from { opacity: 0; transform: translateY(25px); }
    to   { opacity: 1; transform: translateY(0); }
}

.newsFilters .newsGridItem.animate {
    animation: newsFadeUp .5s ease-out both;
}

@media (max-width: 1199px) {
    .newsFiltersLabel {
        flex-basis: 100px;
        font-size: 23px;
    }

    .newsFiltersButtons { gap: 12px; }

    .newsFilterButton,
    .newsSortButton {
        min-width: 135px;
        font-size: 17px;
    }
}

@media (max-width: 767px) {
    .newsFiltersRow {
        display: block;
        margin-bottom: 25px;
    }

    .newsFiltersLabel {
        display: block;
        margin-bottom: 12px;
        font-size: 22px;
    }

    .newsFiltersButtons { gap: 10px; }

    .newsFilterButton,
    .newsSortButton {
        min-width: 0;
        padding: 12px 16px;
        font-size: 16px;
    }

    .newsFilters .newsGrid { padding-top: 30px; }
}

@media (prefers-reduced-motion: reduce) {
    .newsFilters .newsGridItem.animate { animation: none; }
}

/***************************************************************/
/************************* NEWS DETAILS *************************/
/***************************************************************/

body.single .entry-wrap {
    padding: 0!important;
}

body.single .entry-content {
    margin: 0!important;
    padding: 0!important;
}

.entry-thumb {
    width: 100%;
    aspect-ratio: 16 / 7;
    overflow: hidden;
}

.entry-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 7;
    object-fit: cover;
    object-position: center center;
}

.newsFunctions {
    border-bottom: 1px solid var(--mid-grey);
} 

.newsFunctionsBottom {
    margin-top: 30px;
    border-top: 1px solid var(--mid-grey);
}

.newsFunctions a {
    color: var(--black);
}

a.btnOutline.btnShare {

}

body.single h2 {
    color: var(--lavender)!important;
}

@media (max-width: 768px) {

    body.single h2,
    body.single h3,
    body.single h4,
    body.single p {
        
    }

}

@media (min-width: 768px) and (max-width: 1199px) {

    body.single h2,
    body.single h3,
    body.single h4,
    body.single p {
        padding-right: 15%;
    }

}

@media (min-width: 1200px)  {

    body.single h2,
    body.single h3,
    body.single h4,
    body.single p {
        padding-right: 30%;
    }

}
            
.entry-thumb img {
    border-radius: 0!important;
    border-bottom: 1px solid var(--mid-grey);
    margin: 30px 0 45px 0;
    padding: 0 0 50px 0;
}

p.postDate {

}

h3.postExcerpt {
    font-size: 34px;
    line-height: 1.2em!important;
    color: var(--lavender)!important;
    margin: 0 0 30px 0!important;
}

body.single hr {

}

/***************************************************************/
/************************* SITE CTA *************************/
/***************************************************************/

/* container */

.siteCTA > .x-container {
    /*width: calc(100% - 120px) !important;
    max-width: 1440px !important;*/
    margin-right: auto !important;
    margin-left: auto !important;
}

/* white CTA panel */

.siteCTAInner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    width: 100%;
    min-height: 145px;
    padding: 24px;
    border-radius: 7px;
    background: var(--white)!important;
}

/* heading */

.siteCTA h2 {
    flex: 1;
    margin: 0;
    padding: 0;
    color: var(--lavender)!important;
    font-family: "Ostra Centra", sans-serif;
    font-size: clamp(48px, 4.2vw, 68px);
    font-weight: 400;
    line-height: .98;
}

.siteCTA h2 .accent {
    /*margin-left: .16em;*/
    color: var(--navy)!important;
}

/* CTA button */

.siteCTA .emblation-btn,
a.btnOutline.btnShare {
    position: relative;
    display: flex !important;
    align-items: flex-end !important;
    flex: 0 0 270px;
    width: 270px;
    min-height: 97px;
    margin: 0 !important;
    padding: 16px 55px 15px 16px !important;
    border: 0 !important;
    border-radius: 6px !important;
    outline: 0 !important;
    background: var(--lavender) !important;
    color: var(--white) !important;
    font-family: "arboria", sans-serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.15 !important;
    text-align: left !important;
    text-decoration: none !important;
    text-transform: none !important;
    box-shadow: none !important;
}

a.btnOutline.btnShare {
    background: var(--white) !important;
    color: var(--lavender) !important;
    min-height: unset; 
    border: 1px solid var(--mid-grey)!important;
}

@media (max-width: 767px) {

    a.btnOutline.btnShare {
        margin-top: 20px!important;
    }

}

@media (min-width: 768px) {

    a.btnOutline.btnShare {
        float: right;
        margin: -19px 0 0 0!important;
    }

    .newsFunctionsBottom a.btnOutline.btnShare {
        float: none;
        margin: 0!important;
    }

}

/* reset X Theme inner span */

.siteCTA .emblation-btn span,
.siteCTA .emblation-btn:hover span,
.siteCTA .emblation-btn:focus span {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    color: inherit !important;
    font-family: "arboria", sans-serif !important;
    font-size: inherit !important;
    font-weight: 400 !important;
    line-height: inherit !important;
    box-shadow: none !important;
}

/* button arrow */

.siteCTA .emblation-btn::after { 
    position: absolute;
    top: 10px;
    right: 12px;
    margin: 0;
    color: var(--white) !important;
    font-family: Arial, sans-serif !important;
    font-size: 29px;
    font-weight: 300;
    line-height: 1;
}

a.btnOutline.btnShare::after { 
    color: var(--lavender) !important;
}

/* button hover */

.siteCTA .emblation-btn:hover,
.siteCTA .emblation-btn:focus,
a.btnOutline.btnShare:hover,
a.btnOutline.btnShare:focus {
    border: 0 !important;
    outline: 0 !important;
    background: var(--pale-lavender) !important;
    color: var(--navy) !important;
    box-shadow: none !important;
}

a.btnOutline.btnShare:hover,
a.btnOutline.btnShare:focus {
    border: 1px solid var(--pale-lavender)!important;
}

.siteCTA .emblation-btn:hover::after,
.siteCTA .emblation-btn:focus::after,
a.btnOutline.btnShare:hover::after,
a.btnOutline.btnShare:focus::after {
    color: var(--navy) !important;
}

/* tablet */

@media (max-width: 1199px) {

    .siteCTAInner {
        gap: 30px;
        min-height: 135px;
        padding: 22px;
    }

    .siteCTA h2 {
        font-size: clamp(42px, 4.5vw, 58px);
        display: block;
    }

    .siteCTA .emblation-btn {
        flex-basis: 105px;
        width: 240px;
        min-height: 91px;
    }

}

/* mobile */

@media (max-width: 767px) {

    .siteCTAInner {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 42%;
        align-items: stretch;
        gap: 18px;
        min-height: 140px;
        padding: 20px;
        border-radius: 9px;
    }

    .siteCTA h2 {
        display: block;
        align-self: center;
        font-size: clamp(30px, 8vw, 42px);
        line-height: 1.02;
    }

    .siteCTA h2 .accent {
        margin-left: 0;
    }

    .siteCTA .siteCTAInner {
        display: flex;
        flex-direction: column;
        align-items: stretch;
     }

    .siteCTA .emblation-btn {
        align-self: stretch;
        width: 100%;
        height: 105px;
        min-height: 105px;
        padding: 14px 45px 12px 12px !important;
        font-size: 17px !important;
    }

    .siteCTA .emblation-btn::after {
        top: 9px;
        right: 10px;
        font-size: 27px;
    }

}

/***************************************************************/
/************************* RELATED PANELS *************************/
/***************************************************************/

/*
 * Generic related-content image panels.
 *
 * WPBakery row:
 * rowRelated
 *
 * Each column contains:
 * img
 * a.relatedButton
 *
 * Column widths are controlled entirely in WPBakery,
 * allowing 2, 3 or other column layouts.
 */

.rowRelated {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
}

/* full-width container */

.rowRelated > .x-container {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* panel */

.rowRelated .x-column {
    position: relative;
    float: none !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
}

.rowRelated .x-column.x-1-2 {
    width: 50%;
}

/* image */

.rowRelated .x-column img {
    display: block;
    width: 100%;
    height: 610px;
    margin: 0 !important;
    padding: 0;
    object-fit: cover;
    object-position: center;
    transition: transform .5s ease;
}

/* remove WP paragraph spacing if WP wraps image */

.rowRelated .x-column > p {
    margin: 0;
}

.rowRelated .x-column > p > br {
    display: none;
}

/* button */

.relatedButton,
a.relatedButton {
    position: absolute;
    right: 35%;
    bottom: 60px;
    left: 15%;
    z-index: 2;
    display: flex !important;
    align-items: flex-end;
    min-height: 135px;
    margin: 0 !important;
    padding: 20px 65px 14px 16px !important;
    border: 0 !important;
    border-radius: 7px !important;
    outline: 0 !important;
    background: var(--lavender) !important;
    color: var(--white) !important;
    font-family: "arboria", sans-serif !important;
    font-size: 25px !important;
    font-weight: 400 !important;
    line-height: 1.15 !important;
    text-align: left !important;
    text-decoration: none !important;
    text-transform: none !important;
    box-shadow: none !important;
    transition:
        background .2s ease,
        color .2s ease;
}

/* arrow */

.relatedButton::after,
a.relatedButton::after {
    position: absolute;
    top: 15px;
    right: 16px;
    color: var(--white);
    font-family: Arial, sans-serif;
    font-size: 36px;
    font-weight: 300;
    line-height: 1;
}

/* hover */

.relatedButton:hover,
.relatedButton:focus,
a.relatedButton:hover,
a.relatedButton:focus {
    background: var(--pale-lavender) !important;
    color: var(--navy) !important;
}

.relatedButton:hover::after,
.relatedButton:focus::after,
a.relatedButton:hover::after,
a.relatedButton:focus::after {
    color: var(--navy);
}

/* tablet */

@media (max-width: 1199px) {

    .rowRelated .x-column img {
        height: 520px;
    }

    .relatedButton,
    a.relatedButton {
        right: 15%;
        bottom: 35px;
        left: 10%;
        min-height: 120px;
        padding: 18px 55px 14px 15px !important;
        font-size: 22px !important;
    }

    .relatedButton::after,
    a.relatedButton::after {
        top: 13px;
        right: 14px;
        font-size: 32px;
    }

}

/* mobile */

@media (max-width: 767px) {

    .rowRelated > .x-container {
        display: block !important;
    }

    .rowRelated .x-column {
        width: 100% !important;
    }

    .rowRelated .x-column img {
        height: 430px;
    }

    .relatedButton,
    a.relatedButton {
        right: 15%;
        bottom: 25px;
        left: 8%;
        min-height: 105px;
        padding: 16px 50px 13px 14px !important;
        font-size: 20px !important;
    }

    .relatedButton::after,
    a.relatedButton::after {
        top: 11px;
        right: 12px;
        font-size: 29px;
    }

}

/* remove paragraph wrapper spacing around WPBakery images */

.peopleGrid .personCard > p:first-child,
.peopleGrid .personCard > p:has(img) {
    margin: 0;
    padding: 0;
}


/* person details */

.peopleGrid.rowSwiperPanels .personCard h3 {
    display: block;
    min-height: 0;
    margin: 0;
    padding: 18px 16px 2px;
    background: transparent;
    color: var(--navy);
    font-family: "arboria", sans-serif;
    font-size: 26px;
    font-weight: 600;
    line-height: 1.1;
}

.peopleGrid.rowSwiperPanels .personCard p:not(:has(img)) {
    min-height: 72px;
    margin: 0;
    padding: 4px 16px 20px;
    color: var(--navy);
    font-family: "arboria", sans-serif;
    font-size: 21px;
    font-weight: 400;
    line-height: 1.1;
}


/* override alternating colours from standard panel slider */

.peopleGrid.rowSwiperPanels .personCard:nth-child(even),
.peopleGrid.rowSwiperPanels .personCard:nth-child(even) h3 {
    background: #d8dcdf;
}


/* controls */

.peopleGrid + .swiperControls {
    margin-top: 45px;
}


/* tablet */

@media (max-width: 1199px) {

    .peopleGrid {
        margin-top: 28px;
    }

    .peopleGrid.rowSwiperPanels > .x-container {
        gap: 20px;
    }

    .peopleGrid.rowSwiperPanels .personCard {
        flex-basis: 360px !important;
    }

    .peopleGrid .personCard img,
    .peopleGrid .personCard .imagePlaceholder.portrait {
        height: 330px;
    }

    .peopleGrid.rowSwiperPanels .personCard h3 {
        padding: 17px 15px 2px;
        font-size: 24px;
    }

    .peopleGrid.rowSwiperPanels .personCard p:not(:has(img)) {
        min-height: 68px;
        padding: 4px 15px 18px;
        font-size: 19px;
    }

    .peopleGrid + .swiperControls {
        margin-top: 40px;
    }

}


/* mobile */

@media (max-width: 767px) {

    .peopleGrid {
        margin-top: 24px;
    }

    .peopleGrid.rowSwiperPanels > .x-container {
        gap: 15px;
    }

    .peopleGrid.rowSwiperPanels .personCard {
        flex-basis: 82vw !important;
        border-radius: 10px;
    }

    .peopleGrid .personCard img,
    .peopleGrid .personCard .imagePlaceholder.portrait {
        height: 310px;
    }

    .peopleGrid.rowSwiperPanels .personCard h3 {
        padding: 16px 14px 2px;
        font-size: 23px;
    }

    .peopleGrid.rowSwiperPanels .personCard p:not(:has(img)) {
        min-height: 64px;
        padding: 4px 14px 17px;
        font-size: 18px;
    }

    .peopleGrid + .swiperControls {
        margin-top: 35px;
    }

}


/* ==========================================================
   SECTION TITLE
========================================================== */

.sectionTitle {
    margin: 0;
    color: var(--pale-lavender);
    font-family: "Ostra Centra", sans-serif;
    font-size: clamp(52px, 4.5vw, 72px);
    font-weight: 400;
    line-height: 1;
}

/* tablet */
@media (max-width: 1199px) {

    .sectionTitle {
        font-size: clamp(48px, 5vw, 62px);
    }

}

/* mobile */
@media (max-width: 767px) {

    .sectionTitle {
        font-size: 46px;
    }

}

/* ==========================================================
   SHARED SLIDER STRUCTURE
========================================================== */

.rowSwiperPanels,
.rowSwiperIcons,
.rowSwiperSingle {
    position: relative;
    overflow: hidden;
}

.rowSwiperPanels > .x-container,
.rowSwiperIcons > .x-container,
.rowSwiperSingle > .x-container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: transform .55s ease;
    will-change: transform;
    cursor: grab;
    user-select: none;
    touch-action: pan-y;
}

.rowSwiperPanels > .x-container,
.rowSwiperIcons > .x-container {
    width: max-content !important;
}

.rowSwiperSingle > .x-container {
    width: 100% !important;
}

.rowSwiperPanels > .x-container:active,
.rowSwiperIcons > .x-container:active,
.rowSwiperSingle > .x-container:active {
    cursor: grabbing;
}

.rowSwiperPanels img,
.rowSwiperIcons img,
.rowSwiperSingle img {
    -webkit-user-drag: none;
    user-select: none;
}

.rowSwiperSingle img {
    max-width: 400px;
}

.rowSwiperPanels > .x-container {
    gap: 22px;
}

.rowSwiperIcons > .x-container {
    gap: 30px;
}




/* ==========================================================
   SLIDER CONTROLS
========================================================== */
.swiperControls {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
    width: 100%;
    margin-top: 45px;
}
.rowSwiperSingle .swiperControls {
    margin-top: 55px;
}
.swiperPrev,
.swiperNext {
    position: relative;
    display: block;
    width: 86px;
    height: 86px;
    flex: 0 0 86px;
    margin: 0;
    padding: 0;
    border: 2px solid var(--white);
    border-radius: 50%;
    outline: 0;
    background: transparent;
    color: var(--white);
    box-shadow: none;
    cursor: pointer;
    appearance: none;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}
/* Arrows */
.swiperPrev::before,
.swiperNext::before {
    display: none;
}
.swiperPrev::after,
.swiperNext::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 32px;
    height: 32px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M2 14H26M18 6l8 8-8 8' fill='none' stroke='black' stroke-width='1.25' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M2 14H26M18 6l8 8-8 8' fill='none' stroke='black' stroke-width='1.25' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E") center / contain no-repeat;
    transform: translate(-50%, -50%);
    pointer-events: none;
}
.swiperPrev::after {
    transform: translate(-50%, -50%) rotate(180deg);
}
/* Hover */
.swiperPrev:hover,
.swiperPrev:focus,
.swiperNext:hover,
.swiperNext:focus {
    border-color: var(--white);
    background: var(--white);
    color: var(--navy);
    outline: 0;
    box-shadow: none;
}
/* ==========================================================
   PEOPLE SLIDER NAVIGATION
   Controls belong inside the visible .peopleGrid, not the moving track.
========================================================== */
.peopleGrid.rowSwiperPanels {
    position: relative;
    overflow: hidden;
}
.peopleGrid.rowSwiperPanels > .swiperControls {
    position: relative !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center;
    gap: 30px;
    width: 100% !important;
    max-width: 100% !important;
    margin: 45px 0 0 !important;
    padding: 0;
    left: auto !important;
    right: auto !important;
    transform: none !important;
}
.peopleGrid.rowSwiperPanels > .swiperControls .swiperPrev,
.peopleGrid.rowSwiperPanels > .swiperControls .swiperNext {
    position: relative !important;
    display: block !important;
    flex: 0 0 86px;
    width: 86px;
    height: 86px;
    margin: 0 !important;
    float: none !important;
    border-color: var(--lavender);
    color: var(--lavender);
}
.peopleGrid.rowSwiperPanels > .swiperControls .swiperPrev:hover,
.peopleGrid.rowSwiperPanels > .swiperControls .swiperPrev:focus,
.peopleGrid.rowSwiperPanels > .swiperControls .swiperNext:hover,
.peopleGrid.rowSwiperPanels > .swiperControls .swiperNext:focus {
    border-color: var(--lavender);
    background: var(--lavender);
    color: var(--white);
}
/* ==========================================================
   TABLET
========================================================== */
@media (max-width: 1199px) {
    .swiperControls {
        margin-top: 40px;
    }
    .rowSwiperSingle .swiperControls {
        margin-top: 45px;
    }
    .peopleGrid.rowSwiperPanels > .swiperControls {
        margin-top: 40px !important;
    }
}
/* ==========================================================
   MOBILE
========================================================== */
@media (max-width: 767px) {
    .swiperControls {
        gap: 20px;
        margin-top: 35px;
    }

    .peopleGrid.rowSwiperPanels > .swiperControls {
        gap: 20px;
    }
    .rowSwiperSingle .swiperControls {
        margin-top: 35px;
    }
    .swiperPrev,
    .swiperNext {
        width: 68px;
        height: 68px;
        flex-basis: 68px;
    }
    .swiperPrev::after,
    .swiperNext::after {
        width: 27px;
        height: 27px;
    }
    .peopleGrid.rowSwiperPanels > .swiperControls {
        width: 100% !important;
        margin-top: 35px !important;
    }
    .peopleGrid.rowSwiperPanels > .swiperControls .swiperPrev,
    .peopleGrid.rowSwiperPanels > .swiperControls .swiperNext {
        width: 68px;
        height: 68px;
        flex-basis: 68px;
    }
}




/* ==========================================================
   PEOPLE GRID – TEXT BLOCK SLIDES
========================================================== */

.peopleGrid.rowSwiperPanels > .x-container > .wpb_text_column {
    flex: 0 0 clamp(330px, 27vw, 430px) !important;
    width: auto !important;
    margin: 0 !important;
    overflow: hidden;
    border-radius: 12px;
    background: #d8dcdf;
    box-sizing: border-box;
}

.peopleGrid.rowSwiperPanels .wpb_text_column .wpb_wrapper {
    height: 100%;
}

.peopleGrid.rowSwiperPanels .wpb_text_column p:has(img) {
    margin: 0;
    padding: 0;
}

.peopleGrid.rowSwiperPanels .wpb_text_column img {
    display: block;
    width: 100%;
    height: 355px;
    margin: 0;
    object-fit: cover;
}

.peopleGrid.rowSwiperPanels .wpb_text_column h3 {
    margin: 0;
    padding: 18px 16px 2px;
    background: transparent;
    color: var(--navy);
    font-family: "arboria", sans-serif;
    font-size: 26px;
    font-weight: 600;
    line-height: 1.1;
}

.peopleGrid.rowSwiperPanels .wpb_text_column p:not(:has(img)) {
    min-height: 72px;
    margin: 0;
    padding: 4px 16px 20px;
    color: var(--navy);
    font-family: "arboria", sans-serif;
    font-size: 21px;
    line-height: 1.1;
}

/* Tablet */

@media (max-width: 1199px) {
    .peopleGrid.rowSwiperPanels > .x-container > .wpb_text_column {
        flex-basis: 360px !important;
    }

    .peopleGrid.rowSwiperPanels .wpb_text_column img {
        height: 330px;
    }

    .peopleGrid.rowSwiperPanels .wpb_text_column h3 {
        padding: 17px 15px 2px;
        font-size: 24px;
    }

    .peopleGrid.rowSwiperPanels .wpb_text_column p:not(:has(img)) {
        min-height: 68px;
        padding: 4px 15px 18px;
        font-size: 19px;
    }
}

/* Mobile */

@media (max-width: 767px) {
    .peopleGrid.rowSwiperPanels > .x-container > .wpb_text_column {
        flex-basis: 82vw !important;
        border-radius: 10px;
    }

    .peopleGrid.rowSwiperPanels .wpb_text_column img {
        height: 310px;
    }

    .peopleGrid.rowSwiperPanels .wpb_text_column h3 {
        padding: 16px 14px 2px;
        font-size: 23px;
    }

    .peopleGrid.rowSwiperPanels .wpb_text_column p:not(:has(img)) {
        min-height: 64px;
        padding: 4px 14px 17px;
        font-size: 18px;
    }
}

/* ==========================================================
   GENERIC SWIPERS – TEXT BLOCK SUPPORT
========================================================== */

/* Shared Text Block slide behaviour */

.rowSwiperPanels .swiperTextSlide,
.rowSwiperIcons .swiperTextSlide,
.rowSwiperSingle .swiperTextSlide,
.rowSwiperTimeline .swiperTextSlide {
    float: none !important;
    margin: 0 !important;
    flex-shrink: 0;
    user-select: none;
    box-sizing: border-box;
}

/* PANEL SLIDER */

/* WPBakery column slides use the same sizing as Text Block slides */

.rowSwiperPanels:not(.peopleGrid) > .x-container > .x-column {
    display: block !important;
    float: none !important;
    flex: 0 0 clamp(330px, 27vw, 430px) !important;
    width: clamp(330px, 27vw, 430px) !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    border-radius: 12px;
    background: var(--lavender);
    box-sizing: border-box;
}

.rowSwiperPanels:not(.peopleGrid) > .x-container > .x-column > p:has(img) {
    margin: 0;
}

.rowSwiperPanels:not(.peopleGrid) > .x-container > .x-column img {
    display: block;
    width: 100%;
    height: 355px;
    object-fit: cover;
}

.rowSwiperPanels:not(.peopleGrid) > .x-container > .x-column h3 {
    display: flex;
    align-items: flex-start;
    min-height: 165px;
    margin: 0;
    padding: 20px 18px 24px;
    background: var(--lavender);
    color: var(--white) !important;
    font-family: "arboria", sans-serif!important;
    font-size: 28px;
    font-weight: 500!important;
    line-height: 1.18;
}

.rowSwiperPanels:not(.peopleGrid) > .x-container > .x-column:nth-child(3n + 1),
.rowSwiperPanels:not(.peopleGrid) > .x-container > .x-column:nth-child(3n + 1) h3 {
    background: var(--electric-blue);
}

.rowSwiperPanels:not(.peopleGrid) > .x-container > .x-column:nth-child(3n + 2),
.rowSwiperPanels:not(.peopleGrid) > .x-container > .x-column:nth-child(3n + 2) h3 {
    background: var(--pale-lavender);
}

.rowSwiperPanels:not(.peopleGrid) > .x-container > .x-column:nth-child(3n),
.rowSwiperPanels:not(.peopleGrid) > .x-container > .x-column:nth-child(3n) h3 {
    background: var(--lavender);
}

.rowSwiperPanels .swiperTextSlide {
    flex: 0 0 clamp(330px, 27vw, 430px) !important;
    width: auto !important;
    overflow: hidden;
    border-radius: 12px;
    background: var(--lavender);
}

.rowSwiperPanels .swiperTextSlide img {
    display: block;
    width: 100%;
    height: 355px;
    object-fit: cover;
}

.rowSwiperPanels .swiperTextSlide p:has(img) {
    margin: 0;
}

.rowSwiperPanels .swiperTextSlide h3 {
    display: flex;
    align-items: flex-start;
    min-height: 165px;
    margin: 0;
    padding: 20px 18px 24px;
    background: var(--lavender);
    color: var(--white);
    font-family: "arboria", sans-serif;
    font-size: 28px;
    font-weight: 600;
    line-height: 1.18;
}

/* Alternating panel colours */

.rowSwiperPanels .swiperTextSlide:nth-child(3n + 1),
.rowSwiperPanels .swiperTextSlide:nth-child(3n + 1) h3 {
    background: var(--electric-blue);
}

.rowSwiperPanels .swiperTextSlide:nth-child(3n + 2),
.rowSwiperPanels .swiperTextSlide:nth-child(3n + 2) h3 {
    background: var(--pale-lavender);
}

.rowSwiperPanels .swiperTextSlide:nth-child(3n),
.rowSwiperPanels .swiperTextSlide:nth-child(3n) h3 {
    background: var(--lavender);
}

/* ICON SLIDER */

.rowSwiperIcons > .x-container > .x-column,
.rowSwiperIcons .swiperTextSlide {
    float: none !important;
    flex: 0 0 235px !important;
    width: 235px !important;
    min-width: 235px !important;
    max-width: none !important;
    margin: 0 !important;
    text-align: center;
}

.rowSwiperIcons > .x-container > .x-column img,
.rowSwiperIcons .swiperTextSlide img {
    display: block;
    width: 190px;
    height: 190px;
    margin: 0 auto 32px;
    object-fit: contain;
}

.rowSwiperIcons > .x-container > .x-column h3,
.rowSwiperIcons .swiperTextSlide h3 {
    margin: 0;
    color: var(--white);
    font-family: "arboria", sans-serif!important;
    font-size: 27px;
    font-weight: 500!important;
    line-height: 1.18;
}

/* SINGLE SLIDER */

.rowSwiperSingle > .x-container > .x-column,
.rowSwiperSingle .swiperTextSlide {
    float: none !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box;
    padding-right: max(60px, calc((100vw - 1440px) / 2));
    padding-left: max(60px, calc((100vw - 1440px) / 2));
    text-align: center;
}

/* SINGLE SLIDER - HEADING AND TEXT */

.rowSwiperSingle > .x-container > .x-column h2 {
    max-width: 1000px;
    margin: 0 auto 30px;
    color: var(--white) !important;
    font-family: "Ostra Centra", sans-serif !important;
    font-size: clamp(48px, 4.6vw, 80px);
    font-weight: 400 !important;
    line-height: .95;
    text-align: center;
}

.rowSwiperSingle > .x-container > .x-column p:not(:has(img)) {
    max-width: 900px;
    margin: 0 auto;
    color: var(--white);
    font-family: "arboria", sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.42;
    text-align: center;
}

.rowSwiperSingle > .x-container > .x-column p:has(img) {
    margin: 0 0 35px;
    text-align: center;
}

@media (max-width: 767px) {

    .rowSwiperSingle > .x-container > .x-column h2 {
        margin-bottom: 25px;
        font-size: 46px;
    }

    .rowSwiperSingle > .x-container > .x-column p:not(:has(img)) {
        font-size: 17px;
        line-height: 1.4;
    }

}

/* TIMELINE SLIDER */

.rowSwiperTimeline {
    position: relative;
    overflow: hidden;
}

.rowSwiperTimeline > .x-container {
    position: relative;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch;
    gap: 0 !important;
    width: max-content !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: grab;
    touch-action: pan-y;
}

.rowSwiperTimeline > .x-container > .swiperTextSlide {
    position: relative !important;
    display: block !important;
    float: none !important;
    flex: 0 0 350px !important;
    width: 350px !important;
    min-width: 350px !important;
    max-width: none !important;
    min-height: 500px;
    margin: 0 !important;
    padding: 355px 30px 0 !important;
    box-sizing: border-box;
    text-align: center;
    background: transparent;
}

.rowSwiperTimeline > .x-container > .swiperTextSlide::before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 304px;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--pale-lavender);
    opacity: .85;
}

.rowSwiperTimeline > .x-container > .swiperTextSlide::after {
    content: "";
    position: absolute;
    z-index: 2;
    top: 273px;
    left: 50%;
    width: 64px;
    height: 64px;
    border: 2px solid var(--pale-lavender);
    border-radius: 50%;
    background: var(--navy);
    transform: translateX(-50%);
    box-sizing: border-box;
}

.rowSwiperTimeline > .x-container > .swiperTextSlide p:has(img) {
    position: absolute;
    top: 25px;
    right: 30px;
    left: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 230px;
    margin: 0 !important;
    padding: 0 !important;
}

.rowSwiperTimeline > .x-container > .swiperTextSlide img {
    display: block;
    width: auto;
    max-width: 260px;
    max-height: 180px;
    margin: 0 auto !important;
    object-fit: contain;
}

.rowSwiperTimeline > .x-container > .swiperTextSlide h3 {
    margin: 0 0 22px !important;
    padding: 0 !important;
    color: var(--pale-lavender) !important;
    font-family: "arboria", sans-serif;
    font-size: 48px;
    font-weight: 600;
    line-height: 1;
    text-align: center;
}

.rowSwiperTimeline > .x-container > .swiperTextSlide p:not(:has(img)) {
    max-width: 330px;
    margin: 0 auto !important;
    padding: 0 !important;
    color: var(--white) !important;
    font-family: "arboria", sans-serif;
    font-size: 21px;
    font-weight: 400;
    line-height: 1.45;
    text-align: center;
}

/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width: 1199px) {

    .rowSwiperPanels:not(.peopleGrid) > .x-container > .x-column {
        flex-basis: 360px !important;
        width: 360px !important;
    }

    .rowSwiperPanels .swiperTextSlide {
        flex-basis: 360px !important;
    }

    .rowSwiperIcons > .x-container > .x-column,
    .rowSwiperIcons .swiperTextSlide {
        flex-basis: 220px !important;
        width: 220px !important;
        min-width: 220px !important;
    }

    .rowSwiperTimeline > .x-container > .swiperTextSlide {
        flex-basis: 320px !important;
        width: 320px !important;
        min-width: 320px !important;
        padding-right: 25px !important;
        padding-left: 25px !important;
    }

    .rowSwiperSingle > .x-container > .x-column,
    .rowSwiperSingle .swiperTextSlide {
        padding-right: 35px;
        padding-left: 35px;
    }
}

@media (max-width: 767px) {

    .rowSwiperPanels:not(.peopleGrid) > .x-container > .x-column {
        flex-basis: 82vw !important;
        width: 82vw !important;
    }

    .rowSwiperPanels .swiperTextSlide {
        flex-basis: 82vw !important;
    }

    .rowSwiperTimeline > .x-container > .swiperTextSlide {
        flex-basis: 82vw !important;
        width: 82vw !important;
        min-width: 82vw !important;
        padding-right: 20px !important;
        padding-left: 20px !important;
    }

    .rowSwiperTimeline .swiperTextSlide h3 {
        font-size: 38px;
    }

    .rowSwiperTimeline .swiperTextSlide p:not(:has(img)) {
        font-size: 18px;
    }

    .rowSwiperIcons > .x-container > .x-column,
    .rowSwiperIcons .swiperTextSlide {
        flex-basis: 190px !important;
        width: 190px !important;
        min-width: 190px !important;
    }

    .rowSwiperSingle > .x-container > .x-column,
    .rowSwiperSingle .swiperTextSlide {
        padding-right: 20px;
        padding-left: 20px;
    }
}


/* ==========================================================
   PEOPLE GRID - AUTO-GENERATED TEXT BLOCK SLIDES
   Each WPBakery Text Block remains editable without custom HTML.
========================================================== */
.peopleGrid.rowSwiperPanels > .x-container > .swiperTextSlide.personCard {
    flex: 0 0 clamp(330px, 27vw, 430px) !important;
    width: clamp(330px, 27vw, 430px) !important;
    margin: 0 !important;
    overflow: hidden;
    border-radius: 12px;
    background: #d8dcdf !important;
    box-sizing: border-box;
}
.peopleGrid.rowSwiperPanels .swiperTextSlide.personCard h3 {
    display: block;
    min-height: 0;
    margin: 0;
    padding: 18px 16px 2px;
    background: transparent !important;
    color: var(--navy) !important;
    font-family: "arboria", sans-serif!important;
    font-size: 26px;
    font-weight: 500!important;
    line-height: 1.1;
}
.peopleGrid.rowSwiperPanels .swiperTextSlide.personCard p:has(img) {
    min-height: 0;
    margin: 0;
    padding: 0;
}
.peopleGrid.rowSwiperPanels .swiperTextSlide.personCard img {
    display: block;
    width: 100%;
    height: 355px;
    margin: 0;
    object-fit: cover;
}
.peopleGrid.rowSwiperPanels .swiperTextSlide.personCard p:not(:has(img)) {
    min-height: 72px;
    margin: 0;
    padding: 4px 16px 20px;
    color: var(--navy);
    font-family: "arboria", sans-serif;
    font-size: 21px;
    font-weight: 400;
    line-height: 1.1;
}
@media (max-width: 1199px) {
    .peopleGrid.rowSwiperPanels > .x-container > .swiperTextSlide.personCard {
        flex-basis: 360px !important;
    }
    .peopleGrid.rowSwiperPanels .swiperTextSlide.personCard img { height: 330px; }
    .peopleGrid.rowSwiperPanels .swiperTextSlide.personCard h3 {
        padding: 17px 15px 2px;
        font-size: 24px;
    }
    .peopleGrid.rowSwiperPanels .swiperTextSlide.personCard p:not(:has(img)) {
        min-height: 68px;
        padding: 4px 15px 18px;
        font-size: 19px;
    }
}
@media (max-width: 767px) {
    .peopleGrid.rowSwiperPanels > .x-container > .swiperTextSlide.personCard {
        flex-basis: 82vw !important;
        border-radius: 10px;
    }
    .peopleGrid.rowSwiperPanels .swiperTextSlide.personCard img { height: 310px; }
    .peopleGrid.rowSwiperPanels .swiperTextSlide.personCard h3 {
        padding: 16px 14px 2px;
        font-size: 23px;
    }
    .peopleGrid.rowSwiperPanels .swiperTextSlide.personCard p:not(:has(img)) {
        min-height: 64px;
        padding: 4px 14px 17px;
        font-size: 18px;
    }
}

/***************************************************************/
/************************* BOARD POPUPS *************************/
/***************************************************************/

.pum-theme-8, .pum-theme-default-theme {
    background-color: rgba(4,2,43,0.9)!important;
}

.pum-container {
	background-color: rgba(255,255,255,1)!important;
	box-shadow: none!important;
	border: 0!important;
    border-radius: 12px!important;
}

.pum-content.popmake-content .x-content-band,
.pum-content.popmake-content .entry-content.content {
	padding: 0!important;
}

.pum-content.popmake-content .entry-featured {
	background-color: transparent;
}

.pum-container h3 {
	margin: 0 0 10px 0!important;
	padding: 0!important;
}

.pum-theme-default-theme .pum-close {
	background-color: var(--navy)!important;
	border: 0!important;
	box-shadow: none!important;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

.pum-theme-default-theme .pum-close:hover {
	background-color: var(--lavender)!important;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

.pum-container .entry-thumb {
    aspect-ratio: 1/1;
}

.pum-container .entry-thumb img {
    aspect-ratio: 1/1;
    border-radius: 12px!important;
    margin: 0!important;
    padding: 0!important;
}

@media screen and (max-width: 767px) {
	
	.pum-container, .pum-theme-default-theme .pum-container {
		padding: 30px 30px 30px 30px!important;
	}	
	
	.popupFeatured {
		margin: 0 0 30px 0;
	}	
	
}

@media screen and (min-width: 768px) {
	
	.pum-container, .pum-theme-default-theme .pum-container {
		padding: 50px 50px 50px 50px!important;
	}
	
	.popupFeatured {
		margin: 0 0 30px 0;
	}	
	
}

@media screen and (min-width: 1299px) {
	
	.popupFeatured {
		float: right;
		margin: 0 0 30px 50px;
		width: 350px;
		height: auto;
	}	
	
}

/***************************************************************/
/************************* EMBED GOOGLE MAP *************************/
/***************************************************************/


@media (min-width: 768px) {

    /* Equal height columns */
    .rowMap > .x-container {
        display: flex;
        align-items: stretch;
    }

    .rowMap .x-1-2 {
        width: 50% !important;
        margin-right: 0 !important;
        position: relative;
        overflow: hidden;
    }

    /* Remove default wrapper spacing */
    .rowMap .x-column > p,
    .rowMap .wpb_raw_code,
    .rowMap .wpb_wrapper,
    .rowMap .customGoogleMap {
        margin: 0 !important;
        height: 100%;
    }

    /* Image fills column and crops as needed */
    .rowMap .x-column > p img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    /* Map fills column */
    .rowMap .customGoogleMap iframe {
        display: block;
        width: 100%;
        height: 100%;
        min-height: 300px;
        border: 0;
    }

}

.customGoogleMap {
    width: 100%;
    overflow: hidden;
}

.customGoogleMap iframe {
    display: block;
    width: 100%;
    /*filter: grayscale(100%);*/
}

@media (max-width: 767px) {

    .customGoogleMap {
        margin: 0 0 40px 0;
    }

}

/***************************************************************/
/************************* NINJA / HUBSPOT FORMS *************************/
/***************************************************************/

.rowForm {
    border-top: 1px solid var(--white);
}

.hsfc-Step__Content {
    width: 100%;
    margin: 0 auto;
    padding: 0!important;
}

.hsfc-Step__Content p,
.hsfc-Step__Content label {
    color: var(--white)!important;
    font-family: "arboria", sans-serif!important;
    font-weight: 400!important;
    font-style: normal!important;
    font-size: 22px!important;
}

.hsfc-Step__Content {
    padding: 60px 0 0 0!important;
}

@media (max-width: 767px) {

    .hsfc-Step__Content {
        padding: 30px 0 0 0!important;
    }

}

.hsfc-Step__Content input {
    padding: 12px 15px!important;
    font-family: "arboria", sans-serif!important;
    font-weight: 400!important;
    font-style: normal!important;
    font-size: 16px!important;
}

.nf-form-fields-required {
    display: none;
}

.hsfc-RichText {
    display: none;
}

[data-hsfc-id=Renderer] .hsfc-NavigationRow__Buttons {
    display: unset!important;
}

/***************************************************************/
/************************* FOOTER *************************/
/***************************************************************/

/* EMBLATION FOOTER - LOGO & LINKEDIN */

#custom_html-2 .textwidget > p:first-child {
    display: inline-block;
    vertical-align: middle;
    margin: 0 20px 0 0;
}

#custom_html-2 .textwidget > p:first-child img {
    display: block;
    width: 150px;
    max-width: 100%;
    height: auto;
    margin: 0;
}

.social-link.linkedin-icon {
    display: inline-flex;
    vertical-align: middle;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: var(--white);
    text-decoration: none;
    transition: background-color 0.2s ease;
}

.social-link.linkedin-icon::before {
    content: "";
    display: block;
    flex-shrink: 0;
    width: 15px;
    height: 15px;
    background-color: var(--navy);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.3-48.3-79.3-48.3 0-55.7 37.7-55.7 76.8V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.28 61.9 111.28 142.3V448z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.3-48.3-79.3-48.3 0-55.7 37.7-55.7 76.8V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.28 61.9 111.28 142.3V448z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.social-link.linkedin-icon:hover {
    background-color: var(--lavender);
}

#custom_html-2 .textwidget > p:last-child {
    margin: 20px 0 0;
}

/* END */

/* ================================================================
   PEOPLE SLIDER - LINKEDIN ICONS
================================================================ */

.rowSwiperPanels .personCard h3 {
    display: flex;
    align-items: center;
    gap: 12px;
}

.rowSwiperPanels .personCard .linkedin-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    margin: 0;
    padding: 0;
    border-radius: 50%;
    background-color: var(--navy);
    text-decoration: none;
    transition: background-color 0.2s ease;
}

.rowSwiperPanels .personCard .linkedin-icon::before {
    background-color: var(--white);
}

.rowSwiperPanels .personCard .linkedin-icon:hover {
    background-color: var(--lavender);
}

/* END */

.x-colophon.top {
    position: relative;
    padding: 75px 0 95px;
    border: 0 !important;

    background:
        var(--navy)
        url("https://www.emblation.com/wp-content/uploads/2026/09/gettyimages-1775925315-2048x2048_extended-04-scaled.webp")
        center center / cover no-repeat !important;

    box-shadow: none !important;
    color: var(--white);
}

body.single .x-colophon.top .textwidget p {
    color: var(--white)!important;
}


/* footer grid */

.x-colophon.top > .x-container {
    display: grid !important;
    grid-template-columns: 1.15fr .9fr .9fr .8fr;
    align-items: start;
    column-gap: 70px;

    width: calc(100% - 120px) !important;
    max-width: 1440px !important;
    margin: 0 auto !important;
}


/* completely reset X Theme columns */

.x-colophon.top .x-column,
.x-colophon.top .x-column.last {
    display: block;
    float: none !important;
    clear: none !important;

    width: auto !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* force columns into correct positions */

.x-colophon.top .x-column:nth-child(1) {
    grid-column: 1;
}

.x-colophon.top .x-column:nth-child(2) {
    grid-column: 2;
}

.x-colophon.top .x-column:nth-child(3) {
    grid-column: 3;
}

.x-colophon.top .x-column:nth-child(4) {
    grid-column: 4;
}


/* widgets */

.x-colophon.top .widget {
    margin: 0 !important;
    padding: 0 !important;
}

.x-colophon.top .textwidget {
    color: var(--white);

    font-family: "arboria", sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.55;
}

.x-colophon.top .textwidget p {
    margin: 0;
}


/* logo */

.x-colophon.top .x-column:first-child .textwidget p:first-child {
    margin: 0 0 30px;
}

.x-colophon.top .x-column:first-child img {
    display: block;

    width: auto !important;
    height: 40px !important;
    max-width: none !important;

    margin: 0;
}


/* footer links */

.x-colophon.top a {
    color: var(--white) !important;

    font-family: "arboria", sans-serif !important;
    font-size: 15px !important;
    font-weight: 400;
    line-height: 1.65;

    text-decoration: none !important;
}

.x-colophon.top a:hover,
.x-colophon.top a:focus {
    color: var(--pale-lavender) !important;
}


/* contact column */

.x-colophon.top .x-column:nth-child(4) {
    display: flex;
    justify-content: flex-end;
}


/* contact button */

.x-colophon.top .x-column:nth-child(4) .textwidget > p {
    margin: 0;
}

.x-colophon.top .x-column:nth-child(4) a {
    position: relative;

    display: flex !important;
    align-items: flex-end !important;

    width: 190px !important;
    min-height: 72px;

    padding: 14px 50px 13px 15px !important;

    border: 0 !important;
    border-radius: 6px !important;
    outline: 0 !important;

    background: var(--lavender) !important;
    color: var(--white) !important;

    font-family: "arboria", sans-serif !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.15 !important;

    text-decoration: none !important;

    box-shadow: none !important;
}


/* contact arrow */

.x-colophon.top .x-column:nth-child(4) a::after {
    

    position: absolute;
    top: 10px;
    right: 12px;

    color: var(--white);

    font-family: Arial, sans-serif;
    font-size: 27px;
    font-weight: 300;
    line-height: 1;
}


/* contact hover */

.x-colophon.top .x-column:nth-child(4) a:hover,
.x-colophon.top .x-column:nth-child(4) a:focus {
    background: var(--pale-lavender) !important;
    color: var(--navy) !important;
}

.x-colophon.top .x-column:nth-child(4) a:hover::after,
.x-colophon.top .x-column:nth-child(4) a:focus::after {
    color: var(--navy);
}


/* tablet */

@media (max-width: 1199px) {

    .x-colophon.top {
        padding: 65px 0 80px;
    }

    .x-colophon.top > .x-container {
        grid-template-columns: 1.15fr .9fr .9fr .8fr;
        column-gap: 35px;

        width: calc(100% - 70px) !important;
    }

    .x-colophon.top .textwidget,
    body.single .x-colophon.top .textwidget p,
    .x-colophon.top a {
        font-size: 14px !important;
    }

    .x-colophon.top .x-column:first-child img {
        height: 38px !important;
    }

    .x-colophon.top .x-column:nth-child(4) a {
        width: 170px !important;
        min-height: 68px;
        font-size: 16px !important;
    }

}


/* mobile */

@media (max-width: 767px) {

    .x-colophon.top {
        padding: 55px 0 70px;
        background-position: center bottom !important;
    }

    .x-colophon.top > .x-container {
        grid-template-columns: 1fr 1fr;
        column-gap: 25px;
        row-gap: 40px;

        width: calc(100% - 40px) !important;
    }

    .x-colophon.top .x-column:nth-child(1) {
        grid-column: 1 / -1;
    }

    .x-colophon.top .x-column:nth-child(2) {
        grid-column: 1;
    }

    .x-colophon.top .x-column:nth-child(3) {
        grid-column: 2;
    }

    .x-colophon.top .x-column:nth-child(4) {
        grid-column: 1 / -1;

        display: flex;
        justify-content: flex-start;
    }

    .x-colophon.top .textwidget,
    body.single .x-colophon.top .textwidget p,
    .x-colophon.top a {
        font-size: 14px !important;
    }

    .x-colophon.top .x-column:first-child img {
        height: 36px !important;
    }

    .x-colophon.top .x-column:nth-child(4) a {
        width: 180px !important;
        min-height: 68px;
        font-size: 17px !important;
    }

}


/***************************************************************/
/************************* TEMPORARY IMAGE PLACEHOLDERS *************************/
/***************************************************************/

.imagePlaceholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 500px;
    padding: 30px;
    background: var(--deep-blue);
    color: var(--pale-lavender);
    font-family: "arboria", sans-serif!important;
    font-size: 18px;
    text-align: center;
}

.imagePlaceholder.small {
    min-height: 260px;
}

.imagePlaceholder.product {
    min-height: 600px;
}

.imagePlaceholder.portrait {
    min-height: 430px;
}

.imagePlaceholder span {
    opacity: .7;
}


/* mobile */

@media (max-width: 767px) {

    .imagePlaceholder {
        min-height: 350px;
    }

    .imagePlaceholder.small {
        min-height: 220px;
    }

    .imagePlaceholder.product {
        min-height: 450px;
    }

    .imagePlaceholder.portrait {
        min-height: 380px;
    }

}

/* ================================================================
   POST-DRIVEN TEAM AND BOARD SLIDERS
   Preserves existing rowSwiperPanels slide widths and controls.
================================================================ */
.peoplePostsSlider .personCard .personPhoto,
.peoplePostsSlider .personCard .personPhoto a {
    display: block;
    margin: 0;
    padding: 0;
}
.peoplePostsSlider .personCard .personPhoto img {
    display: block;
    width: 100%;
    height: 355px;
    object-fit: cover;
    margin: 0;
}
.peoplePostsSlider .personCard h3 {
    display: flex !important;
    align-items: center;
    gap: 12px;
}
.peoplePostsSlider .personCard .personName { min-width: 0; }
.peoplePostsSlider .personCard .personName a { color: inherit; }
.peoplePostsSlider .personCard .personName a:hover { color: var(--lavender); }
.peoplePostsSlider .personCard .personJobTitle {
    min-height: 72px;
    padding: 4px 16px 20px;
    margin: 0;
    color: var(--navy);
    font-size: 21px;
    line-height: 1.1;
}
.peoplePostsSlider .personCard .linkedin-icon {
    flex: 0 0 30px;
    background-color: var(--navy);
}
.peoplePostsSlider .personCard .linkedin-icon::before { background-color: var(--white); }
.peoplePostsSlider .personCard .linkedin-icon:hover { background-color: var(--lavender); }
@media (max-width: 1199px) {
    .peoplePostsSlider .personCard .personPhoto img { height: 330px; }
    .peoplePostsSlider .personCard .personJobTitle { font-size: 19px; }
}
@media (max-width: 767px) {
    .peoplePostsSlider .personCard .personPhoto img { height: 310px; }
    .peoplePostsSlider .personCard .personJobTitle { font-size: 18px; }
}

/* Board popup/biography links: retain clickable links inside draggable slides. */
.peoplePostsSlider .personCard .peopleBioLink { cursor: pointer; }
.peoplePostsSlider .personCard .personPhoto a { display: block; }
.peoplePostsSlider .personCard .personName a { text-decoration: none; }
.peoplePostsSlider .personCard .linkedin-icon { flex-shrink: 0; }

/* Popup Maker remote board biography */
#board-bio-remote-content { min-height: 80px; }
#board-bio-remote-content h2 { margin-bottom: 24px; }


/* People navigation: JavaScript aligns this group with the viewport centre. */
.peopleGrid.rowSwiperPanels > .swiperControls {
    transform: none !important;
}
