:root{--cplus-blue:#29669b;--cplus-cyan:#6bb4dd;--cplus-mint:#97d9cd;--cplus-ink:#163a55;--cplus-muted:#4f6a7c;--cplus-line:#cfe5ee;--cplus-bg:#f6fbfd;--cplus-focus:#b24a00;--cplus-gutter:clamp(15px,3.4vw,48px);--cplus-font:'Avenir Next','Helvetica Neue',Helvetica,Arial,sans-serif}
body.cplus-shell-site{color:var(--cplus-ink);background:var(--cplus-bg);font:17px/1.65 var(--cplus-font)}
.cplus-shell-site #page,.cplus-shell-site #main,.cplus-shell-site #middle{background:transparent;min-width:0;width:100%}
.cplus-shell-site #middle{padding-top:0}
.cplus-shell{box-sizing:border-box;width:min(1320px,calc(100% - var(--cplus-gutter)*2));margin-inline:auto}
.cplus-site-header{position:sticky;top:0;z-index:1000;padding:14px 0;background:transparent;backdrop-filter:none}
.admin-bar .cplus-site-header{top:32px}
.cplus-header-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px;padding:18px 24px;border-radius:20px 20px 26px 26px;background:#fff;box-shadow:0 10px 32px rgba(41,102,155,.08)}
.cplus-brand{flex:0 0 210px;display:block;line-height:1}
.cplus-brand img{display:block;width:210px;max-width:100%;height:auto}
.cplus-shell-site .cplus-navigation ul,.cplus-shell-site .cplus-footer-menu{list-style:none;margin:0;padding:0}
.cplus-shell-site .cplus-navigation li,.cplus-shell-site .cplus-footer-menu li{list-style:none;margin:0;padding:0}
.cplus-shell-site .cplus-navigation li:before,.cplus-shell-site .cplus-footer-menu li:before{display:none;content:none}
.cplus-menu{display:flex;align-items:center;gap:16px}
.cplus-menu li{position:relative;min-width:0}
.cplus-menu>li{display:flex;align-items:center;gap:2px}
.cplus-shell-site .cplus-menu a{display:flex;align-items:center;min-height:44px;padding:6px 0;color:var(--cplus-ink);font:600 14px/1.3 var(--cplus-font);text-decoration:none;white-space:normal}
.cplus-shell-site .cplus-menu a:hover,.cplus-shell-site .cplus-menu a[aria-current="page"]{color:var(--cplus-blue)}
.cplus-shell-site .cplus-menu a[aria-current="page"]{text-decoration:underline;text-underline-offset:7px}
.cplus-shell-site button.cplus-submenu-toggle{display:flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;min-height:44px;margin:0;padding:0;border:0;background:transparent;color:var(--cplus-blue);border-radius:8px;font:20px/1 var(--cplus-font);cursor:pointer}
.cplus-submenu-toggle[aria-expanded="true"] span{transform:rotate(180deg)}
.cplus-shell-site .cplus-menu .sub-menu{display:none;position:absolute;top:100%;left:0;z-index:1010;width:min(310px,calc(100vw - 30px));padding:14px 18px;border:1px solid var(--cplus-line);border-radius:18px;background:#fff;box-shadow:0 18px 40px rgba(22,58,85,.12)}
.cplus-shell-site .cplus-menu .cplus-submenu-open>.sub-menu{display:block}
.cplus-menu>.menu-item:nth-last-child(-n+3)>.sub-menu{left:auto;right:0}
.cplus-shell-site .cplus-menu .sub-menu>li{display:grid;grid-template-columns:minmax(0,1fr) auto}
.cplus-shell-site .cplus-menu .sub-menu a{padding:8px 4px;min-height:44px;font-size:15px}
.cplus-shell-site .cplus-menu .sub-menu .sub-menu{position:static;grid-column:1/-1;width:100%;padding:4px 8px 8px;border:0;box-shadow:none;background:var(--cplus-bg)}
.cplus-shell-site button.cplus-nav-toggle,.cplus-shell-site button.cplus-nav-close{display:none}
.cplus-shell-site .middle_inner,.cplus-shell-site .headline_inner,.cplus-shell-site .cmsms_row_inner{box-sizing:border-box;width:min(1320px,calc(100% - var(--cplus-gutter)*2));max-width:100%;margin-inline:auto}
.cplus-shell-site .cmsms_row_inner .cmsms_row_inner{width:100%}
.cplus-shell-site .headline_outer{background:#eaf7fa;border-bottom:1px solid var(--cplus-line)}
.cplus-shell-site .headline_inner{padding:38px 0}
.cplus-shell-site .headline h1,.cplus-shell-site .entry-title{color:var(--cplus-ink);font-family:var(--cplus-font);font-weight:500;line-height:1.12}
.cplus-shell-site h1,.cplus-shell-site h2,.cplus-shell-site h3,.cplus-shell-site h4,.cplus-shell-site h5,.cplus-shell-site h6{font-family:var(--cplus-font);font-weight:550;word-break:normal;overflow-wrap:normal;hyphens:none}
.cplus-shell-site p,.cplus-shell-site li,.cplus-shell-site input,.cplus-shell-site textarea,.cplus-shell-site select{font-family:var(--cplus-font)}
.cplus-shell-site p,.cplus-shell-site .entry-content{font-size:17px;line-height:1.65}
.cplus-shell-site #middle a:not(.button):not(.cmsms_button):not(.vc_btn3){color:var(--cplus-blue)}
.cplus-shell-site #middle .button,.cplus-shell-site #middle input[type=submit],.cplus-shell-site #middle .cmsms_button,.cplus-shell-site #middle .vc_btn3,.cplus-shell-site #middle button.btn-modal{border-radius:999px;background:var(--cplus-blue);border-color:var(--cplus-blue);color:#fff;font-family:var(--cplus-font);font-weight:650;min-height:44px}
.cplus-shell-site input:not([type=checkbox]):not([type=radio]),.cplus-shell-site textarea,.cplus-shell-site select{max-width:100%;border-radius:10px}
.cplus-shell-site img{max-width:100%}
.cplus-shell-site :is(a,button,input,textarea,select):focus-visible{outline:3px solid var(--cplus-focus);outline-offset:3px}
.cplus-shell-site .cplus-site-footer{margin-top:56px;background:#163f59;color:#fff;padding:56px 0 24px;font:16px/1.65 var(--cplus-font)}
.cplus-footer-grid{display:grid;grid-template-columns:1.2fr 2fr 1fr;gap:44px}
.cplus-footer-brand img{display:block;width:210px;height:auto;filter:brightness(0) invert(1)}
.cplus-footer-brand p{margin-top:24px;color:#cae3ec}
.cplus-shell-site .cplus-footer-menu{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.cplus-site-footer a{color:#fff;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.cplus-site-footer a:hover{text-decoration:underline}
.cplus-footer-contact .header_top_line_short_info{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.cplus-footer-contact :is(span,div){color:inherit;font-family:var(--cplus-font);float:none}
.cplus-footer-contact a{color:var(--cplus-mint)}
.cplus-footer-legal{margin-top:40px;padding-top:20px;border-top:1px solid #456a7e;font-size:13px;color:#cae3ec}
.cplus-footer-legal a{min-height:44px;text-decoration:underline;color:inherit}
@media(max-width:1100px){
 .cplus-header-panel{min-height:74px;padding:12px 18px}.cplus-brand{flex:0 1 210px}
 .cplus-shell-site button.cplus-nav-toggle,.cplus-shell-site button.cplus-nav-close{display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:10px 16px;border:1px solid var(--cplus-line);border-radius:999px;background:#fff;color:var(--cplus-ink);font:600 16px/1.2 var(--cplus-font);cursor:pointer}
 .cplus-navigation{display:none;position:fixed;inset:0;z-index:1100;box-sizing:border-box;padding:24px var(--cplus-gutter);overflow-y:auto;background:var(--cplus-bg);height:100dvh}
 .cplus-navigation.cplus-open{display:block}.admin-bar .cplus-navigation{top:32px;height:calc(100dvh - 32px)}
 .cplus-shell-site button.cplus-nav-close{margin:0 0 24px auto}.cplus-menu{display:block}
 .cplus-shell-site .cplus-menu>li{display:grid;grid-template-columns:minmax(0,1fr) 44px;border-bottom:1px solid var(--cplus-line)}
 .cplus-shell-site .cplus-menu a{font-size:18px;min-height:52px;padding:10px 4px}
 .cplus-shell-site button.cplus-submenu-toggle{width:44px;flex-basis:44px;min-height:44px}
 .cplus-shell-site .cplus-menu .sub-menu{position:static;grid-column:1/-1;box-sizing:border-box;width:100%;padding:4px 8px 14px;border:0;border-radius:0;box-shadow:none;background:transparent}
 .cplus-shell-site .cplus-menu .sub-menu a{font-size:16px}.cplus-menu-open{overflow-y:hidden}
}
@media(max-width:782px){.admin-bar .cplus-site-header{top:46px}.admin-bar .cplus-navigation{top:46px;height:calc(100dvh - 46px)}}
@media(max-width:760px){
 body.cplus-shell-site{font-size:16px}.cplus-shell-site p,.cplus-shell-site .entry-content{font-size:16px}
 .cplus-site-header{padding:8px 0}.cplus-header-panel{gap:12px;border-radius:16px 16px 20px 20px;padding:12px}.cplus-brand{flex-basis:170px}.cplus-brand img{width:170px}
 .cplus-shell-site button.cplus-nav-toggle{padding:8px 12px;font-size:14px}.cplus-shell-site .headline_inner{padding:26px 0}
 .cplus-shell-site .headline h1{font-size:clamp(25px,7vw,34px)}
 .cplus-footer-grid{grid-template-columns:1fr;gap:22px}.cplus-footer-navigation{display:none}.cplus-footer-brand p{margin:16px 0 0}.cplus-footer-contact .header_top_line_short_info{gap:4px}
 .cplus-shell-site .cplus-site-footer{padding-top:36px;margin-top:36px}.cplus-footer-legal{margin-top:24px}
 .cplus-shell-site .content_wrap,.cplus-shell-site .content,.cplus-shell-site .sidebar{max-width:100%;min-width:0}
}

@media(max-width:1050px){.cplus-site-header{backdrop-filter:none}}

/* Parent header script still sets legacy offset; this shell occupies normal flow. */
body.cplus-shell-site #middle{padding-top:0!important}
body.cplus-shell-site button.cplus-nav-close,body.cplus-shell-site button.cplus-nav-toggle{display:none!important}
body.cplus-shell-site button.cplus-submenu-toggle{background:transparent!important;color:var(--cplus-blue)!important;border:0!important;padding:0!important;border-radius:8px!important}
body.cplus-shell-site .cplus-site-footer a{color:inherit}
body.cplus-shell-site #middle :is(.button,.cmsms_button,.vc_btn3,button.btn-modal,input[type=submit]){background:var(--cplus-blue)!important;border-color:var(--cplus-blue)!important;color:white!important}
@media(max-width:1100px){.cplus-site-header{backdrop-filter:none}body.cplus-shell-site button.cplus-nav-close,body.cplus-shell-site button.cplus-nav-toggle{display:flex!important;background:white!important;color:var(--cplus-ink)!important;padding:10px 16px!important}}

/* Minimal header marker is required by the retained CMSMasters initialization. */
body.cplus-shell-site #header.cplus-site-header{position:sticky!important;top:0;width:100%;height:auto!important;margin:0!important;padding:14px 0!important;opacity:1!important;background:transparent}
body.cplus-shell-site.admin-bar #header.cplus-site-header{top:32px}
.cplus-site-header .cmsms_header_offset{display:block;height:0;position:static}
@media(max-width:782px){body.cplus-shell-site.admin-bar #header.cplus-site-header{top:46px}}
@media(max-width:760px){body.cplus-shell-site #header.cplus-site-header{padding:8px 0!important}}

/* Sticky must follow the viewport, not body's implicit overflow:auto scroller. */
body.cplus-shell-site{overflow-x:clip;overflow-y:visible}
body.cplus-shell-site.cplus-menu-open{overflow-y:hidden}
body.cplus-shell-site #header.cplus-site-header{z-index:1000;top:0!important;overflow:visible}
body.cplus-shell-site.admin-bar #header.cplus-site-header{top:32px!important}
@media(max-width:782px){body.cplus-shell-site.admin-bar #header.cplus-site-header{top:46px!important}}
/* WordPress otherwise makes its mobile bar absolute; retain its occupied offset. */
@media(max-width:600px){body.cplus-shell-site.admin-bar #wpadminbar{position:fixed}}

/* Header follows the occupied native toolbar area; the toolbar itself is unchanged. */
body.cplus-shell-site.admin-bar #header.cplus-site-header{top:var(--cplus-admin-offset, var(--wp-admin--admin-bar--height, 32px))!important}
@media(max-width:1100px){body.cplus-shell-site.admin-bar .cplus-navigation{top:var(--cplus-admin-offset, var(--wp-admin--admin-bar--height, 32px));height:calc(100dvh - var(--cplus-admin-offset, var(--wp-admin--admin-bar--height, 32px)))}}

/* Native WPBakery front-page container: use the shell width and Design Options radii. */
body.home.cplus-shell-site .middle_inner { padding-inline:0!important; }
body.home.cplus-shell-site .vc_column-inner { overflow:hidden; }

/* Home reference: the page background scrolls; only the menu panel is opaque. */
body.home.cplus-shell-site { background:#dceff6; }
body.home.cplus-shell-site #header.cplus-site-header { background:transparent!important; backdrop-filter:none!important; -webkit-backdrop-filter:none!important; }

/* Disabled legacy title zones must not paint a separate strip below the panel. */
body.cplus-shell-site .headline_outer.cmsms_headline_disabled{background:transparent;border-bottom:0}

/* Canonical C+ v2 shared footer; content is in footer.php, never CSS. */
.cplus-canonical-footer{position:relative;margin-top:56px;background:#153d59;color:#fff;overflow:hidden;font-family:"Avenir Next",Avenir,Arial,sans-serif}
.cplus-canonical-footer-grid{box-sizing:border-box;position:relative;z-index:1;max-width:1320px;margin-inline:auto;padding:48px 24px 96px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.7fr) minmax(0,.8fr) minmax(0,1fr);gap:34px}
.cplus-canonical-footer-brand img{display:block;width:200px;max-width:100%;height:auto;margin-bottom:22px;filter:brightness(0) invert(1)}
.cplus-canonical-footer p{margin:0;color:#cae3ec;font-size:17px;line-height:1.62}
.cplus-canonical-footer-title{display:block;margin:0 0 12px;color:#97d9cd;font-size:12px;font-weight:700;line-height:1.6;letter-spacing:.15em;text-transform:uppercase}
.cplus-canonical-footer nav>a,.cplus-canonical-footer-contact>a,.cplus-canonical-footer-search summary{display:flex;align-items:center;width:fit-content;max-width:100%;min-height:44px;color:#fff;font-size:15px;line-height:1.5;font-weight:400;text-decoration:none;text-underline-offset:3px;overflow-wrap:anywhere}
.cplus-canonical-footer a:hover,.cplus-canonical-footer summary:hover,.cplus-canonical-footer a:focus-visible,.cplus-canonical-footer summary:focus-visible{color:#97d9cd;text-decoration:underline;text-underline-offset:4px}
.cplus-canonical-footer a:focus-visible,.cplus-canonical-footer summary:focus-visible,.cplus-canonical-footer input:focus-visible,.cplus-canonical-footer button:focus-visible,.cplus-back-to-top:focus-visible{outline:3px solid #f7bd85;outline-offset:4px}
.cplus-canonical-footer-legal{grid-column:1/-1;margin-top:4px;border-top:1px solid rgba(255,255,255,.18);padding-top:22px;font-size:13px;line-height:1.65;color:#cae3ec;overflow-wrap:anywhere}
.cplus-canonical-footer-legal a{display:inline-flex;align-items:center;min-height:44px;color:inherit;font:inherit;text-decoration:none}
.cplus-canonical-footer-bars{position:absolute;right:5%;bottom:-70px;display:flex;gap:14px;align-items:flex-end;opacity:.15;pointer-events:none}
.cplus-canonical-footer-bars span{display:block;width:40px;border-radius:25px 25px 0 0}
.cplus-footer-bar-small{height:90px;background:#b9dcf0}.cplus-footer-bar-medium{height:145px;background:#6bb4dd}.cplus-footer-bar-large{height:190px;background:#97d9cd}
.cplus-canonical-footer-search summary{cursor:pointer;list-style:none}.cplus-canonical-footer-search summary::-webkit-details-marker{display:none}
.cplus-canonical-footer-search form{display:grid;gap:8px;margin:0;padding:8px 0;background:transparent;border:0;box-shadow:none}
.cplus-canonical-footer-search label{font-size:13px;color:#cae3ec}
.cplus-canonical-footer-search input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:8px;border:1px solid #97d9cd;border-radius:8px;background:#fff;color:#153d59}
.cplus-canonical-footer-search button{min-height:44px;padding:8px 12px;border:1px solid #97d9cd;border-radius:8px;background:#fff;color:#153d59;cursor:pointer;font:inherit}
.cplus-back-to-top[type="button"]{position:fixed;right:24px;bottom:24px;z-index:999;display:flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;max-width:48px;box-sizing:border-box;padding:0!important;border:1px solid #97d9cd!important;border-radius:50%;background:#153d59!important;color:#fff!important;box-shadow:0 3px 16px rgba(21,61,89,.2);cursor:pointer;font:700 28px/1 Arial,sans-serif!important}
.cplus-back-to-top[hidden],.cplus-menu-open .cplus-back-to-top{display:none!important}
.cplus-back-to-top:hover{background:#2c6a9f!important}
@media(max-width:980px){.cplus-canonical-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
.cplus-canonical-footer{margin-top:36px}
.cplus-canonical-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;padding:28px 12px 88px}
.cplus-canonical-footer-brand,.cplus-canonical-footer-contact,.cplus-canonical-footer-legal{grid-column:1/-1}
.cplus-canonical-footer-sections,.cplus-canonical-footer-extra{display:block}
.cplus-canonical-footer-brand img{width:158px;margin:0 0 20px}
.cplus-canonical-footer-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;padding-top:6px}
.cplus-canonical-footer-title{grid-column:1/-1;margin:0}
.cplus-canonical-footer-contact p{display:flex;align-items:center;min-height:44px;font-size:15px}
.cplus-canonical-footer-contact>a{font-size:15px;font-weight:400}
.cplus-canonical-footer-legal{margin-top:4px;padding-top:8px}
.cplus-back-to-top[type="button"]{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}
}

/* Footer refinement: shared shell boundaries and equal copy styles. */
.cplus-canonical-footer-brand p+p{margin-top:14px}
.cplus-canonical-footer .cplus-canonical-footer-cta{margin-bottom:8px;padding:2px 14px;border:1px solid #97d9cd;border-radius:10px;font-weight:400;background:rgba(151,217,205,.08)}
.cplus-canonical-footer-legal{text-align:center;font-size:13px;font-weight:400;line-height:1.8;padding-bottom:12px}
.cplus-canonical-footer-legal a{font-size:inherit!important;font-weight:400!important;line-height:inherit;color:inherit;text-decoration:none}
@media(max-width:760px){
.cplus-canonical-footer-grid{gap:26px 18px}
.cplus-canonical-footer-brand,.cplus-canonical-footer-contact{grid-column:auto;display:block}
.cplus-canonical-footer-title{margin-bottom:8px}
}
@media(max-width:600px){
.cplus-canonical-footer-grid{grid-template-columns:minmax(0,1fr)}
.cplus-canonical-footer-legal{padding-inline:0}
}

/* Shared CMSMasters / WPBakery material cards: title and complete category list. */
.cplus-shell-site .vc_grid-item.cmsms_gitem .vc_gitem-post-data-source-post_title,
.cplus-shell-site .vc_grid-item.cmsms_gitem .vc_gitem-post-data-source-post_title > div,
.cplus-shell-site .vc_grid-item.cmsms_gitem .vc_gitem-post-data-source-post_title a {
  font-size:18px; font-weight:600; line-height:1.35;
  color:var(--cplus-ink) !important; white-space:normal; overflow-wrap:break-word;
}
.cplus-shell-site .vc_grid-item.cmsms_gitem .vc_gitem-post-data-source-post_title { margin-bottom:10px; }
.cplus-shell-site .vc_grid-item.cmsms_gitem .vc_gitem-post-data-source-post_title a,
.cplus-shell-site .vc_grid-item.cmsms_gitem .vc_cmsms_categories { display:block; }
.cplus-shell-site .vc_grid-item.cmsms_gitem .vc_cmsms_categories,
.cplus-shell-site .vc_grid-item.cmsms_gitem .vc_cmsms_categories .cmsms_posttype_category,
.cplus-shell-site .vc_grid-item.cmsms_gitem .vc_cmsms_categories a {
  font-size:14px; font-weight:400; line-height:1.5;
  color:var(--cplus-muted) !important; white-space:normal; overflow-wrap:break-word;
}
.cplus-shell-site .vc_grid-item.cmsms_gitem .vc_gitem-post-data-source-post_title a:hover,
.cplus-shell-site .vc_grid-item.cmsms_gitem .vc_cmsms_categories a:hover {
  color:var(--cplus-blue) !important; text-decoration:underline; text-underline-offset:3px;
}
.cplus-shell-site .vc_grid-item.cmsms_gitem .vc_gitem-post-data-source-post_title a:focus-visible,
.cplus-shell-site .vc_grid-item.cmsms_gitem .vc_cmsms_categories a:focus-visible {
  color:var(--cplus-blue) !important; text-decoration:underline; text-underline-offset:3px;
  outline:2px solid var(--cplus-blue); outline-offset:3px;
}

/* Reserve wrapped toolbar rows in flow, independently of page/template content. */
body.cplus-shell-site #main {
  padding-top: var(--cplus-toolbar-extra, 0px);
}
html:has(body.cplus-shell-site) {
  scroll-padding-top: var(--cplus-shell-scroll-offset, 0px);
}

/* Lock the root scrollport, not the sticky header's containing block. */
body.cplus-shell-site.cplus-menu-open { overflow-y: visible; }
html:has(body.cplus-shell-site.cplus-menu-open) { overflow-y: hidden; }
