:root{--c-primary:#005587;--c-primary-dark:#036;--c-accent-light:#97d4e9;--c-bg-accent:#f5f8fa;--c-text-body:#444;--c-text-muted:#555;--c-bg-card:#f9f9f9;--c-border:#e9e9e9;--c-border-light:#eee;--c-white:#fff;--c-tag-access-bg:#e6f7f0;--c-tag-access-text:#006d3f;--c-tag-journal-bg:#e7f5ff}body{font-family:'Whitney SSm A','Whitney SSm B',Arial,sans-serif;background:var(--c-white)}.full-width .full-width-container .expand>.row-fluid,.breadcrumb{margin-left:auto !important;margin-right:auto !important;padding:0
!important;max-width:1170px}.entry-content{max-width:1170px;margin-left:auto !important;margin-right:auto !important}.flexslider{width:calc(100vw + 15px) !important;left:calc(-50vw + 50%) !important}#ubc7-unit{box-shadow:none !important}#ubc7-unit-identifier{font-size:25px !important}#ubc7-unit-name
a{line-height:23px !important}#front-profile{margin-top:-15px;margin-bottom:30px}#front-profile-text{margin-top:15px}.entry-content .profile-card{position:relative;background:var(--c-bg-card);border:1px
solid var(--c-border);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.05);padding:70px
25px 25px 25px;text-align:center;margin-top:50px;margin-bottom:20px}.entry-content .profile-card-image{position:absolute;top:-50px;left:50%;transform:translateX(-50%)}.entry-content .profile-card-image
img{width:100px;height:100px;border-radius:50%;object-fit:cover;border:4px
solid var(--c-white);box-shadow:0 3px 8px rgba(0,0,0,0.15)}.entry-content .profile-card-content .profile-name{font-size:1.3em;font-weight:bold;margin:0
0 4px 0 !important}.entry-content .profile-card-content .profile-role{font-size:1em;color:var(--c-text-muted);margin:0
0 15px 0 !important}.entry-content .profile-card-content .profile-contact{font-size:0.9em;color:var(--c-text-muted);line-height:1.5;margin-bottom:15px !important}.entry-content .profile-card-content .profile-bio{position:relative;padding-top:25px}.entry-content .profile-card .bio-heading{position:absolute;top:0;left:40px;font-size:0.85em;font-weight:bold;text-transform:uppercase;letter-spacing:1px;color:var(--c-primary)}.entry-content .profile-card
blockquote{position:relative;margin:0;padding:15px
20px;border-left:3px solid var(--c-accent-light);border-right:3px solid var(--c-accent-light);text-align:left}.entry-content .profile-card blockquote::before{content:'“';position:absolute;top:5px;left:5px;font-family:Georgia,serif;font-size:2.5em;line-height:1;color:var(--c-primary)}.entry-content .profile-card blockquote::after{content:'”';position:absolute;bottom:-15px;right:5px;font-family:Georgia,serif;font-size:2.5em;line-height:1;color:var(--c-primary)}.entry-content .profile-card blockquote
p{font-size:0.9em;line-height:1.6;color:var(--c-text-body)}.entry-content .publication-hero{text-align:center;padding-bottom:2.5em;margin-bottom:3em;border-bottom:1px solid var(--c-border-light)}.entry-content .hero-word-cloud
img{max-width:100%;height:auto;border-radius:8px;box-shadow:0 5px 20px rgba(0,0,0,0.07)}.entry-content .hero-caption{font-size:0.9em;font-style:italic;color:var(--c-text-muted);max-width:700px;margin:1.5em auto 0 auto}.entry-content .hero-buttons{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:1em;margin-top:2.5em}.entry-content .hero-buttons
a{display:inline-block;background-color:var(--c-primary);color:var(--c-white);padding:12px
24px;border-radius:5px;text-decoration:none;font-weight:bold;transition:all 0.2s ease}.entry-content .hero-buttons a:hover{background-color:var(--c-primary-dark);transform:translateY(-2px);box-shadow:0 4px 10px rgba(0,0,0,0.1)}.entry-content .hero-buttons
img{vertical-align:text-bottom;margin-left:8px}.entry-content .reading-guide{display:inline-block;max-width:100%;margin-top:2.5em;padding:20px
25px;background-color:var(--c-bg-accent);border-left:5px solid var(--c-primary);border-radius:0 5px 5px 0;text-align:left}.entry-content .reading-guide
p{margin:0;color:var(--c-text-body);line-height:1.6}.entry-content .reading-guide
strong{color:var(--c-primary-dark)}.entry-content .section-heading{font-size:2em;padding-bottom:10px;border-bottom:3px solid var(--c-primary);display:inline-block;margin-bottom:1.5em}.entry-content .notice-box{background-color:#f5f5f5;border-left:5px solid #ccc;padding:20px;margin:2em
0}.entry-content .notice-box
p{margin:0;font-style:italic;color:var(--c-text-body)}.entry-content .publication-card{display:flex;flex-wrap:wrap;gap:30px;padding:25px
0;border-bottom:1px solid var(--c-border)}.entry-content .publication-image{flex:1 1 250px}.entry-content .publication-image
img{width:100%;height:auto;border:1px
solid var(--c-border-light)}.entry-content .publication-details{flex:2 1 500px}.entry-content .publication-title{font-size:1.4em;font-weight:bold;line-height:1.3;margin:0
0 0.5em 0}.entry-content .publication-authors{font-size:0.95em;color:var(--c-text-muted);line-height:1.5;margin:0
0 1em 0}.entry-content .publication-citation{font-size:1em;color:var(--c-text-body);margin:0
0 1em 0}.entry-content .publication-links
a{display:inline-block;font-size:0.8em;font-weight:bold;text-decoration:none;text-transform:uppercase;letter-spacing:0.5px;padding:6px
14px;border-radius:20px;margin:0
8px 8px 0;transition:all 0.2s ease-in-out}.entry-content .publication-links a.tag-access{background-color:var(--c-tag-access-bg);color:var(--c-tag-access-text)}.entry-content .publication-links a.tag-access:hover{background-color:#ccece0}.entry-content .publication-links a.tag-journal{background-color:var(--c-tag-journal-bg);color:var(--c-primary)}.entry-content .publication-links a.tag-journal:hover{background-color:#d0e8fa}.entry-content
u{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;font-weight:normal}.entry-content
u.pi{text-decoration:none;font-weight:bold}.entry-content .citation-list
ul{list-style-type:none;padding-left:0}.entry-content .citation-list
li{position:relative;padding-left:25px;padding-bottom:1.5em;margin-bottom:1.5em;border-bottom:1px solid var(--c-border);line-height:1.6}.entry-content .citation-list li:last-child{border-bottom:none;margin-bottom:0}.entry-content .citation-list li::before{content:'■';position:absolute;left:0;top:6px;font-size:0.8em;color:var(--c-accent-light)}.entry-content .citation-list
em{font-style:italic}.entry-content .citation-list
strong{font-weight:bold}.hex-pic{-webkit-clip-path:polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);clip-path:polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%)}#profile-hexes *,
#hex-categories
*{margin:0;padding:0}#hex-categories{overflow:hidden;width:90%;margin:0
auto}.hex-clr:after{content:"";display:block;clear:both}#hex-categories
li{position:relative;list-style-type:none;width:27.85714285714286%;padding-bottom:32.16760145166612%;float:left;overflow:hidden;visibility:hidden;-webkit-transform:rotate(-60deg) skewY(30deg);transform:rotate(-60deg) skewY(30deg)}#hex-categories li:nth-child(3n+2){margin:0
1%}#hex-categories li:nth-child(6n+4){margin-left:0.5%}#hex-categories li:nth-child(6n+4),
#hex-categories li:nth-child(6n+5),
#hex-categories li:nth-child(6n+6){margin-top:-6.9285714285%;margin-bottom:-6.9285714285%;-webkit-transform:translateX(50%) rotate(-60deg) skewY(30deg);transform:translateX(50%) rotate(-60deg) skewY(30deg)}#hex-categories li>div{width:100%;height:100%;text-align:center;color:var(--c-white);overflow:hidden;-webkit-transform:skewY(-30deg) rotate(60deg);transform:skewY(-30deg) rotate(60deg)}#hex-categories li
img{width:auto;height:100%;margin:0
auto;position:absolute;visibility:visible;left:-100%;right:-100%}.entry-content .resources-hero{background-size:cover;background-position:center;padding:60px
30px;border-radius:8px;text-align:center;color:var(--c-white);margin-bottom:40px}.entry-content .resources-hero
h1{color:var(--c-white);margin-top:0;font-size:2.8em}.entry-content .resources-hero
p{font-size:1.2em;max-width:700px;margin:0
auto;opacity:0.9}.entry-content .software-grid-container .flex-container{display:flex;flex-wrap:wrap;margin:0
-15px}.entry-content .software-grid-container .flex-column{flex:1 1 50%;min-width:350px;box-sizing:border-box;padding:0
15px;display:flex;flex-direction:column}.entry-content .software-card{background-color:var(--c-white);border:1px
solid var(--c-border-light);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.05);padding:25px;margin-bottom:30px;flex-grow:1;display:flex;flex-direction:column;transition:all 0.25s ease}.entry-content .software-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px rgba(0,0,0,0.08)}.entry-content .software-image{position:relative;width:100%;height:150px;margin-bottom:20px;border-radius:6px;overflow:hidden}.entry-content .software-image
img{width:100%;height:100%;object-fit:cover}.entry-content .version-badge{position:absolute;top:10px;right:10px;background-color:rgba(0, 0, 0, 0.6);color:var(--c-white);padding:3px
8px;border-radius:5px;font-size:0.8em;font-weight:bold}.entry-content .software-card
h3{margin-top:0;font-size:1.5em}.entry-content .software-date{font-size:0.85em;font-style:italic;color:#777;margin:-10px 0 15px 0}.entry-content .software-card
p{font-size:0.95em;line-height:1.6;color:var(--c-text-muted)}.entry-content .software-meta{margin-top:auto;padding-top:20px;margin-top:20px;border-top:1px solid var(--c-border-light)}.entry-content .software-meta
ul{list-style:none;padding:0;margin:0}.entry-content .software-meta
li{display:flex;align-items:flex-start;gap:6px;font-size:0.9em;color:var(--c-text-muted);margin-bottom:8px}.entry-content .software-meta li:last-child{margin-bottom:0}.entry-content .meta-icon{display:inline-block;width:25px}.entry-content .license-tag{display:inline-block;font-size:0.9em;font-weight:bold;padding:3px
10px;border-radius:5px;text-decoration:none;background-color:#f5f5f5;color:#555;border:1px
solid #ddd;transition:all 0.2s ease}.entry-content .license-tag:hover{background-color:#e5e5e5;border-color:#ccc;color:#333}.entry-content .status-badge{display:inline-block;font-size:0.9em;font-weight:bold;padding:4px
12px;border-radius:15px;border:1px
solid transparent;vertical-align:middle}.entry-content .status-badge.cutting-edge{color:#855b00;background-color:#ffeacc;border-color:#ffda99;animation:pulse 2s infinite}.entry-content .status-badge.active{color:var(--c-tag-access-text);background-color:var(--c-tag-access-bg);border-color:#b8e6d5}.entry-content .status-badge.development{color:var(--c-primary);background-color:var(--c-tag-journal-bg);border-color:#b1d9f8}.entry-content .status-badge.issues{color:#8c6d00;background-color:#fff8e1;border-color:#ffecb3}.entry-content .status-badge.legacy{color:#5a3c80;background-color:#ebe2f5;border-color:#dcd0ec}.entry-content .status-badge.unsupported{color:#666;background-color:#f0f0f0;border-color:#ddd}@keyframes
pulse{0%{box-shadow:0 0 0 0 rgba(255,218,153,0.7)}70%{box-shadow:0 0 0 10px rgba(255,218,153,0)}100%{box-shadow:0 0 0 0 rgba(255, 218, 153, 0)}}.entry-content .software-links{padding-top:20px;border-top:1px solid var(--c-border-light);margin-top:20px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.entry-content .software-links
.button{display:inline-block;font-size:0.85em;font-weight:bold;text-decoration:none;padding:8px
16px;border-radius:5px;border:1px
solid transparent;transition:all 0.2s ease}.entry-content .software-links .button.button-webapp{background-color:var(--c-primary);color:var(--c-white)}.entry-content .software-links .button.button-webapp:hover{background-color:var(--c-primary-dark)}.entry-content .software-links .button.button-source{background-color:#333;color:var(--c-white)}.entry-content .software-links .button.button-source:hover{background-color:#000}.entry-content .software-links .button.button-publication{background-color:#f0f0f0;color:#333;border-color:#ddd}.entry-content .software-links .button.button-publication:hover{background-color:#e0e0e0}.entry-content .software-links .button.button-docs{background-color:#f5faff;color:#5a3c80;border-color:#dcd0ec}.entry-content .software-links .button.button-docs:hover{background-color:#ebe2f5}.entry-content .software-links .button.button-package{background-color:var(--c-tag-access-bg);color:var(--c-tag-access-text);border-color:#b8e6d5}.entry-content .software-links .button.button-package:hover{background-color:#d5f2e6}.entry-content .software-links .button.button-tutorial{background-color:#ffeded;color:#c53030;border-color:#f7d4d4}.entry-content .software-links .button.button-tutorial:hover{background-color:#f7d4d4}.entry-content .outreach-hero{padding:60px
30px;border-radius:8px;text-align:center;color:var(--c-white);margin-bottom:40px}.entry-content .outreach-hero
h1{color:var(--c-white);margin-top:0;font-size:2.8em}.entry-content .outreach-hero
p{font-size:1.2em;max-width:700px;margin:0
auto;opacity:0.95}.entry-content .outreach-heading{text-align:center;font-size:2.2em;margin-bottom:30px}.entry-content .media-grid{display:flex;flex-wrap:wrap;margin:0
-15px}.entry-content .media-grid .flex-column{flex:1 1 320px;box-sizing:border-box;padding:0
15px;margin-bottom:30px;display:flex}.entry-content .feature-card{background-color:var(--c-white);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.06);border:1px
solid var(--c-border-light);padding:30px
25px;width:100%;transition:all 0.25s ease;display:flex;flex-direction:column}.entry-content .feature-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px rgba(0,0,0,0.08)}.entry-content .feature-card
.icon{font-size:2.5em;margin-bottom:15px}.entry-content .feature-card
h3{margin-top:0;font-size:1.4em;color:var(--c-primary-dark)}.entry-content .feature-card
p{flex-grow:1}.entry-content .spotlight-section{background-color:var(--c-bg-accent);padding:50px
30px;border-radius:8px;margin:20px
0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:40px}.entry-content .spotlight-section .spotlight-text{flex:1 1 450px;min-width:300px}.entry-content .spotlight-section .spotlight-image{flex:1 1 350px;min-width:300px}.entry-content .spotlight-section .spotlight-image
img{width:100%;height:auto;border-radius:8px;box-shadow:0 5px 15px rgba(0,0,0,0.1)}.entry-content .cta-section{text-align:center;padding:50px
20px}.entry-content .cta-section
h2{font-size:2.2em}.entry-content .cta-section
p{font-size:1.1em;max-width:600px;margin:0
auto 25px auto;color:var(--c-text-muted)}.entry-content
.button{display:inline-block;background-color:var(--c-primary);color:var(--c-white);padding:12px
24px;border-radius:5px;text-decoration:none;font-weight:bold;transition:all 0.2s ease}.entry-content .button:hover{background-color:var(--c-primary-dark);transform:translateY(-2px);box-shadow:0 4px 10px rgba(0,0,0,0.1)}.entry-content .join-hero{background-size:cover;background-position:center;padding:80px
30px;border-radius:8px;text-align:center;color:var(--c-white);margin-bottom:40px}.entry-content .join-hero
h1{color:var(--c-white);margin-top:0;font-size:3em}.entry-content .diversity-statement{max-width:800px;margin:40px
auto 60px auto;padding:25px
30px;background-color:var(--c-bg-accent);border-left:5px solid var(--c-accent-light);border-radius:0 5px 5px 0;font-size:1.05em;line-height:1.7}.entry-content .job-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(350px, 1fr));gap:30px;margin-top:20px}.entry-content .job-card{background-color:var(--c-white);border:1px
solid var(--c-border-light);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.05);padding:30px;display:flex;flex-direction:column;transition:all 0.25s ease}.entry-content .job-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px rgba(0,0,0,0.08);border-color:var(--c-primary)}.entry-content .job-card
h3{font-size:1.6em;margin-top:0;margin-bottom:10px;color:var(--c-primary-dark)}.entry-content .job-card-description{font-size:0.95em;line-height:1.6;color:var(--c-text-muted);flex-grow:1}.entry-content .job-card-tags{margin:5px
0 20px 0;display:flex;flex-wrap:wrap;gap:8px}.entry-content
.tag{display:inline-flex;align-items:center;gap:6px;font-size:0.8em;font-weight:bold;padding:5px
12px;border-radius:15px;border:1px
solid transparent}.entry-content .tag.tag--funding{color:#256b51;background-color:#e3f3eb;border-color:#c1e4d5}.entry-content .tag.tag--field{color:var(--c-primary);background-color:var(--c-tag-journal-bg);border-color:#b1d9f8}.entry-content .tag.tag--tech{color:#855b00;background-color:#ffeacc;border-color:#ffda99}.entry-content .job-card-footer{margin-top:25px;padding-top:20px;border-top:1px solid var(--c-border-light)}.entry-content .job-card-footer
.button{display:inline-block;background-color:var(--c-primary);color:var(--c-white);padding:12px
24px;border-radius:5px;text-decoration:none;font-weight:bold;transition:all 0.2s ease;width:100%;text-align:center;box-sizing:border-box}.entry-content .job-card-footer .button:hover{background-color:var(--c-primary-dark)}.entry-content .general-applications{text-align:center;padding:30px;margin-top:60px;background-color:#f9f9f9;border:1px
dashed var(--c-border);border-radius:8px}