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

  1. Document the incident.
  2. Tell someone you trust.
  3. -
  4. Report the incident to Sam Stevens, Diane, or Tanya.
  5. +
  6. 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

- +
@@ -31,7 +31,7 @@

Dr. Tanya Berger-Wolf

- +
@@ -43,7 +43,7 @@

Diane Boghrat, M.Ed.

- +
@@ -55,7 +55,7 @@

Dr. Leanna House

- +
@@ -67,7 +67,7 @@

Dr. Paula Mabee

- +
@@ -79,7 +79,7 @@

Dr. Charles Stewart

- +
@@ -91,7 +91,7 @@

Dr. Josef Uyeda

- +
@@ -103,7 +103,7 @@

Dr. Yasin Bakiş

- +
@@ -115,7 +115,7 @@

Dr. Jim Balhoff

- +
@@ -127,7 +127,7 @@

Dr. Henry L. Bart Jr.

- +
@@ -139,7 +139,7 @@

John Bradley

- +
@@ -151,7 +151,7 @@

Dr. Elizabeth Campolongo

- +
@@ -163,7 +163,7 @@

Dr. Bryan Carstens

- +
@@ -175,7 +175,7 @@

Dr. Wei-Lun Chao

- +
@@ -187,7 +187,7 @@

Dr. Wasila Dahdul

- +
@@ -199,7 +199,7 @@

Dr. Brittany Fonner

- +
@@ -211,7 +211,7 @@

Dr. Anuj Karpatne

- +
@@ -223,7 +223,7 @@

Hilmar Lapp

- +
@@ -235,7 +235,7 @@

Dr. A. Murat Maga

- +
@@ -247,7 +247,7 @@

Dr. Arnab Nandi

- +
@@ -259,7 +259,7 @@

Dr. Daniel Rubenstein

- +
@@ -271,7 +271,7 @@

Dr. Yu Su

- +
@@ -283,7 +283,7 @@

Dr. Matthew Thompson

- +
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

+ +
+
+
diff --git a/html/about/vision.html b/html/about/vision.html index ada3827..c31a582 100644 --- a/html/about/vision.html +++ b/html/about/vision.html @@ -10,7 +10,80 @@
-
+
+
+

The Vision of the Imageomics Institute

+

Imageomics establishes a new scientific field that uses biological images, data science, computing, and machine learning to accelerate discovery across the living world.

+
+ +
+
+ +
+ +
+
+
+

About the Imageomics Institute

+

NSF OAC-2118240

+
+ +
+

Mission

+

Creating a collaborative research, training, and community-facing environment for extracting existing and new biological traits from images of organisms, with the necessary infrastructure for cyber, information, and model development.

+

The Institute will advance Imageomics-enabled biology, accelerate innovations in machine learning, and create digital resources for researchers and practitioners in biology, data science, and machine learning, as well as the broader scientific community.

+

It will further interdisciplinary training and education, and engage the broader public in the scientific process. Accomplishing these tasks will provide unique insights and enable biological discovery over a wide range of informative organismal attributes, some not yet comprehended or studied, and across multiple scales of biological organization from individuals to species.

+
+ +
+

Vision

+

To establish a new scientific field called imageomics that harnesses revolutions in data science and computing, as well as the rapidly expanding collections of biological image data, in order to accelerate biological understanding of phenotypic traits extracted from images of organisms.

+

The Imageomics Institute will make the study of the interrelationships, associations, and dynamics of traits computable by using the existing structured biological knowledge to inform the computational methods.

+

It will develop integrated, interdisciplinary approaches to advance the state of the art in knowledge-guided machine learning while rapidly accelerating biological discovery and public engagement in science, forming a virtuous cycle.

+
+ +
+

Contributions

+
    +
  • Digital resources for the scientific community and practitioners in biology, data science, and machine learning.
  • +
  • Advancements in Imageomics-enabled biology.
  • +
  • Innovations in machine learning.
  • +
  • Advancements in interdisciplinary training and education.
  • +
  • Engagement of the broader public in the scientific process by leveraging images as the source of data to democratize science.
  • +
+
+
+ + +
+ +
+

Technical Abstract

+

The traits that characterize living organisms, in particular their morphology, physiology, behavior and genetic make-up, enable them to cope with forces of the physical as well as the biological and social environments that impinge on them. Moreover, since function follows form, traits provide the raw material upon which natural selection operates, thus shaping evolutionary trajectories and the history of life.

+

Interestingly, most living organisms, from microscopic microbes to charismatic megafauna, reveal themselves visually and are routinely captured in copious images taken by humans from all walks of life. The resulting massive amount of image data has the potential to further our understanding of how multifaceted traits of organisms shape the behavior of individuals, collectives, populations, and the ecological communities they live in, as well as the evolutionary trajectories of the species they comprise.

+

Images are increasingly the currency for documenting the details of life on the planet, and yet traits of organisms, known or novel, cannot be readily extracted from them. Just like with genomic data two decades ago, our ability to collect data at the moment far outstrips our ability to extract biological insight from it.

+

The Institute will establish a new field of Imageomics, in which biologists utilize machine learning algorithms to analyze vast stores of existing image data, especially publicly funded digital collections from national centers, field stations, museums and individual laboratories, to characterize patterns and gain novel insights on how function follows form in all areas of biology to expand our understanding of the rules of life on Earth and how it evolves.

+

This Institute will introduce structured knowledge from the biological sciences to guide and structure machine learning algorithms to enable biological trait discovery from images, establishing the field of Imageomics. With images captured and annotated by scientists and the public serving as the basis for the work, the Institute's convergent approach uses structured biological knowledge to provide scientifically validated inductive biases and rich supervision for machine learning, and machine learning will in turn enrich the body of biological knowledge.

+

The resulting models and tools will help make what was hidden visible, so that scientists from a wide range of biological communities can discover and infer the traits of organisms; assess shared similarities and differences between individuals, populations and species; and come to see the world in new ways.

+

Imageomics will accelerate and transform the biomedical, agricultural and basic biological sciences as they seek to understand and control genes that relate to particular phenotypes and enable an overarching understanding of how the genome evolved in tandem with the organismal phenome. Because traits are the essential links between genes and the environment, using machine learning to help characterize them will lead to emergent understandings of how they function.

+

Harnessing the insights that arise from these new visualizations will stimulate the use of new genetic technologies, such as CRISPR, and more nuanced ecological practices, such as modified land use schemes that emerge from better understanding the connections between individual decision-making within species and their impact on their population dynamics.

+

With the emergence of new and better targeted practices that generate fewer unintended consequences, the new linkages resulting from a better understanding of traits and their consequences will bolster the nation's bioeconomy. In addition, by leveraging and expanding existing diverse, inclusive and intellectually wide-ranging collaborative networks, the Institute will also educate the next generation of scientists and engage the broader public in scientific inquiry and knowledge discovery so that Imageomics can transform and democratize science for public good.

+
+
+
diff --git a/html/components/footer.html b/html/components/footer.html index 827397c..2927ad5 100644 --- a/html/components/footer.html +++ b/html/components/footer.html @@ -1,18 +1,16 @@ diff --git a/html/components/header.html b/html/components/header.html index 707e461..8abf0de 100644 --- a/html/components/header.html +++ b/html/components/header.html @@ -7,63 +7,82 @@