
/*================ BIO GRID =================*/
.hapb-bios-module{
--bio-blue:#063964;
--bio-green:#2a9513;
--bio-ink:#243748;
--bio-line:#dfe7eb;
width:100%;
overflow:visible;
}

.hapb-bio-grid{
display:grid!important;
grid-template-columns:repeat(3,minmax(0,1fr))!important;
gap:30px!important;
width:100%!important;
}

.hapb-bio-card{
position:relative!important;
min-width:0!important;
height:100%!important;
opacity:0;
transform:translateY(24px);
transition:
opacity .62s cubic-bezier(.22,1,.36,1),
transform .62s cubic-bezier(.22,1,.36,1)!important;
}

.hapb-bio-card.hapb-bio-in{
opacity:1;
transform:translateY(0);
}


/*================ CARD =================*/
.hapb-bio-card-inner{
--mx:50%;
--my:50%;
position:relative!important;
height:100%!important;
display:flex!important;
flex-direction:column!important;
background:#fff!important;
border:1px solid var(--bio-line)!important;
overflow:hidden!important;
cursor:pointer!important;
isolation:isolate;
transition:
transform .3s cubic-bezier(.22,1,.36,1),
box-shadow .3s ease,
border-color .3s ease!important;
}

.hapb-bio-card-inner:before{
content:"";
position:absolute;
left:0;
top:0;
width:100%;
height:4px;
background:var(--bio-blue);
transform:scaleX(.22);
transform-origin:left center;
transition:
transform .4s cubic-bezier(.22,1,.36,1),
background .3s ease;
z-index:6;
}

.hapb-bio-card-inner:after{
content:"";
position:absolute;
inset:0;
background:
radial-gradient(
circle at var(--mx) var(--my),
rgba(42,149,19,.08),
transparent 34%
);
opacity:0;
transition:opacity .3s ease;
pointer-events:none;
z-index:1;
}

.hapb-bio-card-inner:focus{
outline:2px solid var(--bio-green)!important;
outline-offset:3px!important;
}

.hapb-bio-card.hapb-bio-no-bio .hapb-bio-card-inner{
cursor:default!important;
}


/*================ CARD IMAGE =================*/
.hapb-bio-media{
position:relative!important;
width:82%!important;
max-width:330px!important;
aspect-ratio:1/1!important;
min-height:0!important;
background:#eef3f5!important;
overflow:hidden!important;
flex:none!important;
margin:28px auto 0!important;
padding:0!important;
border-radius:50%!important;
}

.hapb-bio-media:after{
content:"PHOTO";
position:absolute;
left:50%;
top:50%;
transform:translate(-50%,-50%);
color:#9aabb5;
font-size:12px;
font-weight:700;
letter-spacing:1.6px;
z-index:0;
}

.hapb-bio-image{
position:absolute!important;
inset:0!important;
width:100%!important;
height:100%!important;
margin:0!important;
padding:0!important;
z-index:2!important;
}

.hapb-bio-image .elementor-widget-container,
.hapb-bio-image a,
.hapb-bio-image picture{
display:block!important;
width:100%!important;
height:100%!important;
margin:0!important;
padding:0!important;
}

.hapb-bio-image img{
display:block!important;
width:100%!important;
height:100%!important;
max-width:none!important;
object-fit:cover!important;
object-position:50% 0!important;
margin:0!important;
border:0!important;
transition:
transform .58s cubic-bezier(.22,1,.36,1)!important;
}


/*================ CARD CONTENT =================*/
.hapb-bio-content{
position:relative!important;
padding:26px 26px 28px!important;
gap:0!important;
flex:1!important;
display:flex!important;
flex-direction:column!important;
align-items:center!important;
text-align:center!important;
z-index:2!important;
background:#fff!important;
}

.hapb-bio-name{
width:100%!important;
text-align:center!important;
}

.hapb-bio-name .elementor-widget-container{
width:100%!important;
text-align:center!important;
}

.hapb-bio-name .elementor-heading-title{
width:100%!important;
margin:0!important;
color:var(--bio-blue)!important;
text-align:center!important;
}

.hapb-bio-role{
width:100%!important;
margin-top:7px!important;
text-align:center!important;
}

.hapb-bio-role .elementor-widget-container{
width:100%!important;
text-align:center!important;
}

.hapb-bio-role .elementor-heading-title{
width:100%!important;
margin:0!important;
color:var(--bio-green)!important;
letter-spacing:.7px!important;
text-align:center!important;
}

.hapb-bio-short{
width:100%!important;
margin-top:15px!important;
color:var(--bio-ink)!important;
text-align:center!important;
}

.hapb-bio-short p{
margin:0!important;
text-align:center!important;
}

.hapb-bio-button{
margin-top:auto!important;
padding-top:22px!important;
align-self:center!important;
text-align:center!important;
}

.hapb-bio-button .elementor-widget-container,
.hapb-bio-button .elementor-button-wrapper{
text-align:center!important;
}

.hapb-bio-button .elementor-button{
margin:0!important;
}

body:not(.elementor-editor-active) .hapb-bio-long{
display:none!important;
}


/*================ EDITOR LABELS =================*/
.elementor-editor-active .hapb-bio-short,
.elementor-editor-active .hapb-bio-long{
position:relative!important;
padding-top:27px!important;
}

.elementor-editor-active .hapb-bio-short:before,
.elementor-editor-active .hapb-bio-long:before{
position:absolute;
left:0;
top:0;
padding:3px 7px;
background:#111;
color:#fff;
font-size:10px;
line-height:14px;
font-weight:700;
letter-spacing:.6px;
z-index:20;
}

.elementor-editor-active .hapb-bio-short:before{
content:"SHORT BIO – CARD";
}

.elementor-editor-active .hapb-bio-long:before{
content:"LONG BIO – POPUP";
}

.elementor-editor-active .hapb-bio-long{
display:block!important;
margin-top:16px!important;
padding:30px 14px 14px!important;
border:1px dashed #9aa7ad!important;
background:#f7f9fa!important;
text-align:left!important;
}


/*================ HOVER =================*/
@media(hover:hover) and (pointer:fine){

.hapb-bio-card-inner:hover{
transform:translateY(-7px)!important;
box-shadow:0 20px 44px rgba(6,57,100,.13)!important;
border-color:#ccd9df!important;
}

.hapb-bio-card-inner:hover:before{
transform:scaleX(1);
background:var(--bio-green);
}

.hapb-bio-card-inner:hover:after{
opacity:1;
}

.hapb-bio-card-inner:hover .hapb-bio-image img{
transform:scale(1.045);
}

}


/*================ MODAL =================*/
.hapb-bio-modal{
--bio-blue:#063964;
--bio-green:#2a9513;
--bio-ink:#243748;
position:fixed;
inset:0;
display:flex;
align-items:center;
justify-content:center;
padding:34px;
z-index:9999999;
visibility:hidden;
pointer-events:none;
}

.hapb-bio-modal.hapb-modal-open{
visibility:visible;
pointer-events:auto;
}

.hapb-bio-modal-backdrop{
position:absolute;
inset:0;
background:rgba(3,25,43,.76);
backdrop-filter:blur(7px);
-webkit-backdrop-filter:blur(7px);
opacity:0;
transition:opacity .35s ease;
cursor:pointer;
}

.hapb-modal-open .hapb-bio-modal-backdrop{
opacity:1;
}

.hapb-bio-dialog{
position:relative;
width:min(1120px,94vw);
max-height:90vh;
display:grid;
grid-template-columns:minmax(300px,42%) minmax(0,58%);
align-items:stretch;
background:#fff;
box-shadow:0 30px 90px rgba(0,0,0,.28);
overflow:hidden;
opacity:0;
transform:translateY(30px) scale(.98);
transition:
opacity .38s ease,
transform .46s cubic-bezier(.22,1,.36,1);
z-index:2;
}

.hapb-modal-open .hapb-bio-dialog{
opacity:1;
transform:translateY(0) scale(1);
}


/*================ MODAL PHOTO SECTION =================*/
.hapb-bio-modal-photo-section{
position:relative;
width:100%;
min-width:0;
height:100%;
min-height:100%;
display:flex;
align-items:flex-start;
justify-content:center;
padding:32px;
box-sizing:border-box;
background:#E8F1F4;
}


/*================ MODAL IMAGE =================*/
.hapb-bio-modal-media{
position:relative;
width:78%;
max-width:378px;
aspect-ratio:1/1;
flex:none;
background:#eef3f5;
overflow:hidden;
margin:0;
border-radius:50%!important;
transform:translateX(-24px);
opacity:0;
transition:
opacity .46s ease .07s,
transform .56s cubic-bezier(.22,1,.36,1) .07s;
}

.hapb-modal-open .hapb-bio-modal-media{
opacity:1;
transform:translateX(0);
}

.hapb-bio-modal-media img{
display:block;
width:100%;
height:100%;
object-fit:cover;
object-position:50% 0!important;
}

.hapb-bio-modal-placeholder{
position:absolute;
inset:0;
display:flex;
align-items:center;
justify-content:center;
color:#063964;
font-size:54px;
font-weight:700;
letter-spacing:-2px;
background:#eef3f5;
}


/*================ MODAL COPY =================*/
.hapb-bio-modal-copy{
position:relative;
max-height:90vh;
padding:34px 64px 48px 50px;
overflow-y:auto;
overscroll-behavior:contain;
transform:translateX(24px);
opacity:0;
transition:
opacity .46s ease .12s,
transform .56s cubic-bezier(.22,1,.36,1) .12s;
}

.hapb-modal-open .hapb-bio-modal-copy{
opacity:1;
transform:translateX(0);
}

.hapb-bio-modal-name,
.hapb-bio-modal-name *{
margin:0!important;
color:#063964!important;
}

.hapb-bio-modal-role,
.hapb-bio-modal-role *{
margin:7px 0 0!important;
color:#2a9513!important;
letter-spacing:.8px!important;
text-transform:uppercase!important;
}

.hapb-bio-modal-body{
margin-top:22px;
color:#243748!important;
}

.hapb-bio-modal-body p{
display:block!important;
margin:0 0 15px!important;
}

.hapb-bio-modal-body p:last-child{
margin-bottom:0!important;
}


/*================ X CLOSE =================*/
.hapb-bio-close{
position:absolute!important;
top:14px!important;
right:14px!important;
width:28px!important;
height:28px!important;
min-width:28px!important;
padding:0!important;
margin:0!important;
display:flex!important;
align-items:center!important;
justify-content:center!important;
background:transparent!important;
color:#063964!important;
border:0!important;
border-radius:0!important;
box-shadow:none!important;
font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;
font-size:34px!important;
font-weight:400!important;
line-height:1!important;
cursor:pointer!important;
z-index:20!important;
appearance:none!important;
-webkit-appearance:none!important;
transition:color .2s ease!important;
}

.hapb-bio-close:hover,
.hapb-bio-close:focus,
.hapb-bio-close:active{
background:transparent!important;
color:#2a9513!important;
border:0!important;
box-shadow:none!important;
outline:none!important;
}

.hapb-bio-close:focus-visible{
outline:none!important;
}

body.hapb-bio-lock{
overflow:hidden!important;
}


/*================ TABLET =================*/
@media(max-width:1024px){

.hapb-bio-grid{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
gap:20px!important;
}

.hapb-bio-content{
padding:24px!important;
}

.hapb-bio-dialog{
grid-template-columns:minmax(280px,42%) minmax(0,58%);
}

.hapb-bio-modal-photo-section{
padding:26px;
background:#E8F1F4;
}

.hapb-bio-modal-media{
width:78%;
max-width:340px;
}

.hapb-bio-modal-copy{
padding:32px 56px 40px 36px;
}

}


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

/* Mobile cards must size to their own content. Percentage heights on a one-column grid can make rows overflow into the next section. */
.hapb-bio-card,
.hapb-bio-card.hapb-bio-in{
height:auto!important;
min-height:0!important;
transform:none!important;
}

.hapb-bio-card-inner,
.hapb-bio-card-inner:hover{
height:auto!important;
min-height:0!important;
transform:none!important;
}

.hapb-bio-grid{
grid-template-columns:1fr!important;
gap:15px!important;
align-items:start!important;
}

.hapb-bio-content{
padding:22px!important;
align-items:center!important;
text-align:center!important;
}

.hapb-bio-media{
width:82%!important;
max-width:330px!important;
margin:24px auto 0!important;
}

.hapb-bio-name,
.hapb-bio-name .elementor-widget-container,
.hapb-bio-name .elementor-heading-title,
.hapb-bio-role,
.hapb-bio-role .elementor-widget-container,
.hapb-bio-role .elementor-heading-title{
text-align:center!important;
}

.hapb-bio-button{
align-self:center!important;
}

.hapb-bio-modal{
padding:14px;
}

.hapb-bio-dialog{
width:100%;
max-height:92vh;
display:block;
overflow-y:auto;
}

.hapb-bio-modal-photo-section{
width:100%;
height:auto;
min-height:0;
display:flex;
align-items:flex-start;
justify-content:center;
padding:24px 22px;
background:#E8F1F4;
}

.hapb-bio-modal-media{
width:78%;
max-width:330px;
aspect-ratio:1/1;
margin:0;
transform:translateY(-18px);
}

.hapb-modal-open .hapb-bio-modal-media{
transform:translateY(0);
}

.hapb-bio-modal-copy{
max-height:none;
overflow:visible;
padding:28px 23px 30px;
transform:translateY(20px);
text-align:left;
}

.hapb-modal-open .hapb-bio-modal-copy{
transform:translateY(0);
}

.hapb-bio-close{
top:10px!important;
right:10px!important;
width:26px!important;
height:26px!important;
min-width:26px!important;
font-size:30px!important;
}

.hapb-bio-button{
padding-top:18px!important;
}

}


/*================ REDUCED MOTION =================*/
@media(prefers-reduced-motion:reduce){

.hapb-bio-card,
.hapb-bio-card-inner,
.hapb-bio-image img,
.hapb-bio-modal-backdrop,
.hapb-bio-dialog,
.hapb-bio-modal-media,
.hapb-bio-modal-copy{
transition:none!important;
}

.hapb-bio-card{
opacity:1!important;
transform:none!important;
}

}


/*================ SHORTCODE GROUPS =================*/
.hapb-team-group{margin:0 0 48px!important}
.hapb-team-group:last-child{margin-bottom:0!important}
.hapb-team-group-title{margin:20px 0 0!important;padding:0 0 20px!important;color:#063964!important;font-family:'Rubik',Georgia,serif!important;font-weight:600!important;text-align:center!important}
.hapb-bio-card-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#c9cfd4;color:#063964;font-family:'Rubik',Georgia,serif;font-size:48px;font-weight:700;letter-spacing:-1px}
.hapb-bio-contact-source{display:none!important}
.hapb-bio-modal-photo-section{flex-direction:column!important;gap:20px!important}
.hapb-bio-modal-contact{width:100%;max-width:378px;margin:0 auto;color:#243748}
.hapb-bio-modal-contact:empty{display:none}
.hapb-bio-contact-block{width:100%;font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#243748;text-align:left}
.hapb-bio-contact-row{padding:10px 0;border-top:1px solid rgba(6,57,100,.14);line-height:1.45}
.hapb-bio-contact-row:first-child{border-top:0;padding-top:0}
.hapb-bio-contact-row strong{color:#063964;font-weight:600}
.hapb-bio-contact-row a{color:#2a9513;text-decoration:none}
.hapb-bio-contact-row a:hover,.hapb-bio-contact-row a:focus{color:#063964}
.hapb-bio-contact-additional p{margin:0 0 8px}
.hapb-bio-contact-additional p:last-child{margin-bottom:0}

/*================ INDIVIDUAL PROFILE PAGE =================*/
.hapb-team-profile{--hapb-blue:#063964;--hapb-green:#2a9513;--hapb-ink:#243748;--hapb-soft:#E8F1F4;font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--hapb-ink);overflow:hidden;margin:0!important;padding-top:8%}
.hapb-team-profile *{box-sizing:border-box}
.hapb-team-profile-inner{width:min(1180px,calc(100% - 48px));margin:0 auto}
.hapb-team-profile-hero{position:relative;margin:0!important;padding:72px 0 86px;background:#f7fafb}
.hapb-team-profile-hero-inner{display:grid;grid-template-columns:minmax(280px,430px) minmax(0,1fr);gap:64px;align-items:center}
.hapb-team-profile-photo-wrap{position:relative;width:100%;max-width:430px;aspect-ratio:1/1;border-radius:50%;overflow:hidden;background:#c9cfd4}
.hapb-team-profile-photo-wrap img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 0}
.hapb-team-profile-photo-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--hapb-blue);font-family:'Rubik',Georgia,serif;font-size:72px;font-weight:700}
.hapb-team-profile-kicker{margin:0 0 12px;color:#0F5D9E;font-size:16px;line-height:1.35;font-weight:600;letter-spacing:.8px;text-transform:uppercase}
.hapb-team-profile-name{margin:0;color:var(--hapb-blue)!important;font-weight:600!important}
.hapb-team-profile-role{margin:16px 0 0;color:var(--hapb-green);font-size:20px;line-height:1.4;font-weight:600;text-transform:uppercase;letter-spacing:.7px}
.hapb-team-profile-contact{margin-top:28px;max-width:520px}
.hapb-team-profile-contact .hapb-bio-contact-row{border-color:rgba(6,57,100,.18)}
.hapb-team-profile-bio{padding:76px 0 84px;background:#fff}
.hapb-team-profile-section-title{margin:0 0 26px;color:var(--hapb-blue)!important;font-weight:600!important}
.hapb-team-profile-copy{max-width:940px;font-size:18px;line-height:1.7}
.hapb-team-profile-copy p{margin:0 0 18px}.hapb-team-profile-copy p:last-child{margin-bottom:0}
.hapb-team-profile-letter-section{padding:6%;background:#fff}
.hapb-team-profile-letter-section>.hapb-team-profile-inner{width:100%!important;max-width:none!important;margin:0!important}
.hapb-team-profile-letter{position:relative;padding:58px 66px 62px;background:#f8fbfc}
.hapb-team-profile-letter-title{margin:0 0 28px;color:#0F5D9E!important;font-weight:600!important}
.hapb-team-profile-letter-copy{font-size:17px;line-height:1.7}
.hapb-team-profile-letter-copy p{margin:0 0 18px}.hapb-team-profile-letter-copy ul{margin:0 0 22px 24px;padding:0}.hapb-team-profile-letter-copy li{margin:0 0 10px}
.hapb-team-profile-back-wrap{padding:0 0 72px}.hapb-team-profile-back{display:inline-block;color:var(--hapb-green);font-weight:600;text-decoration:none}.hapb-team-profile-back:hover,.hapb-team-profile-back:focus{color:var(--hapb-blue)}
@media(min-width:1025px) and (max-width:1366px){.hapb-team-profile{padding-top:10%}}
@media(min-width:768px) and (max-width:1024px){.hapb-team-profile{padding-top:10%}}
@media(max-width:900px){.hapb-team-profile-hero{padding:56px 0 68px}.hapb-team-profile-hero-inner{grid-template-columns:1fr;gap:34px}.hapb-team-profile-photo-wrap{max-width:360px;margin:0 auto}.hapb-team-profile-hero-copy{text-align:center}.hapb-team-profile-contact{margin-left:auto;margin-right:auto;text-align:left}}
@media(max-width:767px){.hapb-team-profile{padding-top:15%}.hapb-team-group{margin-bottom:36px!important}.hapb-team-group-title{text-align:left!important}.hapb-team-profile-inner{width:min(100% - 32px,1180px)}.hapb-team-profile-hero{padding:42px 0 54px}.hapb-team-profile-photo-wrap{max-width:300px}.hapb-team-profile-role{font-size:17px}.hapb-team-profile-bio{padding:52px 0 58px}.hapb-team-profile-copy{font-size:16px;line-height:1.65}.hapb-team-profile-letter-section{padding:6%}.hapb-team-profile-letter{padding:42px 28px 46px}.hapb-team-profile-letter-copy{font-size:16px;line-height:1.65}.hapb-team-profile-back-wrap{padding-bottom:54px}}

/*================ PLUGIN BUTTON FALLBACK =================*/
.hapb-bios-module .hapb-bio-button .elementor-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;background:#063964!important;color:#fff!important;border:1px solid #063964!important;border-radius:0!important;padding:13px 26px!important;font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;font-size:16px!important;line-height:20px!important;text-decoration:none!important;transition:background-color .25s ease,color .25s ease,border-color .25s ease!important}
.hapb-bios-module .hapb-bio-button .elementor-button:hover,.hapb-bios-module .hapb-bio-button .elementor-button:focus{background:#fff!important;color:#063964!important;border-color:#2a9513!important}
.hapb-bio-modal-photo-section{align-items:center!important;justify-content:flex-start!important}
@media(max-width:1025px){.hapb-bios-module .hapb-bio-button .elementor-button{padding:10px 22px!important}}
