diff --git a/.github/workflows/validate-events.yml b/.github/workflows/validate-events.yml
new file mode 100644
index 0000000..b01649d
--- /dev/null
+++ b/.github/workflows/validate-events.yml
@@ -0,0 +1,32 @@
+name: Validate events
+
+on:
+ pull_request:
+ paths:
+ - "data/events.json"
+ - "html/events/**"
+ - "events images/**"
+ - "package.json"
+ - "scripts/validate-events.mjs"
+ - ".github/workflows/validate-events.yml"
+ push:
+ paths:
+ - "data/events.json"
+ - "html/events/**"
+ - "events images/**"
+ - "package.json"
+ - "scripts/validate-events.mjs"
+ - ".github/workflows/validate-events.yml"
+
+jobs:
+ validate-events:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Check out repository
+ uses: actions/checkout@v4
+ - name: Set up Node.js
+ uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ - name: Validate event data
+ run: npm run validate:events
diff --git a/css/events.css b/css/events.css
new file mode 100644
index 0000000..c0d36ae
--- /dev/null
+++ b/css/events.css
@@ -0,0 +1,1395 @@
+body.events-page #header-placeholder {
+ min-height: 82px;
+}
+
+body.event-detail-page {
+ background: #ffffff;
+}
+
+body.event-detail-page #header-placeholder {
+ background: #ffffff;
+}
+
+.event-detail-page main {
+ width: min(1100px, calc(100% - 160px));
+ margin: 0 auto;
+ padding: 4rem 0 5rem;
+}
+
+.event-detail-page main > article {
+ max-width: 900px;
+ margin: 0 auto;
+}
+
+.event-detail-page main > article > h1 {
+ max-width: 18ch;
+ margin: 0 0 1.6rem;
+ color: var(--site-text);
+ font-family: 'Figtree', sans-serif;
+ font-size: clamp(2.5rem, 6vw, 4.9rem);
+ line-height: 1;
+}
+
+.event-detail-page main > article > section {
+ min-width: 0;
+}
+
+.event-detail-page main > article > section:not([aria-label="Event details"]) {
+ max-width: 720px;
+ padding: 0.95rem 0;
+ border-top: 1px solid var(--site-border);
+}
+
+.event-detail-page main > article > section[aria-label="Event dates"] {
+ border-top: 2px solid var(--site-text);
+}
+
+.event-detail-page main > article > section[aria-label="Event details"] {
+ margin-top: 2rem;
+}
+
+.event-detail-page section > h2 {
+ margin: 0 0 0.65rem;
+ color: var(--site-text);
+ font-family: 'Figtree', sans-serif;
+ font-size: 1.15rem;
+ line-height: 1.2;
+}
+
+.event-detail-page section[aria-label="Event details"] > h2 {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0);
+ white-space: nowrap;
+ border: 0;
+}
+
+.event-detail-page section:not([aria-label="Event details"]) p,
+.event-detail-page section:not([aria-label="Event details"]) span,
+.event-detail-page section:not([aria-label="Event details"]) li {
+ color: var(--site-text);
+ font-size: 1rem;
+ line-height: 1.55;
+}
+
+.event-detail-page section:not([aria-label="Event details"]) ul {
+ display: grid;
+ gap: 0.5rem;
+ max-height: 24rem;
+ margin: 0;
+ padding: 0;
+ overflow: auto;
+ list-style: none;
+}
+
+.event-detail-page section:not([aria-label="Event details"]) li {
+ padding: 0.45rem 0;
+}
+
+.event-detail-page time {
+ font-weight: 700;
+}
+
+.event-detail-page .event-registration-status {
+ margin: 0 0 0.65rem;
+ padding: 0.1rem 0 0.15rem 0.85rem;
+}
+
+.event-detail-page .event-registration-status--closed {
+ border-left: 3px solid #944141;
+}
+
+.event-detail-page .event-registration-status p {
+ margin: 0;
+ color: var(--site-text);
+ font-size: 1.02rem;
+ font-weight: 800;
+ line-height: 1.35;
+}
+
+.event-detail-page .event-registration-status span {
+ display: block;
+ margin-top: 0.12rem;
+ color: var(--site-text-muted);
+ font-size: 0.96rem;
+ line-height: 1.45;
+}
+
+.event-detail-page section[aria-label="Event details"] {
+ display: flow-root;
+ color: var(--site-text);
+}
+
+.event-detail-page section[aria-label="Event details"] p,
+.event-detail-page section[aria-label="Event details"] li,
+.event-detail-page section[aria-label="Event details"] td,
+.event-detail-page section[aria-label="Event details"] th {
+ color: var(--site-text);
+ font-size: 1.1rem;
+ line-height: 1.72;
+}
+
+.event-detail-page section[aria-label="Event details"] p {
+ margin: 0 0 1rem;
+}
+
+.event-detail-page section[aria-label="Event details"] h2,
+.event-detail-page section[aria-label="Event details"] h3,
+.event-detail-page section[aria-label="Event details"] h4 {
+ margin: 1.9rem 0 0.75rem;
+ color: var(--site-text);
+ font-family: 'Figtree', sans-serif;
+ line-height: 1.18;
+}
+
+.event-detail-page section[aria-label="Event details"] h2 {
+ font-size: clamp(1.7rem, 3vw, 2.25rem);
+}
+
+.event-detail-page section[aria-label="Event details"] h3 {
+ font-size: 1.35rem;
+}
+
+.event-detail-page section[aria-label="Event details"] h4 {
+ font-size: 1.1rem;
+}
+
+.event-detail-page section[aria-label="Event details"] a,
+.event-detail-page section[aria-label="Event link"] a,
+.event-detail-page section[aria-label="Registration"] a {
+ color: var(--site-link);
+ font-weight: 700;
+ text-decoration: underline;
+ text-underline-offset: 0.12em;
+}
+
+.event-detail-page section[aria-label="Event details"] ul,
+.event-detail-page section[aria-label="Event details"] ol {
+ margin: 0 0 1.1rem;
+ padding-left: 1.25rem;
+}
+
+.event-detail-page section[aria-label="Event details"] li + li {
+ margin-top: 0.45rem;
+}
+
+.event-detail-page section[aria-label="Event details"] img {
+ display: block;
+ max-width: 100%;
+ height: auto;
+ margin: 0 auto;
+ border-radius: 8px;
+}
+
+.event-detail-page section[aria-label="Event details"] > article,
+.event-detail-page section[aria-label="Event details"] > article article {
+ margin: 0 0 1.25rem;
+}
+
+.event-detail-page section[aria-label="Event details"] > article:first-of-type {
+ float: none;
+ width: 100%;
+ margin: 0 0 1.75rem;
+}
+
+.event-detail-page section[aria-label="Event details"] > article:first-of-type img {
+ width: min(100%, 760px);
+}
+
+.event-detail-page table {
+ display: block;
+ width: 100%;
+ margin: 1rem 0 1.5rem;
+ overflow-x: auto;
+ border-collapse: collapse;
+}
+
+.event-detail-page th,
+.event-detail-page td {
+ min-width: 9rem;
+ padding: 0.75rem;
+ border: 1px solid var(--site-border);
+ vertical-align: top;
+}
+
+.event-detail-page th {
+ background: var(--site-link-soft);
+ color: var(--site-link);
+ font-weight: 800;
+ text-align: left;
+}
+
+@media (max-width: 900px) {
+ .event-detail-page main {
+ width: min(1100px, calc(100% - 48px));
+ padding: 3rem 0 4rem;
+ }
+
+ .event-detail-page main > article {
+ display: block;
+ }
+
+ .event-detail-page main > article > h1 {
+ max-width: 100%;
+ margin-bottom: 1.25rem;
+ }
+
+ .event-detail-page main > article > section:not([aria-label="Event details"]) {
+ margin-bottom: 0.85rem;
+ }
+
+ .event-detail-page main > article > section[aria-label="Event details"] {
+ margin-top: 1.5rem;
+ }
+
+ .event-detail-page section[aria-label="Event details"] > article:first-of-type {
+ float: none;
+ width: 100%;
+ margin: 0 0 1.2rem;
+ }
+}
+
+.news-gradient-stage {
+ position: relative;
+ overflow: hidden;
+ width: 100%;
+ padding-bottom: 1.85rem;
+ background-color: #0d5565;
+ background-image: url('../images/gradient-b-hero.jpg');
+ background-position: center;
+ background-repeat: no-repeat;
+ background-size: cover;
+}
+
+.news-gradient-stage::before {
+ content: '';
+ position: absolute;
+ inset: 0;
+ background:
+ linear-gradient(180deg, rgba(0, 0, 0, 0.28), rgba(0, 0, 0, 0.06) 42%, rgba(0, 0, 0, 0.18)),
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2), transparent 52%);
+ pointer-events: none;
+}
+
+.news-hero,
+.news-featured-slot {
+ position: relative;
+ z-index: 1;
+}
+
+.news-hero {
+ width: min(1100px, calc(100% - 160px));
+ margin: 0 auto;
+ padding: 1.85rem 0 1.15rem;
+ color: #ffffff;
+}
+
+.news-hero h1,
+.news-hero p {
+ text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
+}
+
+.news-hero p {
+ max-width: 38rem;
+ margin-top: 0.75rem;
+ color: rgba(255, 255, 255, 0.88);
+ font-size: 1.16rem;
+ line-height: 1.48;
+}
+
+.news-featured-slot {
+ width: min(1100px, calc(100% - 160px));
+ margin: 0 auto;
+}
+
+.news-featured-slot:empty {
+ display: none;
+}
+
+.news-featured-slot .news-featured-card {
+ position: relative;
+ display: grid;
+ grid-template-columns: minmax(330px, 0.68fr) minmax(0, 1.32fr);
+ width: 100%;
+ min-height: 330px;
+ padding: 0;
+ overflow: hidden;
+ border-radius: 14px;
+ border: 1px solid rgba(255, 255, 255, 0.12);
+ background: rgba(16, 38, 58, 0.7);
+ box-shadow: 0 18px 42px rgba(0, 0, 0, 0.22);
+ -webkit-backdrop-filter: blur(6px);
+ backdrop-filter: blur(6px);
+ color: inherit;
+ transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
+}
+
+a.news-featured-card:hover,
+a.news-featured-card:focus-visible {
+ border-color: rgba(155, 203, 94, 0.58);
+ box-shadow: 0 22px 56px rgba(0, 0, 0, 0.28);
+ transform: translateY(-1px);
+}
+
+a.news-featured-card:focus-visible {
+ outline: 3px solid rgba(155, 203, 94, 0.52);
+ outline-offset: 4px;
+}
+
+.news-featured-slot .news-featured-image-link {
+ position: relative;
+ inset: auto;
+ grid-column: 2;
+ min-height: 330px;
+ overflow: hidden;
+ border: 0;
+ border-radius: 0;
+ background: #ffffff;
+}
+
+.news-featured-slot .news-featured-image-link img {
+ display: block;
+ width: 100%;
+ height: 100%;
+ position: relative;
+ z-index: 1;
+ min-height: 330px;
+ object-fit: cover;
+ transform: translateZ(0);
+}
+
+.news-featured-slot .news-featured-content {
+ position: relative;
+ z-index: 2;
+ grid-column: 1;
+ grid-row: 1;
+ justify-content: center;
+ min-height: 330px;
+ max-width: none;
+ padding: clamp(1.75rem, 3.4vw, 2.85rem);
+ border-right: 1px solid rgba(255, 255, 255, 0.08);
+ border-radius: 0;
+ background:
+ linear-gradient(135deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.015)),
+ rgba(16, 38, 58, 0.68);
+ box-shadow: none;
+}
+
+.news-featured-slot .news-card.news-featured-card h2 {
+ max-width: 11ch;
+ margin: 0 0 0.9rem;
+ color: #ffffff;
+ font-size: clamp(1.95rem, 2.8vw, 2.75rem);
+ line-height: 1.08;
+}
+
+.news-featured-slot .news-card.news-featured-card p {
+ color: rgba(255, 255, 255, 0.76);
+ font-size: 1rem;
+ line-height: 1.5;
+}
+
+.news-featured-slot .news-featured-meta {
+ margin: 0.2rem 0 0;
+ color: rgba(255, 255, 255, 0.62);
+ font-size: 0.92rem;
+ letter-spacing: 0.01em;
+}
+
+.news-featured-read-more {
+ display: inline-flex;
+ align-items: center;
+ gap: 0.7rem;
+ width: fit-content;
+ margin-top: 1.05rem;
+ padding: 0;
+ border: 0;
+ border-radius: 0;
+ background: transparent;
+ color: #ffffff;
+ font-size: 1rem;
+ font-weight: 800;
+ line-height: 1;
+ transition: color 0.18s ease;
+}
+
+.news-featured-read-more-icon {
+ display: grid;
+ place-items: center;
+ width: 2.35rem;
+ height: 2.35rem;
+ border-radius: 4px;
+ background: #9bcb5e;
+ color: #10263a;
+ font-size: 1.45rem;
+ line-height: 1;
+ transition: background 0.18s ease, transform 0.18s ease;
+}
+
+a.news-featured-card:hover .news-featured-read-more,
+a.news-featured-card:focus-visible .news-featured-read-more {
+ color: #d5f0b1;
+}
+
+a.news-featured-card:hover .news-featured-read-more-icon,
+a.news-featured-card:focus-visible .news-featured-read-more-icon {
+ background: #d5f0b1;
+ transform: translateX(2px);
+}
+
+.news-controls-section,
+.news-list-section {
+ width: min(1100px, calc(100% - 160px));
+ margin: 0 auto;
+}
+
+.news-controls-section {
+ padding-top: 2rem;
+}
+
+.news-list-section {
+ padding-top: 1.5rem;
+}
+
+.news-search {
+ display: grid;
+ grid-template-columns: minmax(0, 360px) 130px;
+ gap: 0.65rem;
+ width: min(500px, 100%);
+ margin: 0 0 0.75rem auto;
+}
+
+.news-search label {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0);
+ white-space: nowrap;
+ border: 0;
+}
+
+.news-search input,
+.news-year-toggle {
+ width: 100%;
+ min-height: 2.75rem;
+ padding: 0.6rem 1rem;
+ border: 1px solid rgba(93, 128, 149, 0.28);
+ border-radius: 999px;
+ background: #ffffff;
+ color: var(--site-text);
+ font: inherit;
+ box-shadow: 0 8px 22px rgba(16, 38, 58, 0.07);
+ transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
+}
+
+.news-search input::placeholder {
+ color: rgba(93, 111, 124, 0.82);
+}
+
+.news-search input:hover,
+.news-year-toggle:hover {
+ border-color: rgba(0, 127, 150, 0.42);
+ box-shadow: 0 10px 26px rgba(16, 38, 58, 0.09);
+}
+
+.news-year-dropdown {
+ position: relative;
+}
+
+.news-year-toggle {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ gap: 0.5rem;
+ cursor: pointer;
+}
+
+.news-year-toggle::after {
+ content: '';
+ width: 0.45rem;
+ height: 0.45rem;
+ border-right: 2px solid var(--site-text-muted);
+ border-bottom: 2px solid var(--site-text-muted);
+ transform: rotate(45deg) translateY(-1px);
+}
+
+.news-year-menu {
+ position: absolute;
+ top: calc(100% + 0.4rem);
+ right: 0;
+ z-index: 20;
+ display: none;
+ min-width: 100%;
+ padding: 0.35rem;
+ border: 1px solid var(--site-border);
+ border-radius: 14px;
+ background: var(--site-surface);
+ box-shadow: 0 16px 35px rgba(12, 40, 69, 0.1);
+}
+
+.news-year-dropdown.is-open .news-year-menu {
+ display: grid;
+ gap: 0.15rem;
+}
+
+.news-year-menu button {
+ width: 100%;
+ padding: 0.5rem 0.7rem;
+ border: 0;
+ border-radius: 10px;
+ background: transparent;
+ color: var(--site-text);
+ font: inherit;
+ text-align: left;
+ cursor: pointer;
+}
+
+.news-year-menu button:hover,
+.news-year-menu button[aria-selected="true"] {
+ background: var(--site-link-soft);
+ color: var(--site-link);
+}
+
+.news-search input:focus,
+.news-year-toggle:focus {
+ border-color: var(--site-link);
+ box-shadow: 0 10px 26px rgba(16, 38, 58, 0.08);
+ outline: 3px solid var(--site-link-soft);
+ outline-offset: 0;
+}
+
+.news-results-count {
+ margin: 0;
+ color: var(--site-text-muted);
+ font-size: 0.95rem;
+ font-weight: 700;
+ text-align: right;
+}
+
+.news-empty-state {
+ grid-column: 1 / -1;
+ margin: 0;
+ padding: 1.3rem;
+ border: 1px solid var(--site-border);
+ border-radius: 8px;
+ color: var(--site-text-muted);
+}
+
+.news-grid {
+ display: grid;
+ grid-template-columns: repeat(3, minmax(0, 1fr));
+ gap: 1rem;
+ margin: 0.6rem 0 0;
+}
+
+.news-card {
+ padding: 1.3rem;
+ border: 1px solid var(--site-border);
+ border-radius: 8px;
+ background: var(--site-surface);
+ box-shadow: none;
+ overflow: hidden;
+}
+
+.news-featured-card {
+ position: relative;
+ grid-column: 1 / -1;
+ display: grid;
+ grid-template-columns: minmax(280px, 0.95fr) minmax(0, 1.05fr);
+ align-items: stretch;
+ min-height: 320px;
+ padding: 0;
+ overflow: hidden;
+ border: 1px solid var(--site-border);
+ background: var(--site-surface);
+ color: var(--site-text);
+ box-shadow: none;
+}
+
+.news-featured-image-link {
+ display: grid;
+ place-items: center;
+ min-height: 100%;
+ border-right: 1px solid var(--site-border);
+ background: #ffffff;
+}
+
+.news-featured-image-link img {
+ display: block;
+ width: 100%;
+ height: 100%;
+ min-height: 320px;
+ object-fit: contain;
+}
+
+.news-featured-content {
+ position: relative;
+ z-index: 2;
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-end;
+ min-height: inherit;
+ max-width: 680px;
+ padding: clamp(1.6rem, 4.5vw, 3.25rem);
+}
+
+.news-card.news-featured-card h2 {
+ max-width: 14ch;
+ margin: 0.8rem 0 0.7rem;
+ color: var(--site-text);
+ font-size: clamp(2rem, 4vw, 3.8rem);
+ line-height: 1;
+}
+
+.news-card.news-featured-card h2 a {
+ color: inherit;
+}
+
+.news-card.news-featured-card p {
+ max-width: 42rem;
+ color: var(--site-text-muted);
+}
+
+.news-card-image {
+ margin: -1.3rem -1.3rem 1rem;
+ border-bottom: 1px solid var(--site-border);
+ background: #ffffff;
+ aspect-ratio: 16 / 10;
+ overflow: hidden;
+}
+
+.news-card-image img {
+ display: block;
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+}
+
+.news-card-image--contain {
+ background: #ffffff;
+}
+
+.news-card-image--contain img {
+ box-sizing: border-box;
+ padding: 0.85rem;
+ object-fit: contain;
+}
+
+.news-card-image--logo {
+ display: grid;
+ place-items: center;
+}
+
+.news-card-image--logo img {
+ width: min(48%, 5.5rem);
+ height: min(48%, 5.5rem);
+ padding: 0;
+}
+
+.news-card-content {
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+}
+
+.news-featured-meta {
+ margin: 0.2rem 0 0;
+ font-weight: 700;
+}
+
+.news-card h2 {
+ margin-top: 0;
+ margin-bottom: 0.5rem;
+ font-family: 'Figtree', sans-serif;
+ font-optical-sizing: auto;
+ font-style: normal;
+ font-size: 1.2rem;
+ transition: color 0.18s ease;
+}
+
+a.news-card:hover h2,
+a.news-card:focus-visible h2 {
+ color: var(--site-link);
+ text-decoration: underline;
+ text-underline-offset: 0.12em;
+}
+
+.news-card-date {
+ margin: 0 0 0.45rem;
+ color: var(--site-text-muted);
+ font-size: 0.9rem;
+ font-weight: 700;
+ line-height: 1.35;
+}
+
+.news-card p {
+ font-size: 1.08rem;
+ line-height: 1.65;
+}
+
+.news-card a {
+ color: var(--site-link);
+ font-weight: 700;
+}
+
+a.news-card {
+ display: block;
+ color: inherit;
+}
+
+a.news-card:hover,
+a.news-card:focus-visible {
+ border-color: var(--site-link);
+}
+
+.news-article-page {
+ padding: 4rem 0 5rem;
+}
+
+.news-article {
+ width: min(900px, calc(100% - 160px));
+ margin: 0 auto;
+}
+
+.news-article-header {
+ margin-bottom: 1.5rem;
+}
+
+.news-article-date,
+.news-article-category {
+ margin: 0;
+ color: var(--site-text-muted);
+ font-weight: 700;
+ line-height: 1.5;
+}
+
+.news-article-header h1 {
+ margin: 0.6rem 0;
+ font-family: 'Figtree', sans-serif;
+ font-optical-sizing: auto;
+ font-style: normal;
+ font-size: clamp(2.4rem, 6vw, 4.6rem);
+ line-height: 1;
+}
+
+.news-article-image-link {
+ display: block;
+ background: transparent;
+}
+
+.news-article-image-link img {
+ display: block;
+ width: 100%;
+ height: auto;
+}
+
+.news-article-figure {
+ margin: 0;
+ background: transparent;
+}
+
+.news-article-figure img {
+ display: block;
+ width: 100%;
+ height: auto;
+}
+
+.news-article-figure figcaption {
+ padding: 0.55rem 0 0;
+ color: var(--site-text-muted);
+ font-size: 0.92rem;
+ font-weight: 700;
+}
+
+.news-article-figure-inline {
+ float: right;
+ width: min(48%, 420px);
+ margin: 0.15rem 0 1rem 1.5rem;
+}
+
+.news-article-image-inline {
+ float: right;
+ width: min(48%, 420px);
+ margin: 0.15rem 0 1rem 1.5rem;
+}
+
+.news-article-content {
+ display: grid;
+ gap: 1rem;
+ margin-top: 1.75rem;
+}
+
+.news-article-content-wrap {
+ display: flow-root;
+}
+
+.news-article-content p,
+.news-article-content li {
+ margin: 0;
+ color: var(--site-text);
+ font-size: 1.1rem;
+ font-weight: 400;
+ line-height: 1.7;
+}
+
+.news-article-content ul {
+ margin: 0;
+ padding-left: 1.35rem;
+}
+
+.news-article-content-wrap > p,
+.news-article-content-wrap > ul,
+.news-article-content-wrap > ol {
+ margin-top: 1rem;
+}
+
+.news-article-content-wrap > .news-article-image-inline + p,
+.news-article-content-wrap > .news-article-figure-inline + p,
+.news-article-content-wrap > .content-image:first-child + p,
+.news-article-content-wrap > .content-figure:first-child + p {
+ margin-top: 0;
+}
+
+.news-article-content li + li {
+ margin-top: 0.55rem;
+}
+
+.news-article-callout {
+ padding-top: 0.75rem;
+}
+
+.news-article-content a {
+ color: var(--site-link);
+ font-weight: 600;
+ text-decoration: underline;
+ text-underline-offset: 0.12em;
+}
+
+.news-article-content strong {
+ font-weight: 600;
+}
+
+.news-article-content img,
+.news-article-content picture,
+.news-article-content iframe {
+ max-width: 100%;
+}
+
+.news-article-content img {
+ height: auto;
+}
+
+.news-article-content .content-image {
+ margin: 0 0 1rem;
+}
+
+.news-article-content .content-image img {
+ display: block;
+}
+
+.news-article-content-wrap > .content-image:first-child,
+.news-article-content-wrap > .content-figure:first-child {
+ float: right;
+ width: min(42%, 380px);
+ margin: 0.15rem 0 1rem 1.5rem;
+}
+
+.news-article-content-wrap > .content-image:first-child img,
+.news-article-content-wrap > .content-figure:first-child img {
+ width: 100%;
+}
+
+.news-article-content .content-image.align-left,
+.news-article-content .content-figure.align-left {
+ float: left;
+ width: min(42%, 380px);
+ margin: 0.15rem 1.5rem 1rem 0;
+}
+
+.news-article-content .content-image.align-right,
+.news-article-content .content-figure.align-right {
+ float: right;
+ width: min(42%, 380px);
+ margin: 0.15rem 0 1rem 1.5rem;
+}
+
+.news-article-content .content-figure {
+ margin-top: 0;
+}
+
+.news-pagination {
+ display: flex;
+ flex-wrap: nowrap;
+ justify-content: center;
+ align-items: center;
+ gap: 0.35rem;
+ width: fit-content;
+ max-width: 100%;
+ margin: 2.25rem auto 0;
+ padding: 0.35rem;
+ border: 1px solid rgba(16, 38, 58, 0.22);
+ border-radius: 999px;
+ background: var(--site-text);
+ box-shadow: 0 18px 45px rgba(12, 40, 69, 0.14);
+}
+
+.news-pagination:empty {
+ display: none;
+}
+
+.news-pagination-bottom-previous {
+ margin-top: 0.75rem;
+}
+
+.news-pagination-previous {
+ border-color: rgba(93, 128, 149, 0.22);
+ background: rgba(255, 255, 255, 0.84);
+ box-shadow: 0 18px 45px rgba(12, 40, 69, 0.08);
+}
+
+.news-pagination button {
+ min-width: 2.25rem;
+ min-height: 2.25rem;
+ padding: 0.4rem 0.72rem;
+ border: 0;
+ border-radius: 999px;
+ background: transparent;
+ color: #ffffff;
+ font: inherit;
+ font-weight: 700;
+ line-height: 1;
+ cursor: pointer;
+ transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
+}
+
+.news-pagination-previous button {
+ color: var(--site-text);
+}
+
+.news-pagination-ellipsis {
+ display: grid;
+ place-items: center;
+ width: 2.25rem;
+ min-width: 2.25rem;
+ height: 2.25rem;
+ color: rgba(255, 255, 255, 0.64);
+ font-weight: 700;
+ line-height: 1;
+}
+
+.news-pagination-previous .news-pagination-ellipsis {
+ color: var(--site-text-muted);
+}
+
+.news-pagination button:hover:not(:disabled):not([aria-current="page"]) {
+ background: rgba(255, 255, 255, 0.12);
+ color: #ffffff;
+}
+
+.news-pagination-previous button:hover:not(:disabled):not([aria-current="page"]) {
+ background: var(--site-link-soft);
+ color: var(--site-link);
+}
+
+.news-pagination button:focus-visible {
+ outline: 3px solid rgba(0, 151, 178, 0.24);
+ outline-offset: 2px;
+}
+
+.news-pagination button[aria-current="page"] {
+ background: #ffffff;
+ color: var(--site-text);
+ box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18);
+ transform: translateY(-1px);
+}
+
+.news-pagination-previous button[aria-current="page"] {
+ background: var(--site-link);
+ color: #ffffff;
+ box-shadow: 0 10px 22px rgba(0, 151, 178, 0.24);
+}
+
+.news-pagination-control {
+ padding-inline: 0.95rem;
+}
+
+.news-pagination button:disabled {
+ cursor: not-allowed;
+ color: rgba(255, 255, 255, 0.56);
+ opacity: 0.42;
+}
+
+.news-pagination-previous button:disabled {
+ color: var(--site-text-muted);
+}
+
+.events-page .event-featured-slot {
+ position: relative;
+ z-index: 1;
+ width: min(1100px, calc(100% - 160px));
+ margin: 0 auto;
+}
+
+.events-page .event-featured-card {
+ display: grid;
+ grid-template-columns: 132px minmax(0, 1fr) minmax(280px, 0.62fr);
+ gap: 1.35rem;
+ align-items: stretch;
+ min-height: 280px;
+ padding: 1rem;
+ overflow: hidden;
+ border: 1px solid rgba(255, 255, 255, 0.14);
+ border-radius: 14px;
+ background:
+ linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.025)),
+ rgba(16, 38, 58, 0.74);
+ box-shadow: 0 18px 42px rgba(0, 0, 0, 0.22);
+ -webkit-backdrop-filter: blur(6px);
+ backdrop-filter: blur(6px);
+ color: #ffffff;
+ transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
+}
+
+.events-page .event-featured-card--no-image {
+ grid-template-columns: 132px minmax(0, 1fr);
+}
+
+.events-page .event-featured-card:hover,
+.events-page .event-featured-card:focus-visible {
+ border-color: rgba(155, 203, 94, 0.58);
+ box-shadow: 0 22px 56px rgba(0, 0, 0, 0.28);
+ transform: translateY(-1px);
+}
+
+.events-page .event-featured-card:focus-visible {
+ outline: 3px solid rgba(155, 203, 94, 0.52);
+ outline-offset: 4px;
+}
+
+.events-page .event-featured-date {
+ display: grid;
+ align-content: center;
+ justify-items: center;
+ min-height: 100%;
+ padding: 1.1rem 0.75rem;
+ border-radius: 10px;
+ background: #9bcb5e;
+ color: #10263a;
+ text-align: center;
+}
+
+.events-page .event-featured-date span {
+ font-size: 0.9rem;
+ font-weight: 900;
+ letter-spacing: 0.12em;
+ text-transform: uppercase;
+}
+
+.events-page .event-featured-date strong {
+ margin: 0.1rem 0;
+ font-family: 'Figtree', sans-serif;
+ font-size: clamp(3rem, 7vw, 5rem);
+ line-height: 0.9;
+}
+
+.events-page .event-featured-content {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ min-width: 0;
+ padding: 0.5rem 0;
+}
+
+.events-page .event-featured-label,
+.events-page .event-featured-meta {
+ margin: 0;
+ color: rgba(255, 255, 255, 0.66);
+ font-size: 0.92rem;
+ font-weight: 800;
+}
+
+.events-page .event-featured-label {
+ letter-spacing: 0.1em;
+ text-transform: uppercase;
+}
+
+.events-page .event-featured-content h2 {
+ max-width: 16ch;
+ margin: 0.55rem 0 0.75rem;
+ color: #ffffff;
+ font-family: 'Figtree', sans-serif;
+ font-size: clamp(2rem, 4vw, 3.1rem);
+ line-height: 1.05;
+}
+
+.events-page .event-featured-content p:not(.event-featured-label):not(.event-featured-meta) {
+ max-width: 52ch;
+ margin: 0.75rem 0 0;
+ color: rgba(255, 255, 255, 0.78);
+ font-size: 1rem;
+ line-height: 1.5;
+}
+
+.events-page .event-featured-cta {
+ display: inline-flex;
+ align-items: center;
+ gap: 0.7rem;
+ width: fit-content;
+ margin-top: 1.1rem;
+ color: #ffffff;
+ font-size: 1rem;
+ font-weight: 900;
+}
+
+.events-page .event-featured-cta-icon {
+ display: grid;
+ place-items: center;
+ width: 2.35rem;
+ height: 2.35rem;
+ border-radius: 4px;
+ background: #9bcb5e;
+ color: #10263a;
+ font-size: 1.45rem;
+ line-height: 1;
+ transition: background 0.18s ease, transform 0.18s ease;
+}
+
+.events-page .event-featured-card:hover .event-featured-cta,
+.events-page .event-featured-card:focus-visible .event-featured-cta {
+ color: #d5f0b1;
+}
+
+.events-page .event-featured-card:hover .event-featured-cta-icon,
+.events-page .event-featured-card:focus-visible .event-featured-cta-icon {
+ background: #d5f0b1;
+ transform: translateX(2px);
+}
+
+.events-page .event-featured-image {
+ min-height: 248px;
+ overflow: hidden;
+ border-radius: 10px;
+ background: rgba(255, 255, 255, 0.12);
+}
+
+.events-page .event-featured-image img {
+ display: block;
+ width: 100%;
+ height: 100%;
+ min-height: 248px;
+ object-fit: cover;
+}
+
+.events-page .event-featured-image--contain img {
+ box-sizing: border-box;
+ padding: 1rem;
+ object-fit: contain;
+}
+
+.events-page .event-featured-image--logo {
+ display: grid;
+ place-items: center;
+}
+
+.events-page .event-featured-image--logo img {
+ width: min(48%, 6rem);
+ height: min(48%, 6rem);
+ min-height: 0;
+ padding: 0;
+}
+
+@media (max-width: 900px) {
+ .news-grid {
+ grid-template-columns: 1fr;
+ }
+
+ .events-page .event-featured-slot {
+ width: min(1100px, calc(100% - 48px));
+ }
+
+ .events-page .event-featured-card {
+ grid-template-columns: 110px minmax(0, 1fr);
+ }
+
+ .events-page .event-featured-image {
+ grid-column: 1 / -1;
+ grid-row: 2;
+ display: block;
+ min-height: 260px;
+ border-radius: 10px;
+ }
+
+ .news-gradient-stage {
+ padding-bottom: 1.35rem;
+ background-position: 58% center;
+ }
+
+ .news-hero {
+ padding: 1.45rem 0 1rem;
+ }
+
+ .news-hero h1 {
+ margin-bottom: 0.65rem;
+ }
+
+ .news-hero p {
+ max-width: 32rem;
+ margin-top: 0;
+ font-size: 1rem;
+ line-height: 1.45;
+ }
+
+ .news-featured-slot .news-featured-card {
+ display: grid;
+ grid-template-columns: 1fr;
+ gap: 0;
+ min-height: 0;
+ background: rgba(16, 38, 58, 0.82);
+ padding: 0;
+ border-radius: 12px;
+ box-shadow: 0 14px 32px rgba(0, 0, 0, 0.2);
+ transform: none;
+ }
+
+ a.news-featured-card:hover,
+a.news-featured-card:focus-visible {
+ transform: none;
+ }
+
+ .news-featured-slot .news-featured-image-link {
+ position: relative;
+ grid-column: 1;
+ grid-row: 1;
+ min-height: 210px;
+ border-bottom: 0;
+ }
+
+ .news-featured-slot .news-featured-image-link img {
+ min-height: 210px;
+ object-position: center;
+ }
+
+ .news-featured-slot .news-featured-content {
+ grid-column: 1;
+ grid-row: 2;
+ min-height: 0;
+ padding: 1.35rem;
+ border-right: 0;
+ }
+
+ .news-featured-slot .news-card.news-featured-card h2 {
+ max-width: 18ch;
+ margin-bottom: 0.7rem;
+ font-size: clamp(1.65rem, 6vw, 2.15rem);
+ line-height: 1.1;
+ }
+
+ .news-featured-slot .news-card.news-featured-card p {
+ font-size: 0.98rem;
+ line-height: 1.48;
+ }
+
+ .news-featured-slot .news-featured-meta {
+ font-size: 0.88rem;
+ }
+
+ .news-article-figure-inline,
+.news-article-image-inline,
+.news-article-content-wrap > .content-image:first-child,
+.news-article-content-wrap > .content-figure:first-child,
+.news-article-content .content-image.align-left,
+.news-article-content .content-figure.align-left,
+.news-article-content .content-image.align-right,
+.news-article-content .content-figure.align-right {
+ float: none;
+ width: 100%;
+ margin: 0 0 1rem;
+ }
+
+}
+
+@media (max-width: 620px) {
+ .news-list-section {
+ padding-top: 1.35rem;
+ }
+
+ .news-search {
+ grid-template-columns: 1fr;
+ width: 100%;
+ margin-left: 0;
+ }
+}
+
+@media (max-width: 520px) {
+ .news-hero,
+.news-featured-slot,
+.events-page .event-featured-slot,
+.news-controls-section,
+.news-list-section,
+.news-article {
+ width: min(100% - 1.25rem, 1100px);
+ }
+
+ .events-page .event-featured-card {
+ grid-template-columns: 1fr;
+ gap: 1rem;
+ padding: 0.8rem;
+ }
+
+ .events-page .event-featured-date {
+ grid-column: auto;
+ grid-row: auto;
+ grid-template-columns: auto auto auto;
+ justify-content: start;
+ gap: 0.55rem;
+ min-height: 0;
+ padding: 0.75rem 0.9rem;
+ }
+
+ .events-page .event-featured-date strong {
+ margin: 0;
+ font-size: 2.25rem;
+ }
+
+ .events-page .event-featured-content {
+ grid-column: auto;
+ grid-row: auto;
+ padding: 0.15rem 0.35rem 0.35rem;
+ }
+
+ .events-page .event-featured-content h2 {
+ max-width: 18ch;
+ font-size: clamp(1.75rem, 9vw, 2.35rem);
+ }
+
+ .events-page .event-featured-image,
+.events-page .event-featured-image img {
+ grid-column: auto;
+ grid-row: auto;
+ min-height: 190px;
+ }
+
+ .news-featured-slot .news-featured-image-link,
+.news-featured-slot .news-featured-image-link img {
+ min-height: 185px;
+ }
+
+ .news-featured-slot .news-featured-content {
+ padding: 1.15rem;
+ }
+
+ .news-pagination {
+ width: 100%;
+ overflow-x: auto;
+ border-radius: 18px;
+ }
+
+ .news-pagination button {
+ flex: 0 0 auto;
+ }
+}
diff --git a/css/header-footer.css b/css/header-footer.css
index 0a914d5..47a7863 100644
--- a/css/header-footer.css
+++ b/css/header-footer.css
@@ -1,8 +1,12 @@
-@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;700&family=Source+Sans+Pro:wght@400;600;700&display=swap');
+@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@400;600;700&family=Source+Sans+Pro:wght@300;400;600;700&display=swap');
+
+/* ─── Typography ─────────────────────────────────────────────────────────── */
.header-banner .header-title,
.footer-section h3 {
- font-family: 'IBM Plex Sans', sans-serif;
+ font-family: 'Figtree', sans-serif;
+ font-optical-sizing: auto;
+ font-style: normal;
}
.nav-links li a,
@@ -13,30 +17,48 @@
font-family: 'Source Sans Pro', sans-serif;
}
+/* ─── Header ─────────────────────────────────────────────────────────────── */
+
.header {
+ --header-glass-background:
+ linear-gradient(90deg, rgba(255, 255, 255, 0.82), rgba(235, 249, 252, 0.72)),
+ rgba(255, 255, 255, 0.78);
+ --header-glass-filter: blur(16px) saturate(160%);
+ --header-action-color: #008fa8;
position: sticky;
top: 0;
z-index: 1000;
- background-color: var(--site-surface);
- display: grid;
- grid-template-columns: auto 1fr auto;
+ display: flex;
align-items: center;
+ gap: 16px;
+ width: 100%;
+ min-height: 82px;
padding: 10px 40px;
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
- gap: 2px;
+ background: var(--header-glass-background);
+ -webkit-backdrop-filter: var(--header-glass-filter);
+ backdrop-filter: var(--header-glass-filter);
+ border-bottom: 1px solid rgba(93, 128, 149, 0.18);
+ box-sizing: border-box;
}
+/* ─── Logo ───────────────────────────────────────────────────────────────── */
+
.logo {
flex-shrink: 0;
- justify-self: start;
}
.logo img {
height: 60px;
+ display: block;
}
+/* ─── Nav ────────────────────────────────────────────────────────────────── */
+
.nav {
- justify-self: center;
+ flex: 1 1 auto;
+ min-width: 0;
+ display: flex;
+ justify-content: center;
}
.nav-links {
@@ -51,141 +73,284 @@
.nav-links li a {
color: var(--site-text);
+ font-size: 1rem;
font-weight: 550;
+ letter-spacing: 0;
padding: 10px 0 9px;
- display: block;
- transition: color 0.2s ease, border-color 0.2s ease;
- border-bottom: 2px solid transparent;
+ border-radius: 0;
+ display: flex;
+ align-items: center;
+ gap: 0.22rem;
+ white-space: nowrap;
+ transition: background-color 0.15s ease, color 0.15s ease;
+ border-bottom: none;
}
.nav-links li a:hover,
.nav-links li a.is-current,
-.dropdown.is-current-section > a {
- color: var(--site-link);
- border-color: var(--site-link);
+.dropdown.is-current-section > a,
+.dropdown.is-open > a {
+ background-color: transparent;
+ color: var(--header-action-color);
+ font-weight: 700;
+ border-color: var(--header-action-color);
}
.nav-links li a:focus-visible {
- outline: 2px solid var(--site-link);
- outline-offset: 2px;
- border-color: var(--site-link);
+ outline: 3px solid var(--header-action-color);
+ outline-offset: 3px;
}
+/* ─── Dropdown trigger ───────────────────────────────────────────────────── */
+
.dropdown {
position: relative;
}
-.dropdown > a {
- display: inline-flex;
- align-items: center;
- gap: 0.28rem;
-}
-
-.dropdown > a:after {
+.dropdown > a::after {
content: '\25BE';
- display: inline-block;
- font-size: 10px;
+ font-size: 9px;
line-height: 1;
- transition: transform 0.18s ease;
+ margin-left: 1px;
+ display: inline-block;
+ transition: transform 0.2s ease;
+ opacity: 0.6;
}
-.dropdown:hover > a:after,
-.dropdown:focus-within > a:after {
+.dropdown:hover > a::after,
+.dropdown:focus-within > a::after,
+.dropdown.is-open > a::after {
transform: rotate(180deg);
}
+.dropdown.is-current-section > a {
+ color: var(--header-action-color);
+}
+
+/* ─── Dropdown panel ─────────────────────────────────────────────────────── */
+/*
+ * The panel is pinned to the full width of the header using fixed positioning
+ * anchored to the header's bottom edge. This means the dropdown extends
+ * seamlessly from the header bar itself — no visual gap or border seam.
+ */
+
.dropdown-menu {
display: block;
- position: absolute;
- top: calc(100% + 8px);
+ position: fixed;
+ top: 82px;
left: 0;
- z-index: 1002;
- background-color: var(--site-surface);
- box-shadow: 0 14px 32px rgba(12, 40, 69, 0.13);
+ right: 0;
+ z-index: 999;
+ background-color: rgba(255, 255, 255, 0.97);
+ backdrop-filter: saturate(180%) blur(20px);
+ -webkit-backdrop-filter: saturate(180%) blur(20px);
+ border-bottom: 1px solid rgba(0, 0, 0, 0.08);
list-style: none;
- padding: 10px 0;
margin: 0;
- width: max-content;
- min-width: 230px;
- max-width: min(360px, calc(100vw - 2rem));
- border: 1px solid var(--site-border);
- border-radius: 6px;
+ padding: 20px 40px 24px;
+ box-shadow: none;
+ border-top: none;
+ border-radius: 0;
opacity: 0;
visibility: hidden;
- transform: translateY(-4px);
- transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease;
+ transform: none;
+ transition: opacity 0.16s ease, visibility 0.16s ease;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ gap: 0 40px;
}
.dropdown-menu::before {
- content: '';
- position: absolute;
- top: -9px;
- left: 0;
- right: 0;
- height: 9px;
+ display: none;
+}
+
+.dropdown:focus-within .dropdown-menu,
+.dropdown.is-open .dropdown-menu {
+ opacity: 1;
+ visibility: visible;
+ transform: none;
+}
+
+/* ─── Dropdown items ─────────────────────────────────────────────────────── */
+
+.dropdown-menu li {
+ min-width: 180px;
+}
+
+.dropdown-about .dropdown-menu,
+.dropdown-research .dropdown-menu {
+ display: grid;
+ grid-template-columns: repeat(3, minmax(210px, max-content));
+ justify-content: center;
+ align-items: start;
+ gap: 0 48px;
+}
+
+.dropdown-tools .dropdown-menu {
+ display: grid;
+ grid-template-columns: repeat(2, minmax(260px, max-content));
+ justify-content: center;
+ align-items: start;
+ gap: 0 56px;
+}
+
+.dropdown-conference .dropdown-menu {
+ display: grid;
+ grid-template-columns: minmax(360px, 480px);
+ justify-content: center;
+ align-items: start;
+ padding-top: 18px;
+ padding-bottom: 22px;
+}
+
+.dropdown-column {
+ display: flex;
+ flex-direction: column;
+ gap: 3px;
+ min-width: 210px;
+}
+
+.dropdown-conference-tree {
+ gap: 2px;
+ min-width: 360px;
+}
+
+.dropdown-column-title {
+ display: block;
+ font-family: 'Source Sans Pro', sans-serif;
+ font-weight: 700;
+ font-size: 0.78rem;
+ letter-spacing: 0.06em;
+ text-transform: uppercase;
+ color: var(--site-text, #1d1d1f);
+ padding: 0 8px 8px;
}
.dropdown-menu li a {
- padding: 9px 18px;
- white-space: normal;
+ display: block;
+ padding: 8px 8px;
+ font-size: 0.98rem;
font-weight: 400;
- color: inherit;
- line-height: 1.25;
- border-bottom: 0;
+ color: var(--site-text, #1d1d1f);
+ border-bottom: none;
+ border-radius: 6px;
+ transition: background-color 0.15s ease, color 0.15s ease;
+ white-space: normal;
+ line-height: 1.4;
+}
+
+.dropdown-menu li a:hover,
+.dropdown-menu li a:focus-visible {
+ background-color: transparent;
+ color: var(--header-action-color, #0097B2);
+ box-shadow: none;
+ border-bottom: none;
}
+.dropdown-menu li a.is-current {
+ background-color: transparent;
+ color: var(--header-action-color, #0097B2);
+ font-weight: 700;
+ box-shadow: none;
+ border-bottom: none;
+}
+
+/* ─── Dropdown section headings ──────────────────────────────────────────── */
+
.dropdown-parent span {
display: block;
- font-weight: 700;
- color: var(--site-text);
- padding: 14px 18px 6px;
font-family: 'Source Sans Pro', sans-serif;
- font-size: 0.82rem;
- letter-spacing: 0.04em;
+ font-weight: 700;
+ font-size: 0.78rem;
+ letter-spacing: 0.06em;
text-transform: uppercase;
+ color: var(--site-text-muted, #6e6e73);
+ padding: 0 8px 6px;
+ margin-top: 12px;
+}
+
+.dropdown-parent:first-child span {
+ margin-top: 0;
}
.dropdown-menu .dropdown-parent-link > a {
- font-weight: 700;
- color: var(--site-text);
- padding-top: 14px;
- padding-bottom: 6px;
+ font-weight: 600;
+ color: var(--site-text, #1d1d1f);
+ font-size: 1rem;
}
+/* ─── Dropdown subitems ──────────────────────────────────────────────────── */
+
.dropdown-subitem a {
- padding-left: 30px;
+ padding-left: 20px;
+ font-size: 0.95rem;
+ color: var(--site-text-muted, #6e6e73);
padding-top: 7px;
padding-bottom: 7px;
- font-size: 0.96em;
}
-.dropdown-parent + .dropdown-subitem a {
- padding-top: 4px;
+.dropdown-indent {
+ position: relative;
+ margin-left: 12px;
+ padding-left: 28px !important;
+}
+
+.dropdown-indent-deep {
+ position: relative;
+ margin-left: 34px;
+ padding-left: 28px !important;
+ color: var(--site-text-muted, #6e6e73);
+}
+
+.dropdown-root {
+ font-weight: 700 !important;
+ color: var(--site-text, #1d1d1f);
+ background-color: transparent;
+}
+
+.dropdown-branch {
+ font-weight: 650 !important;
+}
+
+.dropdown-indent::before,
+.dropdown-indent-deep::before {
+ content: '';
+ position: absolute;
+ top: 50%;
+ left: 8px;
+ width: 10px;
+ border-top: 1px solid rgba(93, 128, 149, 0.4);
+}
+
+.dropdown-indent::after,
+.dropdown-indent-deep::after {
+ content: '';
+ position: absolute;
+ top: -3px;
+ bottom: -3px;
+ left: 8px;
+ border-left: 1px solid rgba(93, 128, 149, 0.24);
}
.dropdown-menu li a:hover,
.dropdown-menu li a:focus-visible,
.dropdown-menu li a.is-current {
- background-color: var(--site-link-soft);
- color: var(--site-link);
- border-bottom: 0;
+ color: var(--header-action-color, #006f82);
}
-.dropdown:hover .dropdown-menu,
-.dropdown:focus-within .dropdown-menu {
- opacity: 1;
- visibility: visible;
- transform: translateY(0);
-}
+/* ─── Header actions (right side) ────────────────────────────────────────── */
.header-actions {
display: flex;
align-items: center;
- gap: 15px;
+ gap: 10px;
flex-shrink: 0;
- justify-self: end;
+ margin-left: auto;
}
+/* ─── Header banner ──────────────────────────────────────────────────────── */
+
.header-banner {
position: relative;
width: 100%;
@@ -198,8 +363,7 @@
.header-banner .background-image {
position: absolute;
- top: 0;
- left: 0;
+ inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
@@ -209,18 +373,19 @@
.header-title-box {
background-color: rgba(255, 255, 255, 0.7);
padding: 20px 60px;
- border-radius: 10px;
+ border-radius: 12px;
width: calc(100% - 80px);
max-width: 800px;
- box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
+ box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08);
text-align: center;
z-index: 1;
- backdrop-filter: blur(5px);
+ backdrop-filter: blur(8px);
+ -webkit-backdrop-filter: blur(8px);
}
.header-banner .header-title {
font-size: 3rem;
- color: #282828;
+ color: #1d1d1f;
font-weight: 700;
margin: 0;
text-align: center;
@@ -230,51 +395,82 @@
white-space: nowrap;
}
+/* ─── Footer ─────────────────────────────────────────────────────────────── */
+
.footer {
- background-color: var(--site-primary);
+ background:
+ linear-gradient(180deg, var(--site-primary), #4f7186);
color: white;
- padding: 40px 80px 20px;
+ padding: 56px 48px 24px;
margin-top: 0;
- font-size: 0.9em;
+ font-size: 0.95em;
line-height: 1.6;
+ border-top: 1px solid rgba(255, 255, 255, 0.18);
}
.footer-content {
- display: flex;
- justify-content: space-between;
+ display: grid;
+ grid-template-columns: minmax(280px, 1.45fr) repeat(3, minmax(150px, 0.75fr));
align-items: flex-start;
- flex-wrap: wrap;
- gap: 30px;
- margin-bottom: 30px;
- max-width: 1200px;
- margin: 0 auto 30px;
+ gap: 40px;
+ max-width: 1180px;
+ margin: 0 auto 36px;
}
.footer-section {
- flex: 1;
- min-width: 260px;
+ min-width: 0;
}
-.footer-section.about {
- flex: 1.5;
+.footer-section h3 {
+ color: #ffffff;
+ margin: 0 0 14px;
+ font-size: 0.78rem;
+ font-weight: 700;
+ letter-spacing: 0.07em;
+ text-transform: uppercase;
}
-.footer-section.links {
- flex: 0.9;
+.footer-brand {
+ display: flex;
+ align-items: center;
+ gap: 12px;
+ margin-bottom: 14px;
}
-.footer-section.institutes {
- flex: 0.9;
+.footer-brand img {
+ width: 58px;
+ height: auto;
+ flex-shrink: 0;
}
-.footer-section.social {
- flex: 0.95;
+.footer-brand h3 {
+ margin: 0;
+ font-size: 1.15rem;
+ letter-spacing: 0;
+ text-transform: none;
}
-.footer-section h3 {
+.footer-tagline {
+ max-width: 34rem;
+ margin-bottom: 14px;
color: #ffffff;
- margin-bottom: 15px;
- font-size: 1.2em;
+ font-weight: 600;
+}
+
+.footer-address {
+ margin: 0 0 16px;
+ color: rgba(255, 255, 255, 0.84);
+ font-style: normal;
+ line-height: 1.55;
+}
+
+.footer-location-line {
+ max-width: 1180px;
+ margin: 0 auto 18px;
+ color: rgba(255, 255, 255, 0.82);
+ font-style: normal;
+ font-size: 0.9rem;
+ line-height: 1.45;
}
.footer-section p,
@@ -289,20 +485,20 @@
}
.footer-section ul li a {
- color: #ffffff;
+ color: rgba(255, 255, 255, 0.84);
line-height: 1.8;
- transition: color 0.3s ease;
+ transition: color 0.2s ease;
}
.footer-section ul li a:hover {
- color: white;
+ color: #ffffff;
text-decoration: underline;
}
.footer-social-list {
display: grid;
- grid-template-columns: repeat(2, minmax(0, 1fr));
- gap: 10px 16px;
+ grid-template-columns: 1fr;
+ gap: 9px;
margin: 0;
padding: 0;
list-style: none;
@@ -316,7 +512,7 @@
display: inline-flex;
align-items: center;
gap: 9px;
- color: rgba(255, 255, 255, 0.92);
+ color: rgba(255, 255, 255, 0.84);
line-height: 1.5;
transition: color 0.2s ease, opacity 0.2s ease;
}
@@ -326,11 +522,11 @@
height: 18px;
object-fit: contain;
flex-shrink: 0;
- opacity: 0.95;
+ opacity: 0.9;
}
.footer-social-link span {
- font-size: 0.98rem;
+ font-size: 0.95rem;
font-weight: 600;
}
@@ -348,23 +544,26 @@
display: inline-flex;
align-items: center;
gap: 8px;
- font-size: 0.9em;
+ font-size: 0.88em;
line-height: 1.25;
- color: rgba(255, 255, 255, 0.92);
+ color: rgba(255, 255, 255, 0.88);
}
.footer-github-icon {
- width: 24px;
- height: 24px;
+ width: 22px;
+ height: 22px;
filter: brightness(0) invert(1);
}
.footer-section p {
- color: rgba(255, 255, 255, 0.8);
+ color: rgba(255, 255, 255, 0.78);
}
.footer-disclaimer {
- color: #ffffff;
+ max-width: 38rem;
+ color: rgba(255, 255, 255, 0.78);
+ font-size: 0.86rem;
+ line-height: 1.65;
}
.nsf-logo-container {
@@ -375,26 +574,43 @@
}
.nsf-logo-container img {
- height: 90px;
+ height: 80px;
}
.nsf-logo-container p {
- font-size: 0.9em;
+ font-size: 0.88em;
font-weight: 500;
color: #ffffff;
}
.footer-bottom {
- text-align: center;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ gap: 20px;
+ max-width: 1180px;
+ margin: 0 auto;
padding-top: 20px;
border-top: 1px solid rgba(255, 255, 255, 0.2);
- color: #ffffff;
+ color: rgba(255, 255, 255, 0.78);
+ font-size: 0.88rem;
+}
+
+.footer-bottom p {
+ margin: 0;
+}
+
+.footer-bottom-links {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: flex-end;
+ gap: 16px;
}
.footer-credit {
margin-top: 8px;
- font-size: 0.95em;
- color: #ffffff;
+ font-size: 0.92em;
+ color: rgba(255, 255, 255, 0.75);
}
.footer-bottom .footer-hosted {
@@ -404,7 +620,7 @@
}
.footer-bottom .footer-hosted a {
- font-size: 0.92em;
+ font-size: 0.9em;
}
.footer a,
@@ -415,31 +631,33 @@
.footer a:hover,
.footer a:focus {
- color: #e6f0ff;
+ color: rgba(255, 255, 255, 0.85);
text-decoration: underline;
}
+/* ─── Hamburger ──────────────────────────────────────────────────────────── */
+
.hamburger {
display: none;
flex-direction: column;
background: transparent;
border: none;
cursor: pointer;
- padding: 5px;
+ padding: 6px;
z-index: 1001;
gap: 5px;
}
.hamburger .bar {
- width: 25px;
- height: 3px;
- background-color: var(--site-link);
- transition: 0.3s ease-in-out;
+ width: 22px;
+ height: 2px;
+ background-color: var(--site-text, #1d1d1f);
+ transition: 0.25s ease-in-out;
border-radius: 2px;
}
.hamburger.active .bar:nth-child(1) {
- transform: rotate(-45deg) translate(-8px, 8px);
+ transform: rotate(-45deg) translate(-6px, 7px);
}
.hamburger.active .bar:nth-child(2) {
@@ -447,65 +665,142 @@
}
.hamburger.active .bar:nth-child(3) {
- transform: rotate(45deg) translate(-8px, -8px);
+ transform: rotate(45deg) translate(-6px, -7px);
}
-@media (max-width: 768px) {
+/* ─── Responsive — tablet portrait ──────────────────────────────────────── */
+
+@media (max-width: 1024px) and (orientation: portrait) {
.header {
- padding: 10px 20px;
- grid-template-columns: auto 1fr auto;
- gap: 10px;
+ padding: 0 20px;
}
- .logo {
- flex-shrink: 0;
+ .nav {
+ display: none;
+ position: fixed;
+ top: 52px;
+ left: 0;
+ right: 0;
+ background: rgba(255, 255, 255, 0.92);
+ backdrop-filter: blur(20px);
+ -webkit-backdrop-filter: blur(20px);
+ border-bottom: 1px solid rgba(0, 0, 0, 0.08);
+ padding: 14px 20px 20px;
+ z-index: 998;
+ box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
+ }
+
+ .nav.active {
+ display: block;
+ }
+
+ .hamburger {
+ display: flex !important;
+ }
+
+ .nav-links {
+ flex-direction: column;
+ align-items: stretch;
+ gap: 2px;
+ padding: 0;
+ }
+
+ .nav-links li a {
+ font-size: 0.9rem;
+ padding: 10px 8px;
+ }
+
+ .dropdown > a {
+ display: flex;
+ justify-content: space-between;
+ width: 100%;
+ }
+
+ .dropdown-menu {
+ position: static;
+ flex-direction: column;
+ opacity: 1;
+ visibility: hidden;
+ transform: none;
+ transition: none;
+ background: rgba(0, 0, 0, 0.03);
+ border: 1px solid rgba(0, 0, 0, 0.07);
+ border-radius: 8px;
+ padding: 8px 12px;
+ margin: 4px 0 8px;
+ gap: 0;
+ display: none;
+ }
+
+ .dropdown-about .dropdown-menu,
+ .dropdown-research .dropdown-menu,
+ .dropdown-tools .dropdown-menu,
+ .dropdown-conference .dropdown-menu {
+ display: none;
+ grid-template-columns: 1fr;
+ }
+
+ .dropdown.active .dropdown-menu {
+ display: flex;
+ visibility: visible;
+ }
+
+ .dropdown.active > a::after {
+ transform: rotate(180deg);
+ }
+
+ .dropdown-menu li {
+ min-width: 0;
+ }
+}
+
+/* ─── Responsive — mobile ────────────────────────────────────────────────── */
+
+@media (max-width: 768px) {
+ .header {
+ padding: 0 16px;
}
.logo img {
- height: 50px;
+ height: 30px;
}
.nav {
display: none;
- position: absolute;
- top: 100%;
+ position: fixed;
+ top: 52px;
left: 0;
right: 0;
- background: var(--site-surface);
- border-bottom: 1px solid var(--site-border);
- padding: 12px 20px 18px;
- width: 100%;
- z-index: 999;
- justify-self: stretch;
- box-shadow: 0 12px 22px rgba(12, 40, 69, 0.08);
+ background: rgba(255, 255, 255, 0.95);
+ backdrop-filter: blur(20px);
+ -webkit-backdrop-filter: blur(20px);
+ border-bottom: 1px solid rgba(0, 0, 0, 0.08);
+ padding: 12px 16px 18px;
+ z-index: 998;
}
.nav.active {
display: block;
}
- .header-actions {
- gap: 5px;
+ .hamburger {
display: flex !important;
- z-index: 1001;
- justify-self: end;
}
- .hamburger {
- display: flex !important;
+ .header-actions {
+ gap: 6px;
+ order: 3;
}
.nav-links {
flex-direction: column;
align-items: stretch;
gap: 2px;
- padding: 0;
}
.nav-links li a {
- padding: 11px 0;
- color: var(--site-text);
- border-bottom: 2px solid transparent;
+ font-size: 0.92rem;
+ padding: 10px 8px;
}
.dropdown > a {
@@ -515,48 +810,51 @@
}
.dropdown-menu {
- display: none;
position: static;
- width: auto;
- max-width: none;
- min-width: 0;
+ flex-direction: column;
opacity: 1;
- visibility: visible;
+ visibility: hidden;
transform: none;
transition: none;
- box-shadow: none;
- margin: 0 0 8px;
- padding: 7px 0;
- background: var(--site-link-soft);
- border: 1px solid var(--site-border);
- border-radius: 6px;
+ background: rgba(0, 0, 0, 0.03);
+ border: 1px solid rgba(0, 0, 0, 0.07);
+ border-radius: 8px;
+ padding: 8px 12px;
+ margin: 4px 0 8px;
+ gap: 0;
+ display: none;
}
- .dropdown.active .dropdown-menu {
- display: block;
+ .dropdown-about .dropdown-menu,
+ .dropdown-research .dropdown-menu,
+ .dropdown-tools .dropdown-menu,
+ .dropdown-conference .dropdown-menu {
+ display: none;
+ grid-template-columns: 1fr;
}
- .dropdown.active > a:after {
- transform: rotate(180deg);
+ .dropdown.active .dropdown-menu {
+ display: flex;
+ visibility: visible;
}
- .dropdown-menu li a {
- padding: 9px 14px;
+ .dropdown.active > a::after {
+ transform: rotate(180deg);
}
- .dropdown-subitem a {
- padding-left: 24px;
+ .dropdown-menu li {
+ min-width: 0;
}
.footer {
- padding: 30px 20px;
+ padding: 40px 20px 24px;
}
.footer-content {
- flex-direction: column;
+ grid-template-columns: 1fr;
+ gap: 26px;
align-items: center;
text-align: center;
- padding-left: 0;
}
.footer-section {
@@ -566,6 +864,19 @@
margin-left: 0 !important;
}
+ .footer-brand {
+ justify-content: center;
+ }
+
+ .footer-disclaimer {
+ margin-left: auto;
+ margin-right: auto;
+ }
+
+ .footer-location-line {
+ text-align: center;
+ }
+
.footer-hosted {
display: flex;
justify-content: center;
@@ -577,6 +888,15 @@
justify-items: center;
}
+ .footer-bottom {
+ flex-direction: column;
+ text-align: center;
+ }
+
+ .footer-bottom-links {
+ justify-content: center;
+ }
+
.nsf-logo-container {
justify-content: center;
width: 100%;
@@ -594,107 +914,11 @@
}
.header-title-box {
- padding: 15px 40px;
- width: calc(100% - 60px);
+ padding: 15px 30px;
+ width: calc(100% - 40px);
}
.header-banner .header-title {
font-size: 2rem;
}
}
-
-@media (max-width: 768px) {
- .hamburger {
- display: flex !important;
- }
-}
-
-.header {
- display: flex;
- align-items: center;
- gap: 16px;
- width: 100%;
-}
-
-.nav {
- flex: 1 1 auto;
- min-width: 0;
-}
-
-.nav-links {
- justify-content: center;
-}
-
-.header-actions .hamburger {
- flex-shrink: 0;
-}
-
-@media (max-width: 768px) {
- .nav {
- display: none;
- }
-}
-
-@media (max-width: 1024px) and (orientation: portrait) {
- .nav {
- display: none;
- position: absolute;
- top: 100%;
- left: 0;
- right: 0;
- background: var(--site-surface);
- border-bottom: 1px solid var(--site-border);
- padding: 12px 20px 18px;
- width: 100%;
- z-index: 999;
- justify-self: stretch;
- box-shadow: 0 12px 22px rgba(12, 40, 69, 0.08);
- }
-
- .nav.active {
- display: block;
- }
-
- .hamburger {
- display: flex !important;
- }
-
- .nav-links {
- flex-direction: column;
- align-items: stretch;
- gap: 2px;
- padding: 0;
- }
-
- .dropdown-menu {
- display: none;
- position: static;
- width: auto;
- max-width: none;
- min-width: 0;
- opacity: 1;
- visibility: visible;
- transform: none;
- transition: none;
- box-shadow: none;
- margin: 0 0 8px;
- padding: 7px 0;
- background: var(--site-link-soft);
- border: 1px solid var(--site-border);
- border-radius: 6px;
- }
-
- .dropdown.active .dropdown-menu {
- display: block;
- }
-
- .dropdown > a {
- display: flex;
- justify-content: space-between;
- width: 100%;
- }
-
- .dropdown.active > a:after {
- transform: rotate(180deg);
- }
-}
diff --git a/css/news.css b/css/news.css
new file mode 100644
index 0000000..0d1700e
--- /dev/null
+++ b/css/news.css
@@ -0,0 +1,893 @@
+body.news-page #header-placeholder {
+ min-height: 82px;
+}
+
+.news-gradient-stage {
+ position: relative;
+ overflow: hidden;
+ width: 100%;
+ padding-bottom: 1.85rem;
+ background-color: #0d5565;
+ background-image: url('../images/gradient-b-hero.jpg');
+ background-position: center;
+ background-repeat: no-repeat;
+ background-size: cover;
+}
+
+.news-gradient-stage::before {
+ content: '';
+ position: absolute;
+ inset: 0;
+ background:
+ linear-gradient(180deg, rgba(0, 0, 0, 0.28), rgba(0, 0, 0, 0.06) 42%, rgba(0, 0, 0, 0.18)),
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2), transparent 52%);
+ pointer-events: none;
+}
+
+.news-hero,
+.news-featured-slot {
+ position: relative;
+ z-index: 1;
+}
+
+.news-hero {
+ width: min(1100px, calc(100% - 160px));
+ margin: 0 auto;
+ padding: 1.85rem 0 1.15rem;
+ color: #ffffff;
+}
+
+.news-hero h1,
+.news-hero p {
+ text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
+}
+
+.news-hero p {
+ max-width: 38rem;
+ margin-top: 0.75rem;
+ color: rgba(255, 255, 255, 0.88);
+ font-size: 1.16rem;
+ line-height: 1.48;
+}
+
+.news-featured-slot {
+ width: min(1100px, calc(100% - 160px));
+ margin: 0 auto;
+}
+
+.news-featured-slot:empty {
+ display: none;
+}
+
+.news-featured-slot .news-featured-card {
+ position: relative;
+ display: grid;
+ grid-template-columns: minmax(330px, 0.68fr) minmax(0, 1.32fr);
+ width: 100%;
+ min-height: 330px;
+ padding: 0;
+ overflow: hidden;
+ border-radius: 14px;
+ border: 1px solid rgba(255, 255, 255, 0.12);
+ background: rgba(16, 38, 58, 0.7);
+ box-shadow: 0 18px 42px rgba(0, 0, 0, 0.22);
+ -webkit-backdrop-filter: blur(6px);
+ backdrop-filter: blur(6px);
+ color: inherit;
+ transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
+}
+
+a.news-featured-card:hover,
+a.news-featured-card:focus-visible {
+ border-color: rgba(155, 203, 94, 0.58);
+ box-shadow: 0 22px 56px rgba(0, 0, 0, 0.28);
+ transform: translateY(-1px);
+}
+
+a.news-featured-card:focus-visible {
+ outline: 3px solid rgba(155, 203, 94, 0.52);
+ outline-offset: 4px;
+}
+
+.news-featured-slot .news-featured-image-link {
+ position: relative;
+ inset: auto;
+ grid-column: 2;
+ min-height: 330px;
+ overflow: hidden;
+ border: 0;
+ border-radius: 0;
+ background: #ffffff;
+}
+
+.news-featured-slot .news-featured-image-link img {
+ display: block;
+ width: 100%;
+ height: 100%;
+ position: relative;
+ z-index: 1;
+ min-height: 330px;
+ object-fit: cover;
+ transform: translateZ(0);
+}
+
+.news-featured-slot .news-featured-content {
+ position: relative;
+ z-index: 2;
+ grid-column: 1;
+ grid-row: 1;
+ justify-content: center;
+ min-height: 330px;
+ max-width: none;
+ padding: clamp(1.75rem, 3.4vw, 2.85rem);
+ border-right: 1px solid rgba(255, 255, 255, 0.08);
+ border-radius: 0;
+ background:
+ linear-gradient(135deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.015)),
+ rgba(16, 38, 58, 0.68);
+ box-shadow: none;
+}
+
+.news-featured-slot .news-card.news-featured-card h2 {
+ max-width: 11ch;
+ margin: 0 0 0.9rem;
+ color: #ffffff;
+ font-size: clamp(1.95rem, 2.8vw, 2.75rem);
+ line-height: 1.08;
+}
+
+.news-featured-slot .news-card.news-featured-card p {
+ color: rgba(255, 255, 255, 0.76);
+ font-size: 1rem;
+ line-height: 1.5;
+}
+
+.news-featured-slot .news-featured-meta {
+ margin: 0.2rem 0 0;
+ color: rgba(255, 255, 255, 0.62);
+ font-size: 0.92rem;
+ letter-spacing: 0.01em;
+}
+
+.news-featured-read-more {
+ display: inline-flex;
+ align-items: center;
+ gap: 0.7rem;
+ width: fit-content;
+ margin-top: 1.05rem;
+ padding: 0;
+ border: 0;
+ border-radius: 0;
+ background: transparent;
+ color: #ffffff;
+ font-size: 1rem;
+ font-weight: 800;
+ line-height: 1;
+ transition: color 0.18s ease;
+}
+
+.news-featured-read-more-icon {
+ display: grid;
+ place-items: center;
+ width: 2.35rem;
+ height: 2.35rem;
+ border-radius: 4px;
+ background: #9bcb5e;
+ color: #10263a;
+ font-size: 1.45rem;
+ line-height: 1;
+ transition: background 0.18s ease, transform 0.18s ease;
+}
+
+a.news-featured-card:hover .news-featured-read-more,
+a.news-featured-card:focus-visible .news-featured-read-more {
+ color: #d5f0b1;
+}
+
+a.news-featured-card:hover .news-featured-read-more-icon,
+a.news-featured-card:focus-visible .news-featured-read-more-icon {
+ background: #d5f0b1;
+ transform: translateX(2px);
+}
+
+.news-controls-section,
+.news-list-section {
+ width: min(1100px, calc(100% - 160px));
+ margin: 0 auto;
+}
+
+.news-controls-section {
+ padding-top: 2rem;
+}
+
+.news-list-section {
+ padding-top: 1.5rem;
+}
+
+.news-search {
+ display: grid;
+ grid-template-columns: minmax(0, 360px) 130px;
+ gap: 0.65rem;
+ width: min(500px, 100%);
+ margin: 0 0 0.75rem auto;
+}
+
+.news-search label {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0);
+ white-space: nowrap;
+ border: 0;
+}
+
+.news-search input,
+.news-year-toggle {
+ width: 100%;
+ min-height: 2.75rem;
+ padding: 0.6rem 1rem;
+ border: 1px solid rgba(93, 128, 149, 0.28);
+ border-radius: 999px;
+ background: #ffffff;
+ color: var(--site-text);
+ font: inherit;
+ box-shadow: 0 8px 22px rgba(16, 38, 58, 0.07);
+ transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
+}
+
+.news-search input::placeholder {
+ color: rgba(93, 111, 124, 0.82);
+}
+
+.news-search input:hover,
+.news-year-toggle:hover {
+ border-color: rgba(0, 127, 150, 0.42);
+ box-shadow: 0 10px 26px rgba(16, 38, 58, 0.09);
+}
+
+.news-year-dropdown {
+ position: relative;
+}
+
+.news-year-toggle {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ gap: 0.5rem;
+ cursor: pointer;
+}
+
+.news-year-toggle::after {
+ content: '';
+ width: 0.45rem;
+ height: 0.45rem;
+ border-right: 2px solid var(--site-text-muted);
+ border-bottom: 2px solid var(--site-text-muted);
+ transform: rotate(45deg) translateY(-1px);
+}
+
+.news-year-menu {
+ position: absolute;
+ top: calc(100% + 0.4rem);
+ right: 0;
+ z-index: 20;
+ display: none;
+ min-width: 100%;
+ padding: 0.35rem;
+ border: 1px solid var(--site-border);
+ border-radius: 14px;
+ background: var(--site-surface);
+ box-shadow: 0 16px 35px rgba(12, 40, 69, 0.1);
+}
+
+.news-year-dropdown.is-open .news-year-menu {
+ display: grid;
+ gap: 0.15rem;
+}
+
+.news-year-menu button {
+ width: 100%;
+ padding: 0.5rem 0.7rem;
+ border: 0;
+ border-radius: 10px;
+ background: transparent;
+ color: var(--site-text);
+ font: inherit;
+ text-align: left;
+ cursor: pointer;
+}
+
+.news-year-menu button:hover,
+.news-year-menu button[aria-selected="true"] {
+ background: var(--site-link-soft);
+ color: var(--site-link);
+}
+
+.news-search input:focus,
+.news-year-toggle:focus {
+ border-color: var(--site-link);
+ box-shadow: 0 10px 26px rgba(16, 38, 58, 0.08);
+ outline: 3px solid var(--site-link-soft);
+ outline-offset: 0;
+}
+
+.news-results-count {
+ margin: 0;
+ color: var(--site-text-muted);
+ font-size: 0.95rem;
+ font-weight: 700;
+ text-align: right;
+}
+
+.news-empty-state {
+ grid-column: 1 / -1;
+ margin: 0;
+ padding: 1.3rem;
+ border: 1px solid var(--site-border);
+ border-radius: 8px;
+ color: var(--site-text-muted);
+}
+
+.news-grid {
+ display: grid;
+ grid-template-columns: repeat(3, minmax(0, 1fr));
+ gap: 1rem;
+ margin: 0.6rem 0 0;
+}
+
+.news-card {
+ padding: 1.3rem;
+ border: 1px solid var(--site-border);
+ border-radius: 8px;
+ background: var(--site-surface);
+ box-shadow: none;
+ overflow: hidden;
+}
+
+.news-featured-card {
+ position: relative;
+ grid-column: 1 / -1;
+ display: grid;
+ grid-template-columns: minmax(280px, 0.95fr) minmax(0, 1.05fr);
+ align-items: stretch;
+ min-height: 320px;
+ padding: 0;
+ overflow: hidden;
+ border: 1px solid var(--site-border);
+ background: var(--site-surface);
+ color: var(--site-text);
+ box-shadow: none;
+}
+
+.news-featured-image-link {
+ display: grid;
+ place-items: center;
+ min-height: 100%;
+ border-right: 1px solid var(--site-border);
+ background: #ffffff;
+}
+
+.news-featured-image-link img {
+ display: block;
+ width: 100%;
+ height: 100%;
+ min-height: 320px;
+ object-fit: contain;
+}
+
+.news-featured-content {
+ position: relative;
+ z-index: 2;
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-end;
+ min-height: inherit;
+ max-width: 680px;
+ padding: clamp(1.6rem, 4.5vw, 3.25rem);
+}
+
+.news-card.news-featured-card h2 {
+ max-width: 14ch;
+ margin: 0.8rem 0 0.7rem;
+ color: var(--site-text);
+ font-size: clamp(2rem, 4vw, 3.8rem);
+ line-height: 1;
+}
+
+.news-card.news-featured-card h2 a {
+ color: inherit;
+}
+
+.news-card.news-featured-card p {
+ max-width: 42rem;
+ color: var(--site-text-muted);
+}
+
+.news-card-image {
+ margin: -1.3rem -1.3rem 1rem;
+ border-bottom: 1px solid var(--site-border);
+ background: #ffffff;
+ aspect-ratio: 16 / 10;
+ overflow: hidden;
+}
+
+.news-card-image img {
+ display: block;
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+}
+
+.news-card-content {
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+}
+
+.news-featured-meta {
+ margin: 0.2rem 0 0;
+ font-weight: 700;
+}
+
+.news-card h2 {
+ margin-top: 0;
+ margin-bottom: 0.5rem;
+ font-family: 'Figtree', sans-serif;
+ font-optical-sizing: auto;
+ font-style: normal;
+ font-size: 1.2rem;
+ transition: color 0.18s ease;
+}
+
+a.news-card:hover h2,
+a.news-card:focus-visible h2 {
+ color: var(--site-link);
+ text-decoration: underline;
+ text-underline-offset: 0.12em;
+}
+
+.news-card-date {
+ margin: 0 0 0.45rem;
+ color: var(--site-text-muted);
+ font-size: 0.9rem;
+ font-weight: 700;
+ line-height: 1.35;
+}
+
+.news-card p {
+ font-size: 1.08rem;
+ line-height: 1.65;
+}
+
+.news-card a {
+ color: var(--site-link);
+ font-weight: 700;
+}
+
+a.news-card {
+ display: block;
+ color: inherit;
+}
+
+a.news-card:hover,
+a.news-card:focus-visible {
+ border-color: var(--site-link);
+}
+
+.news-article-page {
+ padding: 4rem 0 5rem;
+}
+
+.news-article {
+ width: min(900px, calc(100% - 160px));
+ margin: 0 auto;
+}
+
+.news-article-header {
+ margin-bottom: 1.5rem;
+}
+
+.news-article-date,
+.news-article-category {
+ margin: 0;
+ color: var(--site-text-muted);
+ font-weight: 700;
+ line-height: 1.5;
+}
+
+.news-article-header h1 {
+ margin: 0.6rem 0;
+ font-family: 'Figtree', sans-serif;
+ font-optical-sizing: auto;
+ font-style: normal;
+ font-size: clamp(2.4rem, 6vw, 4.6rem);
+ line-height: 1;
+}
+
+.news-article-image-link {
+ display: block;
+ background: transparent;
+}
+
+.news-article-image-link img {
+ display: block;
+ width: 100%;
+ height: auto;
+}
+
+.news-article-figure {
+ margin: 0;
+ background: transparent;
+}
+
+.news-article-figure img {
+ display: block;
+ width: 100%;
+ height: auto;
+}
+
+.news-article-figure figcaption {
+ padding: 0.55rem 0 0;
+ color: var(--site-text-muted);
+ font-size: 0.92rem;
+ font-weight: 700;
+}
+
+.news-article-figure-inline {
+ float: right;
+ width: min(48%, 420px);
+ margin: 0.15rem 0 1rem 1.5rem;
+}
+
+.news-article-image-inline {
+ float: right;
+ width: min(48%, 420px);
+ margin: 0.15rem 0 1rem 1.5rem;
+}
+
+.news-article-content {
+ display: grid;
+ gap: 1rem;
+ margin-top: 1.75rem;
+}
+
+.news-article-content-wrap {
+ display: flow-root;
+}
+
+.news-article-content p,
+.news-article-content li {
+ margin: 0;
+ color: var(--site-text);
+ font-size: 1.1rem;
+ font-weight: 400;
+ line-height: 1.7;
+}
+
+.news-article-content ul {
+ margin: 0;
+ padding-left: 1.35rem;
+}
+
+.news-article-content-wrap > p,
+.news-article-content-wrap > ul,
+.news-article-content-wrap > ol {
+ margin-top: 1rem;
+}
+
+.news-article-content-wrap > .news-article-image-inline + p,
+.news-article-content-wrap > .news-article-figure-inline + p,
+.news-article-content-wrap > .content-image:first-child + p,
+.news-article-content-wrap > .content-figure:first-child + p {
+ margin-top: 0;
+}
+
+.news-article-content li + li {
+ margin-top: 0.55rem;
+}
+
+.news-article-callout {
+ padding-top: 0.75rem;
+}
+
+.news-article-content a {
+ color: var(--site-link);
+ font-weight: 600;
+ text-decoration: underline;
+ text-underline-offset: 0.12em;
+}
+
+.news-article-content strong {
+ font-weight: 600;
+}
+
+.news-article-content img,
+.news-article-content picture,
+.news-article-content iframe {
+ max-width: 100%;
+}
+
+.news-article-content img {
+ height: auto;
+}
+
+.news-article-content .content-image {
+ margin: 0 0 1rem;
+}
+
+.news-article-content .content-image img {
+ display: block;
+}
+
+.news-article-content-wrap > .content-image:first-child,
+.news-article-content-wrap > .content-figure:first-child {
+ float: right;
+ width: min(42%, 380px);
+ margin: 0.15rem 0 1rem 1.5rem;
+}
+
+.news-article-content-wrap > .content-image:first-child img,
+.news-article-content-wrap > .content-figure:first-child img {
+ width: 100%;
+}
+
+.news-article-content .content-image.align-left,
+.news-article-content .content-figure.align-left {
+ float: left;
+ width: min(42%, 380px);
+ margin: 0.15rem 1.5rem 1rem 0;
+}
+
+.news-article-content .content-image.align-right,
+.news-article-content .content-figure.align-right {
+ float: right;
+ width: min(42%, 380px);
+ margin: 0.15rem 0 1rem 1.5rem;
+}
+
+.news-article-content .content-figure {
+ margin-top: 0;
+}
+
+.news-pagination {
+ display: flex;
+ flex-wrap: nowrap;
+ justify-content: center;
+ align-items: center;
+ gap: 0.35rem;
+ width: fit-content;
+ max-width: 100%;
+ margin: 2.25rem auto 0;
+ padding: 0.35rem;
+ border: 1px solid rgba(16, 38, 58, 0.22);
+ border-radius: 999px;
+ background: var(--site-text);
+ box-shadow: 0 18px 45px rgba(12, 40, 69, 0.14);
+}
+
+.news-pagination:empty {
+ display: none;
+}
+
+.news-pagination-bottom-previous {
+ margin-top: 0.75rem;
+}
+
+.news-pagination-previous {
+ border-color: rgba(93, 128, 149, 0.22);
+ background: rgba(255, 255, 255, 0.84);
+ box-shadow: 0 18px 45px rgba(12, 40, 69, 0.08);
+}
+
+.news-pagination button {
+ min-width: 2.25rem;
+ min-height: 2.25rem;
+ padding: 0.4rem 0.72rem;
+ border: 0;
+ border-radius: 999px;
+ background: transparent;
+ color: #ffffff;
+ font: inherit;
+ font-weight: 700;
+ line-height: 1;
+ cursor: pointer;
+ transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
+}
+
+.news-pagination-previous button {
+ color: var(--site-text);
+}
+
+.news-pagination-ellipsis {
+ display: grid;
+ place-items: center;
+ width: 2.25rem;
+ min-width: 2.25rem;
+ height: 2.25rem;
+ color: rgba(255, 255, 255, 0.64);
+ font-weight: 700;
+ line-height: 1;
+}
+
+.news-pagination-previous .news-pagination-ellipsis {
+ color: var(--site-text-muted);
+}
+
+.news-pagination button:hover:not(:disabled):not([aria-current="page"]) {
+ background: rgba(255, 255, 255, 0.12);
+ color: #ffffff;
+}
+
+.news-pagination-previous button:hover:not(:disabled):not([aria-current="page"]) {
+ background: var(--site-link-soft);
+ color: var(--site-link);
+}
+
+.news-pagination button:focus-visible {
+ outline: 3px solid rgba(0, 151, 178, 0.24);
+ outline-offset: 2px;
+}
+
+.news-pagination button[aria-current="page"] {
+ background: #ffffff;
+ color: var(--site-text);
+ box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18);
+ transform: translateY(-1px);
+}
+
+.news-pagination-previous button[aria-current="page"] {
+ background: var(--site-link);
+ color: #ffffff;
+ box-shadow: 0 10px 22px rgba(0, 151, 178, 0.24);
+}
+
+.news-pagination-control {
+ padding-inline: 0.95rem;
+}
+
+.news-pagination button:disabled {
+ cursor: not-allowed;
+ color: rgba(255, 255, 255, 0.56);
+ opacity: 0.42;
+}
+
+.news-pagination-previous button:disabled {
+ color: var(--site-text-muted);
+}
+
+@media (max-width: 900px) {
+ .news-grid {
+ grid-template-columns: 1fr;
+ }
+
+ .news-gradient-stage {
+ padding-bottom: 1.35rem;
+ background-position: 58% center;
+ }
+
+ .news-hero {
+ padding: 1.45rem 0 1rem;
+ }
+
+ .news-hero h1 {
+ margin-bottom: 0.65rem;
+ }
+
+ .news-hero p {
+ max-width: 32rem;
+ margin-top: 0;
+ font-size: 1rem;
+ line-height: 1.45;
+ }
+
+ .news-featured-slot .news-featured-card {
+ display: grid;
+ grid-template-columns: 1fr;
+ gap: 0;
+ min-height: 0;
+ background: rgba(16, 38, 58, 0.82);
+ padding: 0;
+ border-radius: 12px;
+ box-shadow: 0 14px 32px rgba(0, 0, 0, 0.2);
+ transform: none;
+ }
+
+ a.news-featured-card:hover,
+a.news-featured-card:focus-visible {
+ transform: none;
+ }
+
+ .news-featured-slot .news-featured-image-link {
+ position: relative;
+ grid-column: 1;
+ grid-row: 1;
+ min-height: 210px;
+ border-bottom: 0;
+ }
+
+ .news-featured-slot .news-featured-image-link img {
+ min-height: 210px;
+ object-position: center;
+ }
+
+ .news-featured-slot .news-featured-content {
+ grid-column: 1;
+ grid-row: 2;
+ min-height: 0;
+ padding: 1.35rem;
+ border-right: 0;
+ }
+
+ .news-featured-slot .news-card.news-featured-card h2 {
+ max-width: 18ch;
+ margin-bottom: 0.7rem;
+ font-size: clamp(1.65rem, 6vw, 2.15rem);
+ line-height: 1.1;
+ }
+
+ .news-featured-slot .news-card.news-featured-card p {
+ font-size: 0.98rem;
+ line-height: 1.48;
+ }
+
+ .news-featured-slot .news-featured-meta {
+ font-size: 0.88rem;
+ }
+
+ .news-article-figure-inline,
+.news-article-image-inline,
+.news-article-content-wrap > .content-image:first-child,
+.news-article-content-wrap > .content-figure:first-child,
+.news-article-content .content-image.align-left,
+.news-article-content .content-figure.align-left,
+.news-article-content .content-image.align-right,
+.news-article-content .content-figure.align-right {
+ float: none;
+ width: 100%;
+ margin: 0 0 1rem;
+ }
+
+}
+
+@media (max-width: 620px) {
+ .news-list-section {
+ padding-top: 1.35rem;
+ }
+
+ .news-search {
+ grid-template-columns: 1fr;
+ width: 100%;
+ margin-left: 0;
+ }
+}
+
+@media (max-width: 520px) {
+ .news-hero,
+.news-featured-slot,
+.news-controls-section,
+.news-list-section,
+.news-article {
+ width: min(100% - 1.25rem, 1100px);
+ }
+
+ .news-featured-slot .news-featured-image-link,
+.news-featured-slot .news-featured-image-link img {
+ min-height: 185px;
+ }
+
+ .news-featured-slot .news-featured-content {
+ padding: 1.15rem;
+ }
+
+ .news-pagination {
+ width: 100%;
+ overflow-x: auto;
+ border-radius: 18px;
+ }
+
+ .news-pagination button {
+ flex: 0 0 auto;
+ }
+}
diff --git a/css/search.css b/css/search.css
index eb9defc..1afadf7 100644
--- a/css/search.css
+++ b/css/search.css
@@ -14,6 +14,12 @@
overflow: visible;
}
+.search-container:focus-within {
+ border-color: #006f82;
+ outline: 3px solid #006f82;
+ outline-offset: 3px;
+}
+
.search-icon-btn {
background: none;
border: none;
@@ -27,6 +33,12 @@
z-index: 3;
}
+.search-icon-btn:focus-visible {
+ outline: 3px solid #006f82;
+ outline-offset: 2px;
+ border-radius: 999px;
+}
+
.search-icon-btn img {
height: 20px;
width: 20px;
@@ -92,7 +104,7 @@
.search-result-title {
font-weight: 650;
- color: var(--site-link);
+ color: #006f82;
margin-bottom: 4px;
font-size: 14px;
}
diff --git a/css/style.css b/css/style.css
index 84292da..1d6e967 100644
--- a/css/style.css
+++ b/css/style.css
@@ -11,8 +11,8 @@ html {
body {
--color-lm-primary: #5d8095;
- --color-lm-url: #0097b2;
- --color-lm-url-10: #0097b21a;
+ --color-lm-url: #007f96;
+ --color-lm-url-10: #007f961a;
--color-lm-accent: #9bcb5e;
--color-lm-accent-10: #9bcb5e1a;
--color-dm-primary: #5d8095;
@@ -32,7 +32,7 @@ body {
margin: 0;
background: var(--site-bg);
color: var(--site-text);
- font-family: 'Source Sans 3', sans-serif;
+ font-family: 'Source Sans Pro', sans-serif;
}
a {
@@ -49,6 +49,9 @@ a {
#header-placeholder {
min-height: 92px;
+ position: sticky;
+ top: 0;
+ z-index: 1000;
}
#footer-placeholder {
@@ -89,7 +92,9 @@ a {
.stub-hero h1,
.stub-page h1 {
- font-family: 'IBM Plex Sans', sans-serif;
+ font-family: 'Figtree', sans-serif;
+ font-optical-sizing: auto;
+ font-style: normal;
line-height: 1.05;
}
@@ -124,7 +129,9 @@ a {
.stub-card h2 {
margin-top: 0;
margin-bottom: 0.5rem;
- font-family: 'IBM Plex Sans', sans-serif;
+ font-family: 'Figtree', sans-serif;
+ font-optical-sizing: auto;
+ font-style: normal;
font-size: 1.2rem;
}
@@ -157,7 +164,9 @@ a {
.policy-hero h1,
.policy-content h2 {
- font-family: 'IBM Plex Sans', sans-serif;
+ font-family: 'Figtree', sans-serif;
+ font-optical-sizing: auto;
+ font-style: normal;
color: var(--site-text);
}
@@ -210,6 +219,10 @@ a {
margin: 0.25rem 0 0;
}
+.policy-content p + p {
+ margin-top: 1.15rem;
+}
+
.policy-section {
padding-top: 0.35rem;
}
@@ -250,6 +263,176 @@ a {
margin: 0;
}
+.excursion-content {
+ gap: 1.25rem;
+}
+
+.excursion-summary {
+ display: grid;
+ grid-template-columns: repeat(2, minmax(0, 1fr));
+ gap: 1rem;
+ margin: 0.5rem 0 0.7rem;
+}
+
+.excursion-summary div {
+ min-width: 0;
+ padding: 1rem;
+ border: 1px solid var(--site-border);
+ border-radius: 8px;
+ background: var(--site-surface);
+}
+
+.excursion-summary span {
+ display: block;
+ margin-bottom: 0.28rem;
+ color: var(--site-text-muted);
+ font-size: 0.84rem;
+ font-weight: 700;
+ letter-spacing: 0.04em;
+ text-transform: uppercase;
+}
+
+.excursion-summary a,
+.excursion-summary strong {
+ color: var(--site-text);
+ font-size: 1.12rem;
+ font-weight: 800;
+}
+
+.excursion-schedule {
+ position: relative;
+ display: grid;
+ gap: 0;
+ margin: 1rem 0 0;
+ padding: 0;
+ list-style: none;
+}
+
+.excursion-schedule::before {
+ content: '';
+ position: absolute;
+ top: 0.75rem;
+ bottom: 0.75rem;
+ left: 7.65rem;
+ width: 1px;
+ background: var(--site-border);
+}
+
+.excursion-schedule li {
+ position: relative;
+ display: grid;
+ grid-template-columns: 6.8rem minmax(0, 1fr);
+ gap: 1.8rem;
+ padding: 0.45rem 0 1.1rem;
+ color: var(--site-text);
+}
+
+.excursion-schedule li::before {
+ content: '';
+ position: absolute;
+ top: 0.82rem;
+ left: 7.33rem;
+ width: 0.65rem;
+ height: 0.65rem;
+ border: 2px solid var(--site-bg);
+ border-radius: 999px;
+ background: var(--site-accent);
+ box-shadow: 0 0 0 1px rgba(155, 203, 94, 0.45);
+}
+
+.excursion-schedule time {
+ color: var(--site-link);
+ font-weight: 800;
+ line-height: 1.5;
+}
+
+.excursion-schedule span {
+ min-width: 0;
+ color: var(--site-text);
+ font-size: 1.08rem;
+ line-height: 1.55;
+}
+
+.excursion-schedule em {
+ color: var(--site-text-muted);
+ font-style: normal;
+ font-weight: 700;
+}
+
+.video-embed {
+ width: 100%;
+ aspect-ratio: 16 / 9;
+ margin: 0.5rem 0 1rem;
+}
+
+.video-embed iframe {
+ display: block;
+ width: 100%;
+ height: 100%;
+ border: 0;
+}
+
+.vision-content-layout {
+ display: grid;
+ grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
+ gap: 2rem;
+ align-items: start;
+}
+
+.vision-main-copy {
+ min-width: 0;
+}
+
+.vision-definition-box {
+ position: sticky;
+ top: 7rem;
+ display: grid;
+ gap: 1.35rem;
+ padding: 1.2rem;
+ border: 1px solid var(--site-border);
+ border-radius: 8px;
+ background: var(--site-surface);
+}
+
+.vision-definition-box section + section {
+ padding-top: 1.15rem;
+ border-top: 1px solid var(--site-border);
+}
+
+.vision-definition-box p {
+ margin: 0.55rem 0 0;
+ font-size: 0.98rem;
+ line-height: 1.58;
+}
+
+.vision-definition-term {
+ margin-top: 0;
+ color: var(--site-text);
+ font-family: 'Figtree', sans-serif;
+ font-optical-sizing: auto;
+ font-size: 1.12rem;
+ font-weight: 800;
+ line-height: 1.25;
+}
+
+.vision-definition-term span {
+ display: block;
+ margin-top: 0.15rem;
+ color: var(--site-text-muted);
+ font-family: 'Source Sans Pro', sans-serif;
+ font-size: 0.88rem;
+ font-weight: 700;
+}
+
+.vision-definition-pronunciation {
+ color: var(--site-link);
+ font-weight: 700;
+}
+
+.vision-technical-section {
+ padding-top: 1rem;
+}
+
.policy-note {
color: var(--site-text-muted);
font-weight: 700;
@@ -300,6 +483,10 @@ a {
color: var(--site-text);
}
+.acknowledgement-content h2 {
+ color: var(--site-link);
+}
+
.values-content .policy-section + .policy-section {
margin-top: 0.45rem;
}
@@ -313,6 +500,158 @@ a {
color: var(--site-text-muted);
}
+.in-the-news-content {
+ width: min(1040px, calc(100% - 2rem));
+ grid-template-columns: 6.5rem minmax(0, 1fr);
+ column-gap: 2.2rem;
+ gap: 0;
+}
+
+.in-the-news-years {
+ position: fixed;
+ top: 12.5rem;
+ left: max(1.5rem, calc((100vw - 1040px) / 2 - 2.5rem));
+ grid-column: 1;
+ grid-row: 1 / span 20;
+ display: flex;
+ flex-direction: column;
+ align-self: start;
+ gap: 0.45rem;
+ width: 5.5rem;
+ margin: 0;
+ padding: 0.15rem 0 0;
+ border-bottom: 0;
+}
+
+.in-the-news-years a {
+ color: var(--site-text-muted);
+ font-weight: 700;
+ line-height: 1.3;
+ text-decoration: none;
+}
+
+.in-the-news-years a:hover,
+.in-the-news-years a:focus-visible {
+ color: var(--site-link);
+ text-decoration: underline;
+ text-underline-offset: 0.18em;
+}
+
+.in-the-news-content .policy-section {
+ grid-column: 2;
+ scroll-margin-top: 160px;
+ display: block;
+ padding: 0;
+}
+
+.in-the-news-content .policy-section + .policy-section {
+ margin-top: 3.1rem;
+}
+
+.in-the-news-content h2 {
+ margin: 0 0 0.85rem;
+ color: var(--site-text);
+ font-size: clamp(1.85rem, 4vw, 2.75rem);
+ line-height: 1;
+}
+
+.in-the-news-list {
+ position: relative;
+ display: grid;
+ gap: 0;
+ margin: 0;
+ padding: 0;
+ list-style: none;
+}
+
+.in-the-news-list::before {
+ content: '';
+ position: absolute;
+ top: 0.45rem;
+ bottom: 0.45rem;
+ left: 0;
+ width: 1px;
+ background: var(--site-border);
+}
+
+.in-the-news-list li {
+ position: relative;
+ display: grid;
+ grid-template-columns: 8.6rem minmax(0, 1fr);
+ gap: 1.35rem;
+ align-items: start;
+ padding: 0.15rem 0 1.25rem 1.25rem;
+ border-bottom: 0;
+ background: transparent;
+ color: var(--site-text);
+ font-size: 1.07rem;
+ line-height: 1.55;
+}
+
+.in-the-news-list li::before {
+ content: '';
+ position: absolute;
+ top: 0.45rem;
+ left: -0.25rem;
+ width: 0.52rem;
+ height: 0.52rem;
+ border: 2px solid var(--site-bg);
+ border-radius: 999px;
+ background: var(--site-accent);
+ box-shadow: 0 0 0 1px rgba(155, 203, 94, 0.45);
+}
+
+.in-the-news-list li + li {
+ margin-top: 0.15rem;
+}
+
+.in-the-news-featured {
+ padding-top: 0.2rem;
+ padding-bottom: 1.55rem;
+ font-size: 1.2rem;
+}
+
+.in-the-news-featured::before {
+ width: 0.7rem;
+ height: 0.7rem;
+ left: -0.34rem;
+ background: var(--site-link);
+ box-shadow: 0 0 0 1px rgba(0, 151, 178, 0.24);
+}
+
+.in-the-news-list time {
+ color: var(--site-text-muted);
+ font-size: 0.95rem;
+ font-weight: 700;
+ line-height: 1.45;
+}
+
+.in-the-news-list p {
+ min-width: 0;
+ margin: 0;
+}
+
+.in-the-news-list a {
+ color: var(--site-text);
+ font-weight: 700;
+ text-decoration-color: rgba(0, 151, 178, 0.35);
+ text-decoration-thickness: 1px;
+ text-underline-offset: 0.16em;
+}
+
+.in-the-news-list a:hover,
+.in-the-news-list a:focus-visible {
+ color: var(--site-link);
+ text-decoration-color: currentColor;
+}
+
+.in-the-news-list span {
+ display: inline-block;
+ margin-left: 0.35rem;
+ color: var(--site-text);
+ font-weight: 700;
+}
+
.policy-linkout {
margin-top: 1.6rem;
font-weight: 700;
@@ -459,7 +798,9 @@ a {
display: grid;
place-items: center;
color: #6a7d89;
- font-family: 'IBM Plex Sans', sans-serif;
+ font-family: 'Figtree', sans-serif;
+ font-optical-sizing: auto;
+ font-style: normal;
font-size: 1.2rem;
font-weight: 700;
}
@@ -472,7 +813,9 @@ a {
.person-details h3 {
min-height: 2.4rem;
margin: 0 0 0.35rem;
- font-family: 'IBM Plex Sans', sans-serif;
+ font-family: 'Figtree', sans-serif;
+ font-optical-sizing: auto;
+ font-style: normal;
font-size: 0.98rem;
line-height: 1.2;
display: flex;
@@ -496,6 +839,199 @@ a {
color: var(--site-text-muted);
}
+.talks-page {
+ padding-bottom: 5rem;
+}
+
+.talks-content {
+ display: grid;
+ grid-template-columns: minmax(0, 1fr) minmax(230px, 280px);
+ gap: 2.4rem;
+ align-items: start;
+}
+
+.talks-primary {
+ display: grid;
+ gap: 0.75rem;
+}
+
+.talks-section {
+ margin: 0;
+ padding: 0.35rem 0 0;
+ border: 0;
+ background: transparent;
+}
+
+.talks-section + .talks-section {
+ margin-top: 1.45rem;
+}
+
+.talks-section summary {
+ cursor: pointer;
+ display: flex;
+ align-items: baseline;
+ justify-content: space-between;
+ gap: 1rem;
+ padding: 0 0 0.65rem;
+ border-bottom: 1px solid var(--site-border);
+ list-style: none;
+ color: var(--site-text);
+ font-family: 'Figtree', sans-serif;
+ font-optical-sizing: auto;
+ font-style: normal;
+ font-size: clamp(1.35rem, 3vw, 1.75rem);
+ line-height: 1.2;
+ font-weight: 800;
+ overflow-wrap: normal;
+}
+
+.talks-section summary::-webkit-details-marker {
+ display: none;
+}
+
+.talks-section summary::before {
+ content: none;
+}
+
+.talks-section summary::after {
+ content: "open";
+ flex: 0 0 auto;
+ color: var(--site-link);
+ font-family: 'Source Sans Pro', sans-serif;
+ font-size: 0.9rem;
+ font-weight: 700;
+ text-transform: lowercase;
+}
+
+.talks-section[open] summary::after {
+ content: "close";
+}
+
+.talks-section h2 {
+ position: relative;
+ margin: 1.35rem 0 0.35rem;
+ padding: 0;
+ border-left: 0;
+ color: var(--site-text);
+ font-family: 'Figtree', sans-serif;
+ font-optical-sizing: auto;
+ font-style: normal;
+ font-size: 1.08rem;
+ font-weight: 800;
+ letter-spacing: 0;
+ line-height: 1.3;
+ text-transform: none;
+}
+
+.talks-section h2::after {
+ content: none;
+}
+
+.talk-card {
+ display: grid;
+ grid-template-columns: 8.6rem minmax(0, 1fr);
+ gap: 1.35rem;
+ align-items: start;
+ margin: 0;
+ padding: 0.15rem 0 1.25rem;
+ border-top: 1px solid rgba(93, 128, 149, 0.18);
+ position: relative;
+}
+
+.talk-card::before {
+ content: none;
+}
+
+.talk-card h3 {
+ grid-column: 2;
+ margin: 0;
+ color: var(--site-text);
+ font-family: 'Figtree', sans-serif;
+ font-optical-sizing: auto;
+ font-style: normal;
+ font-size: 1.07rem;
+ line-height: 1.35;
+}
+
+.talk-card h3 a {
+ color: var(--site-link);
+}
+
+.talk-card p {
+ grid-column: 2;
+ margin: 0.12rem 0;
+ color: var(--site-text-muted);
+ font-size: 1rem;
+ line-height: 1.5;
+}
+
+.talk-meta {
+ grid-column: 1;
+ grid-row: 1 / span 4;
+ display: flex;
+ flex-direction: column;
+ gap: 0.22rem;
+ margin-top: 0.1rem;
+}
+
+.talk-meta span,
+.talk-meta time {
+ display: block;
+ min-height: 0;
+ padding: 0;
+ background: transparent;
+ color: var(--site-text-muted);
+ font-size: 0.95rem;
+ font-weight: 700;
+ line-height: 1.45;
+}
+
+.talks-sidebar {
+ position: sticky;
+ top: 7rem;
+ margin-top: 0.4rem;
+ padding-top: 0;
+ padding-left: 1.2rem;
+ border-top: 0;
+ border-left: 1px solid var(--site-border);
+ background: transparent;
+}
+
+.talks-sidebar h2 {
+ margin: 0 0 0.8rem;
+ font-family: 'Figtree', sans-serif;
+ font-optical-sizing: auto;
+ font-style: normal;
+ font-size: clamp(1.35rem, 3vw, 1.75rem);
+ line-height: 1.2;
+}
+
+.talks-sidebar ul {
+ margin: 0.6rem 0 0;
+ padding-left: 1.35rem;
+ columns: 1;
+ list-style: disc;
+}
+
+.talks-sidebar li {
+ break-inside: avoid;
+ margin: 0 0 0.65rem;
+ padding-left: 0.15rem;
+}
+
+.talks-sidebar li::marker {
+ color: var(--site-accent);
+}
+
+.talks-sidebar a {
+ color: var(--site-link);
+ font-size: 1rem;
+ font-weight: 700;
+ line-height: 1.5;
+ text-decoration: underline;
+ text-underline-offset: 0.12em;
+}
+
@media (max-width: 1180px) {
.people-grid {
grid-template-columns: repeat(4, minmax(0, 1fr));
@@ -507,6 +1043,40 @@ a {
grid-template-columns: 1fr;
}
+ .vision-content-layout {
+ grid-template-columns: 1fr;
+ }
+
+ .vision-definition-box {
+ position: static;
+ }
+
+ .in-the-news-content .policy-section {
+ grid-column: auto;
+ grid-template-columns: 1fr;
+ gap: 0.75rem;
+ }
+
+ .in-the-news-content h2 {
+ position: static;
+ }
+
+ .in-the-news-content {
+ grid-template-columns: 1fr;
+ }
+
+ .in-the-news-years {
+ position: static;
+ grid-column: auto;
+ grid-row: auto;
+ flex-direction: row;
+ flex-wrap: wrap;
+ gap: 0.35rem 0.8rem;
+ margin: 0 0 2.2rem;
+ padding: 0 0 1.1rem;
+ border-bottom: 1px solid var(--site-border);
+ }
+
.nextgens-list {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
@@ -518,6 +1088,18 @@ a {
.people-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
+
+ .talks-content {
+ grid-template-columns: 1fr;
+ }
+
+ .talks-sidebar {
+ position: static;
+ margin-top: 1.2rem;
+ padding: 1.2rem 0 0;
+ border-top: 1px solid var(--site-border);
+ border-left: 0;
+ }
}
@media (max-width: 620px) {
@@ -529,6 +1111,38 @@ a {
padding-top: 3.2rem;
}
+ .excursion-summary {
+ grid-template-columns: 1fr;
+ }
+
+ .excursion-schedule::before {
+ left: 0.32rem;
+ }
+
+ .excursion-schedule li {
+ grid-template-columns: 1fr;
+ gap: 0.15rem;
+ padding-left: 1.65rem;
+ }
+
+ .excursion-schedule li::before {
+ left: 0;
+ }
+
+ .excursion-schedule span {
+ font-size: 1rem;
+ }
+
+ .in-the-news-list li {
+ grid-template-columns: 1fr;
+ gap: 0.2rem;
+ padding: 0.1rem 0 1.1rem 1.1rem;
+ }
+
+ .in-the-news-list time {
+ font-size: 0.88rem;
+ }
+
.nextgens-list {
grid-template-columns: 1fr;
}
@@ -544,4 +1158,31 @@ a {
.person-card {
min-height: 0;
}
+
+ .talks-section summary {
+ padding-right: 0;
+ padding-left: 0;
+ }
+
+ .talk-card {
+ grid-template-columns: 1fr;
+ gap: 0.35rem;
+ }
+
+ .talk-card h3,
+ .talk-card p,
+ .talk-meta {
+ grid-column: auto;
+ grid-row: auto;
+ }
+
+ .talk-meta {
+ flex-direction: row;
+ flex-wrap: wrap;
+ order: -1;
+ }
+
+ .talks-sidebar ul {
+ columns: 1;
+ }
}
diff --git a/data/events.json b/data/events.json
new file mode 100644
index 0000000..1a4b25b
--- /dev/null
+++ b/data/events.json
@@ -0,0 +1,767 @@
+[
+ {
+ "title": "Experiential Introduction to AI and Ecology Course - Part 2: Field Course",
+ "url": "events/2027-01-experiential-introduction-ai-and-ecology-course-part-2-field-course.html",
+ "date": "Mon, Jan 4 - Sun, Jan 24 2027",
+ "description": "(Tentative Dates for Field Course Portion) Experiential Introduction to AI and...",
+ "image": "",
+ "imageAlt": "Experiential Introduction to AI and Ecology Course - Part 2: Field Course",
+ "startDate": "2027-01-04"
+ },
+ {
+ "title": "Experiential Introduction to AI and Ecology Course - Part 1",
+ "url": "events/2026-08-experiential-introduction-ai-and-ecology-course-part-1.html",
+ "date": "Tue, Aug 25 2026, Tue, Sep 1 2026, Tue, Sep 8 2026, Tue, Sep 15 2026, Mon, Sep 28 2026, Tue, Oct 6 2026, Tue, Oct 13 2026, Tue, Oct 20 2026, Tue, Oct 27 2026, Tue, Nov 3 2026, Tue, Nov 10 2026, Tue, Nov 17 2026, Tue, Nov 24 2026, Tue, Dec 1 2026, Tue, Dec 8 2026, Tue, Dec 15 2026",
+ "description": "Format: Virtual, mostly synchronous Class Time: Tuesdays at 2:00 PM ET (Zoom)...",
+ "image": "",
+ "imageAlt": "Experiential Introduction to AI and Ecology Course - Part 1",
+ "startDate": "2026-08-25"
+ },
+ {
+ "title": "FloraPalooza 2026",
+ "url": "events/2026-08-florapalooza-2026.html",
+ "date": "Mon, Aug 17 - Thu, Aug 20 2026",
+ "description": "",
+ "image": "../events images/florapalooza-flyer-1.png",
+ "imageAlt": "Poster with details for FloraPalooza 2026",
+ "startDate": "2026-08-17"
+ },
+ {
+ "title": "Designing for Discovery: Shaping Imageomics Tools for Biologists at the Evolution Conference",
+ "url": "events/2026-06-designing-discovery.html",
+ "date": "Sat, Jun 20 2026",
+ "description": "Workshop Agenda | Tutorial Website About the Event: Imageomics Institute is...",
+ "image": "../events images/designing-for-discovery-flyer-1.png",
+ "imageAlt": "Designing for Discovery: Shaping Imageomics Tools For Biologists",
+ "startDate": "2026-06-20"
+ },
+ {
+ "title": "AI Spy With My Little Eye Something Wild",
+ "url": "events/2026-04-ai-spy-my-little-eye-something-wild.html",
+ "date": "Wed, Apr 29 2026",
+ "description": "As part of COSI's Science Festival, we're hosting a family-oriented event on...",
+ "image": "../events images/ai-spy.png",
+ "imageAlt": "AI Spy with my Little Eye Something Wild",
+ "startDate": "2026-04-29"
+ },
+ {
+ "title": "Seminar: Pixels are data: image analysis tools for known and unknown unknowns",
+ "url": "events/2026-04-seminar-pixels-are-data-image-analysis-tools-known-and-unknown-unknowns.html",
+ "date": "Mon, Apr 20 2026",
+ "description": "Please join us Monday, April 20 @4pm EST on Zoom for the next Imageomics Seminar...",
+ "image": "../events images/beth-cimini-seminar-145bf5a0.jpg",
+ "imageAlt": "Seminar Flyer with Title and research image",
+ "startDate": "2026-04-20"
+ },
+ {
+ "title": "Designing for Discovery: Shaping Imageomics Tools for Biologists",
+ "url": "events/2026-04-designing-discovery.html",
+ "date": "Thu, Apr 16 2026, Fri, Apr 17 2026",
+ "description": "About the Event The Imageomics Institute is hosting a workshop as part of the...",
+ "image": "../events images/designing-for-discovery-flyer_0.png",
+ "imageAlt": "Designing for Discovery: Shaping Imageomics Tools for Biologists",
+ "startDate": "2026-04-16"
+ },
+ {
+ "title": "Event: First Imageomics Conference",
+ "url": "events/2026-04-event-first-imageomics-conference.html",
+ "date": "Tue, Apr 14 2026, Wed, Apr 15 2026, Thu, Apr 16 2026, Fri, Apr 17 2026",
+ "description": "Imageomics is hosting the First Imageomics Conference April 14-16, 2026 at The...",
+ "image": "../events images/imageomics-conference-flyer.png",
+ "imageAlt": "Event: First Imageomics Conference",
+ "startDate": "2026-04-14"
+ },
+ {
+ "title": "Seminar - Beyond Species Identification: Pl@ntNet’s Large-Scale AI Pipeline for Downstream Biodiversity Inference",
+ "url": "events/2026-04-seminar-beyond-species-identification-plntnets-large-scale-ai-pipeline-downstream-biodiversity-inference.html",
+ "date": "Thu, Apr 9 2026",
+ "description": "Please join us on Thursday April 9 @ 10am ET for an Imageomics Seminar, Beyond...",
+ "image": "../events images/pierre_bonnet_april_14-b5afd37c.jpg",
+ "imageAlt": "Pierre Bonnet Headshot",
+ "startDate": "2026-04-09"
+ },
+ {
+ "title": "Seminar: AI-based arthropod biodiversity on BugBox: Lessons learned over the first four years",
+ "url": "events/2026-03-seminar-ai-based-arthropod-biodiversity-bugbox-lessons-learned-over-first-four-years.html",
+ "date": "Mon, Mar 23 2026",
+ "description": "Please join us on Monday, March 23rd at 4pm ET for an Imageomics Seminar, AI...",
+ "image": "../events images/kelton_headshot-0ea15825.jpg",
+ "imageAlt": "Man with a beard wearing glasses and a wide brimmed hat",
+ "startDate": "2026-03-23"
+ },
+ {
+ "title": "Seminar: From Images to Insight: Cloud-Based Morphometrics and AI Classification of 3D Knockout Embryos",
+ "url": "events/2026-03-seminar-images-insight-cloud-based-morphometrics-and-ai-classification-3d-knockout-embryos.html",
+ "date": "Mon, Mar 9 2026",
+ "description": "Please join us on Monday, March 9th @4pm EST for the next Imageomics Seminar...",
+ "image": "../events images/murat-maga-seminar-banner-1.png",
+ "imageAlt": "Seminar Flyer with Title and picture of a white mouse on a DNA molecule",
+ "startDate": "2026-03-09"
+ },
+ {
+ "title": "Seminar: Rethinking the Semantics of Biological Trait Recognition",
+ "url": "events/2026-02-seminar-rethinking-semantics-biological-trait-recognition.html",
+ "date": "Mon, Feb 23 2026",
+ "description": "Join us on Monday, February 23rd @4pm EST for the next Imageomics Seminar...",
+ "image": "../events images/copy-of-sabina-leonelli-seminar.png",
+ "imageAlt": "Seminar: Rethinking the Semantics of Biological Trait Recognition",
+ "startDate": "2026-02-23"
+ },
+ {
+ "title": "Seminar: BioCLIP 2 and BioCAP- Extending Species Classification to Rich Ecological Understanding",
+ "url": "events/2026-02-seminar-bioclip-2-and-biocap-extending-species-classification-rich-ecological-understanding.html",
+ "date": "Mon, Feb 9 2026",
+ "description": "Join us for our next seminar on February 9th at 4pm EST where Imageomics...",
+ "image": "../events images/jianyang-gu-headshot.jpg",
+ "imageAlt": "Jianyang Gu seminar BioCLIP 2 and BioCAP: Extending Species Classification to Rich Ecological Understanding",
+ "startDate": "2026-02-09"
+ },
+ {
+ "title": "Seminar: The Mothbox- Open Science Tool for Automated Insect Monitoring",
+ "url": "events/2025-11-seminar-mothbox-open-science-tool-automated-insect-monitoring.html",
+ "date": "Mon, Nov 24 2025",
+ "description": "Join us for a seminar hosted by the Imageomics Institute Monday at 4pm ET on...",
+ "image": "../events images/andy-quitmeyer-seminar-1.png",
+ "imageAlt": "Andy Quitmeyer with a bug on his face",
+ "startDate": "2025-11-24"
+ },
+ {
+ "title": "Event Notice: Is There a Reproducibility Crisis in Science?",
+ "url": "events/2025-10-event-notice-there-reproducibility-crisis-science.html",
+ "date": "Mon, Oct 20 2025",
+ "description": "Event spotlight: Elizabeth Campolongo, PhD—Senior Data Scientist at the...",
+ "image": "",
+ "imageAlt": "Event Notice: Is There a Reproducibility Crisis in Science?",
+ "startDate": "2025-10-20"
+ },
+ {
+ "title": "NSF HDR Community Conference 2025",
+ "url": "events/2025-09-nsf-hdr-community-conference-2025.html",
+ "date": "Tue, Sep 16 - Fri, Sep 19 2025",
+ "description": "NSF HDR Ecosystem Conference 2025 September 16–19, 2025 • Columbus, OH and...",
+ "image": "",
+ "imageAlt": "NSF HDR Community Conference 2025",
+ "startDate": "2025-09-16"
+ },
+ {
+ "title": "FuncaPalooza 2025: Get Your Func-tionality On",
+ "url": "events/2025-08-funcapalooza-2025-get-your-func-tionality.html",
+ "date": "Mon, Aug 18 - Thu, Aug 21 2025",
+ "description": "August 18-21, 2025 A collaborative hands-on machine learning event for...",
+ "image": "../events images/1-bcba49f0.jpg",
+ "imageAlt": "Funcapalooza 2025",
+ "startDate": "2025-08-18"
+ },
+ {
+ "title": "Wild Data: Showcasing AI for Ecology and the Field of Imageomics",
+ "url": "events/2025-04-wild-data-showcasing-ai-ecology-and-field-imageomics.html",
+ "date": "Thu, Apr 17 2025",
+ "description": "Join us for a public showcase of student research from the year-long AI &...",
+ "image": "../events images/ai-leopard.jpeg",
+ "imageAlt": "an image of a leopard with computer network lines hyperimposed on top of the image",
+ "startDate": "2025-04-17"
+ },
+ {
+ "title": "Imageomics Community and Collaborators Day",
+ "url": "events/2025-04-imageomics-community-and-collaborators-day.html",
+ "date": "Thu, Apr 17 2025",
+ "description": "The Imageomics Institute’s Community and Collaborators Day on April 17, 2025...",
+ "image": "../events images/copy-of-2025-all-hands-meeting-1-e84acdaa.png",
+ "imageAlt": "Imageomics Community and Collaborators Day",
+ "startDate": "2025-04-17"
+ },
+ {
+ "title": "Imageomics 2025 All-hands Meeting",
+ "url": "events/2025-04-imageomics-2025-all-hands-meeting.html",
+ "date": "Wed, Apr 16 - Fri, Apr 18 2025",
+ "description": "The Imageomics Institute’s All-Hands Meeting and NextGen Day occurring between...",
+ "image": "../events images/2025-all-hands-meeting-1-c4646505.png",
+ "imageAlt": "Imageomics 2025 All-hands Meeting",
+ "startDate": "2025-04-16"
+ },
+ {
+ "title": "Seminar: Fishing for Data – Three Vignettes on Image-Based Research in Fish",
+ "url": "events/2025-04-seminar-fishing-data-three-vignettes-image-based-research-fish.html",
+ "date": "Mon, Apr 14 2025",
+ "description": "Fishing for Data with Becky Fuller Join us for a seminar hosted by the...",
+ "image": "../events images/_becky-fuller-banner.png",
+ "imageAlt": "Seminar: Fishing for Data – Three Vignettes on Image-Based Research in Fish",
+ "startDate": "2025-04-14"
+ },
+ {
+ "title": "Seminar: Explore the PANGEA Project with Elsa Ordway",
+ "url": "events/2025-03-seminar-explore-pangea-project-elsa-ordway.html",
+ "date": "Fri, Mar 7 2025",
+ "description": "Explore the PANGEA Project with Elsa Ordway Join us for a joint Imageomics...",
+ "image": "../events images/elsa-ordway-banner.png",
+ "imageAlt": "Seminar: Explore the PANGEA Project with Elsa Ordway",
+ "startDate": "2025-03-07"
+ },
+ {
+ "title": "AAAI 2025 Workshop: Anomaly Detection in Scientific Domains",
+ "url": "events/2025-03-aaai-2025-workshop-anomaly-detection-scientific-domains.html",
+ "date": "Tue, Mar 4 2025",
+ "description": "Description Scientific discovery often involves the observation of an...",
+ "image": "../events images/aaai25.jpg",
+ "imageAlt": "AAAi25",
+ "startDate": "2025-03-04"
+ },
+ {
+ "title": "Imageomics Workshop at AAAI 2025",
+ "url": "events/2025-03-imageomics-workshop-aaai-2025.html",
+ "date": "Mon, Mar 3 2025",
+ "description": "Overview Imageomics is an emerging field of science that uses images, ranging...",
+ "image": "../events images/imageomics-aaai-2025-image-84d35970.png",
+ "imageAlt": "Networked tree with animals and computer code with the words imageomics workshop AAAI 2025",
+ "startDate": "2025-03-03"
+ },
+ {
+ "title": "FathomVerse: Explore the Depths",
+ "url": "events/2025-02-fathomverse-explore-depths.html",
+ "date": "Mon, Feb 24 2025",
+ "description": "Abstract: The deep sea is the largest habitable ecosystem on the planet and...",
+ "image": "../events images/kakani-katija-banner-1.png",
+ "imageAlt": "FathomVerse: Explore the Depths",
+ "startDate": "2025-02-24"
+ },
+ {
+ "title": "Imageomics Seminar: Dr. Maks Ovsjanikov, November 22, 2024",
+ "url": "events/2024-11-imageomics-seminar-dr.-maks-ovsjanikov-november-22-2024.html",
+ "date": "Fri, Nov 22 2024",
+ "description": "Imageomics Seminar: Dr. Maks Ovsjanikov, November 22, 2024 November 22, 2024...",
+ "image": "../events images/maks-ovsjaniko-photo-1-f8bc53fd.jpg",
+ "imageAlt": "Maks",
+ "startDate": "2024-11-22"
+ },
+ {
+ "title": "Seminar: Ofir Levy, School of Zoology at Tel Aviv University, presentation, \"AI in Ecology: Refining Microclimate Predictions and Thermoregulatory Tracking\"",
+ "url": "events/2024-10-seminar-ofir-levy-school-zoology-tel-aviv-university-presentation-ai-ecology-refining-microclimate-predictions-and-thermoregulatory-tracking.html",
+ "date": "Mon, Oct 28 2024",
+ "description": "Who: Announcing the upcoming talk from Ofir Levy, School of Zoology at Tel Aviv...",
+ "image": "../events images/_g3a1983-1-30-3961c910.jpg",
+ "imageAlt": "Ofir Levy",
+ "startDate": "2024-10-28"
+ },
+ {
+ "title": "Seminar: Automated plankton image recognition featuring Prof. Heikki Kälviäinen",
+ "url": "events/2024-10-seminar-automated-plankton-image-recognition-featuring-prof.-heikki-kalviainen.html",
+ "date": "Mon, Oct 14 2024",
+ "description": "Abstract: The presentation considers computer vision and machine learning in...",
+ "image": "../events images/face_heikki-120f8514.jpg",
+ "imageAlt": "man with blonde hair and green eyes. He is in a black suit with red tie and stands in front of a grey background",
+ "startDate": "2024-10-14"
+ },
+ {
+ "title": "Public Lecture: AI for Nature featuring Dr. Tanya Berger Wolf",
+ "url": "events/2024-10-public-lecture-ai-nature-featuring-dr.-tanya-berger-wolf.html",
+ "date": "Mon, Oct 7 2024",
+ "description": "Please register to attend a Public Lecture hosted by the AI and Biodiversity...",
+ "image": "../events images/berger-wolf-abc-montreal-final9.25.24_reduced-db8c4593.jpg",
+ "imageAlt": "Public Lecture: AI for Nature featuring Dr. Tanya Berger Wolf",
+ "startDate": "2024-10-07"
+ },
+ {
+ "title": "BeetlePalooza 2024",
+ "url": "events/beetlepalooza-2024.html",
+ "date": "Mon, Aug 12 - Thu, Aug 15 2024",
+ "description": "",
+ "image": "../events images/beetlepalooza-2024-new-final-edited-1-214d49a3.jpg",
+ "imageAlt": "BeetlePalooza Event Notice",
+ "startDate": "2024-08-12"
+ },
+ {
+ "title": "Tanya Berger-Wolf and Imageomics at the Aspen Global Change Institute",
+ "url": "events/2024-07-tanya-berger-wolf-and-imageomics-aspen-global-change-institute.html",
+ "date": "Tue, Jul 30 2024",
+ "description": "Imageomics and ABC Global Climate Center Director Tanya Berger-Wolf speaks at...",
+ "image": "../events images/1722021161691-2485d968.jpeg",
+ "imageAlt": "Aspen Global Change Institute",
+ "startDate": "2024-07-30"
+ },
+ {
+ "title": "NSF Distinguished Open-Public Lecture: Tanya Berger-Wolf",
+ "url": "events/nsf-distinguished-open-public-lecture-tanya-berger-wolf.html",
+ "date": "Thu, Jun 6 2024",
+ "description": "NSF Distinguished Lecture: Tanya Berger-Wolf Date: 11 a.m. June 6, 2024, open to...",
+ "image": "../events images/nsf-distinguished-lecture-tanya-berger-wolf_0-06bb803f.jpg",
+ "imageAlt": "Tanya Berger Wolf NSF Distinguished Lecture",
+ "startDate": "2024-06-06"
+ },
+ {
+ "title": "Imageomics Seminar: Predicting multiple dimensions of plant diversity using airborne imagery and hierarchical models",
+ "url": "events/imageomics-seminar-predicting-multiple-dimensions-plant-diversity-using-airborne-imagery-and-hierarchical-models.html",
+ "date": "Mon, May 13 2024",
+ "description": "On May 13 the Imageomics Institute will welcome several researchers from the NSF...",
+ "image": "../events images/rspd-artwork-ascend.sized_-83c107f1.png",
+ "imageAlt": "A circle with DNA in the middle and the outline of trees around the outside",
+ "startDate": "2024-05-13"
+ },
+ {
+ "title": "Imageomics Seminar: Shape is data and all data have shape: from leaf morphology to the shape of gene expression across flowering plants",
+ "url": "events/imageomics-seminar-shape-data-and-all-data-have-shape-leaf-morphology-shape-gene-expression-across-flowering-plants.html",
+ "date": "Mon, May 6 2024",
+ "description": "Abstract Embedded in plant morphology is genetic, developmental, and...",
+ "image": "../events images/danchitwoodsmall-1-428032fa.jpg",
+ "imageAlt": "Dan Chitwood",
+ "startDate": "2024-05-06"
+ },
+ {
+ "title": "Imageomics 2024 All-hands Meeting",
+ "url": "events/imageomics-2024-all-hands-meeting.html",
+ "date": "Mon, Apr 15 - Thu, Apr 18 2024",
+ "description": "Between April 15-18, 2024, Imageomics Institute will gather for our annual All...",
+ "image": "../events images/imageomics-group-photo-all-hands-2023.jpg",
+ "imageAlt": "Large group stands in room, wearing grey Imageomics logo t-shirts.",
+ "startDate": "2024-04-15"
+ },
+ {
+ "title": "Imageomics Workshop at AAAI 2024",
+ "url": "events/2024-02-imageomics-workshop-aaai-2024.html",
+ "date": "Mon, Feb 26 2024",
+ "description": "In February 2024, we are pleased to announce our inaugural Imageomics workshop...",
+ "image": "../events images/image4-d8469f21.png",
+ "imageAlt": "A mechanic tree of life with each branch ending in multiple animals with the text Imageomics workshop AAAI 2024",
+ "startDate": "2024-02-26"
+ },
+ {
+ "title": "Imageomics All-Institute Project Update Monthly Meeting",
+ "url": "events/2024-02-imageomics-all-institute-project-update-monthly-meeting.html",
+ "date": "Sat, Feb 17 2024, Sun, Mar 17 2024, Sun, Apr 21 2024, Sun, May 19 2024, Sun, Jun 16 2024, Mon, Sep 16 2024, Mon, Oct 21 2024, Mon, Nov 18 2024, Mon, Dec 16 2024",
+ "description": "We are excited to invite you to the 2024-2025 monthly project updates meeting of...",
+ "image": "../events images/img_7217-a709e49c.jpg",
+ "imageAlt": "Members of the imageomics institute stand together for a group photo",
+ "startDate": "2024-02-17"
+ },
+ {
+ "title": "External Speaker Series: Ulrik Pagh Schultz Lundquist on WildDrone – Autonomous Drones for Nature Conservation Missions",
+ "url": "events/2024-02-external-speaker-series-ulrik-pagh-schultz-lundquist-wilddrone-autonomous-drones-nature-conservation-missions.html",
+ "date": "Mon, Feb 5 2024",
+ "description": "Abstract: The WildDrone project aims to revolutionize wildlife conservation...",
+ "image": "../events images/wynand-uys-fhocjvovj6g-unsplash-f7d1b6cc.jpg",
+ "imageAlt": "a heard of animals on the savannah is viewed from above as captured by a drone",
+ "startDate": "2024-02-05"
+ },
+ {
+ "title": "External Speaker Series: Justin Kitzes on Automated Acoustics Surveys for Understanding and Predicting Biodiversity at Scale",
+ "url": "events/2024-01-external-speaker-series-justin-kitzes-automated-acoustics-surveys-understanding-and-predicting-biodiversity-scale.html",
+ "date": "Mon, Jan 29 2024",
+ "description": "Abstract: The availability of accurate, large-scale, long-term data on species...",
+ "image": "../events images/joshua-j-cotten-ngspfabwico-unsplash-e5dc44bf.jpg",
+ "imageAlt": "brown and white bird on brown wooden fence with mouth open",
+ "startDate": "2024-01-29"
+ },
+ {
+ "title": "Imageomics Research Forum: The Cutting Edge of Foundation Models",
+ "url": "events/2024-01-imageomics-research-forum-cutting-edge-foundation-models.html",
+ "date": "Mon, Jan 22 2024",
+ "description": "Imageomics Institute’s Foundation Model project leaders, Yu Su and Harry Chao...",
+ "image": "../events images/_03c84a96-9266-4f1c-90c7-aa5add7e0eb8-322f7f0c.jpg",
+ "imageAlt": "an AI generated image of a computer chip with an earth hovering above surrounded by a network of dots and lines",
+ "startDate": "2024-01-22"
+ },
+ {
+ "title": "Introducing the RANGES project",
+ "url": "events/2023-12-introducing-ranges-project.html",
+ "date": "Mon, Dec 18 2023",
+ "description": "Attend our 2023 closing event for an exclusive overview led by the lead...",
+ "image": "../events images/rangescropped_logo-c64394fc.png",
+ "imageAlt": "Logo for the ranges project which features a series of mountains with the outline of a buck and pine trees in the front and a sun in the lefthand corner",
+ "startDate": "2023-12-18"
+ },
+ {
+ "title": "End of Year Celebration",
+ "url": "events/2023-12-end-year-celebration.html",
+ "date": "Mon, Dec 11 2023",
+ "description": "Come celebrate the end of the year with us! Join in for fun games, engaging...",
+ "image": "../events images/_0b8b1f50-6add-467c-8536-8a8a9ac25dc9.jpg",
+ "imageAlt": "an ai generated image of zebra, giraffe, tiger, and baboon having a new years eve party on the savannah",
+ "startDate": "2023-12-11"
+ },
+ {
+ "title": "Imageomics in the Spotlight: Project Showcase",
+ "url": "events/2023-12-imageomics-spotlight-project-showcase.html",
+ "date": "Mon, Dec 4 2023",
+ "description": "Get ready for an exciting showcase at our upcoming event, \"Imageomics in the...",
+ "image": "../events images/_e0760008-1e8c-480a-9635-3f48c30bcbf3-a44b088c.jpg",
+ "imageAlt": "ai created image of a camera with different forms of life spilling out of the lense onto a wooden table",
+ "startDate": "2023-12-04"
+ },
+ {
+ "title": "Imageomics Speaker Series: Janna Hastings, University of Zurich",
+ "url": "events/2023-11-imageomics-speaker-series-janna-hastings-university-zurich.html",
+ "date": "Mon, Nov 20 2023",
+ "description": "Ontology pre-training as a strategy to improve data-driven predictions:...",
+ "image": "../events images/hastings-janna-a7a6fd31.jpg",
+ "imageAlt": "smiling woman with blue eyes and light skin. She has her brown hair pulled back into a low braid and is wearing a dark blue shirt.",
+ "startDate": "2023-11-20"
+ },
+ {
+ "title": "Team Science Office Hour: Dynamics of collaborative leadership in team science",
+ "url": "events/2023-11-team-science-office-hour-dynamics-collaborative-leadership-team-science.html",
+ "date": "Mon, Nov 20 2023",
+ "description": "Join us for a dynamic office hour where participants will share their firsthand...",
+ "image": "../events images/_8d7fcdc9-f85f-4e38-86ae-f6bdfe522d36-621eaa88.jpg",
+ "imageAlt": "an image that shows outlines of people in multiple colors and each person has a thought bubble above their head",
+ "startDate": "2023-11-20"
+ },
+ {
+ "title": "Dynamics of collaborative leadership in team science: frameworks and applications",
+ "url": "events/2023-11-dynamics-collaborative-leadership-team-science-frameworks-and-applications.html",
+ "date": "Mon, Nov 13 2023",
+ "description": "The overarching goal of this interactive session is to share three conceptual...",
+ "image": "../events images/shane-rounce-dnkonxqti3c-unsplash-1ef95c8f.jpg",
+ "imageAlt": "a group people's hands placed on top of a tree trunk",
+ "startDate": "2023-11-13"
+ },
+ {
+ "title": "Introducing the AI and Biodiversity Change Global Climate Center",
+ "url": "events/2023-11-introducing-ai-and-biodiversity-change-global-climate-center.html",
+ "date": "Mon, Nov 6 2023",
+ "description": "This week we'll be welcoming the esteemed researchers from the newly established...",
+ "image": "../events images/adobestock_619608604-ccdab280.jpeg",
+ "imageAlt": "Sustainable environment concept. The image depicts human thinking towards preserving nature, reducing carbon footprint and building sustainable urban community for green future.",
+ "startDate": "2023-11-06"
+ },
+ {
+ "title": "HDR Meeting Recap",
+ "url": "events/2023-10-hdr-meeting-recap.html",
+ "date": "Mon, Oct 23 2023",
+ "description": "At this week's meeting, the Imageomics community members who attended the HDR...",
+ "image": "../events images/alina-grubnyak-ziqkhi7417a-unsplash-b72b50ed.jpg",
+ "imageAlt": "low angle photography of metal structure",
+ "startDate": "2023-10-23"
+ },
+ {
+ "title": "QUEST Teacher Training Program",
+ "url": "events/2023-10-quest-teacher-training-program.html",
+ "date": "Mon, Oct 9 2023",
+ "description": "At this month's Imageomics Research Forum, Dan Rubenstein and Leanna House will...",
+ "image": "../events images/img_6494-eae30fd9.jpg",
+ "imageAlt": "Teachers doing field research taking a photo of various foliage in nature",
+ "startDate": "2023-10-09"
+ },
+ {
+ "title": "Open Exchange Zone",
+ "url": "events/2023-10-open-exchange-zone.html",
+ "date": "Mon, Oct 2 2023",
+ "description": "The Open Exchange Zone is a crowdsourced topical space with no defined agenda...",
+ "image": "../events images/pexels-magda-ehlers-2573946-eb9f8d87.jpg",
+ "imageAlt": "group of animal figurines (lion, zebra, cheetah, rhino, elephant, giraffe) on a balcony ledge",
+ "startDate": "2023-10-02"
+ },
+ {
+ "title": "NextGen Space: The Writing Room",
+ "url": "events/2023-09-nextgen-space-writing-room.html",
+ "date": "Thu, Sep 28 2023",
+ "description": "The writing room is open to all Imageomics NextGens who would benefit from a...",
+ "image": "../events images/christin-hume-hcfwew744z4-unsplash-39d6db95.jpg",
+ "imageAlt": "person using laptop computer",
+ "startDate": "2023-09-28"
+ },
+ {
+ "title": "Burning Questions: Exploring Imageomics Together",
+ "url": "events/burning-questions-exploring-imageomics-together.html",
+ "date": "Mon, Sep 25 2023",
+ "description": "Do you have an imageomics question you would love some clarification on? Is...",
+ "image": "../events images/pexels-leeloo-thefirst-5428833-295617cd.jpg",
+ "imageAlt": "question marks glued to different colored paper set atop a desk adjacent to a hand holding a pen. All set on top of an open blank notebook",
+ "startDate": "2023-09-25"
+ },
+ {
+ "title": "Git Collaborating on GitHub",
+ "url": "events/2023-09-git-collaborating-github.html",
+ "date": "Mon, Sep 18 2023",
+ "description": "On September 11 and 18, we will host two connected training sessions covering an...",
+ "image": "../events images/roman-synkevych-wx2l8l-fgea-unsplash-368fb3c4.jpg",
+ "imageAlt": "github cat figurine stands in front of a computer screen.",
+ "startDate": "2023-09-18"
+ },
+ {
+ "title": "Foundation Models in Focus: Exploring Impact and Integration in Imageomics Research",
+ "url": "events/2023-09-foundation-models-focus-exploring-impact-and-integration-imageomics-research.html",
+ "date": "Mon, Sep 18 2023",
+ "description": "At this week's open exchange zone we will discuss how the foundation models have...",
+ "image": "../events images/markus-spiske-skf7hxarcoc-unsplash-89d9f633.jpg",
+ "imageAlt": "colorful software or web code on a computer monitor",
+ "startDate": "2023-09-18"
+ },
+ {
+ "title": "Git Acquainted with Version Control",
+ "url": "events/2023-09-git-acquainted-version-control.html",
+ "date": "Mon, Sep 11 2023",
+ "description": "On September 11 and 18, Imageomics will host two connected training sessions...",
+ "image": "../events images/roman-synkevych-wx2l8l-fgea-unsplash-368fb3c4.jpg",
+ "imageAlt": "github cat figurine stands in front of a computer screen.",
+ "startDate": "2023-09-11"
+ },
+ {
+ "title": "Forging Pathways: Integrating New Projects within the Institute's Framework",
+ "url": "events/2023-09-forging-pathways-integrating-new-projects-within-institutes-framework.html",
+ "date": "Mon, Sep 11 2023",
+ "description": "At this week's open exchange zone we will discuss the integration of new...",
+ "image": "../events images/pexels-mark-arron-smith-2251798-c09d4bb7.jpg",
+ "imageAlt": "glass ball sits on yellow divider lines in road and magnifies the cityscape beyond.",
+ "startDate": "2023-09-11"
+ },
+ {
+ "title": "Imageomics Reflection Room",
+ "url": "events/2023-08-imageomics-reflection-room.html",
+ "date": "Mon, Aug 28 2023",
+ "description": "During this month's reflection room we will focus on discussing and refining our...",
+ "image": "../events images/pexels-andre-mouton-1207875-a557c1d0.jpg",
+ "imageAlt": "capuchin monkey looks at own reflection in handheld mirror",
+ "startDate": "2023-08-28"
+ },
+ {
+ "title": "Imageomics Autumn Kick-off",
+ "url": "events/2023-08-imageomics-autumn-kick.html",
+ "date": "Mon, Aug 21 2023",
+ "description": "It's the start to our Autumn Imageomics event series. Join us to hear a recap of...",
+ "image": "../events images/pexels-polina-kovaleva-5827880-1321ed04.jpg",
+ "imageAlt": "photo features a bench with a dark brown suede back pack and lap top with yellow fall leaves and the body of a person in black clothing",
+ "startDate": "2023-08-21"
+ },
+ {
+ "title": "Image Datapalooza 2023",
+ "url": "events/image-datapalooza-2023.html",
+ "date": "Mon, Aug 14 - Thu, Aug 17 2023",
+ "description": "The Imageomics Institute is hosting a 3.5-day workshop to address the scarcity...",
+ "image": "../events images/image-datapalooza.jpg",
+ "imageAlt": "collage of images",
+ "startDate": "2023-08-14"
+ },
+ {
+ "title": "NextGen Interdisciplinary Journal Club",
+ "url": "events/2023-06-nextgen-interdisciplinary-journal-club.html",
+ "date": "Mon, Jun 26 2023",
+ "description": "Join us for this month's NextGen Interdiciplinary Journal Club, led by postdoc...",
+ "image": "../events images/eugene-zhyvchik-xjy-7gtc38o-unsplash.jpg",
+ "imageAlt": "outline of different homo species walking toward one direction ending with a person on a cell phone",
+ "startDate": "2023-06-26"
+ },
+ {
+ "title": "Faculty Open Space",
+ "url": "events/2023-06-faculty-open-space.html",
+ "date": "Mon, Jun 26 2023",
+ "description": "Join imageomics faculty and research scientists for research discussions in this...",
+ "image": "",
+ "imageAlt": "Faculty Open Space",
+ "startDate": "2023-06-26"
+ },
+ {
+ "title": "Paving the Way for Continental Scale Biology: Tools and Approaches for Connecting Research Across Scales",
+ "url": "events/2023-06-paving-way-continental-scale-biology-tools-and-approaches-connecting-research-across.html",
+ "date": "Thu, Jun 15 2023",
+ "description": "Dr. Tanya Berger-Wolf and Dr. Paula Mabee to Present at NASEM. Join presenters...",
+ "image": "../events images/best_csb_linkedin_0-6ce20de3.png",
+ "imageAlt": "Picture of planet earth with the event details inside of a purple box",
+ "startDate": "2023-06-15"
+ },
+ {
+ "title": "Imageomics Research Forum: Querying the Real World: Data Exploration in Augmented Reality",
+ "url": "events/2023-06-imageomics-research-forum-querying-real-world-data-exploration-augmented-reality.html",
+ "date": "Mon, Jun 12 2023",
+ "description": "Arnab Nandi, Associate Professor of Computer Science & Engineering at The Ohio...",
+ "image": "../events images/mika-baumeister-swvaxolmizy-unsplash.jpg",
+ "imageAlt": "person holding iphone up with an image on the game Minecraft with blurred view of houses behind phone",
+ "startDate": "2023-06-12"
+ },
+ {
+ "title": "Imageomics Speaker Series: AIs in the Forest: Towards Computational Field Biology",
+ "url": "events/2023-06-imageomics-speaker-series-ais-forest-towards-computational-field-biology.html",
+ "date": "Mon, Jun 5 2023",
+ "description": "Tilo Burghardt, UG Programme Director at the Dept of Computer Science at Bristol...",
+ "image": "../events images/roberto-nickson-6pe5ib-i5-o-unsplash.jpg",
+ "imageAlt": "short beak red bird on tree",
+ "startDate": "2023-06-05"
+ },
+ {
+ "title": "NextGen Space: Journal Club",
+ "url": "events/2023-05-nextgen-space-journal-club.html",
+ "date": "Mon, May 22 2023",
+ "description": "This week Chi Zhang, postdoc at University of Washington, will lead our...",
+ "image": "",
+ "imageAlt": "NextGen Space: Journal Club",
+ "startDate": "2023-05-22"
+ },
+ {
+ "title": "Faculty Open Space",
+ "url": "events/2023-05-faculty-open-space.html",
+ "date": "Mon, May 22 2023",
+ "description": "Join imageomics faculty and research scientists for mingling and research...",
+ "image": "",
+ "imageAlt": "Faculty Open Space",
+ "startDate": "2023-05-22"
+ },
+ {
+ "title": "External Speaker Series: Biodiversity across space and time: Insights from trait-based ecology",
+ "url": "events/2023-05-external-speaker-series-biodiversity-across-space-and-time-insights-trait-based.html",
+ "date": "Mon, May 15 2023",
+ "description": "Marta Jarzyna, Assistant Professor, Evolution, Ecology and Organismal Biology...",
+ "image": "../events images/jarzyna_pic_2-72f3d1b6.jpeg",
+ "imageAlt": "smiling woman with blue eyes and brown hair stands in front of a book case",
+ "startDate": "2023-05-15"
+ },
+ {
+ "title": "Imageomics Faculty Open Space",
+ "url": "events/2023-05-imageomics-faculty-open-space.html",
+ "date": "Mon, May 8 2023",
+ "description": "Join imageomics faculty and research scientists for mingling and research...",
+ "image": "",
+ "imageAlt": "Imageomics Faculty Open Space",
+ "startDate": "2023-05-08"
+ },
+ {
+ "title": "NextGen Space: Writing Effective Introductions",
+ "url": "events/2023-05-nextgen-space-writing-effective-introductions.html",
+ "date": "Mon, May 8 2023",
+ "description": "Writing an effective introduction for your research paper draws your reader in...",
+ "image": "",
+ "imageAlt": "NextGen Space: Writing Effective Introductions",
+ "startDate": "2023-05-08"
+ },
+ {
+ "title": "Experiential Introduction to Imageomics III",
+ "url": "events/2023-05-experiential-introduction-imageomics-iii.html",
+ "date": "Tue, May 2 2023",
+ "description": "The Imageomics \"Kenya\" course will continue through May 2, with the final...",
+ "image": "../events images/experiential-imageomics-course-caede3a0.jpg",
+ "imageAlt": "promotional flyer for imageomics course",
+ "startDate": "2023-05-02"
+ },
+ {
+ "title": "Imageomics Research Forum featuring Andrew Senin, Drexel University",
+ "url": "events/2023-05-imageomics-research-forum-featuring-andrew-senin-drexel-university.html",
+ "date": "Mon, May 1 2023",
+ "description": "This month’s research forum will feature the work of Andrew Senin of Drexel...",
+ "image": "",
+ "imageAlt": "Imageomics Research Forum featuring Andrew Senin, Drexel University",
+ "startDate": "2023-05-01"
+ },
+ {
+ "title": "All-hands Meeting",
+ "url": "events/2023-03-all-hands-meeting.html",
+ "date": "Tue, Mar 21 - Fri, Mar 24 2023",
+ "description": "The Imageomics Institute All-hands meeting is taking place in Columbus, OH on...",
+ "image": "",
+ "imageAlt": "All-hands Meeting",
+ "startDate": "2023-03-21"
+ },
+ {
+ "title": "Imageomics Holiday Party",
+ "url": "events/2022-12-imageomics-holiday-party.html",
+ "date": "Mon, Dec 12 2022",
+ "description": "Let’s celebrate the holiday season with fun games, networking activities and...",
+ "image": "",
+ "imageAlt": "Imageomics Holiday Party",
+ "startDate": "2022-12-12"
+ },
+ {
+ "title": "Experiential Imageomics Course: Preparing for Kenya",
+ "url": "events/2022-12-experiential-imageomics-course-preparing-kenya.html",
+ "date": "Tue, Dec 6 2022",
+ "description": "Week 14 Topic: Preparing for Kenya - Rules of Conduct and Safety with Field...",
+ "image": "../events images/experiential-imageomics-course-caede3a0.jpg",
+ "imageAlt": "promotional flyer for imageomics course",
+ "startDate": "2022-12-06"
+ },
+ {
+ "title": "ML & Biology Fastlane",
+ "url": "events/2022-12-ml-biology-fastlane.html",
+ "date": "Mon, Dec 5 2022",
+ "description": "We present a simple method for improving large vision model performance on...",
+ "image": "",
+ "imageAlt": "ML & Biology Fastlane",
+ "startDate": "2022-12-05"
+ },
+ {
+ "title": "Experiential Imageomics Course: Project Brainstorming",
+ "url": "events/2022-11-experiential-imageomics-course-project-brainstorming.html",
+ "date": "Tue, Nov 29 2022",
+ "description": "Week 13 Topic: Project Brainstorming for Kenya Field Research Instructors: Dan...",
+ "image": "../events images/experiential-imageomics-course-caede3a0.jpg",
+ "imageAlt": "promotional flyer for imageomics course",
+ "startDate": "2022-11-29"
+ },
+ {
+ "title": "External Speaker Series: Zhe Gan, Microsoft Azure AI",
+ "url": "events/2022-11-external-speaker-series-zhe-gan-microsoft-azure-ai.html",
+ "date": "Mon, Nov 21 2022",
+ "description": "This month we welcome Dr. Zhe Gan Principal Researcher at Microsoft Azure AI to...",
+ "image": "../events images/zhe_new.jpg",
+ "imageAlt": "Side view of smiling man with short black hair, brown eyes, and glasses. He is wearing a blue suit",
+ "startDate": "2022-11-21"
+ },
+ {
+ "title": "Experiential Imageomics Course: Data Management",
+ "url": "events/2022-11-experiential-imageomics-course-data-management.html",
+ "date": "Tue, Nov 15 2022",
+ "description": "Week 12 Topic: Data Management Instructors: Chuck Stewart and Hilmar Lapp...",
+ "image": "../events images/experiential-imageomics-course-caede3a0.jpg",
+ "imageAlt": "promotional flyer for imageomics course",
+ "startDate": "2022-11-15"
+ },
+ {
+ "title": "Project Spotlight: Making Models and Mining Mimics",
+ "url": "events/2022-11-project-spotlight-making-models-and-mining-mimics.html",
+ "date": "Mon, Nov 14 2022",
+ "description": "A common point of contact between biology and computer science uses machine...",
+ "image": "",
+ "imageAlt": "Project Spotlight: Making Models and Mining Mimics",
+ "startDate": "2022-11-14"
+ },
+ {
+ "title": "Virtual All-Hands",
+ "url": "events/2022-03-virtual-all-hands-1.html",
+ "date": "Mon, Mar 28 2022",
+ "description": "",
+ "image": "",
+ "imageAlt": "Virtual All-Hands",
+ "startDate": "2022-03-28"
+ },
+ {
+ "title": "All-Hands Kickoff Meeting",
+ "url": "events/2022-03-all-hands-kickoff-meeting.html",
+ "date": "Thu, Mar 24 2022, Fri, Mar 25 2022, Sat, Mar 26 2022",
+ "description": "The Imageomics Institute's core team is holding its all-hands kick-off meeting...",
+ "image": "",
+ "imageAlt": "All-Hands Kickoff Meeting",
+ "startDate": "2022-03-24"
+ },
+ {
+ "title": "Virtual All-Hands",
+ "url": "events/2022-03-virtual-all-hands-0.html",
+ "date": "Mon, Mar 21 2022",
+ "description": "",
+ "image": "",
+ "imageAlt": "Virtual All-Hands",
+ "startDate": "2022-03-21"
+ },
+ {
+ "title": "Virtual All-Hands",
+ "url": "events/2022-03-virtual-all-hands.html",
+ "date": "Mon, Mar 14 2022",
+ "description": "",
+ "image": "",
+ "imageAlt": "Virtual All-Hands",
+ "startDate": "2022-03-14"
+ },
+ {
+ "title": "Virtual All-Hands [Internal]",
+ "url": "events/2022-02-virtual-all-hands-internal.html",
+ "date": "Mon, Feb 28 2022",
+ "description": "Wasila Dahdul will present \"Applying bio-ontologies in Imageomics: trait...",
+ "image": "",
+ "imageAlt": "Virtual All-Hands [Internal]",
+ "startDate": "2022-02-28"
+ },
+ {
+ "title": "Virtual All-Hands",
+ "url": "events/2022-02-virtual-all-hands.html",
+ "date": "Mon, Feb 21 2022",
+ "description": "",
+ "image": "",
+ "imageAlt": "Virtual All-Hands",
+ "startDate": "2022-02-21"
+ }
+]
diff --git a/events images/1-bcba49f0.jpg b/events images/1-bcba49f0.jpg
new file mode 100644
index 0000000..c688b78
Binary files /dev/null and b/events images/1-bcba49f0.jpg differ
diff --git a/events images/1722021161691-2485d968.jpeg b/events images/1722021161691-2485d968.jpeg
new file mode 100644
index 0000000..7ad2f7c
Binary files /dev/null and b/events images/1722021161691-2485d968.jpeg differ
diff --git a/events images/2025-all-hands-meeting-1-c4646505.png b/events images/2025-all-hands-meeting-1-c4646505.png
new file mode 100644
index 0000000..09b7840
Binary files /dev/null and b/events images/2025-all-hands-meeting-1-c4646505.png differ
diff --git a/events images/_03c84a96-9266-4f1c-90c7-aa5add7e0eb8-322f7f0c.jpg b/events images/_03c84a96-9266-4f1c-90c7-aa5add7e0eb8-322f7f0c.jpg
new file mode 100644
index 0000000..d1fee69
Binary files /dev/null and b/events images/_03c84a96-9266-4f1c-90c7-aa5add7e0eb8-322f7f0c.jpg differ
diff --git a/events images/_0b8b1f50-6add-467c-8536-8a8a9ac25dc9.jpg b/events images/_0b8b1f50-6add-467c-8536-8a8a9ac25dc9.jpg
new file mode 100644
index 0000000..811e749
Binary files /dev/null and b/events images/_0b8b1f50-6add-467c-8536-8a8a9ac25dc9.jpg differ
diff --git a/events images/_8d7fcdc9-f85f-4e38-86ae-f6bdfe522d36-621eaa88.jpg b/events images/_8d7fcdc9-f85f-4e38-86ae-f6bdfe522d36-621eaa88.jpg
new file mode 100644
index 0000000..3c0a93f
Binary files /dev/null and b/events images/_8d7fcdc9-f85f-4e38-86ae-f6bdfe522d36-621eaa88.jpg differ
diff --git a/events images/_becky-fuller-banner.png b/events images/_becky-fuller-banner.png
new file mode 100644
index 0000000..c087597
Binary files /dev/null and b/events images/_becky-fuller-banner.png differ
diff --git a/events images/_e0760008-1e8c-480a-9635-3f48c30bcbf3-a44b088c.jpg b/events images/_e0760008-1e8c-480a-9635-3f48c30bcbf3-a44b088c.jpg
new file mode 100644
index 0000000..334d5ae
Binary files /dev/null and b/events images/_e0760008-1e8c-480a-9635-3f48c30bcbf3-a44b088c.jpg differ
diff --git a/events images/_g3a1983-1-30-3961c910.jpg b/events images/_g3a1983-1-30-3961c910.jpg
new file mode 100644
index 0000000..ff5b054
Binary files /dev/null and b/events images/_g3a1983-1-30-3961c910.jpg differ
diff --git a/events images/aaai25.jpg b/events images/aaai25.jpg
new file mode 100644
index 0000000..82dfeaa
Binary files /dev/null and b/events images/aaai25.jpg differ
diff --git a/events images/adobestock_619608604-ccdab280.jpeg b/events images/adobestock_619608604-ccdab280.jpeg
new file mode 100644
index 0000000..8ba3a27
Binary files /dev/null and b/events images/adobestock_619608604-ccdab280.jpeg differ
diff --git a/events images/ai-leopard.jpeg b/events images/ai-leopard.jpeg
new file mode 100644
index 0000000..55dfda4
Binary files /dev/null and b/events images/ai-leopard.jpeg differ
diff --git a/events images/ai-spy.png b/events images/ai-spy.png
new file mode 100644
index 0000000..f74290e
Binary files /dev/null and b/events images/ai-spy.png differ
diff --git a/events images/alina-grubnyak-ziqkhi7417a-unsplash-b72b50ed.jpg b/events images/alina-grubnyak-ziqkhi7417a-unsplash-b72b50ed.jpg
new file mode 100644
index 0000000..763389b
Binary files /dev/null and b/events images/alina-grubnyak-ziqkhi7417a-unsplash-b72b50ed.jpg differ
diff --git a/events images/andy-quitmeyer-seminar-1.png b/events images/andy-quitmeyer-seminar-1.png
new file mode 100644
index 0000000..36c3fef
Binary files /dev/null and b/events images/andy-quitmeyer-seminar-1.png differ
diff --git a/events images/arnab-nandi.jpg b/events images/arnab-nandi.jpg
new file mode 100644
index 0000000..b592bdd
Binary files /dev/null and b/events images/arnab-nandi.jpg differ
diff --git a/events images/beetlepalooza-2024-new-final-edited-1-214d49a3.jpg b/events images/beetlepalooza-2024-new-final-edited-1-214d49a3.jpg
new file mode 100644
index 0000000..a9ad7ac
Binary files /dev/null and b/events images/beetlepalooza-2024-new-final-edited-1-214d49a3.jpg differ
diff --git a/events images/berger-wolf-abc-montreal-final9.25.24_reduced-db8c4593.jpg b/events images/berger-wolf-abc-montreal-final9.25.24_reduced-db8c4593.jpg
new file mode 100644
index 0000000..c2eab57
Binary files /dev/null and b/events images/berger-wolf-abc-montreal-final9.25.24_reduced-db8c4593.jpg differ
diff --git a/events images/best_csb_linkedin_0-6ce20de3.png b/events images/best_csb_linkedin_0-6ce20de3.png
new file mode 100644
index 0000000..a8d2270
Binary files /dev/null and b/events images/best_csb_linkedin_0-6ce20de3.png differ
diff --git a/events images/beth-cimini-seminar-145bf5a0.jpg b/events images/beth-cimini-seminar-145bf5a0.jpg
new file mode 100644
index 0000000..bcabd94
Binary files /dev/null and b/events images/beth-cimini-seminar-145bf5a0.jpg differ
diff --git a/events images/bioclip2-image-medium.jpg b/events images/bioclip2-image-medium.jpg
new file mode 100644
index 0000000..42cfcc8
Binary files /dev/null and b/events images/bioclip2-image-medium.jpg differ
diff --git a/events images/christin-hume-hcfwew744z4-unsplash-39d6db95.jpg b/events images/christin-hume-hcfwew744z4-unsplash-39d6db95.jpg
new file mode 100644
index 0000000..46fea90
Binary files /dev/null and b/events images/christin-hume-hcfwew744z4-unsplash-39d6db95.jpg differ
diff --git a/events images/cimini_beth.jpg b/events images/cimini_beth.jpg
new file mode 100644
index 0000000..ac5e4b3
Binary files /dev/null and b/events images/cimini_beth.jpg differ
diff --git a/events images/copy-of-2025-all-hands-meeting-1-e84acdaa.png b/events images/copy-of-2025-all-hands-meeting-1-e84acdaa.png
new file mode 100644
index 0000000..399adf5
Binary files /dev/null and b/events images/copy-of-2025-all-hands-meeting-1-e84acdaa.png differ
diff --git a/events images/copy-of-sabina-leonelli-seminar.png b/events images/copy-of-sabina-leonelli-seminar.png
new file mode 100644
index 0000000..480ffc2
Binary files /dev/null and b/events images/copy-of-sabina-leonelli-seminar.png differ
diff --git a/events images/danchitwoodsmall-1-428032fa.jpg b/events images/danchitwoodsmall-1-428032fa.jpg
new file mode 100644
index 0000000..1662e0a
Binary files /dev/null and b/events images/danchitwoodsmall-1-428032fa.jpg differ
diff --git a/events images/designing-for-discovery-flyer-1.png b/events images/designing-for-discovery-flyer-1.png
new file mode 100644
index 0000000..44fedf6
Binary files /dev/null and b/events images/designing-for-discovery-flyer-1.png differ
diff --git a/events images/designing-for-discovery-flyer_0.png b/events images/designing-for-discovery-flyer_0.png
new file mode 100644
index 0000000..939cece
Binary files /dev/null and b/events images/designing-for-discovery-flyer_0.png differ
diff --git a/events images/elsa-ordway-banner.png b/events images/elsa-ordway-banner.png
new file mode 100644
index 0000000..603276e
Binary files /dev/null and b/events images/elsa-ordway-banner.png differ
diff --git a/events images/eugene-zhyvchik-xjy-7gtc38o-unsplash.jpg b/events images/eugene-zhyvchik-xjy-7gtc38o-unsplash.jpg
new file mode 100644
index 0000000..bad89da
Binary files /dev/null and b/events images/eugene-zhyvchik-xjy-7gtc38o-unsplash.jpg differ
diff --git a/events images/experiential-imageomics-course-caede3a0.jpg b/events images/experiential-imageomics-course-caede3a0.jpg
new file mode 100644
index 0000000..de97994
Binary files /dev/null and b/events images/experiential-imageomics-course-caede3a0.jpg differ
diff --git a/events images/face_heikki-120f8514.jpg b/events images/face_heikki-120f8514.jpg
new file mode 100644
index 0000000..28730d2
Binary files /dev/null and b/events images/face_heikki-120f8514.jpg differ
diff --git a/events images/florapalooza-flyer-1.png b/events images/florapalooza-flyer-1.png
new file mode 100644
index 0000000..d34f2e2
Binary files /dev/null and b/events images/florapalooza-flyer-1.png differ
diff --git a/events images/hastings-janna-a7a6fd31.jpg b/events images/hastings-janna-a7a6fd31.jpg
new file mode 100644
index 0000000..9d1e9fe
Binary files /dev/null and b/events images/hastings-janna-a7a6fd31.jpg differ
diff --git a/events images/hdr-2025-conference.png b/events images/hdr-2025-conference.png
new file mode 100644
index 0000000..28a775a
Binary files /dev/null and b/events images/hdr-2025-conference.png differ
diff --git a/events images/image-datapalooza.jpg b/events images/image-datapalooza.jpg
new file mode 100644
index 0000000..df43e6a
Binary files /dev/null and b/events images/image-datapalooza.jpg differ
diff --git a/events images/image4-d8469f21.png b/events images/image4-d8469f21.png
new file mode 100644
index 0000000..9d41c79
Binary files /dev/null and b/events images/image4-d8469f21.png differ
diff --git a/events images/imageomics-aaai-2025-image-84d35970.png b/events images/imageomics-aaai-2025-image-84d35970.png
new file mode 100644
index 0000000..264296b
Binary files /dev/null and b/events images/imageomics-aaai-2025-image-84d35970.png differ
diff --git a/events images/imageomics-all-hands-public-event-banner-1.png b/events images/imageomics-all-hands-public-event-banner-1.png
new file mode 100644
index 0000000..0af2697
Binary files /dev/null and b/events images/imageomics-all-hands-public-event-banner-1.png differ
diff --git a/events images/imageomics-conference-flyer.png b/events images/imageomics-conference-flyer.png
new file mode 100644
index 0000000..e2a7faa
Binary files /dev/null and b/events images/imageomics-conference-flyer.png differ
diff --git a/events images/imageomics-group-photo-all-hands-2023.jpg b/events images/imageomics-group-photo-all-hands-2023.jpg
new file mode 100644
index 0000000..b059fdf
Binary files /dev/null and b/events images/imageomics-group-photo-all-hands-2023.jpg differ
diff --git a/events images/img_6494-eae30fd9.jpg b/events images/img_6494-eae30fd9.jpg
new file mode 100644
index 0000000..7ed7ee8
Binary files /dev/null and b/events images/img_6494-eae30fd9.jpg differ
diff --git a/events images/img_7217-a709e49c.jpg b/events images/img_7217-a709e49c.jpg
new file mode 100644
index 0000000..5d6cf97
Binary files /dev/null and b/events images/img_7217-a709e49c.jpg differ
diff --git a/events images/jarzyna_pic_2-72f3d1b6.jpeg b/events images/jarzyna_pic_2-72f3d1b6.jpeg
new file mode 100644
index 0000000..cdaf442
Binary files /dev/null and b/events images/jarzyna_pic_2-72f3d1b6.jpeg differ
diff --git a/events images/jianyang-gu-headshot.jpg b/events images/jianyang-gu-headshot.jpg
new file mode 100644
index 0000000..b280ea3
Binary files /dev/null and b/events images/jianyang-gu-headshot.jpg differ
diff --git a/events images/joshua-j-cotten-ngspfabwico-unsplash-e5dc44bf.jpg b/events images/joshua-j-cotten-ngspfabwico-unsplash-e5dc44bf.jpg
new file mode 100644
index 0000000..3fa0df4
Binary files /dev/null and b/events images/joshua-j-cotten-ngspfabwico-unsplash-e5dc44bf.jpg differ
diff --git a/events images/justin-kitzes.jpg b/events images/justin-kitzes.jpg
new file mode 100644
index 0000000..d47af48
Binary files /dev/null and b/events images/justin-kitzes.jpg differ
diff --git a/events images/kakani-katija-banner-1.png b/events images/kakani-katija-banner-1.png
new file mode 100644
index 0000000..24bdeae
Binary files /dev/null and b/events images/kakani-katija-banner-1.png differ
diff --git a/events images/kelton_headshot-0ea15825.jpg b/events images/kelton_headshot-0ea15825.jpg
new file mode 100644
index 0000000..49d6e3e
Binary files /dev/null and b/events images/kelton_headshot-0ea15825.jpg differ
diff --git a/events images/maks-ovsjaniko-photo-1-f8bc53fd.jpg b/events images/maks-ovsjaniko-photo-1-f8bc53fd.jpg
new file mode 100644
index 0000000..8753e9c
Binary files /dev/null and b/events images/maks-ovsjaniko-photo-1-f8bc53fd.jpg differ
diff --git a/events images/markus-spiske-skf7hxarcoc-unsplash-89d9f633.jpg b/events images/markus-spiske-skf7hxarcoc-unsplash-89d9f633.jpg
new file mode 100644
index 0000000..ed35e91
Binary files /dev/null and b/events images/markus-spiske-skf7hxarcoc-unsplash-89d9f633.jpg differ
diff --git a/events images/mika-baumeister-swvaxolmizy-unsplash.jpg b/events images/mika-baumeister-swvaxolmizy-unsplash.jpg
new file mode 100644
index 0000000..00c09bd
Binary files /dev/null and b/events images/mika-baumeister-swvaxolmizy-unsplash.jpg differ
diff --git a/events images/murat-maga-seminar-banner-1.png b/events images/murat-maga-seminar-banner-1.png
new file mode 100644
index 0000000..ad36311
Binary files /dev/null and b/events images/murat-maga-seminar-banner-1.png differ
diff --git a/events images/murat.jpg b/events images/murat.jpg
new file mode 100644
index 0000000..d6a7e71
Binary files /dev/null and b/events images/murat.jpg differ
diff --git a/events images/nsf-distinguished-lecture-tanya-berger-wolf_0-06bb803f.jpg b/events images/nsf-distinguished-lecture-tanya-berger-wolf_0-06bb803f.jpg
new file mode 100644
index 0000000..fed4cf0
Binary files /dev/null and b/events images/nsf-distinguished-lecture-tanya-berger-wolf_0-06bb803f.jpg differ
diff --git a/events images/pb.talk_.png b/events images/pb.talk_.png
new file mode 100644
index 0000000..efd73fa
Binary files /dev/null and b/events images/pb.talk_.png differ
diff --git a/events images/pexels-andre-mouton-1207875-a557c1d0.jpg b/events images/pexels-andre-mouton-1207875-a557c1d0.jpg
new file mode 100644
index 0000000..cc04bf0
Binary files /dev/null and b/events images/pexels-andre-mouton-1207875-a557c1d0.jpg differ
diff --git a/events images/pexels-leeloo-thefirst-5428833-295617cd.jpg b/events images/pexels-leeloo-thefirst-5428833-295617cd.jpg
new file mode 100644
index 0000000..4ea5115
Binary files /dev/null and b/events images/pexels-leeloo-thefirst-5428833-295617cd.jpg differ
diff --git a/events images/pexels-magda-ehlers-2573946-eb9f8d87.jpg b/events images/pexels-magda-ehlers-2573946-eb9f8d87.jpg
new file mode 100644
index 0000000..8458979
Binary files /dev/null and b/events images/pexels-magda-ehlers-2573946-eb9f8d87.jpg differ
diff --git a/events images/pexels-mark-arron-smith-2251798-c09d4bb7.jpg b/events images/pexels-mark-arron-smith-2251798-c09d4bb7.jpg
new file mode 100644
index 0000000..9740762
Binary files /dev/null and b/events images/pexels-mark-arron-smith-2251798-c09d4bb7.jpg differ
diff --git a/events images/pexels-polina-kovaleva-5827880-1321ed04.jpg b/events images/pexels-polina-kovaleva-5827880-1321ed04.jpg
new file mode 100644
index 0000000..72b19da
Binary files /dev/null and b/events images/pexels-polina-kovaleva-5827880-1321ed04.jpg differ
diff --git a/events images/pierre_bonnet_april_14-b5afd37c.jpg b/events images/pierre_bonnet_april_14-b5afd37c.jpg
new file mode 100644
index 0000000..bd64c22
Binary files /dev/null and b/events images/pierre_bonnet_april_14-b5afd37c.jpg differ
diff --git a/events images/rangescropped_logo-c64394fc.png b/events images/rangescropped_logo-c64394fc.png
new file mode 100644
index 0000000..94481b9
Binary files /dev/null and b/events images/rangescropped_logo-c64394fc.png differ
diff --git a/events images/roberto-nickson-6pe5ib-i5-o-unsplash.jpg b/events images/roberto-nickson-6pe5ib-i5-o-unsplash.jpg
new file mode 100644
index 0000000..a32f412
Binary files /dev/null and b/events images/roberto-nickson-6pe5ib-i5-o-unsplash.jpg differ
diff --git a/events images/roman-synkevych-wx2l8l-fgea-unsplash-368fb3c4.jpg b/events images/roman-synkevych-wx2l8l-fgea-unsplash-368fb3c4.jpg
new file mode 100644
index 0000000..5146431
Binary files /dev/null and b/events images/roman-synkevych-wx2l8l-fgea-unsplash-368fb3c4.jpg differ
diff --git a/events images/rspd-artwork-ascend.sized_-83c107f1.png b/events images/rspd-artwork-ascend.sized_-83c107f1.png
new file mode 100644
index 0000000..23c6670
Binary files /dev/null and b/events images/rspd-artwork-ascend.sized_-83c107f1.png differ
diff --git a/events images/shane-rounce-dnkonxqti3c-unsplash-1ef95c8f.jpg b/events images/shane-rounce-dnkonxqti3c-unsplash-1ef95c8f.jpg
new file mode 100644
index 0000000..d8dbf5a
Binary files /dev/null and b/events images/shane-rounce-dnkonxqti3c-unsplash-1ef95c8f.jpg differ
diff --git a/events images/tiloburghardt.jpg b/events images/tiloburghardt.jpg
new file mode 100644
index 0000000..76a16e6
Binary files /dev/null and b/events images/tiloburghardt.jpg differ
diff --git a/events images/ulrik.jpg b/events images/ulrik.jpg
new file mode 100644
index 0000000..7dd20ae
Binary files /dev/null and b/events images/ulrik.jpg differ
diff --git a/events images/wynand-uys-fhocjvovj6g-unsplash-f7d1b6cc.jpg b/events images/wynand-uys-fhocjvovj6g-unsplash-f7d1b6cc.jpg
new file mode 100644
index 0000000..37147c4
Binary files /dev/null and b/events images/wynand-uys-fhocjvovj6g-unsplash-f7d1b6cc.jpg differ
diff --git a/events images/zhe_new.jpg b/events images/zhe_new.jpg
new file mode 100644
index 0000000..f343dc1
Binary files /dev/null and b/events images/zhe_new.jpg differ
diff --git a/html/about/code-of-conduct.html b/html/about/code-of-conduct.html
index 635ee3d..9064b9b 100644
--- a/html/about/code-of-conduct.html
+++ b/html/about/code-of-conduct.html
@@ -68,7 +68,7 @@
Reporting Misconduct
Document the incident.
Tell someone you trust.
- Report the incident to Sam Stevens , Diane, or Tanya.
+ Report the incident to Diane or Tanya.
Privacy will be protected to the greatest extent possible.
diff --git a/html/about/faculty-staff.html b/html/about/faculty-staff.html
index 2feeea7..f072786 100644
--- a/html/about/faculty-staff.html
+++ b/html/about/faculty-staff.html
@@ -19,7 +19,7 @@ Institute Faculty & Staff
-
+
TB
@@ -31,7 +31,7 @@
Dr. Tanya Berger-Wolf
-
+
DB
@@ -43,7 +43,7 @@
Diane Boghrat, M.Ed.
-
+
LH
@@ -55,7 +55,7 @@
Dr. Leanna House
-
+
PM
@@ -67,7 +67,7 @@
Dr. Paula Mabee
-
+
CS
@@ -79,7 +79,7 @@
Dr. Charles Stewart
-
+
JU
@@ -91,7 +91,7 @@
Dr. Josef Uyeda
-
+
YB
@@ -103,7 +103,7 @@
Dr. Yasin Bakiş
-
+
JB
@@ -115,7 +115,7 @@
Dr. Jim Balhoff
-
+
HB
@@ -127,7 +127,7 @@
Dr. Henry L. Bart Jr.
-
+
JB
@@ -139,7 +139,7 @@
John Bradley
-
+
EC
@@ -151,7 +151,7 @@
Dr. Elizabeth Campolongo
-
+
BC
@@ -163,7 +163,7 @@
Dr. Bryan Carstens
-
+
WC
@@ -175,7 +175,7 @@
Dr. Wei-Lun Chao
-
+
WD
@@ -187,7 +187,7 @@
Dr. Wasila Dahdul
-
+
BF
@@ -199,7 +199,7 @@
Dr. Brittany Fonner
-
+
AK
@@ -211,7 +211,7 @@
Dr. Anuj Karpatne
-
+
HL
@@ -223,7 +223,7 @@
Hilmar Lapp
-
+
AM
@@ -235,7 +235,7 @@
Dr. A. Murat Maga
-
+
AN
@@ -247,7 +247,7 @@
Dr. Arnab Nandi
-
+
DR
@@ -259,7 +259,7 @@
Dr. Daniel Rubenstein
-
+
YS
@@ -271,7 +271,7 @@
Dr. Yu Su
-
+
MT
@@ -283,7 +283,7 @@
Dr. Matthew Thompson
-
+
NZ
diff --git a/html/about/imageomics-in-the-news.html b/html/about/imageomics-in-the-news.html
index 646d70a..4fa6f0c 100644
--- a/html/about/imageomics-in-the-news.html
+++ b/html/about/imageomics-in-the-news.html
@@ -10,7 +10,122 @@
-
+
+
+ Imageomics In the News
+ A running archive of places where Imageomics work has surfaced, from research features and interviews to public conversations about AI, biology, and conservation.
+
+
+
+
+ 2026
+ 2025
+ 2024
+ 2023
+ 2022
+ 2021
+
+
+
+
+
+ 2025
+
+ November 20, 2025 The Largest Digital Zoo: Biology Model Trained on NVIDIA GPUs Identifies Over a Million Species. Nvidia
+ August 23, 2025 Studying collective animal behaviour with drones and computer vision. British Ecological Society
+ May 29, 2025 BioCLIP 2: Emergent Properties from Scaling Hierarchical Contrastive Learning. arXiv.org
+ April 22, 2025 How AI is reshaping wildlife conservation - for better or worse. The Verge
+ April 14, 2025 How a new drone system may transform next-gen ecology research. Phys.org
+ April 11, 2025 How a new drone system may transform next-gen ecology research. Ohio State News
+ March 9, 2025 Finer-CAM: Spotting the difference Reveals Finer Details for Visual Explanation. The Computer Vision Foundation
+ February 26, 2025 Can we afford the environmental cost of AI? Thinking Landscape
+ February 20, 2025 Harnessing artificial intelligence to fill global shortfalls in biodiversity knowledge. Nature Reviews Biodiversity
+ February 19, 2025 Science Spotlight with Tanya Berger-Wolf. Food for Health at OSU
+ February 5, 2025 Fine-tuning is Fine, if Calibrated. NeurIPS Proceedings
+ January 29, 2025 Challenges and solutions for ecologists adopting AI. ecoevorxiv
+ January 27, 2025 External Science Advisory Council. The Nature Conservancy
+
+
+
+
+ 2024
+
+ December 27, 2024 Imageomics: Latest News Updates and Information. Disable World
+ August 8, 2024 A New Frontier of Biological Information Powered by Knowledge-Guided Machine Learning. National Science Foundation
+ August 7, 2024 Seeing Beyond Human Sight: Imageomics, which extracts information from images, is revolutionizing biological discovery. Communications of the ACM
+ July 20, 2024 AI for Nature: From Science to Impact. The Sopris Sun
+ June 26, 2024 Imageomics: A New Comrade for Biology - Science in Update. Generasi Peneliti YouTube Channel
+ June 6, 2024 BIO-CISE Distinguished Lecture: Tanya Berger-Wolf. NSF
+ April 22, 2024 A FAIR and modular image-based workflow for knowledge discovery in the emerging field of imageomics. British Ecological Society
+ April 22, 2024 New research works to improve image classification and analysis. Tech Xplore
+ April 22, 2024 Imageomics applies AI and vision advancements to biological questions. Photonics Spectra
+ April 11, 2024 How Forbes Compiled The 2024 AI 50 List (Tanya Berger-Wolf mention). Forbes.com
+ March 27, 2024 Imageomics: ML for Biological Knowledge Discovery. NSF Research Infrastructure Outreach
+ March 27, 2024 AI for Wildlife Conservation and Imageomics with Dr. Tanya Berger-Wolf. Women in Analytics Podcast
+ March 16, 2024 L'IA rend l'invisible visible: l'imageomique ou la reconnaissance faciale au service des especes. le Parisien
+ March 13, 2024 AI image detection gives butterfly biology a boost. Cleveland.com
+ March 13, 2024 Revolutionizing Biology with Imageomics: A confluence of Machine Learning and Computer Vision. Toolpilot
+ March 7, 2024 The role of machine learning and computer vision in Imageomics. Science Daily
+ February 20, 2024 Revolutionizing Biology: How Imageomics Transforms Our View of Genetics. SciTech Daily
+ February 19, 2024 Unveiling the Mysteries of Life with Imageomics. AZO Life Sciences
+ February 18, 2024 Imageomics: AI and biology merge to help us understand life on Earth. Earth.com
+ February 17, 2024 Imageomics: Images as the Source of Information About Life. AAAS Annual Meeting
+ February 17, 2024 ISCB Conference Keynote Video. ISCB
+ February 17, 2024 Imageomics poised to enable new understanding of life. Ohio State News
+ February 14, 2024 10 Future Uses for Drones. Ohio State College of Engineering
+ February 13, 2024 New AI tool helps leverage database of 10 million biology images. Ohio State News
+ February 1, 2024 Using Photos for Science [Imageomics]. National Science Foundation News Podcast
+
+
+
+
+
+
+ 2022
+
+ December 7, 2022 Imageomics - A New Field of Science at the Crossroads of Biology and Machine Learning. National Academies.org
+ October 30, 2022 Interview with Tanya Berger-Wolf. Nightline Africa, VOA News
+ September 28, 2022 Tourists' Vacation Photos Can Help Researchers Track Endangered Species. EcoWatch
+ September 21, 2022 AI for Wildlife Conservation and Imageomics with Dr. Tanya Berger-Wolf. Women in Analytics
+ August 26, 2022 A new field of science for global biodiversity. Ohio State Impact
+ May 13, 2022 Exploring Nature Through Imageomics with Professor Tanya Berger-Wolf. Midwest Big Data Hub
+ April 20, 2022 Wildlife Photos Are a New Treasure Trove for AI-Driven Conservation Research. Computers can see details that humans can't. The Verge
+ March 8, 2022 Scientists partner on multi-university grant to establish a field of imageomics. Virginia Tech News
+ February 21, 2022 Vacation Photos of Zebras, Whales and Other Animals Can Help Scientists' Conservation Efforts, Fight Wildlife Extinction. The Science Times
+ February 20, 2022 Vacation photos can help save endangered animals. earth.com
+ February 20, 2022 How vacation photos of zebras and whales can help conservation. Phys.org
+ February 10, 2022 Twitter takeover featuring Tanya Berger-Wolf. @NSF
+
+
+
+
+
+