:root{--invicta-navy:#123f5b;--invicta-blue:#1684c7;--invicta-light:#f3f7fa;--invicta-grey:#666b73;--invicta-white:#fff}body{font-family:Arial,"Helvetica Neue",sans-serif;color:#263746;line-height:1.65}#sp-header{background:var(--invicta-white);min-height:88px;height:auto;box-shadow:0 3px 18px rgba(18,63,91,.1);position:relative;z-index:999}#sp-header .logo{height:88px;display:flex;align-items:center}#sp-header .logo img{max-height:70px;width:auto}.sp-megamenu-parent>li>a,.sp-megamenu-parent>li>span{color:var(--invicta-navy);font-size:14px;font-weight:700;letter-spacing:.02em;line-height:88px;text-transform:none}.sp-megamenu-parent>li.active>a,.sp-megamenu-parent>li:hover>a{color:var(--invicta-blue)}.sp-megamenu-parent .sp-dropdown .sp-dropdown-inner{border-top:3px solid var(--invicta-blue);border-radius:0 0 8px 8px;box-shadow:0 12px 30px rgba(18,63,91,.14)}a{color:var(--invicta-blue)}a:hover{color:var(--invicta-navy)}.sppb-btn-primary,.btn-primary{background:var(--invicta-blue)!important;border-color:var(--invicta-blue)!important;border-radius:6px!important;font-weight:700!important;padding:11px 22px!important}.sppb-btn-primary:hover,.btn-primary:hover{background:var(--invicta-navy)!important;border-color:var(--invicta-navy)!important}h1,h2,h3,h4,h5,h6{color:var(--invicta-navy);font-weight:700}#sp-footer{background:var(--invicta-navy);color:rgba(255,255,255,.82);padding:28px 0}#sp-footer a{color:#fff}#sp-footer a:hover{color:#70c7f2}.invicta-footer-menu ul{display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:center;margin:0;padding:0;list-style:none}.invicta-footer-menu li{margin:0}.invicta-footer-menu a{font-size:14px}.offcanvas-menu{background:#fff}.offcanvas-menu .offcanvas-inner ul.menu>li a,.offcanvas-menu .offcanvas-inner ul.menu>li span{color:var(--invicta-navy);font-weight:600}@media(max-width:991px){#sp-header{min-height:72px}#sp-header .logo{height:72px}#sp-header .logo img{max-height:58px}.burger-icon>span{background-color:var(--invicta-navy)}}@media(max-width:575px){#sp-header .logo img{max-height:52px}.sppb-section{background-attachment:scroll!important}.invicta-footer-menu ul{flex-direction:column;align-items:center;gap:8px}}

/* ==========================================================
   INVICTA24PLUS — HEADER ALIGNMENT FIX
   15 OCTOBER 2026
   ========================================================== */

/* Main header */
#sp-header {
    height: 90px !important;
}

#sp-header .container,
#sp-header .container-inner {
    height: 100%;
}

#sp-header .row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
}

#sp-header .sp-column {
    display: flex !important;
    align-items: center !important;
    height: 90px !important;
}


/* --------------------------
   LOGO
   -------------------------- */

#sp-logo {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 120px !important;
}

#sp-header .logo {
    display: flex !important;
    align-items: center !important;
    height: 90px !important;
}

#sp-header .logo img,
#sp-header .logo-image {
    width: auto !important;
    height: auto !important;
    max-height: 62px !important;
    max-width: 105px !important;
    object-fit: contain !important;
}


/* --------------------------
   DESKTOP MENU
   -------------------------- */

@media (min-width: 992px) {

    #sp-menu {
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: none !important;
    }

    #sp-menu .sp-column {
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;
    }

    .sp-megamenu-parent {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-end !important;
        margin: 0 !important;
        white-space: nowrap !important;
    }

    .sp-megamenu-parent > li {
        float: none !important;
        display: flex !important;
        align-items: center !important;
        white-space: nowrap !important;
    }

    .sp-megamenu-parent > li > a,
    .sp-megamenu-parent > li > span {
        display: flex !important;
        align-items: center !important;
        height: 90px !important;
        padding: 0 11px !important;

        font-size: 13px !important;
        font-weight: 600 !important;
        line-height: 1 !important;
        white-space: nowrap !important;

        color: #123f59 !important;
    }

    .sp-megamenu-parent > li > a:hover,
    .sp-megamenu-parent > li.active > a {
        color: #1684c4 !important;
    }


    /* REMOVE SIGN IN FROM DESKTOP HEADER */

    #sp-header a[href*="login"],
    #sp-header a[href*="view=login"],
    #sp-header .login,
    #sp-header .mod-login,
    #sp-header .sp-sign-in {
        display: none !important;
    }


    /* HAMBURGER MUST NOT SHOW ON DESKTOP */

    #offcanvas-toggler,
    .offcanvas-toggler {
        display: none !important;
    }
}


/* --------------------------
   MOBILE
   -------------------------- */

@media (max-width: 991.98px) {

    #sp-header {
        height: 76px !important;
    }

    #sp-header .sp-column,
    #sp-header .logo {
        height: 76px !important;
    }

    #sp-header .logo img,
    #sp-header .logo-image {
        max-height: 52px !important;
        max-width: 90px !important;
    }

    /* desktop menu disappears */
    .sp-megamenu-parent {
        display: none !important;
    }

    /* hamburger appears */
    #offcanvas-toggler,
    .offcanvas-toggler {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

}


/* --------------------------
   PAGE TITLE VISIBILITY
   -------------------------- */

.sp-page-title .sp-page-title-heading,
.sp-page-title .sp-page-title-sub-heading,
.sp-page-title h1,
.sp-page-title h2 {
    color: #ffffff !important;
    text-shadow: 0 1px 3px rgba(0,0,0,.35);
}


/* ==========================================================
   INVICTA24PLUS GLOBAL DESIGN FIX
   Topbar + Header + Typography + Page Titles + Footer
   ========================================================== */

:root {
    --inv-navy: #123F59;
    --inv-blue: #167FC1;
    --inv-light: #D7ECFA;
    --inv-dark: #303030;
    --inv-white: #FFFFFF;
}

/* ---------- GLOBAL TYPOGRAPHY ---------- */

html,
body,
button,
input,
textarea,
select,
.sp-megamenu-parent,
.sp-module,
.sppb-addon {
    font-family: Arial, Helvetica, sans-serif !important;
}

body {
    color: #222;
    font-size: 16px;
    line-height: 1.65;
}

h1, h2, h3, h4, h5, h6,
.sppb-addon-title {
    font-family: Arial, Helvetica, sans-serif !important;
    color: var(--inv-navy);
    font-weight: 700;
    line-height: 1.2;
}

h1 { font-size: 42px; }
h2 { font-size: 34px; }
h3 { font-size: 28px; }
h4 { font-size: 22px; }
h5 { font-size: 18px; }
h6 { font-size: 16px; }


/* ==========================================================
   TOP BAR
   ========================================================== */

#sp-top-bar {
    min-height: 38px !important;
    height: 38px !important;
    background: #303030 !important;
    color: rgba(255,255,255,.88) !important;
    font-size: 12px !important;
}

#sp-top-bar .container,
#sp-top-bar .container-inner,
#sp-top-bar .row,
#sp-top-bar .sp-column {
    min-height: 38px !important;
}

#sp-top-bar .row,
#sp-top-bar .sp-column {
    display: flex !important;
    align-items: center !important;
}

#sp-top-bar a {
    color: rgba(255,255,255,.85) !important;
    text-decoration: none !important;
}

#sp-top-bar a:hover {
    color: #fff !important;
}

/* Tagline */
#sp-top-bar .container {
    position: relative !important;
}

#sp-top-bar .container::after {
    content: "Your care is our care";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .2px;
    white-space: nowrap;
}


/* ==========================================================
   MAIN HEADER
   ========================================================== */

#sp-header {
    height: 92px !important;
    min-height: 92px !important;
    background: #fff !important;
    box-shadow: 0 1px 0 rgba(18,63,89,.10) !important;
}

#sp-header .container,
#sp-header .container-inner,
#sp-header .row,
#sp-header .sp-column {
    height: 92px !important;
}

#sp-header .row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
}

#sp-header .sp-column {
    display: flex !important;
    align-items: center !important;
}


/* ---------- LOGO ---------- */

#sp-logo {
    flex: 0 0 125px !important;
    width: 125px !important;
    max-width: 125px !important;
}

#sp-header .logo {
    height: 92px !important;
    display: flex !important;
    align-items: center !important;
}

#sp-header .logo img,
#sp-header .logo-image {
    width: auto !important;
    height: auto !important;
    max-height: 58px !important;
    max-width: 105px !important;
    object-fit: contain !important;
}


/* ==========================================================
   DESKTOP HEADER
   ========================================================== */

@media (min-width: 992px) {

    #sp-menu {
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: none !important;
    }

    #sp-menu .sp-column {
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;
    }

    .sp-megamenu-parent {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-end !important;
        margin: 0 !important;
        white-space: nowrap !important;
    }

    .sp-megamenu-parent > li {
        float: none !important;
        display: flex !important;
        align-items: center !important;
        white-space: nowrap !important;
    }

    .sp-megamenu-parent > li > a,
    .sp-megamenu-parent > li > span {
        height: 92px !important;
        display: flex !important;
        align-items: center !important;
        padding: 0 11px !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        color: var(--inv-navy) !important;
        text-transform: none !important;
    }

    .sp-megamenu-parent > li.active > a,
    .sp-megamenu-parent > li > a:hover {
        color: var(--inv-blue) !important;
    }

    /* Remove Sign In */
    #sp-header a[href*="login"],
    #sp-header a[href*="view=login"],
    #sp-header .login,
    #sp-header .mod-login,
    #sp-header .sp-sign-in,
    #sp-header .signin,
    #sp-header .sign-in {
        display: none !important;
    }

    /* Hamburger ONLY mobile/tablet */
    #offcanvas-toggler,
    .offcanvas-toggler {
        display: none !important;
    }
}


/* ==========================================================
   HEADER SEARCH
   ========================================================== */

#sp-header input[type="search"],
#sp-header input[type="text"],
#sp-header .form-control {
    height: 39px !important;
    min-height: 39px !important;
    border: 1px solid #cbd5dc !important;
    border-radius: 5px !important;
    padding: 0 12px !important;
    font-size: 14px !important;
    color: #333 !important;
    background: #fff !important;
    box-shadow: none !important;
}

#sp-header input:focus {
    border-color: var(--inv-blue) !important;
    outline: 0 !important;
}


/* ==========================================================
   INTERNAL PAGE TITLE
   ========================================================== */

.sp-page-title {
    position: relative !important;
    min-height: 135px !important;
    display: flex !important;
    align-items: center !important;
    background-size: cover !important;
    background-position: center center !important;
}

.sp-page-title::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(4,45,72,.38);
    z-index: 0;
}

.sp-page-title .container {
    position: relative !important;
    z-index: 2 !important;
}

.sp-page-title .sp-page-title-heading,
.sp-page-title .sp-page-title-sub-heading,
.sp-page-title h1,
.sp-page-title h2,
.sp-page-title .breadcrumb,
.sp-page-title .breadcrumb a,
.sp-page-title .breadcrumb-item {
    color: #fff !important;
}

.sp-page-title .sp-page-title-heading,
.sp-page-title h1 {
    font-size: 38px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    margin: 0 !important;
    text-shadow: 0 2px 5px rgba(0,0,0,.35) !important;
}


/* ==========================================================
   FOOTER / BOTTOM
   ========================================================== */

#sp-bottom {
    background: var(--inv-navy) !important;
    color: rgba(255,255,255,.88) !important;
    padding: 55px 0 38px !important;
}

#sp-footer {
    background: var(--inv-navy) !important;
    color: rgba(255,255,255,.82) !important;
    border-top: 1px solid rgba(255,255,255,.14) !important;
    padding: 20px 0 !important;
    font-size: 13px !important;
}

#sp-bottom h1,
#sp-bottom h2,
#sp-bottom h3,
#sp-bottom h4,
#sp-bottom h5,
#sp-bottom h6,
#sp-bottom .sp-module-title {
    color: #fff !important;
}

#sp-bottom .sp-module-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    margin-bottom: 20px !important;
}

#sp-bottom a,
#sp-footer a {
    color: rgba(255,255,255,.88) !important;
    text-decoration: none !important;
}

#sp-bottom a:hover,
#sp-footer a:hover {
    color: #fff !important;
}

#sp-bottom ul,
#sp-footer ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#sp-bottom li {
    margin-bottom: 9px !important;
}

#sp-bottom img {
    width: auto !important;
    height: auto !important;
    max-width: 130px !important;
    max-height: 65px !important;
    object-fit: contain !important;
    background: #fff;
    border-radius: 4px;
    padding: 5px;
    margin: 0 10px 12px 0;
}

#sp-footer .container-inner,
#sp-footer .row {
    align-items: center !important;
}

#sp-footer ul {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px 20px !important;
}


/* ==========================================================
   TABLET
   ========================================================== */

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

    #sp-header,
    #sp-header .container,
    #sp-header .container-inner,
    #sp-header .row,
    #sp-header .sp-column,
    #sp-header .logo {
        height: 80px !important;
        min-height: 80px !important;
    }

    #sp-logo {
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: none !important;
    }

    #sp-header .logo img,
    #sp-header .logo-image {
        max-height: 53px !important;
        max-width: 95px !important;
    }

    .sp-megamenu-parent {
        display: none !important;
    }

    #offcanvas-toggler,
    .offcanvas-toggler {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-left: auto !important;
        color: var(--inv-navy) !important;
    }

    .sp-page-title {
        min-height: 120px !important;
    }

    .sp-page-title .sp-page-title-heading,
    .sp-page-title h1 {
        font-size: 34px !important;
    }

    #sp-bottom {
        padding: 45px 24px 30px !important;
    }
}


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

@media (max-width: 767.98px) {

    body {
        font-size: 15px !important;
    }

    h1 { font-size: 31px !important; }
    h2 { font-size: 27px !important; }
    h3 { font-size: 23px !important; }
    h4 { font-size: 20px !important; }

    #sp-top-bar {
        height: 34px !important;
        min-height: 34px !important;
    }

    #sp-top-bar .container,
    #sp-top-bar .container-inner,
    #sp-top-bar .row,
    #sp-top-bar .sp-column {
        min-height: 34px !important;
    }

    #sp-top-bar .container::after {
        font-size: 10px !important;
        font-weight: 600 !important;
    }

    #sp-header,
    #sp-header .container,
    #sp-header .container-inner,
    #sp-header .row,
    #sp-header .sp-column,
    #sp-header .logo {
        height: 72px !important;
        min-height: 72px !important;
    }

    #sp-logo {
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: none !important;
    }

    #sp-header .logo img,
    #sp-header .logo-image {
        max-height: 47px !important;
        max-width: 82px !important;
    }

    .sp-megamenu-parent {
        display: none !important;
    }

    #offcanvas-toggler,
    .offcanvas-toggler {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-left: auto !important;
        font-size: 22px !important;
        color: var(--inv-navy) !important;
    }

    .sp-page-title {
        min-height: 100px !important;
        padding: 0 !important;
    }

    .sp-page-title .sp-page-title-heading,
    .sp-page-title h1 {
        font-size: 29px !important;
    }

    #sp-bottom {
        padding: 38px 20px 24px !important;
    }

    #sp-bottom .sp-module {
        margin-bottom: 28px !important;
    }

    #sp-footer {
        padding: 18px 15px !important;
    }

    #sp-footer ul {
        gap: 7px 14px !important;
    }
}



/* ==========================================================
   INVICTA24PLUS FOOTER LAYOUT CORRECTION
   ========================================================== */

/* Make our bottom1 module use the COMPLETE footer width */
#sp-bottom .row {
    display: flex !important;
    flex-wrap: wrap !important;
}

#sp-bottom1 {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Old Helix footer positions are no longer required */
#sp-bottom2,
#sp-bottom3,
#sp-bottom4 {
    display: none !important;
}


/* Container width */
#sp-bottom > .container,
#sp-bottom .container {
    width: 100% !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}


/* Main custom footer MUST be grid on desktop */
.invicta-footer-grid {
    width: 100% !important;
    display: grid !important;
    grid-template-columns:
        minmax(240px, 1.35fr)
        minmax(170px, .8fr)
        minmax(180px, .9fr)
        minmax(160px, .75fr) !important;

    column-gap: 55px !important;
    row-gap: 35px !important;

    align-items: start !important;
}


/* Footer module itself */
.invicta-footer-module,
.invicta-footer-module .sp-module-content,
.invicta-footer-wrap {
    width: 100% !important;
    max-width: none !important;
}


/* Brand column */
.invicta-footer-brand {
    width: 100% !important;
    max-width: 290px !important;
}

.invicta-footer-main-logo {
    width: auto !important;
    max-width: 105px !important;
    max-height: 78px !important;
    padding: 0 !important;
    margin: 0 0 18px !important;
    background: transparent !important;
    border-radius: 0 !important;
}

.invicta-footer-tagline {
    margin: 0 0 10px !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
}


/* Footer headings */
.invicta-footer-wrap h3 {
    margin: 0 0 18px !important;
    padding: 0 !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;

    color: #ffffff !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}


/* Policy links */
.invicta-footer-policies ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.invicta-footer-policies li {
    margin: 0 0 11px !important;
}

.invicta-footer-policies a {
    font-size: 14px !important;
    line-height: 1.45 !important;
}


/* Accreditation logos */
.invicta-footer-logo-list {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
}

.invicta-footer-logo-list img {
    display: block !important;
    width: auto !important;
    height: auto !important;

    max-width: 125px !important;
    max-height: 62px !important;

    object-fit: contain !important;

    margin: 0 !important;
    padding: 5px 7px !important;

    background: #ffffff !important;
    border-radius: 4px !important;
}


/* Temporarily hide the wrong Homecare image.
   We will restore the real Homecare Association logo after locating it. */
.invicta-footer-regulated img[src*="/2022/05/04/homecare.png"] {
    display: none !important;
}


/* Lower copyright line */
.invicta-footer-lower {
    width: 100% !important;
    margin-top: 45px !important;
    padding: 20px 0 !important;

    border-top: 1px solid rgba(255,255,255,.14) !important;

    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 25px !important;

    font-size: 12px !important;
}


/* Kill the OLD legal/footer module underneath our new footer */
footer#sp-footer,
#sp-footer {
    display: none !important;
}


/* ==========================================================
   TOP BAR — CLEAN 3-PART LAYOUT
   ========================================================== */

#sp-top-bar {
    position: relative !important;
    height: 38px !important;
    min-height: 38px !important;
}

#sp-top-bar .container,
#sp-top-bar .container-inner {
    position: relative !important;
    height: 38px !important;
}

/* tagline perfectly centred */
#sp-top-bar .container::after {
    content: "Your care is our care" !important;

    position: absolute !important;
    left: 50% !important;
    top: 50% !important;

    transform: translate(-50%, -50%) !important;

    font-size: 12px !important;
    font-weight: 600 !important;

    color: #ffffff !important;

    white-space: nowrap !important;
    pointer-events: none !important;
}

/* Keep social group left */
#sp-top1 {
    text-align: left !important;
}

/* Keep phone/email group right */
#sp-top2 {
    margin-left: auto !important;
    text-align: right !important;
}

#sp-top-bar .row {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
}


/* ==========================================================
   FORCE ALL INTERNAL PAGE TITLES WHITE
   ========================================================== */

.sp-page-title,
.sp-page-title .container,
.sp-page-title .container-inner {
    position: relative !important;
}

.sp-page-title h1,
.sp-page-title h2,
.sp-page-title h3,
.sp-page-title .sp-page-title-heading,
.sp-page-title .sp-page-title-sub-heading,
.sp-page-title .breadcrumb,
.sp-page-title .breadcrumb *,
.sp-page-title > *,
.sp-page-title .container * {
    color: #ffffff !important;
}

.sp-page-title h1,
.sp-page-title h2,
.sp-page-title .sp-page-title-heading {
    font-weight: 700 !important;
    text-shadow: 0 2px 5px rgba(0,0,0,.40) !important;
}


/* ==========================================================
   TABLET FOOTER
   ========================================================== */

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

    .invicta-footer-wrap {
        padding: 45px 22px 0 !important;
    }

    .invicta-footer-grid {
        grid-template-columns: 1fr 1fr !important;
        column-gap: 55px !important;
        row-gap: 38px !important;
    }

    .invicta-footer-brand {
        max-width: 100% !important;
    }

    .invicta-footer-lower {
        margin-top: 35px !important;
    }
}


/* ==========================================================
   MOBILE FOOTER
   ========================================================== */

@media (max-width: 767.98px) {

    .invicta-footer-wrap {
        padding: 36px 20px 0 !important;
    }

    .invicta-footer-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        row-gap: 30px !important;
    }

    .invicta-footer-brand {
        max-width: 100% !important;
    }

    .invicta-footer-logo-list {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
    }

    .invicta-footer-logo-list img {
        max-width: 110px !important;
        max-height: 56px !important;
    }

    .invicta-footer-lower {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
        margin-top: 30px !important;
    }


    /* Mobile top bar:
       tagline centred, reduce collision with contact data */

    #sp-top-bar .container::after {
        font-size: 10px !important;
    }

    #sp-top2 {
        font-size: 9px !important;
    }
}


/* very narrow phones */
@media (max-width: 430px) {

    /* On tiny phones keep tagline;
       phone/email can be hidden because they are available in contact/menu */
    #sp-top2 {
        display: none !important;
    }

    #sp-top-bar .container::after {
        left: auto !important;
        right: 12px !important;
        transform: translateY(-50%) !important;
    }
}


/* ==========================================================
   INVICTA FOOTER — ACCREDITATION LOGO FINAL FIX
   ========================================================== */

.invicta-footer-regulated .invicta-footer-logo-list img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    min-height: 44px !important;
    max-height: 62px !important;
    max-width: 135px !important;
    object-fit: contain !important;
    background: #ffffff !important;
    padding: 6px 8px !important;
    border-radius: 4px !important;
}

/* Correct UKHCA/Homecare Association logo */
.invicta-footer-regulated img[src*="associations/ukhca.png"] {
    display: block !important;
    max-width: 135px !important;
}

/* Old incorrect care photo should never appear in this footer */
.invicta-footer-regulated img[src*="2022/05/04/homecare.png"] {
    display: none !important;
}



/* ==========================================================
   INVICTA FOOTER — CORRECT OLD-SITE ORDER
   ========================================================== */

.invicta-footer-grid {
    display: grid !important;
    grid-template-columns:
        1.2fr
        .9fr
        1fr
        .9fr !important;

    gap: 55px !important;
    width: 100% !important;
    align-items: start !important;
}


/* Ensure each area stays in correct column */

.invicta-footer-brand {
    grid-column: 1 !important;
    grid-row: 1 !important;
}

.invicta-footer-policies {
    grid-column: 2 !important;
    grid-row: 1 !important;
}

.invicta-footer-regulated {
    grid-column: 3 !important;
    grid-row: 1 !important;
}

.invicta-footer-member {
    grid-column: 4 !important;
    grid-row: 1 !important;
}


/* Member / partners column */

.invicta-footer-member h3 {
    color: #ffffff !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    margin: 0 0 20px !important;
}

.invicta-footer-partners-block h4 {
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    margin: 22px 0 14px !important;
}

.invicta-paper-logo {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 135px !important;
    max-height: 65px !important;
    padding: 6px 8px !important;
    background: #ffffff !important;
    border-radius: 4px !important;
}


/* Regulated logos vertical, in exact old order */

.invicta-footer-regulated .invicta-footer-logo-list {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
}

.invicta-footer-regulated .invicta-footer-logo-list img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 135px !important;
    max-height: 64px !important;
    object-fit: contain !important;
    background: #ffffff !important;
    border-radius: 4px !important;
    padding: 5px 7px !important;
}


/* TABLET */

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

    .invicta-footer-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 40px 55px !important;
    }

    .invicta-footer-brand {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    .invicta-footer-policies {
        grid-column: 2 !important;
        grid-row: 1 !important;
    }

    .invicta-footer-regulated {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    .invicta-footer-member {
        grid-column: 2 !important;
        grid-row: 2 !important;
    }
}


/* MOBILE */

@media (max-width: 767.98px) {

    .invicta-footer-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }

    .invicta-footer-brand,
    .invicta-footer-policies,
    .invicta-footer-regulated,
    .invicta-footer-member {
        grid-column: 1 !important;
    }

    .invicta-footer-brand {
        grid-row: 1 !important;
    }

    .invicta-footer-policies {
        grid-row: 2 !important;
    }

    .invicta-footer-regulated {
        grid-row: 3 !important;
    }

    .invicta-footer-member {
        grid-row: 4 !important;
    }

    .invicta-footer-regulated .invicta-footer-logo-list {
        flex-direction: row !important;
        flex-wrap: wrap !important;
    }
}



/* ==========================================================
   INVICTA24PLUS — FINAL TOPBAR / HEADER / PAGE TITLE
   15 OCTOBER 2026
   ========================================================== */


/* ==========================================================
   TOP BAR — DESKTOP
   SOCIAL LEFT | TAGLINE CENTRE | CONTACT RIGHT
   ========================================================== */

#sp-top-bar {
    position: relative !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #303030 !important;
    color: #ffffff !important;
    overflow: visible !important;
}

#sp-top-bar > .container,
#sp-top-bar .container {
    position: relative !important;
    width: 100% !important;
    max-width: 1180px !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 auto !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
}

#sp-top-bar .container-inner,
#sp-top-bar .row {
    position: relative !important;
    width: 100% !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
}


/* SOCIAL ICONS — LEFT */

#sp-top1 {
    position: absolute !important;
    left: 15px !important;
    top: 0 !important;

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

    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

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

    z-index: 5 !important;
}

#sp-top1 .sp-column,
#sp-top1 .sp-module {
    width: auto !important;
    height: 40px !important;

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

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

#sp-top1 ul {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;

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

    list-style: none !important;
}

#sp-top1 a,
#sp-top1 i {
    color: rgba(255,255,255,.85) !important;
}

#sp-top1 a:hover,
#sp-top1 a:hover i {
    color: #ffffff !important;
}


/* TAGLINE — TRUE CENTRE */

#sp-top-bar .container::after {
    content: "Your care is our care" !important;

    position: absolute !important;
    left: 50% !important;
    top: 50% !important;

    transform: translate(-50%, -50%) !important;

    display: block !important;

    color: #ffffff !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    letter-spacing: .15px !important;
    white-space: nowrap !important;

    z-index: 4 !important;
    pointer-events: none !important;
}


/* PHONE + EMAIL — RIGHT */

#sp-top2 {
    position: absolute !important;
    right: 15px !important;
    top: 0 !important;

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

    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;

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

    z-index: 5 !important;
}

#sp-top2 .sp-column,
#sp-top2 .sp-module {
    width: auto !important;
    height: 40px !important;

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

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

#sp-top2 ul,
#sp-top2 .sp-contact-info {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;

    gap: 14px !important;

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

    list-style: none !important;
}

#sp-top2 li,
#sp-top2 span,
#sp-top2 a {
    color: rgba(255,255,255,.88) !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1 !important;

    white-space: nowrap !important;
}

#sp-top2 a:hover {
    color: #ffffff !important;
}


/* ==========================================================
   MAIN HEADER — DESKTOP
   ========================================================== */

#sp-header {
    position: relative !important;

    height: 92px !important;
    min-height: 92px !important;

    padding: 0 !important;

    background: #ffffff !important;

    box-shadow:
        0 1px 0 rgba(15,63,89,.08),
        0 2px 8px rgba(0,0,0,.025) !important;

    z-index: 20 !important;
}

#sp-header > .container,
#sp-header .container {
    width: 100% !important;
    max-width: 1180px !important;
    height: 92px !important;

    margin: 0 auto !important;

    padding-left: 15px !important;
    padding-right: 15px !important;
}

#sp-header .container-inner,
#sp-header .row {
    height: 92px !important;
}

#sp-header .row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
}


/* LOGO */

#sp-logo {
    flex: 0 0 125px !important;

    width: 125px !important;
    max-width: 125px !important;

    padding: 0 !important;
}

#sp-logo .sp-column,
#sp-header .logo {
    height: 92px !important;

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

    padding: 0 !important;
}

#sp-header .logo img,
#sp-header .logo-image {
    display: block !important;

    width: auto !important;
    height: auto !important;

    max-width: 96px !important;
    max-height: 62px !important;

    object-fit: contain !important;
}


/* MENU AREA */

#sp-menu {
    flex: 1 1 auto !important;

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

    padding: 0 !important;
}

#sp-menu > .sp-column {
    height: 92px !important;

    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;

    gap: 25px !important;
}

.sp-megamenu-parent {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;

    float: none !important;

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

    white-space: nowrap !important;
}

.sp-megamenu-parent > li {
    display: flex !important;
    align-items: center !important;

    float: none !important;

    margin: 0 !important;

    white-space: nowrap !important;
}

.sp-megamenu-parent > li > a,
.sp-megamenu-parent > li > span {
    height: 92px !important;

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

    padding: 0 11px !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1 !important;

    text-transform: none !important;
    text-decoration: none !important;

    white-space: nowrap !important;

    color: #123f59 !important;
}

.sp-megamenu-parent > li.active > a,
.sp-megamenu-parent > li.current-item > a,
.sp-megamenu-parent > li > a:hover {
    color: #1482c4 !important;
}


/* SEARCH */

#sp-header input[type="search"],
#sp-header input[type="text"],
#sp-header .form-control {
    width: 194px !important;
    min-width: 194px !important;
    max-width: 194px !important;

    height: 40px !important;

    padding: 0 13px !important;

    border: 1px solid #cbd5dc !important;
    border-radius: 6px !important;

    background: #ffffff !important;

    color: #333333 !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;

    box-shadow: none !important;
}

#sp-header input:focus {
    border-color: #1684c4 !important;
    outline: none !important;
}


/* NO DESKTOP HAMBURGER */

@media (min-width: 992px) {

    #offcanvas-toggler,
    .offcanvas-toggler {
        display: none !important;
    }

}


/* ==========================================================
   INTERNAL PAGE TITLE BANNER
   FIX ABOUT US / DIVISIONS / TRAINING / ETC
   ========================================================== */

body .sp-page-title {
    position: relative !important;

    min-height: 136px !important;

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

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

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

    overflow: hidden !important;
}


/* readable overlay */

body .sp-page-title::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    display: block !important;

    background: rgba(4,45,72,.28) !important;

    z-index: 1 !important;

    pointer-events: none !important;
}


/* content ABOVE overlay */

body .sp-page-title > .container,
body .sp-page-title .container,
body .sp-page-title .container-inner {
    position: relative !important;

    z-index: 5 !important;

    width: 100% !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
}


/* FORCE TITLE VISIBLE */

body .sp-page-title .sp-page-title-heading,
body .sp-page-title h1,
body .sp-page-title h2,
body .sp-page-title .page-header,
body .sp-page-title .page-header h1,
body .sp-page-title .page-header h2 {

    display: block !important;

    position: relative !important;

    z-index: 10 !important;

    opacity: 1 !important;
    visibility: visible !important;

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

    color: #ffffff !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 38px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;

    text-transform: uppercase !important;

    text-shadow: 0 2px 5px rgba(0,0,0,.38) !important;
}


/* breadcrumb */

body .sp-page-title .breadcrumb,
body .sp-page-title .breadcrumb *,
body .sp-page-title .sp-page-title-sub-heading {

    position: relative !important;

    z-index: 10 !important;

    opacity: 1 !important;
    visibility: visible !important;

    color: rgba(255,255,255,.92) !important;
}


/* ==========================================================
   UNIFORM FONT FAMILY
   ========================================================== */

html,
body,
body p,
body li,
body a,
body span,
body div,
button,
input,
select,
textarea,
table,
th,
td {
    font-family: Arial, Helvetica, sans-serif !important;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
    font-family: Arial, Helvetica, sans-serif !important;
    line-height: 1.2 !important;
}

body h1 { font-size: 42px; }
body h2 { font-size: 34px; }
body h3 { font-size: 28px; }
body h4 { font-size: 22px; }
body h5 { font-size: 18px; }
body h6 { font-size: 16px; }


/* ==========================================================
   TABLET
   ========================================================== */

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

    #sp-top-bar {
        height: 44px !important;
        min-height: 44px !important;
    }

    #sp-top-bar .container,
    #sp-top-bar .container-inner,
    #sp-top-bar .row {
        height: 44px !important;
        min-height: 44px !important;
    }

    #sp-top1,
    #sp-top2 {
        height: 44px !important;
    }

    #sp-top-bar .container::after {
        font-size: 11px !important;
    }

    #sp-top2 li,
    #sp-top2 span,
    #sp-top2 a {
        font-size: 10px !important;
    }


    #sp-header,
    #sp-header > .container,
    #sp-header .container,
    #sp-header .container-inner,
    #sp-header .row {
        height: 78px !important;
        min-height: 78px !important;
    }

    #sp-logo .sp-column,
    #sp-header .logo,
    #sp-menu > .sp-column {
        height: 78px !important;
    }

    #sp-logo {
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: none !important;
    }

    #sp-header .logo img,
    #sp-header .logo-image {
        max-height: 52px !important;
        max-width: 88px !important;
    }

    .sp-megamenu-parent {
        display: none !important;
    }

    #sp-header input[type="search"],
    #sp-header input[type="text"],
    #sp-header .form-control {
        display: none !important;
    }

    #offcanvas-toggler,
    .offcanvas-toggler {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        margin-left: auto !important;

        color: #123f59 !important;

        font-size: 23px !important;
    }


    body .sp-page-title {
        min-height: 118px !important;
    }

    body .sp-page-title .sp-page-title-heading,
    body .sp-page-title h1 {
        font-size: 34px !important;
    }

}


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

@media (max-width: 767.98px) {

    /*
       Mobile top bar uses TWO LEVELS:
       tagline above
       social + phone/email below
    */

    #sp-top-bar {
        height: 65px !important;
        min-height: 65px !important;
    }

    #sp-top-bar .container,
    #sp-top-bar .container-inner,
    #sp-top-bar .row {
        height: 65px !important;
        min-height: 65px !important;
    }


    /* tagline first line */

    #sp-top-bar .container::after {
        left: 50% !important;
        top: 15px !important;

        transform: translateX(-50%) !important;

        font-size: 11px !important;
        font-weight: 700 !important;
    }


    /* socials lower left */

    #sp-top1 {
        left: 12px !important;
        top: 31px !important;

        height: 28px !important;
    }

    #sp-top1 .sp-column,
    #sp-top1 .sp-module {
        height: 28px !important;
    }

    #sp-top1 ul {
        gap: 11px !important;
    }


    /* phone/email lower right */

    #sp-top2 {
        right: 12px !important;
        top: 31px !important;

        height: 28px !important;
    }

    #sp-top2 .sp-column,
    #sp-top2 .sp-module {
        height: 28px !important;
    }

    #sp-top2 ul,
    #sp-top2 .sp-contact-info {
        gap: 7px !important;
    }

    #sp-top2 li,
    #sp-top2 span,
    #sp-top2 a {
        font-size: 9px !important;
    }


    /* MOBILE HEADER */

    #sp-header,
    #sp-header > .container,
    #sp-header .container,
    #sp-header .container-inner,
    #sp-header .row {
        height: 72px !important;
        min-height: 72px !important;
    }

    #sp-logo .sp-column,
    #sp-header .logo,
    #sp-menu > .sp-column {
        height: 72px !important;
    }

    #sp-logo {
        flex: 1 1 auto !important;

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

    #sp-header .logo img,
    #sp-header .logo-image {
        max-width: 82px !important;
        max-height: 47px !important;
    }

    .sp-megamenu-parent {
        display: none !important;
    }

    #sp-header input[type="search"],
    #sp-header input[type="text"],
    #sp-header .form-control {
        display: none !important;
    }

    #offcanvas-toggler,
    .offcanvas-toggler {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        margin-left: auto !important;

        color: #123f59 !important;

        font-size: 22px !important;
    }


    /* PAGE TITLE */

    body .sp-page-title {
        min-height: 100px !important;
    }

    body .sp-page-title .sp-page-title-heading,
    body .sp-page-title h1,
    body .sp-page-title h2 {
        font-size: 29px !important;
        line-height: 1.15 !important;
    }


    body h1 { font-size: 31px !important; }
    body h2 { font-size: 27px !important; }
    body h3 { font-size: 23px !important; }
    body h4 { font-size: 20px !important; }
}


/* Extra-small phone protection */

@media (max-width: 390px) {

    #sp-top2 li,
    #sp-top2 span,
    #sp-top2 a {
        font-size: 8.5px !important;
    }

    #sp-top2 ul,
    #sp-top2 .sp-contact-info {
        gap: 5px !important;
    }

}



/* ==========================================================
   INVICTA 24 PLUS
   FINAL TOP BAR + SINGLE LOGO FIX
   ========================================================== */


/* ==========================================================
   TOP BAR
   ========================================================== */

#sp-top-bar {
    position: relative !important;

    height: 42px !important;
    min-height: 42px !important;

    padding: 0 !important;

    background: #123F59 !important;
    color: #ffffff !important;

    border: 0 !important;
}

#sp-top-bar > .container,
#sp-top-bar .container {
    position: relative !important;

    width: 100% !important;
    max-width: 1180px !important;

    height: 42px !important;
    min-height: 42px !important;

    margin: 0 auto !important;
    padding: 0 18px !important;
}

#sp-top-bar .container-inner,
#sp-top-bar .row {
    position: relative !important;

    width: 100% !important;

    height: 42px !important;
    min-height: 42px !important;

    margin: 0 !important;
}


/* ==========================================================
   SOCIAL ICONS — LEFT
   ========================================================== */

#sp-top1 {
    position: absolute !important;

    left: 18px !important;
    top: 0 !important;

    width: auto !important;
    height: 42px !important;

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

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

    z-index: 5 !important;
}

#sp-top1 .sp-column,
#sp-top1 .sp-module {
    height: 42px !important;

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

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

#sp-top1 ul {
    display: flex !important;
    align-items: center !important;

    gap: 14px !important;

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

    list-style: none !important;
}

#sp-top1 a {
    width: 24px !important;
    height: 24px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    color: rgba(255,255,255,.92) !important;

    opacity: .9;
}

#sp-top1 a:hover {
    opacity: 1;
}


/* Fix Facebook icon using existing site image */

#sp-top1 a[href*="facebook"] i,
#sp-top1 a[href*="facebook"] span[class*="fa"] {
    display: none !important;
}

#sp-top1 a[href*="facebook"]::before {
    content: "" !important;

    display: block !important;

    width: 16px !important;
    height: 16px !important;

    background-image: url("/images/Social-media-icons/facebook.png") !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;

    filter: brightness(0) invert(1);
}


/* X / Twitter */

#sp-top1 a[href*="twitter"] i,
#sp-top1 a[href*="twitter"] span[class*="fa"],
#sp-top1 a[href*="x.com"] i,
#sp-top1 a[href*="x.com"] span[class*="fa"] {
    display: none !important;
}

#sp-top1 a[href*="twitter"]::before,
#sp-top1 a[href*="x.com"]::before {
    content: "" !important;

    display: block !important;

    width: 15px !important;
    height: 15px !important;

    background-image: url("/images/Social-media-icons/twitter.png") !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;

    filter: brightness(0) invert(1);
}


/* ==========================================================
   TAGLINE — CENTRE
   ========================================================== */

#sp-top-bar .container::after {
    content: "Your care is our care" !important;

    position: absolute !important;

    left: 50% !important;
    top: 50% !important;

    transform: translate(-50%, -50%) !important;

    color: #ffffff !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;

    line-height: 1 !important;

    letter-spacing: .15px !important;

    white-space: nowrap !important;

    pointer-events: none !important;

    z-index: 4 !important;
}


/* ==========================================================
   CONTACT — RIGHT
   ========================================================== */

#sp-top2 {
    position: absolute !important;

    right: 18px !important;
    top: 0 !important;

    width: auto !important;
    height: 42px !important;

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

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

    z-index: 5 !important;
}

#sp-top2 .sp-column,
#sp-top2 .sp-module {
    height: 42px !important;

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

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

#sp-top2 .sp-contact-info,
#sp-top2 ul {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;

    gap: 20px !important;

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

    list-style: none !important;
}

#sp-top2 li {
    position: relative !important;

    display: inline-flex !important;
    align-items: center !important;

    gap: 7px !important;

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

    white-space: nowrap !important;
}

#sp-top2 li i {
    display: none !important;
}


/* Use clean text labels instead of broken icon-font squares */

#sp-top2 li:first-child::before {
    content: "Tel:" !important;

    color: #B8D8EA !important;

    font-size: 11px !important;
    font-weight: 700 !important;
}

#sp-top2 li:nth-child(2)::before {
    content: "Email:" !important;

    color: #B8D8EA !important;

    font-size: 11px !important;
    font-weight: 700 !important;
}

#sp-top2,
#sp-top2 a,
#sp-top2 span,
#sp-top2 li {
    color: #ffffff !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    font-weight: 400 !important;

    line-height: 1 !important;

    text-decoration: none !important;
}

#sp-top2 a:hover {
    color: #D8EFFB !important;
}


/* ==========================================================
   DUPLICATE LOGO FIX
   ========================================================== */

/*
   Helix can output normal/mobile/sticky logo variants.
   Only the main logo should occupy the normal desktop header.
*/

#sp-logo .logo-image-phone,
#sp-logo .logo-image-sticky,
#sp-logo .sticky-logo,
#sp-logo img.logo-sticky {
    display: none !important;
}


/* If Helix has rendered more than one IMG inside the same logo link,
   only display the first one. */

#sp-logo .logo > a > img:nth-of-type(n+2) {
    display: none !important;
}


/* If a second complete logo wrapper has been generated */
#sp-logo .logo + .logo {
    display: none !important;
}


/* Keep one clean logo */

#sp-logo .logo {
    display: flex !important;
    align-items: center !important;

    height: 92px !important;

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

#sp-logo .logo > a {
    display: flex !important;
    align-items: center !important;
}

#sp-logo .logo > a > img:first-of-type,
#sp-header .logo-image:first-of-type {
    display: block !important;

    width: auto !important;
    height: auto !important;

    max-width: 96px !important;
    max-height: 60px !important;

    object-fit: contain !important;
}


/* ==========================================================
   MOBILE / TABLET
   ========================================================== */

@media (max-width: 991.98px) {

    #sp-logo .logo {
        height: 72px !important;
    }

    /*
       Use same primary logo on mobile.
       No duplicate mobile logo necessary.
    */

    #sp-logo .logo-image-phone,
    #sp-logo .logo-image-sticky {
        display: none !important;
    }

}


@media (max-width: 767.98px) {

    #sp-top-bar {
        height: 68px !important;
        min-height: 68px !important;
    }

    #sp-top-bar > .container,
    #sp-top-bar .container,
    #sp-top-bar .container-inner,
    #sp-top-bar .row {
        height: 68px !important;
        min-height: 68px !important;
    }


    /* tagline first row */

    #sp-top-bar .container::after {
        top: 17px !important;

        font-size: 11px !important;
    }


    /* socials second row left */

    #sp-top1 {
        left: 14px !important;
        top: 34px !important;

        height: 28px !important;
    }


    /* contact second row right */

    #sp-top2 {
        right: 14px !important;
        top: 34px !important;

        height: 28px !important;
    }

    #sp-top2 .sp-contact-info,
    #sp-top2 ul {
        gap: 10px !important;
    }

    #sp-top2 li,
    #sp-top2 a,
    #sp-top2 span {
        font-size: 9px !important;
    }

    #sp-top2 li:first-child::before,
    #sp-top2 li:nth-child(2)::before {
        font-size: 9px !important;
    }

}


/* Very narrow phones:
   phone remains visible, email moves out to avoid collision */

@media (max-width: 430px) {

    #sp-top2 li:nth-child(2) {
        display: none !important;
    }

}


/* ==========================================================
   INVICTA24PLUS — FINAL PAGE TITLE + FOOTER CLEANUP
   ========================================================== */

/* ----------------------------------------------------------
   INTERNAL PAGE TITLE — ALWAYS CLEAR AND WHITE
   ---------------------------------------------------------- */

body .sp-page-title {
    position: relative !important;
    min-height: 135px !important;
    display: flex !important;
    align-items: center !important;

    background-size: cover !important;
    background-position: center center !important;
}

/* subtle overlay for readability */
body .sp-page-title::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;

    display: block !important;

    background: rgba(7, 47, 72, .30) !important;

    z-index: 1 !important;
    pointer-events: none !important;
}

/* keep title above overlay */
body .sp-page-title > .container,
body .sp-page-title .container,
body .sp-page-title .container-inner {
    position: relative !important;
    z-index: 5 !important;
}

/* FORCE title white regardless of old template rules */
body .sp-page-title .sp-page-title-heading,
body .sp-page-title h1,
body .sp-page-title h2,
body .sp-page-title .page-header h1,
body .sp-page-title .page-header h2 {
    display: block !important;

    color: #ffffff !important;

    opacity: 1 !important;
    visibility: visible !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 38px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;

    text-transform: uppercase !important;

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

    text-shadow: 0 2px 5px rgba(0,0,0,.38) !important;
}


/* ----------------------------------------------------------
   FOOTER — REMOVE EMPTY MEMBER-OF HEADING
   ---------------------------------------------------------- */

.invicta-footer-member > h3 {
    display: none !important;
}

.invicta-footer-partners-block h4 {
    color: #ffffff !important;

    font-size: 17px !important;
    font-weight: 700 !important;

    margin: 0 0 18px !important;

    text-transform: none !important;
}


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

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

    body .sp-page-title {
        min-height: 115px !important;
    }

    body .sp-page-title .sp-page-title-heading,
    body .sp-page-title h1 {
        font-size: 34px !important;
    }
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 767.98px) {

    body .sp-page-title {
        min-height: 95px !important;
    }

    body .sp-page-title .sp-page-title-heading,
    body .sp-page-title h1 {
        font-size: 28px !important;
    }
}


/* ABOUT US PAGE TITLE — FORCE WHITE */
#sppb-addon-1647424731650 .sppb-addon-header .sppb-addon-title,
#sppb-addon-1647424731650 .sppb-addon-title {
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-shadow: 0 2px 5px rgba(0,0,0,.35) !important;
}


/* ==========================================================
   ALL MAIN PAGE / MENU TITLES — WHITE
   Applies to every SP Page Builder H1 title
   ========================================================== */

#sp-main-body .sppb-addon-header h1.sppb-addon-title,
#sp-main-body h1.sppb-addon-title,
.sppb-addon-header h1.sppb-addon-title,
h1.sppb-addon-title {
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;

    text-shadow: 0 2px 5px rgba(0,0,0,.38) !important;
}

/* Desktop internal page title size */
@media (min-width: 992px) {
    #sp-main-body h1.sppb-addon-title {
        font-size: 38px !important;
    }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 991.98px) {
    #sp-main-body h1.sppb-addon-title {
        font-size: 34px !important;
    }
}

/* Mobile */
@media (max-width: 767.98px) {
    #sp-main-body h1.sppb-addon-title {
        font-size: 28px !important;
    }
}



/* ==========================================================
   INVICTA24PLUS — SEARCH RESULTS
   ========================================================== */

.com-search #sp-main-body,
.view-search #sp-main-body {
    padding-top: 55px !important;
    padding-bottom: 65px !important;
}

.search,
.search-results {
    max-width: 1120px !important;
    margin: 0 auto !important;
}

.search .btn,
.search button {
    min-height: 40px !important;

    padding: 0 20px !important;

    border: 0 !important;
    border-radius: 5px !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 600 !important;
}

.search .btn-primary,
.search button[type="submit"] {
    background: #1684c4 !important;
    color: #fff !important;
}

.search .btn-primary:hover,
.search button[type="submit"]:hover {
    background: #123f59 !important;
}

.search input[type="text"],
.search input[type="search"] {
    min-height: 40px !important;

    border: 1px solid #cbd6dd !important;
    border-radius: 5px !important;

    padding: 0 13px !important;
}

/* Remove broken icon-font squares */
.search button i,
.search .btn i {
    display: none !important;
}

.search h1,
.search h2,
.search h3,
.search-results h1,
.search-results h2,
.search-results h3 {
    color: #123f59 !important;
}

.search-results .result-title,
.search-results .result-title a {
    color: #1684c4 !important;
    font-weight: 700 !important;
}

.search-results .result-text {
    line-height: 1.65 !important;
}


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

    .com-search #sp-main-body,
    .view-search #sp-main-body {
        padding: 35px 18px 45px !important;
    }

    .search .btn,
    .search button {
        margin-top: 8px !important;
    }
}


/* ==========================================================
   INVICTA 24 PLUS — BEAUTIFUL SEARCH RESULTS
   Works for Joomla Search + Smart Search
   ========================================================== */

/* Main search page spacing */
.com-search #sp-main-body,
.com-finder #sp-main-body,
.view-search #sp-main-body {
    padding: 50px 0 70px !important;
    background: #f7f9fb !important;
}

.search,
.finder,
.search-results,
.com-finder .finder {
    max-width: 1120px !important;
    margin: 0 auto !important;
    padding: 0 18px !important;
}

/* Search intro line */
.searchintro,
.finder .searchintro {
    color: #4f6472 !important;
    font-size: 15px !important;
    margin-bottom: 18px !important;
}

/* Search form block */
.search form,
.finder form {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 30px !important;
}

/* Search label */
.search label,
.finder label {
    width: 100% !important;
    display: block !important;
    color: #123f59 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    margin-bottom: 6px !important;
}

/* Search input */
.search input[type="text"],
.search input[type="search"],
.finder input[type="text"],
.finder input[type="search"],
.com-search input[type="text"],
.com-finder input[type="text"] {
    min-width: 260px !important;
    max-width: 420px !important;
    width: 100% !important;
    height: 46px !important;
    padding: 0 14px !important;
    border: 1px solid #ccd6dd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #333333 !important;
    font-size: 15px !important;
    box-shadow: none !important;
}

.search input:focus,
.finder input:focus {
    outline: none !important;
    border-color: #1684c4 !important;
    box-shadow: 0 0 0 3px rgba(22,132,196,.12) !important;
}

/* Search buttons */
.search button,
.search .btn,
.finder button,
.finder .btn,
.com-search button,
.com-finder button {
    min-height: 46px !important;
    padding: 0 22px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #1684c4 !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}

.search button:hover,
.search .btn:hover,
.finder button:hover,
.finder .btn:hover,
.com-search button:hover,
.com-finder button:hover {
    background: #123f59 !important;
    color: #ffffff !important;
}

/* Remove broken button/search icons */
.search button i,
.search .btn i,
.finder button i,
.finder .btn i,
.search [class*="icon-"],
.finder [class*="icon-"],
.search [class*="fa"],
.finder [class*="fa"] {
    display: none !important;
}

/* Search headings */
.search h1,
.search h2,
.search h3,
.finder h1,
.finder h2,
.finder h3,
.search-results h1,
.search-results h2,
.search-results h3 {
    color: #123f59 !important;
    font-family: Arial, Helvetica, sans-serif !important;
}

.search h1,
.finder h1,
.search-results h1 {
    font-size: 42px !important;
    font-weight: 700 !important;
    margin-bottom: 12px !important;
}

/* Make each result a card */
.search-results > *,
.search .result,
.search-results .result,
.finder .result,
.finder .result-item,
.com-finder .result,
.com-finder .result-item,
.com-search .result {
    background: #ffffff !important;
    border: 1px solid #e2e8ee !important;
    border-radius: 14px !important;
    padding: 22px 22px 18px !important;
    margin: 0 0 18px !important;
    box-shadow: 0 8px 24px rgba(18,63,89,.05) !important;
}

/* Remove hard dividers if any */
.search-results hr,
.finder hr,
.search hr {
    display: none !important;
}

/* Result URL — hide ugly raw IP/domain lines */
.result-url,
.search .result-url,
.finder .result-url,
.com-search .result-url,
.com-finder .result-url,
small.url,
small.small,
.result-category,
.search .small,
.finder .small {
    display: none !important;
}

/* Result title */
.result-title,
.result-title a,
.search .result-title a,
.finder .result-title a,
.com-search .result-title a,
.com-finder .result-title a {
    color: #1684c4 !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
}

.result-title a:hover,
.search .result-title a:hover,
.finder .result-title a:hover {
    color: #123f59 !important;
}

/* Result meta */
.result-created,
.result-date,
.finder .result-date,
.search .result-date {
    color: #718391 !important;
    font-size: 14px !important;
    margin: 8px 0 10px !important;
}

/* Result text */
.result-text,
.search .result-text,
.finder .result-text,
.com-search .result-text,
.com-finder .result-text {
    color: #333333 !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
    margin-top: 10px !important;
}

/* "Type: Page" line */
.result-type,
.search .result-type,
.finder .result-type {
    display: inline-block !important;
    margin-top: 12px !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
    background: #eef6fb !important;
    color: #123f59 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

/* Highlighted search words */
mark,
.search mark,
.finder mark,
.highlight {
    background: #fff1a8 !important;
    color: #2f2f2f !important;
    padding: 1px 4px !important;
    border-radius: 3px !important;
}

/* Results count / pagination text */
.counter,
.search-pages-counter,
.finder .search-pages-counter,
.pagination-counter {
    color: #5d7180 !important;
    font-size: 14px !important;
    margin-top: 18px !important;
}

/* Pagination */
.pagination {
    margin-top: 26px !important;
}

.pagination > li > a,
.pagination > li > span {
    border-radius: 8px !important;
    margin-right: 6px !important;
    border: 1px solid #d5dfe6 !important;
    color: #123f59 !important;
}

.pagination > .active > a,
.pagination > .active > span {
    background: #1684c4 !important;
    border-color: #1684c4 !important;
    color: #ffffff !important;
}

/* No results message */
.search-noresults,
.finder .search-noresults,
.noresult,
.no-results {
    background: #ffffff !important;
    border: 1px solid #e2e8ee !important;
    border-radius: 14px !important;
    padding: 24px !important;
    box-shadow: 0 8px 24px rgba(18,63,89,.05) !important;
}

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

    .com-search #sp-main-body,
    .com-finder #sp-main-body,
    .view-search #sp-main-body {
        padding: 32px 0 45px !important;
    }

    .search h1,
    .finder h1,
    .search-results h1 {
        font-size: 32px !important;
    }

    .result-title,
    .result-title a,
    .search .result-title a,
    .finder .result-title a {
        font-size: 22px !important;
    }

    .search form,
    .finder form {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .search input[type="text"],
    .search input[type="search"],
    .finder input[type="text"],
    .finder input[type="search"] {
        max-width: none !important;
    }
}


/* ==========================================================
   INVICTA24PLUS — FONT AWESOME RESTORATION
   Global Arial rules were overriding icon fonts
   ========================================================== */

/* Font Awesome 5 */
.fa,
.fas,
.far,
.fal,
.fad,
.fab,
[class^="fa-"],
[class*=" fa-"] {
    font-family: "Font Awesome 5 Free" !important;
}

/* Solid icons */
.fa,
.fas {
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
}

/* Regular icons */
.far {
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 400 !important;
}

/* Brands */
.fab {
    font-family: "Font Awesome 5 Brands" !important;
    font-weight: 400 !important;
}

/* Helix / Joomla icon fonts */
[class^="icon-"],
[class*=" icon-"] {
    font-family: "IcoMoon" !important;
}

/* Do not force normal text font onto icon elements */
body span.fa,
body span.fas,
body span.far,
body span.fab,
body i.fa,
body i.fas,
body i.far,
body i.fab {
    font-family: "Font Awesome 5 Free" !important;
}

body span.fab,
body i.fab {
    font-family: "Font Awesome 5 Brands" !important;
}


/* Restore scroll-to-top native Font Awesome icon */
.sp-scroll-up::before {
    display: none !important;
}

.sp-scroll-up .fas.fa-angle-up,
.sp-scroll-up .fa.fa-angle-up {
    display: inline-block !important;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    color: #ffffff !important;
    font-size: 16px !important;
}


/* Normal site text still uses Arial,
   BUT deliberately exclude icon classes */
body,
body p,
body li,
body a:not(.fa):not(.fas):not(.far):not(.fab),
body span:not(.fa):not(.fas):not(.far):not(.fab),
button,
input,
select,
textarea,
table,
th,
td {
    font-family: Arial, Helvetica, sans-serif;
}

