/* Approved SJE local changes transferred from sjelimited-staging.test. */

#preloader .loader img {
    width: 72px !important;
    height: 72px !important;
    object-fit: contain !important;
    animation: sje-approved-loader-spin 0.9s linear infinite !important;
    display: block !important;
}
@keyframes sje-approved-loader-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.header-two .mid-header .header-logo {
    width: 270px;
    max-width: 270px;
    flex: 0 0 270px;
}
.header-two .mid-header .header-logo img {
    width: 270px;
    max-width: 100%;
    height: auto;
}

/* Header contact details. */
.top-header-two .top-left li,
.top-header-two .top-left li a {
    font-weight: 700 !important;
}

/* Homepage service cards: outlined instead of a solid blue group. */
body.page-id-52 .elementor-element-573b962 {
    background: transparent !important;
}
body.page-id-52 .elementor-element-573b962 .dl-service {
    border: 1px solid rgba(1, 47, 101, .28) !important;
    box-shadow: none !important;
}

/* Why Choose SJE: readable headings and stronger feature icons. */
body.page-id-52 [data-id="sje_why_csec"] .elementor-icon-box-title,
body.page-id-52 [data-id="sje_why_csec"] .elementor-icon-box-title span,
body.page-id-52 [data-id="sje_why_csec"] .elementor-icon-box-description {
    color: #0D1B2A !important;
}
body.page-id-52 [data-id="sje_why_csec"] .elementor-icon {
    font-size: 76px !important;
}
body.page-id-52 [data-id="sje_why_csec"] .elementor-icon i {
    -webkit-text-stroke: .7px currentColor;
    text-shadow:
        .55px 0 currentColor,
        -.55px 0 currentColor,
        0 .55px currentColor,
        0 -.55px currentColor;
}

/* Contact page: double all red text accents as requested. */
body.page-id-2209 .sje-ctey:not(.sje-ctey--lt) {
    font-size: 24px !important;
}
body.page-id-2209 .ct-method__value,
body.page-id-2209 .ct-method__value[style] {
    font-size: clamp(1.65rem, 2.25vw, 2.4rem) !important;
    line-height: 1.25 !important;
    overflow-wrap: anywhere;
    word-break: normal;
}
body.page-id-2209 .ct-directions {
    font-size: 2rem !important;
}
body.page-id-2209 .ct-info-block h3 {
    font-size: 1.8rem !important;
}
html body.page-id-2209 .sje-ct .ct-po__parish {
    font-size: 1.5rem !important;
}

/* Careers header: match the standard header scale used on other pages. */
body.page-id-2227 .top-header-two li,
body.page-id-2227 .top-header-two li a {
    font-size: 14px !important;
}
body.page-id-2227 .mid-header-right li {
    font-size: 12px !important;
}
html body.page-id-2227 .sje-cr .cr-hero {
    background-image: url('/wp-content/uploads/2026/08/sje-careers-hero-team.png') !important;
    background-position: center center !important;
}
html body.page-id-2227 .sje-cr .cr-band__img {
    background-image: url('/wp-content/uploads/2026/08/sje-careers-collaboration.png') !important;
    background-position: center center !important;
}

/* Services: blue How SJE Works process band. */
html body .sje-s .sje-sec--grey {
    background: #0D2B55 !important;
}
html body .sje-s .sje-sec--grey .sje-ey,
html body .sje-s .sje-sec--grey .sje-h2,
html body .sje-s .sje-sec--grey .sv-step h3,
html body .sje-s .sje-sec--grey .sv-step p {
    color: #FFFFFF !important;
}
html body .sje-s .sje-sec--grey .sje-div {
    background: #FFFFFF !important;
}
html body .sje-s .sje-sec--grey .sv-step__n {
    background: #2471A3 !important;
    border: 2px solid rgba(255,255,255,.75) !important;
    color: #FFFFFF !important;
}
html body .sje-s .sje-sec--grey .sv-process::before {
    background: repeating-linear-gradient(90deg, rgba(255,255,255,.9) 0, rgba(255,255,255,.9) 16px, rgba(255,255,255,.25) 16px, rgba(255,255,255,.25) 26px) !important;
}

/* Homepage Why Choose SJE: use the Our Projects white/blue/red palette. */
html body.page-id-52 [data-id="sje_why_hsec"],
html body.page-id-52 [data-id="sje_why_csec"] {
    background-color: #FFFFFF !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
}
html body.page-id-52 [data-id="sje_why_hsec"] {
    background-image: url('/wp-content/uploads/2020/11/map-pattern.png') !important;
}
html body.page-id-52 [data-id="sje_why_csec"] {
    background-image: none !important;
}
html body.page-id-52 [data-id="sje_why_hsec"] .dl-sub-heading {
    color: #C8102E !important;
}
html body.page-id-52 [data-id="sje_why_hsec"] .dl-heading,
html body.page-id-52 [data-id="sje_why_hsec"] .dl-heading span,
html body.page-id-52 [data-id="sje_why_hsec"] .dl-desc,
html body.page-id-52 [data-id="sje_why_csec"] .elementor-icon-box-title,
html body.page-id-52 [data-id="sje_why_csec"] .elementor-icon-box-title span,
html body.page-id-52 [data-id="sje_why_csec"] .elementor-icon-box-description {
    color: #0D1B2A !important;
}
html body.page-id-52 [data-id="sje_why_csec"] .elementor-icon {
    color: #C8102E !important;
}

/* About What We Do: mirror the Our Projects palette. */
html body .sje-about .sje-what-we-do {
    background-color: #FFFFFF !important;
    background-image: url('/wp-content/uploads/2020/11/map-pattern.png') !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
}
html body .sje-about .sje-what-we-do .sje-eyebrow {
    color: #C8102E !important;
}
html body .sje-about .sje-what-we-do .sje-h2,
html body .sje-about .sje-what-we-do .sje-h3,
html body .sje-about .sje-what-we-do p {
    color: #0D1B2A !important;
}
html body .sje-about .sje-what-we-do .sje-divider {
    background: #C8102E !important;
}
html body .sje-about .sje-what-we-do .sje-cap-card {
    background: #FFFFFF !important;
    border-color: rgba(13,27,42,.12) !important;
    box-shadow: 0 10px 28px rgba(13,27,42,.10) !important;
}
html body .sje-about .sje-what-we-do .sje-cap-card__icon,
html body .sje-about .sje-what-we-do .sje-cap-card__icon svg {
    color: #C8102E !important;
    stroke: #C8102E !important;
}

@media (max-width: 992px) {
    .header-two .mid-header .header-logo {
        width: 220px;
        max-width: 220px;
        flex-basis: 220px;
    }
    .header-two .mid-header .header-logo img {
        width: 220px;
    }
}

.mid-header-right ul li:first-child .icon svg {
    display: none;
}
.mid-header-right ul li:first-child .icon {
    background: url('/wp-content/uploads/2026/07/handshake.jpg') center/contain no-repeat;
    width: 40px;
    height: 40px;
}

/* Site-wide body-copy standard across all primary menu pages. */
:root {
    --sje-body-copy-size: 16px;
    --sje-body-copy-color: #0D1B2A;
    --sje-body-copy-line-height: 1.7;
}

.page-id-52 .elementor p,
.page-id-52 .elementor li,
.sje-about p,
.sje-about li,
.sje-s p,
.sje-s li,
.sje-p p,
.sje-p li,
.sje-cr p,
.sje-cr li,
.sje-ct p,
.sje-ct li {
    color: var(--sje-body-copy-color) !important;
    font-size: var(--sje-body-copy-size) !important;
    line-height: var(--sje-body-copy-line-height) !important;
}

/* Reverse body copy on intentionally dark or image-backed sections. */
.sje-home-hero p,
.sje-home-hero li,
.sje-hero p,
.sje-hero li,
.sje-section--bg-dark p,
.sje-section--bg-dark li,
.sv-hero p,
.sv-hero li,
.sje-sec--dark p,
.sje-sec--dark li,
.sv-band__content p,
.sv-band__content li,
.sv-cta p,
.sv-cta li,
.pj-hero p,
.pj-hero li,
.sje-psec--dark p,
.sje-psec--dark li,
.pj-featured__body p,
.pj-featured__body li,
.pj-cta p,
.pj-cta li,
.cr-hero p,
.cr-hero li,
.sje-csec--dark p,
.sje-csec--dark li,
.cr-band__body p,
.cr-band__body li,
.ct-hero p,
.ct-hero li,
.sje-ctsec--dark p,
.sje-ctsec--dark li,
.ct-cta p,
.ct-cta li,
.page-id-52 .elementor .dark-bg p,
.page-id-52 .elementor .dark-bg li,
.page-id-52 .elementor .bg-dark p,
.page-id-52 .elementor .bg-dark li {
    color: rgba(255, 255, 255, .82) !important;
    font-size: var(--sje-body-copy-size) !important;
}

/* Final specificity layer for page-template component rules. */
body.page-id-52.page-id-52 .elementor p,
body.page-id-52.page-id-52 .elementor li,
body .sje-about.sje-about p,
body .sje-about.sje-about li,
body .sje-s.sje-s p,
body .sje-s.sje-s li,
body .sje-p.sje-p p,
body .sje-p.sje-p li,
body .sje-cr.sje-cr p,
body .sje-cr.sje-cr li,
body .sje-ct.sje-ct p,
body .sje-ct.sje-ct li {
    color: #0D1B2A !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}

body .sje-home-hero.sje-home-hero p,
body .sje-about.sje-about .sje-hero p,
body .sje-about.sje-about .sje-section--bg-dark p,
body .sje-s.sje-s .sv-hero p,
body .sje-s.sje-s .sje-sec--dark p,
body .sje-s.sje-s .sv-band__content p,
body .sje-s.sje-s .sv-cta p,
body .sje-p.sje-p .pj-hero p,
body .sje-p.sje-p .sje-psec--dark p,
body .sje-p.sje-p .pj-featured__body p,
body .sje-p.sje-p .pj-cta p,
body .sje-cr.sje-cr .cr-hero p,
body .sje-cr.sje-cr .sje-csec--dark p,
body .sje-cr.sje-cr .cr-band__body p,
body .sje-ct.sje-ct .ct-hero p,
body .sje-ct.sje-ct .sje-ctsec--dark p,
body .sje-ct.sje-ct .ct-cta p,
body.page-id-52.page-id-52 .elementor .dark-bg p,
body.page-id-52.page-id-52 .elementor .bg-dark p {
    color: rgba(255, 255, 255, .82) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}

/* Featured Projects light case-study panel: red labels, standard dark-blue supporting text. */
body .sje-p.sje-p .pj-featured__body p,
body .sje-p.sje-p .pj-featured__body li,
body .sje-p.sje-p .pj-featured__body .pj-meta-item {
    color: #0D1B2A !important;
}
body .sje-p.sje-p .pj-featured__body .pj-meta-item strong {
    color: var(--sje-red) !important;
}
body .sje-p.sje-p .pj-featured__body .sje-pbtn {
    color: #0D1B2A !important;
    border-color: #0D1B2A !important;
}

/* Contact closing CTA: all copy and button labels remain white on the dark panel. */
html body.page-template-page-contact-php .sje-ct .ct-cta,
html body.page-template-page-contact-php .sje-ct .ct-cta .sje-ctey,
html body.page-template-page-contact-php .sje-ct .ct-cta .sje-cth2,
html body.page-template-page-contact-php .sje-ct .ct-cta p,
html body.page-template-page-contact-php .sje-ct .ct-cta a {
    color: #fff !important;
}

/* Homepage: Engineering & Advanced Expertise redesign. */
body.page-id-52 .sje-caps-section {
    margin: 0 !important;
    background: #0D2B55 !important;
}
body.page-id-52 .elementor-element-sje_caps_head {
    padding: 88px 24px 34px !important;
}
body.page-id-52 .elementor-element-sje_caps_head > .elementor-container,
body.page-id-52 .elementor-element-sje_caps_r1 > .elementor-container,
body.page-id-52 .elementor-element-sje_caps_r2 > .elementor-container {
    width: 100%;
    max-width: 1180px !important;
    margin: 0 auto;
}
body.page-id-52 .elementor-element-sje_caps_head .dl-section-heading {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}
body.page-id-52 .elementor-element-sje_caps_head .dl-sub-heading {
    margin: 0 0 12px !important;
    color: #EF3340 !important;
    font-family: 'Barlow', sans-serif !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase;
}
body.page-id-52 .elementor-element-sje_caps_head .dl-heading {
    margin: 0 0 18px !important;
    color: #fff !important;
    font-family: 'Barlow', sans-serif !important;
    font-size: clamp(2rem, 3.4vw, 2.75rem) !important;
    font-weight: 800 !important;
    line-height: 1.16 !important;
}
body.page-id-52 .elementor-element-sje_caps_head .dl-heading span {
    color: #fff !important;
}
body.page-id-52 .elementor-element-sje_caps_head .dl-heading .dl-center {
    color: #EF3340 !important;
}
html body.page-id-52 .elementor-element-sje_caps_head p.dl-desc {
    max-width: 650px;
    margin: 0 auto !important;
    color: rgba(255, 255, 255, .82) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}
body.page-id-52 .elementor-element-sje_caps_r1 {
    padding: 0 24px 12px !important;
}
body.page-id-52 .elementor-element-sje_caps_r2 {
    padding: 0 24px 88px !important;
}
body.page-id-52 .elementor-element-sje_caps_r1 > .elementor-container,
body.page-id-52 .elementor-element-sje_caps_r2 > .elementor-container {
    align-items: stretch;
}
body.page-id-52 .elementor-element-sje_caps_r2 > .elementor-container {
    justify-content: center;
}
body.page-id-52 .elementor-element-sje_caps_r2 .elementor-col-17 {
    display: none !important;
}
body.page-id-52 .elementor-element-sje_caps_r2 .elementor-col-33 {
    width: 33.333% !important;
    max-width: 33.333% !important;
    flex: 0 0 33.333% !important;
}
body.page-id-52 .elementor-element-sje_caps_r1 .elementor-top-column,
body.page-id-52 .elementor-element-sje_caps_r2 .elementor-top-column {
    padding: 12px !important;
}
body.page-id-52 .sje-cap-card {
    height: 100%;
    min-height: 314px;
    margin: 0 !important;
    padding: 34px 30px 32px !important;
    overflow: hidden;
    border: 1px solid rgba(13, 43, 85, .1);
    border-top: 4px solid #C8102E;
    border-radius: 4px;
    background: #fff !important;
    box-shadow: 0 14px 34px rgba(2, 17, 37, .18);
    transition: transform .25s ease, box-shadow .25s ease;
}
body.page-id-52 .sje-cap-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 44px rgba(2, 17, 37, .28);
}
body.page-id-52 .sje-cap-card > .elementor-widget-container,
body.page-id-52 .sje-cap-card .elementor-icon-box-wrapper {
    height: 100%;
}
body.page-id-52 .sje-cap-card .elementor-icon-box-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}
body.page-id-52 .sje-cap-card .elementor-icon-box-icon {
    margin: 0 0 22px !important;
}
body.page-id-52 .sje-cap-card .elementor-icon {
    width: 76px;
    height: 76px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    background: rgba(200, 16, 46, .08) !important;
}
body.page-id-52 .sje-cap-card .elementor-icon svg {
    width: 34px !important;
    height: 34px !important;
    fill: #C8102E !important;
    color: #C8102E !important;
}
body.page-id-52 .sje-cap-card .elementor-icon i {
    color: #C8102E !important;
    font-size: 46px !important;
    line-height: 1 !important;
    -webkit-text-stroke: .65px currentColor;
    text-shadow:
        .5px 0 currentColor,
        -.5px 0 currentColor,
        0 .5px currentColor,
        0 -.5px currentColor;
}
body.page-id-52 .sje-cap-card .elementor-icon-box-title {
    min-height: 50px;
    margin: 0 0 12px !important;
    color: #0D1B2A !important;
    font-family: 'Barlow', sans-serif !important;
    font-size: 21px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}
body.page-id-52 .sje-cap-card .elementor-icon-box-title span {
    color: #0D1B2A !important;
    font: inherit !important;
}
body.page-id-52 .sje-cap-card .elementor-icon-box-description {
    margin: 0 !important;
    color: #0D1B2A !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}

/* Site-wide scroll-to-top control: SJE red and white. */
#scrollup .scroll-to-top,
.scroll-to-top.cursor-effect {
    background-color: #C8102E !important;
    color: #ffffff !important;
}
#scrollup .scroll-to-top:hover,
#scrollup .scroll-to-top:focus-visible {
    background-color: #A50D25 !important;
    color: #ffffff !important;
}
#scrollup .scroll-to-top svg,
#scrollup .scroll-to-top svg path {
    fill: currentColor !important;
    color: #ffffff !important;
}

@media (max-width: 767px) {
    body.page-id-52 .elementor-element-sje_caps_head {
        padding: 64px 20px 24px !important;
    }
    body.page-id-52 .elementor-element-sje_caps_r1,
    body.page-id-52 .elementor-element-sje_caps_r2 {
        padding-right: 12px !important;
        padding-left: 12px !important;
    }
    body.page-id-52 .elementor-element-sje_caps_r2 {
        padding-bottom: 64px !important;
    }
    body.page-id-52 .elementor-element-sje_caps_r2 .elementor-col-33 {
        width: 100% !important;
        max-width: 100% !important;
        flex-basis: 100% !important;
    }
    body.page-id-52 .sje-cap-card .elementor-icon-box-title {
        min-height: 0;
    }
    body.page-id-52 .sje-cap-card {
        min-height: 0;
    }
}
