/* Shell styles only: no resets of Elementor content, forms, posts, or Astra containers. */
body.cwl-shared{--cwl-navy:#102b46;--cwl-green:#008c16}
.cwl-shared .cwl-header,.cwl-shared .cwl-footer,.cwl-shared .cwl-mobile-actions{font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#102b46}
.cwl-shared .cwl-header *,.cwl-shared .cwl-footer *,.cwl-shared .cwl-mobile-actions *{box-sizing:border-box}.cwl-shared [hidden].cwl-floating-up{display:none!important}
.cwl-shared .cwl-header a,.cwl-shared .cwl-footer a,.cwl-shared .cwl-mobile-actions a{text-decoration:none}
.cwl-shared .cwl-header .cwl-wrap,.cwl-shared .cwl-footer .cwl-wrap{width:min(1240px,calc(100% - 64px));margin-inline:auto}
.cwl-shared .cwl-header{position:sticky;top:0;z-index:100;background:white;border:0;box-shadow:none}
.cwl-shared.admin-bar .cwl-header{top:32px}
.cwl-shared .cwl-header::after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:min(1240px,calc(100% - 64px));height:1px;background:#bdcbd6;opacity:0;pointer-events:none}
.cwl-shared .cwl-header.cwl-is-stuck::after{opacity:1}
.cwl-shared .cwl-brand-row{display:grid;grid-template-columns:300px 1fr auto;gap:24px;align-items:center;padding-block:17px}
.cwl-shared .cwl-logo img{display:block;width:300px;max-width:100%;height:auto;max-height:80px;object-fit:contain}
.cwl-shared .cwl-tagline{text-align:center;line-height:1.3}
.cwl-shared .cwl-tagline strong{display:block;font-size:20px;font-weight:750}
.cwl-shared .cwl-tagline span{font-size:15px}
.cwl-shared .cwl-contact{display:flex;flex-direction:column;text-align:right;font-weight:600;gap:2px}
.cwl-shared .cwl-contact a{color:#045cb4}
.cwl-shared .cwl-contact a:first-child{color:#008c16;font-weight:750;font-size:20px}
.cwl-shared .cwl-nav{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #e5e9ed;padding-block:11px;font-size:14px}
.cwl-shared .cwl-nav>a{color:#102b46}
.cwl-shared .cwl-nav>a[aria-current=page]{text-decoration:underline;text-decoration-color:#008c16;text-underline-offset:7px}
.cwl-shared .cwl-button{display:inline-flex;justify-content:center;align-items:center;gap:20px;min-height:46px;padding:11px 24px;border:1px solid #008c16;border-radius:5px;background:#008c16;color:#fff!important;text-decoration:none;font:700 15px/1.35 system-ui;cursor:pointer}
.cwl-shared .cwl-button:hover{background:#006e11}
.cwl-shared .cwl-outline{background:#fff;color:#102b46!important;border-color:#9baebf}
.cwl-shared .cwl-outline:hover{background:#edf4fb}
.cwl-shared .cwl-menu-toggle{display:none}
.cwl-shared .cwl-footer{background:#102b46;color:white;padding:65px 0 42px}
.cwl-shared .cwl-footer-main{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(0,1.5fr);gap:70px;align-items:start}
.cwl-shared .cwl-footer-logo{display:block;max-width:280px;background:white;padding:12px;border-radius:5px}
.cwl-shared .cwl-footer-logo img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain}
.cwl-shared .cwl-footer-company h2{font-size:21px;line-height:1.25;margin:22px 0 8px;letter-spacing:0;color:white;font-weight:750}
.cwl-shared .cwl-footer-slogan{font-size:15px;line-height:1.65;margin:0}
.cwl-shared .cwl-footer-locations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;margin:10px 0 0;scroll-margin-top:180px}
.cwl-shared .cwl-footer-locations address{font-style:normal;font-size:14px;line-height:1.75;margin:0}
.cwl-shared .cwl-footer-locations strong,.cwl-shared .cwl-footer-locations span{display:block}
.cwl-shared .cwl-footer-locations strong{color:#83dd9b;margin-bottom:8px;font-weight:700}
.cwl-shared .cwl-footer-bottom{border-top:1px solid #ffffff40;padding-top:26px;margin-top:40px;display:grid;grid-template-columns:minmax(0,1.2fr) auto auto;align-items:center;gap:26px}
.cwl-shared .cwl-bottom-copyright{margin:0;text-align:left;font-size:12px;line-height:1.65}
.cwl-shared .cwl-bottom-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;font-size:13px}
.cwl-shared .cwl-footer a{color:white}
.cwl-shared .cwl-bottom-links>span{opacity:.6}
.cwl-shared .cwl-social-links{display:flex;justify-content:flex-end;align-items:center;gap:9px}
.cwl-shared .cwl-social-links a{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#ffffff16;color:white;border:1px solid #ffffff35}
.cwl-shared .cwl-social-links a:hover{background:#008c16}
.cwl-shared .cwl-social-links svg{width:18px;height:18px;fill:currentColor}
.cwl-shared .cwl-floating-up{position:fixed;bottom:100px;right:22px;width:48px;height:48px;border:1px solid white;border-radius:50%;display:grid;place-items:center;text-decoration:none;font-size:26px;background:#102b46;color:white;z-index:100}
.cwl-shared .cwl-mobile-actions{display:none}
.cwl-shared .hfe-scroll-to-top-wrap,.cwl-shared #ast-scroll-top{display:none!important}
.cwl-shared .cwl-header a:focus-visible,.cwl-shared .cwl-footer a:focus-visible,.cwl-shared .cwl-menu-toggle:focus-visible,.cwl-shared .cwl-floating-up:focus-visible{outline:3px solid #0562b5;outline-offset:3px}
@media(max-width:1100px){.cwl-shared .cwl-brand-row{grid-template-columns:240px 1fr auto;gap:15px}.cwl-shared .cwl-tagline strong{font-size:16px}.cwl-shared .cwl-contact{font-size:13px}.cwl-shared .cwl-contact a:first-child{font-size:17px}.cwl-shared .cwl-nav{gap:10px;font-size:13px}}
@media(max-width:1050px) and (min-width:801px){.cwl-shared .cwl-footer-main{gap:30px}.cwl-shared .cwl-footer-bottom{gap:14px}.cwl-shared .cwl-social-links{gap:5px}.cwl-shared .cwl-social-links a{width:29px;height:29px}.cwl-shared .cwl-bottom-links{gap:6px;font-size:12px}}
@media(max-width:800px){
.cwl-shared .cwl-header{position:static;top:auto}
.cwl-shared .cwl-header::after{display:none}
.cwl-shared .cwl-header .cwl-wrap,.cwl-shared .cwl-footer .cwl-wrap{width:calc(100% - 36px)}
.cwl-shared .cwl-brand-row{grid-template-columns:1fr auto;gap:12px;padding-block:12px}
.cwl-shared .cwl-logo img{width:220px;max-height:62px}
.cwl-shared .cwl-tagline{display:none}
.cwl-shared .cwl-menu-toggle{display:block;border:0;background:#fff;color:#102b46;font-size:28px;line-height:1.2;padding:6px;grid-column:2;grid-row:1;min-width:44px;min-height:44px}
.cwl-shared .cwl-contact{grid-column:1/-1;flex-direction:row;justify-content:space-between;gap:8px;font-size:12px;text-align:left}
.cwl-shared .cwl-contact a:first-child{font-size:14px}
.cwl-shared .cwl-nav{display:none}
.cwl-shared .cwl-nav.is-open{display:flex;flex-direction:column;align-items:stretch;padding-block:15px;max-height:60vh;overflow:auto}
.cwl-shared .cwl-nav>a{padding:8px;min-height:40px}
.cwl-shared .cwl-footer{padding:45px 0 42px}
.cwl-shared .cwl-footer-main,.cwl-shared .cwl-footer-bottom{grid-template-columns:1fr;gap:24px}
.cwl-shared .cwl-footer-logo{width:240px;margin:auto}
.cwl-shared .cwl-footer-company h2,.cwl-shared .cwl-footer-slogan,.cwl-shared .cwl-footer-locations address,.cwl-shared .cwl-footer-locations{text-align:center}
.cwl-shared .cwl-footer-locations{grid-template-columns:1fr;gap:24px;margin:0;scroll-margin-top:20px}
.cwl-shared .cwl-bottom-copyright{text-align:center}
.cwl-shared .cwl-social-links{justify-content:center}
.cwl-shared .cwl-mobile-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;position:static;padding:16px 18px calc(92px + env(safe-area-inset-bottom));border-top:1px solid #dce5ec;background:#fff}
.cwl-shared .cwl-mobile-actions .cwl-button{min-height:44px;padding:10px 8px;font-size:14px}
.cwl-shared .cwl-floating-up{right:14px;width:42px;height:42px;bottom:100px}
}
@media(max-width:380px){.cwl-shared .cwl-contact{flex-direction:column;align-items:center}}


/* CW navigation distinction 0.6.1 */
.cwl-shared .cwl-header {
    border-bottom: 1px solid #dce5eb;
}
.cwl-shared .cwl-nav > a:not(.cwl-button) {
    font-size: 16px;
    font-weight: 650;
    line-height: 1.5;
}
.cwl-shared .cwl-nav > a:not(.cwl-button):hover {
    color: #008342;
}
.cwl-shared .cwp-breadcrumbs {
    background: #f4f7f9;
    border-radius: 4px;
    padding: 12px 16px;
    margin-top: 18px;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.7;
}
@media (max-width: 800px) {
    .cwl-shared .cwl-nav > a:not(.cwl-button) {
        font-size: 16px;
    }
    .cwl-shared .cwp-breadcrumbs {
        padding: 10px 12px;
        margin-top: 12px;
    }
}

/* CW aligned navigation 0.6.2 */
body.cwl-shared .cwl-header,
body.cwl-preview .cwl-header {
    border-bottom: 0;
    box-shadow: none;
}
body.cwl-shared .cwl-nav,
body.cwl-preview .cwl-nav {
    border-bottom: 1px solid #dce5eb;
}
body.cwl-shared .cwl-nav > a:not(.cwl-button),
body.cwl-preview .cwl-nav > a:not(.cwl-button) {
    font-size: 16px;
    font-weight: 650;
    line-height: 1.5;
    color: #102b46;
}
body.cwl-shared .cwl-nav > a:not(.cwl-button):hover,
body.cwl-preview .cwl-nav > a:not(.cwl-button):hover {
    color: #008342;
}

/* CW form 505 layout fix 0.6.3 */
.elementor.elementor-505 {
    container-type: inline-size;
    container-name: cwquoteform;
    min-width: 0;
}
.elementor-505 .elementor-element.elementor-element-d108446,
.elementor-505 .elementor-element.elementor-element-9e7f705 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 15px !important;
    width: 100%;
    min-width: 0;
}
.elementor-505 .elementor-element.elementor-element-d108446 > .elementor-element,
.elementor-505 .elementor-element.elementor-element-9e7f705 > .elementor-element {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    --container-widget-width: 100%;
}
.elementor-505 .mf-input-wrapper,
.elementor-505 .mf-input {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}
@container cwquoteform (min-width: 520px) {
    .elementor-505 .elementor-element.elementor-element-d108446 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .elementor-505 .elementor-element.elementor-element-9e7f705 {
        grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    }
}
.elementor-505 .mf-file-upload-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
body .elementor-505 .mf-input-file-upload-label.metform-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    min-height: 44px;
    padding: 10px 16px;
    margin: 0;
    border: 1px solid #008c16;
    border-radius: 5px;
    background: #008c16;
    color: #fff !important;
    font: 600 14px/1.4 system-ui, sans-serif;
    cursor: pointer;
}
body .elementor-505 .mf-input-file-upload-label.metform-btn span {
    color: #fff !important;
}
body .elementor-505 .mf-input-file-upload-label.metform-btn:hover {
    background: #006e11;
}
.elementor-505 .mf-file-name {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    font-size: 12px;
    line-height: 1.5;
    color: #536b7f;
}
.elementor-505 .mf-file-upload-container:focus-within {
    outline: 2px solid #075ca7;
    outline-offset: 4px;
}

/* CW privacy layout fix 0.6.4 */
body.page-id-4659 #content > .ast-container {
    display: block;
    width: min(1240px, calc(100% - 64px));
    max-width: 1240px;
    margin-inline: auto;
    padding: 0;
}
body.page-id-4659 #primary {
    float: none;
    width: 100%;
    margin: 0;
    padding: 40px 0 64px;
    border: 0;
}
body.page-id-4659 #post-4659 {
    box-sizing: border-box;
    width: 100%;
    max-width: 900px;
    margin-inline: auto;
    padding: 0;
}
body.page-id-4659 #post-4659 .entry-header {
    margin: 0 0 28px;
    padding: 0;
}
body.page-id-4659 #post-4659 h1.entry-title {
    margin: 0;
    font-size: clamp(32px, 4vw, 44px);
    line-height: 1.2;
    color: #102b46;
    font-weight: 700;
}
body.page-id-4659 .elementor-4659 .elementor-element-4ed5081,
body.page-id-4659 .elementor-4659 .elementor-element-4ed5081 > .e-con-inner,
body.page-id-4659 .elementor-4659 .elementor-element-8a54b4d {
    display: block !important;
    grid-template-rows: none !important;
    grid-auto-rows: auto !important;
    min-height: 0 !important;
    height: auto !important;
    width: 100%;
    max-width: 100%;
    margin: 0 !important;
    padding: 0 !important;
}
body.page-id-4659 .elementor-element-900f3fa > h2:first-of-type,
body.page-id-4659 .elementor-element-900f3fa > h2:first-of-type + p {
    display: none;
}
body.page-id-4659 .elementor-element-900f3fa {
    font-size: 16px;
    line-height: 1.8;
    color: #40576b;
}
body.page-id-4659 .elementor-element-900f3fa h2 {
    margin: 30px 0 12px;
    font-size: 24px;
    line-height: 1.35;
    color: #102b46;
}
body.page-id-4659 .elementor-element-900f3fa p {
    margin-bottom: 16px;
}
@media (max-width: 700px) {
    body.page-id-4659 #content > .ast-container {
        width: calc(100% - 36px);
    }
    body.page-id-4659 #primary {
        padding-block: 28px 44px;
    }
}

/* CW privacy full content width */
body.page-id-4659 #post-4659 {
    max-width: 100%;
}
/* CW Locations overview */
body.cw-locations-page #content > .ast-container {
    display:block; width:min(1240px,calc(100% - 64px));
    max-width:1240px; margin-inline:auto; padding:0;
}
body.cw-locations-page #primary {
    float:none; width:100%; margin:0; padding:40px 0 64px; border:0;
}
body.cw-locations-page article.type-page { margin:0; padding:0; }
body.cw-locations-page .entry-header { margin:0 0 24px; padding:0; }
body.cw-locations-page h1.entry-title {
    font-size:clamp(34px,4vw,48px); line-height:1.2;
    font-weight:700; color:#102b46; margin:0;
}
.cwloc-overview { font-size:16px; line-height:1.75; color:#40576b; }
.cwloc-overview * { box-sizing:border-box; }
.cwloc-overview section { margin:0 0 48px; }
.cwloc-intro { max-width:800px; }
.cwloc-overview .cwloc-label {
    display:block; color:#008342; font-size:12px;
    font-weight:700; letter-spacing:.05em; margin-bottom:12px;
}
.cwloc-overview .cwloc-lead { font-size:24px; line-height:1.5; color:#102b46; }
.cwloc-overview h2 { font-size:30px; line-height:1.3; color:#102b46; margin:0 0 24px; }
.cwloc-overview h3 { font-size:23px; line-height:1.35; color:#102b46; margin:0 0 16px; }
.cwloc-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.cwloc-overview a.cwloc-card {
    display:block; padding:28px; border:1px solid #dce5eb;
    border-radius:7px; text-decoration:none; background:#fff; color:#075ca7;
}
.cwloc-overview a.cwloc-card:hover { background:#f0f8f3; border-color:#8aba99; }
.cwloc-overview a:focus-visible { outline:3px solid #075ca7; outline-offset:4px; }
.cwloc-card > span:last-child { font-size:14px; }
.cwloc-coverage { padding:32px; background:#f4f7f9; border-radius:7px; }
.cwloc-offices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.cwloc-offices address { font-style:normal; }
.cwloc-small { margin-top:22px; font-size:14px; }
.cwloc-overview .cwloc-cta {
    display:flex; justify-content:space-between; align-items:center;
    gap:28px; background:#edf9f2; padding:32px; border-radius:7px; margin-bottom:0;
}
.cwloc-cta h2 { margin-bottom:8px; }
.cwloc-cta p { margin:0; }
.cwloc-cta .cwl-button { flex-shrink:0; }
@media(max-width:900px) {
    .cwloc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
    body.cw-locations-page #content > .ast-container { width:calc(100% - 36px); }
    body.cw-locations-page #primary { padding-block:28px 44px; }
    .cwloc-grid,.cwloc-offices { grid-template-columns:1fr; }
    .cwloc-overview .cwloc-cta { flex-direction:column; align-items:flex-start; }
    .cwloc-overview section { margin-bottom:34px; }
    .cwloc-overview a.cwloc-card,.cwloc-coverage,.cwloc-overview .cwloc-cta { padding:24px; }
}
/* CW helpful navigation links 0.8.1 */
.cwl-shared .cwl-footer .cwl-resource-links,
.cwl-preview .cwl-footer .cwl-resource-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px 30px;
    margin-top: 32px;
    font-size: 14px;
    line-height: 1.6;
}
.cwl-shared .cwl-footer .cwl-resource-links a,
.cwl-preview .cwl-footer .cwl-resource-links a {
    color: #fff;
    text-decoration: none;
}
.cwl-footer .cwl-resource-links a:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
}
@media (max-width: 700px) {
    .cwl-shared .cwl-footer .cwl-resource-links,
    .cwl-preview .cwl-footer .cwl-resource-links {
        justify-content: center;
        gap: 12px 22px;
        margin-top: 26px;
    }
}