From 4bf85a13b8fcfdaf9617d98838d06a9db9a00ac5 Mon Sep 17 00:00:00 2001 From: "Ozzy (AI Assistant)" Date: Mon, 27 Jul 2026 18:22:38 +0000 Subject: [PATCH 01/22] Initial commit: Miami Alumni Chicagoland Business Directory A single-page static site listing 11 alumni-owned businesses in the Chicagoland area, built with Miami University (OH) red/white color scheme. Responsive grid layout with search and industry filters. --- index.html | 273 ++++++++++++++++++++++++++++++++++++++ style.css | 376 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 649 insertions(+) create mode 100644 index.html create mode 100644 style.css diff --git a/index.html b/index.html new file mode 100644 index 0000000..238d172 --- /dev/null +++ b/index.html @@ -0,0 +1,273 @@ + + + + + + Miami Alumni Chicagoland Business Directory + + + + + + + + + + + + + + + + +
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/style.css b/style.css new file mode 100644 index 0000000..7b35e3c --- /dev/null +++ b/style.css @@ -0,0 +1,376 @@ +/* ===== Miami University (OH) Alumni Business Directory ===== */ +/* Color scheme: Miami Red #C41E3A, White, Cream background */ + +:root { + --miami-red: #C41E3A; + --miami-red-dark: #9E182E; + --miami-red-light: #E84C65; + --white: #FFFFFF; + --cream: #F8F5F0; + --light-gray: #EAE7E0; + --medium-gray: #8A8580; + --dark-gray: #3A3530; + --text: #2A2520; + --shadow: 0 2px 12px rgba(0, 0, 0, 0.08); + --shadow-hover: 0 6px 24px rgba(196, 30, 58, 0.12); + --radius: 12px; + --max-width: 1280px; +} + +*, *::before, *::after { + box-sizing: border-box; + margin: 0; + padding: 0; +} + +html { + scroll-behavior: smooth; +} + +body { + font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; + background-color: var(--cream); + color: var(--text); + line-height: 1.6; + min-height: 100vh; +} + +/* ===== Header ===== */ +.site-header { + background: linear-gradient(135deg, var(--miami-red) 0%, var(--miami-red-dark) 100%); + color: var(--white); + padding: 3rem 1.5rem 2.5rem; + text-align: center; + position: relative; + overflow: hidden; +} + +.site-header::before { + content: ''; + position: absolute; + top: -50%; + left: -50%; + width: 200%; + height: 200%; + background: radial-gradient(circle at 30% 50%, rgba(255,255,255,0.05) 0%, transparent 50%); + pointer-events: none; +} + +.site-header h1 { + font-size: 2.25rem; + font-weight: 700; + letter-spacing: -0.02em; + margin-bottom: 0.5rem; + position: relative; +} + +.site-header .subtitle { + font-size: 1.1rem; + opacity: 0.9; + font-weight: 400; + position: relative; +} + +.site-header .miami-badge { + display: inline-block; + margin-top: 1rem; + padding: 0.35rem 1.25rem; + border: 2px solid rgba(255,255,255,0.35); + border-radius: 100px; + font-size: 0.85rem; + font-weight: 600; + letter-spacing: 0.05em; + text-transform: uppercase; + position: relative; +} + +/* ===== Navigation / Filters ===== */ +.filter-bar { + background: var(--white); + border-bottom: 1px solid var(--light-gray); + padding: 1rem 1.5rem; + position: sticky; + top: 0; + z-index: 100; +} + +.filter-bar-inner { + max-width: var(--max-width); + margin: 0 auto; + display: flex; + align-items: center; + justify-content: space-between; + gap: 1rem; + flex-wrap: wrap; +} + +.filter-bar .stats { + font-size: 0.9rem; + color: var(--medium-gray); + font-weight: 500; +} + +.filter-bar .stats strong { + color: var(--miami-red); +} + +.filter-bar .search-wrapper { + flex: 1; + max-width: 400px; + min-width: 200px; +} + +.filter-bar input[type="text"] { + width: 100%; + padding: 0.6rem 1rem 0.6rem 2.5rem; + border: 2px solid var(--light-gray); + border-radius: 8px; + font-size: 0.9rem; + font-family: inherit; + background: var(--cream) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238A8580' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") 0.8rem center no-repeat; + transition: border-color 0.2s; +} + +.filter-bar input[type="text"]:focus { + outline: none; + border-color: var(--miami-red); + background-color: var(--white); +} + +.filter-bar .industry-filters { + display: flex; + gap: 0.4rem; + flex-wrap: wrap; +} + +.filter-bar .industry-btn { + padding: 0.4rem 0.8rem; + border: 1.5px solid var(--light-gray); + border-radius: 6px; + background: var(--white); + font-size: 0.78rem; + font-family: inherit; + font-weight: 500; + color: var(--medium-gray); + cursor: pointer; + transition: all 0.15s; +} + +.filter-bar .industry-btn:hover { + border-color: var(--miami-red-light); + color: var(--miami-red); +} + +.filter-bar .industry-btn.active { + background: var(--miami-red); + border-color: var(--miami-red); + color: var(--white); +} + +/* ===== Main Content ===== */ +main { + max-width: var(--max-width); + margin: 0 auto; + padding: 2rem 1.5rem 4rem; +} + +.directory-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)); + gap: 1.5rem; +} + +/* ===== Business Card ===== */ +.business-card { + background: var(--white); + border-radius: var(--radius); + box-shadow: var(--shadow); + transition: transform 0.2s ease, box-shadow 0.2s ease; + overflow: hidden; + display: flex; + flex-direction: column; +} + +.business-card:hover { + transform: translateY(-3px); + box-shadow: var(--shadow-hover); +} + +.card-accent { + height: 4px; + background: linear-gradient(90deg, var(--miami-red), var(--miami-red-light)); +} + +.card-body { + padding: 1.5rem; + flex: 1; + display: flex; + flex-direction: column; +} + +.card-company { + font-size: 1.2rem; + font-weight: 700; + color: var(--dark-gray); + margin-bottom: 0.3rem; + line-height: 1.3; +} + +.card-alumni { + font-size: 0.9rem; + color: var(--miami-red); + font-weight: 600; + margin-bottom: 0.75rem; + display: flex; + align-items: center; + gap: 0.4rem; +} + +.card-alumni::before { + content: 'πŸŽ“'; + font-size: 0.85rem; +} + +.card-tags { + display: flex; + gap: 0.4rem; + margin-bottom: 0.75rem; + flex-wrap: wrap; +} + +.card-tag { + display: inline-block; + padding: 0.2rem 0.6rem; + border-radius: 4px; + font-size: 0.75rem; + font-weight: 600; + letter-spacing: 0.02em; +} + +.card-tag.industry { + background: #FFF0F2; + color: var(--miami-red); +} + +.card-tag.location { + background: #EDE9E2; + color: #6B655E; +} + +.card-description { + font-size: 0.9rem; + color: #5A5550; + line-height: 1.55; + margin-bottom: 1rem; + flex: 1; +} + +.card-contact { + border-top: 1px solid var(--light-gray); + padding-top: 0.85rem; + margin-top: auto; +} + +.card-contact .contact-item { + display: flex; + align-items: center; + gap: 0.5rem; + font-size: 0.85rem; + color: var(--medium-gray); + margin-bottom: 0.3rem; +} + +.card-contact .contact-item:last-child { + margin-bottom: 0; +} + +.card-contact a { + color: var(--miami-red); + text-decoration: none; + font-weight: 500; + transition: color 0.15s; +} + +.card-contact a:hover { + color: var(--miami-red-dark); + text-decoration: underline; +} + +/* ===== Empty State ===== */ +.no-results { + grid-column: 1 / -1; + text-align: center; + padding: 3rem; + color: var(--medium-gray); +} + +.no-results h3 { + font-size: 1.2rem; + margin-bottom: 0.5rem; + color: var(--dark-gray); +} + +/* ===== Footer ===== */ +.site-footer { + background: var(--dark-gray); + color: rgba(255,255,255,0.7); + text-align: center; + padding: 2rem 1.5rem; + font-size: 0.85rem; + line-height: 1.8; +} + +.site-footer a { + color: var(--miami-red-light); + text-decoration: none; +} + +.site-footer a:hover { + text-decoration: underline; +} + +.site-footer .footer-love { + margin-top: 0.5rem; + font-size: 0.8rem; + opacity: 0.6; +} + +/* ===== Responsive ===== */ +@media (max-width: 768px) { + .site-header h1 { + font-size: 1.6rem; + } + .site-header { + padding: 2rem 1rem 1.75rem; + } + .directory-grid { + grid-template-columns: 1fr; + gap: 1rem; + } + .filter-bar-inner { + flex-direction: column; + align-items: stretch; + } + .filter-bar .search-wrapper { + max-width: none; + } + .filter-bar .industry-filters { + justify-content: center; + } + main { + padding: 1rem 1rem 3rem; + } +} + +@media (min-width: 769px) and (max-width: 1024px) { + .directory-grid { + grid-template-columns: repeat(2, 1fr); + } +} + +/* Print styles */ +@media print { + .filter-bar { display: none; } + .business-card { break-inside: avoid; box-shadow: none; border: 1px solid #ccc; } + .site-header { break-after: avoid; padding: 1rem; } +} \ No newline at end of file From 31cbf14572c0535f2253d3c2d4073a6e7b26b79b Mon Sep 17 00:00:00 2001 From: "Ozzy (AI Assistant)" Date: Mon, 27 Jul 2026 18:28:29 +0000 Subject: [PATCH 02/22] Add GitHub Pages deployment workflow --- .github/workflows/pages.yml | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .github/workflows/pages.yml diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml new file mode 100644 index 0000000..3a02e30 --- /dev/null +++ b/.github/workflows/pages.yml @@ -0,0 +1,35 @@ +name: Deploy to GitHub Pages + +on: + push: + branches: ["main"] + + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup Pages + uses: actions/configure-pages@v5 + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: '.' + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 From c9058340c559dac47e7fb7d2eb33984342a92022 Mon Sep 17 00:00:00 2001 From: "Ozzy (AI Assistant)" Date: Mon, 27 Jul 2026 18:28:36 +0000 Subject: [PATCH 03/22] Add .nojekyll to prevent Jekyll processing --- .nojekyll | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 .nojekyll diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 From eba27377477c6fe3ec329f9a7764a25d42c9413b Mon Sep 17 00:00:00 2001 From: "Ozzy (AI Assistant)" Date: Mon, 27 Jul 2026 18:30:25 +0000 Subject: [PATCH 04/22] Fix: add enablement: true to configure-pages action --- .github/workflows/pages.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index 3a02e30..97e6aaa 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -26,6 +26,8 @@ jobs: uses: actions/checkout@v4 - name: Setup Pages uses: actions/configure-pages@v5 + with: + enablement: true - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: From 85d0536a908613bf28e4b2d770dc4b0139cfa1fd Mon Sep 17 00:00:00 2001 From: "Ozzy (AI Assistant)" Date: Mon, 27 Jul 2026 18:33:56 +0000 Subject: [PATCH 05/22] Deploy to gh-pages --- .nojekyll | 0 index.html | 273 ++++++++++++++++++++++++++++++++++++++ style.css | 376 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 649 insertions(+) create mode 100644 .nojekyll create mode 100644 index.html create mode 100644 style.css diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/index.html b/index.html new file mode 100644 index 0000000..238d172 --- /dev/null +++ b/index.html @@ -0,0 +1,273 @@ + + + + + + Miami Alumni Chicagoland Business Directory + + + + + + + + + + + + + + + + +
+
+
+ + +
+
Miami University Alumni Chicagoland Chapter
+ + +
+ + + + + + \ No newline at end of file diff --git a/style.css b/style.css new file mode 100644 index 0000000..7b35e3c --- /dev/null +++ b/style.css @@ -0,0 +1,376 @@ +/* ===== Miami University (OH) Alumni Business Directory ===== */ +/* Color scheme: Miami Red #C41E3A, White, Cream background */ + +:root { + --miami-red: #C41E3A; + --miami-red-dark: #9E182E; + --miami-red-light: #E84C65; + --white: #FFFFFF; + --cream: #F8F5F0; + --light-gray: #EAE7E0; + --medium-gray: #8A8580; + --dark-gray: #3A3530; + --text: #2A2520; + --shadow: 0 2px 12px rgba(0, 0, 0, 0.08); + --shadow-hover: 0 6px 24px rgba(196, 30, 58, 0.12); + --radius: 12px; + --max-width: 1280px; +} + +*, *::before, *::after { + box-sizing: border-box; + margin: 0; + padding: 0; +} + +html { + scroll-behavior: smooth; +} + +body { + font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; + background-color: var(--cream); + color: var(--text); + line-height: 1.6; + min-height: 100vh; +} + +/* ===== Header ===== */ +.site-header { + background: linear-gradient(135deg, var(--miami-red) 0%, var(--miami-red-dark) 100%); + color: var(--white); + padding: 3rem 1.5rem 2.5rem; + text-align: center; + position: relative; + overflow: hidden; +} + +.site-header::before { + content: ''; + position: absolute; + top: -50%; + left: -50%; + width: 200%; + height: 200%; + background: radial-gradient(circle at 30% 50%, rgba(255,255,255,0.05) 0%, transparent 50%); + pointer-events: none; +} + +.site-header h1 { + font-size: 2.25rem; + font-weight: 700; + letter-spacing: -0.02em; + margin-bottom: 0.5rem; + position: relative; +} + +.site-header .subtitle { + font-size: 1.1rem; + opacity: 0.9; + font-weight: 400; + position: relative; +} + +.site-header .miami-badge { + display: inline-block; + margin-top: 1rem; + padding: 0.35rem 1.25rem; + border: 2px solid rgba(255,255,255,0.35); + border-radius: 100px; + font-size: 0.85rem; + font-weight: 600; + letter-spacing: 0.05em; + text-transform: uppercase; + position: relative; +} + +/* ===== Navigation / Filters ===== */ +.filter-bar { + background: var(--white); + border-bottom: 1px solid var(--light-gray); + padding: 1rem 1.5rem; + position: sticky; + top: 0; + z-index: 100; +} + +.filter-bar-inner { + max-width: var(--max-width); + margin: 0 auto; + display: flex; + align-items: center; + justify-content: space-between; + gap: 1rem; + flex-wrap: wrap; +} + +.filter-bar .stats { + font-size: 0.9rem; + color: var(--medium-gray); + font-weight: 500; +} + +.filter-bar .stats strong { + color: var(--miami-red); +} + +.filter-bar .search-wrapper { + flex: 1; + max-width: 400px; + min-width: 200px; +} + +.filter-bar input[type="text"] { + width: 100%; + padding: 0.6rem 1rem 0.6rem 2.5rem; + border: 2px solid var(--light-gray); + border-radius: 8px; + font-size: 0.9rem; + font-family: inherit; + background: var(--cream) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238A8580' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") 0.8rem center no-repeat; + transition: border-color 0.2s; +} + +.filter-bar input[type="text"]:focus { + outline: none; + border-color: var(--miami-red); + background-color: var(--white); +} + +.filter-bar .industry-filters { + display: flex; + gap: 0.4rem; + flex-wrap: wrap; +} + +.filter-bar .industry-btn { + padding: 0.4rem 0.8rem; + border: 1.5px solid var(--light-gray); + border-radius: 6px; + background: var(--white); + font-size: 0.78rem; + font-family: inherit; + font-weight: 500; + color: var(--medium-gray); + cursor: pointer; + transition: all 0.15s; +} + +.filter-bar .industry-btn:hover { + border-color: var(--miami-red-light); + color: var(--miami-red); +} + +.filter-bar .industry-btn.active { + background: var(--miami-red); + border-color: var(--miami-red); + color: var(--white); +} + +/* ===== Main Content ===== */ +main { + max-width: var(--max-width); + margin: 0 auto; + padding: 2rem 1.5rem 4rem; +} + +.directory-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)); + gap: 1.5rem; +} + +/* ===== Business Card ===== */ +.business-card { + background: var(--white); + border-radius: var(--radius); + box-shadow: var(--shadow); + transition: transform 0.2s ease, box-shadow 0.2s ease; + overflow: hidden; + display: flex; + flex-direction: column; +} + +.business-card:hover { + transform: translateY(-3px); + box-shadow: var(--shadow-hover); +} + +.card-accent { + height: 4px; + background: linear-gradient(90deg, var(--miami-red), var(--miami-red-light)); +} + +.card-body { + padding: 1.5rem; + flex: 1; + display: flex; + flex-direction: column; +} + +.card-company { + font-size: 1.2rem; + font-weight: 700; + color: var(--dark-gray); + margin-bottom: 0.3rem; + line-height: 1.3; +} + +.card-alumni { + font-size: 0.9rem; + color: var(--miami-red); + font-weight: 600; + margin-bottom: 0.75rem; + display: flex; + align-items: center; + gap: 0.4rem; +} + +.card-alumni::before { + content: 'πŸŽ“'; + font-size: 0.85rem; +} + +.card-tags { + display: flex; + gap: 0.4rem; + margin-bottom: 0.75rem; + flex-wrap: wrap; +} + +.card-tag { + display: inline-block; + padding: 0.2rem 0.6rem; + border-radius: 4px; + font-size: 0.75rem; + font-weight: 600; + letter-spacing: 0.02em; +} + +.card-tag.industry { + background: #FFF0F2; + color: var(--miami-red); +} + +.card-tag.location { + background: #EDE9E2; + color: #6B655E; +} + +.card-description { + font-size: 0.9rem; + color: #5A5550; + line-height: 1.55; + margin-bottom: 1rem; + flex: 1; +} + +.card-contact { + border-top: 1px solid var(--light-gray); + padding-top: 0.85rem; + margin-top: auto; +} + +.card-contact .contact-item { + display: flex; + align-items: center; + gap: 0.5rem; + font-size: 0.85rem; + color: var(--medium-gray); + margin-bottom: 0.3rem; +} + +.card-contact .contact-item:last-child { + margin-bottom: 0; +} + +.card-contact a { + color: var(--miami-red); + text-decoration: none; + font-weight: 500; + transition: color 0.15s; +} + +.card-contact a:hover { + color: var(--miami-red-dark); + text-decoration: underline; +} + +/* ===== Empty State ===== */ +.no-results { + grid-column: 1 / -1; + text-align: center; + padding: 3rem; + color: var(--medium-gray); +} + +.no-results h3 { + font-size: 1.2rem; + margin-bottom: 0.5rem; + color: var(--dark-gray); +} + +/* ===== Footer ===== */ +.site-footer { + background: var(--dark-gray); + color: rgba(255,255,255,0.7); + text-align: center; + padding: 2rem 1.5rem; + font-size: 0.85rem; + line-height: 1.8; +} + +.site-footer a { + color: var(--miami-red-light); + text-decoration: none; +} + +.site-footer a:hover { + text-decoration: underline; +} + +.site-footer .footer-love { + margin-top: 0.5rem; + font-size: 0.8rem; + opacity: 0.6; +} + +/* ===== Responsive ===== */ +@media (max-width: 768px) { + .site-header h1 { + font-size: 1.6rem; + } + .site-header { + padding: 2rem 1rem 1.75rem; + } + .directory-grid { + grid-template-columns: 1fr; + gap: 1rem; + } + .filter-bar-inner { + flex-direction: column; + align-items: stretch; + } + .filter-bar .search-wrapper { + max-width: none; + } + .filter-bar .industry-filters { + justify-content: center; + } + main { + padding: 1rem 1rem 3rem; + } +} + +@media (min-width: 769px) and (max-width: 1024px) { + .directory-grid { + grid-template-columns: repeat(2, 1fr); + } +} + +/* Print styles */ +@media print { + .filter-bar { display: none; } + .business-card { break-inside: avoid; box-shadow: none; border: 1px solid #ccc; } + .site-header { break-after: avoid; padding: 1rem; } +} \ No newline at end of file From d2b4dcc572fdd07f6e8034849f8286194f133873 Mon Sep 17 00:00:00 2001 From: "Ozzy (AI Assistant)" Date: Mon, 27 Jul 2026 18:34:06 +0000 Subject: [PATCH 06/22] Try enabling pages via gh api in workflow --- .github/workflows/pages.yml | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index 97e6aaa..e446dc3 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -3,7 +3,6 @@ name: Deploy to GitHub Pages on: push: branches: ["main"] - workflow_dispatch: permissions: @@ -24,14 +23,24 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 - - name: Setup Pages - uses: actions/configure-pages@v5 - with: - enablement: true + + - name: Download gh + run: | + curl -sL "https://github.com/cli/cli/releases/download/v2.63.2/gh_2.63.2_linux_amd64.tar.gz" -o /tmp/gh.tar.gz + tar -xzf /tmp/gh.tar.gz -C /tmp/ + + - name: Enable Pages via API + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + /tmp/gh_2.63.2_linux_amd64/bin/gh api --method POST repos/${{ github.repository }}/pages \ + --field source[branch]=main --field source[path]='/' || echo "Create failed, trying update..." + - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: path: '.' + - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4 From 61eb84d38e114df097da4a534c33de26eb2d672b Mon Sep 17 00:00:00 2001 From: "Ozzy (AI Assistant)" Date: Mon, 27 Jul 2026 18:42:44 +0000 Subject: [PATCH 07/22] Header: single line; subtitle: Chicagoland area --- index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 238d172..cb0e895 100644 --- a/index.html +++ b/index.html @@ -15,8 +15,8 @@ From a28acf7c139b4e517b05843e3dd6d86eccb53e67 Mon Sep 17 00:00:00 2001 From: "Ozzy (AI Assistant)" Date: Mon, 27 Jul 2026 18:44:31 +0000 Subject: [PATCH 08/22] Collapsible industry filter on mobile --- index.html | 14 +++++++++++- style.css | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 78 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index cb0e895..254c10b 100644 --- a/index.html +++ b/index.html @@ -29,6 +29,11 @@
+
@@ -267,7 +272,14 @@ // ─── Initial Render ─────────────────────────────────────────────── render(); - + +function toggleFilters() { + const container = document.getElementById('industryFilters'); + const toggle = document.getElementById('filterToggle'); + const isOpen = toggle.getAttribute('aria-expanded') === 'true'; + container.classList.toggle('collapsed', isOpen); + toggle.setAttribute('aria-expanded', !isOpen); +} \ No newline at end of file diff --git a/style.css b/style.css index 7b35e3c..0dce550 100644 --- a/style.css +++ b/style.css @@ -373,4 +373,68 @@ main { .filter-bar { display: none; } .business-card { break-inside: avoid; box-shadow: none; border: 1px solid #ccc; } .site-header { break-after: avoid; padding: 1rem; } -} \ No newline at end of file +} + +/* ===== Industry Filter Toggle (Mobile) ===== */ +.filter-toggle { + display: none; + align-items: center; + gap: 0.5rem; + padding: 0.5rem 0.8rem; + border: 1.5px solid var(--light-gray); + border-radius: 6px; + background: var(--white); + font-size: 0.85rem; + font-family: inherit; + font-weight: 600; + color: var(--dark-gray); + cursor: pointer; + transition: all 0.15s; + width: 100%; + justify-content: space-between; +} + +.filter-toggle:hover { + border-color: var(--miami-red-light); +} + +.filter-toggle-badge { + background: var(--miami-red); + color: var(--white); + font-size: 0.7rem; + padding: 0.15rem 0.5rem; + border-radius: 100px; + font-weight: 600; +} + +.filter-toggle-arrow { + transition: transform 0.2s; + color: var(--medium-gray); +} + +.filter-toggle[aria-expanded="true"] .filter-toggle-arrow { + transform: rotate(180deg); +} + +/* Only show toggle and hide filters behind it on mobile */ +@media (max-width: 768px) { + .filter-toggle { + display: flex; + } + .industry-filters { + display: flex !important; + max-height: 500px; + overflow: hidden; + transition: max-height 0.25s ease, opacity 0.2s ease, margin 0.2s ease; + opacity: 1; + margin-top: 0.5rem; + } + .industry-filters.collapsed { + max-height: 0 !important; + opacity: 0; + margin-top: 0; + padding-top: 0; + padding-bottom: 0; + overflow: hidden; + } +} From d14148781fd773888a8eeeacc0112148c5035923 Mon Sep 17 00:00:00 2001 From: "Ozzy (AI Assistant)" Date: Mon, 27 Jul 2026 18:46:41 +0000 Subject: [PATCH 09/22] Fix industry filter badge and event isolation --- index.html | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/index.html b/index.html index 254c10b..d47cee8 100644 --- a/index.html +++ b/index.html @@ -268,10 +268,16 @@ btn.classList.add('active'); activeFilter = btn.dataset.filter; render(); + // Update the filter toggle badge + const badge = document.getElementById('filterBadge'); + if (badge) badge.textContent = btn.textContent; }); // ─── Initial Render ─────────────────────────────────────────────── render(); + // Set initial badge + const initBadge = document.getElementById('filterBadge'); + if (initBadge) initBadge.textContent = document.querySelector('.industry-btn.active')?.textContent || 'All'; function toggleFilters() { const container = document.getElementById('industryFilters'); From 7bb7ce21e94f126cd57994abc75ac655355dd1fa Mon Sep 17 00:00:00 2001 From: "Ozzy (AI Assistant)" Date: Mon, 27 Jul 2026 18:55:11 +0000 Subject: [PATCH 10/22] Remove Love & Honor, fix food entities, add emails, Miami M favicon --- index.html | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/index.html b/index.html index d47cee8..ed3d8f4 100644 --- a/index.html +++ b/index.html @@ -9,7 +9,7 @@ - + @@ -17,7 +17,6 @@ @@ -49,7 +48,6 @@
Miami University Alumni Chicagoland Chapter
-
@@ -67,6 +65,7 @@ description: "Mental health practice providing individual, couples, and family therapy services.", phone: "(773) 569-1426", email: null, + email: "biankahardinpsyd@centeredtherapychicago.com" website: null }, { @@ -79,6 +78,7 @@ description: "Specialized pelvic floor physical therapy clinic dedicated to women's health and wellness.", phone: "(773) 219-2749", email: null, + email: "jana@chicagopelvic.com" website: null }, { @@ -91,6 +91,7 @@ description: "Leadership development consulting since the late 1980s β€” executive coaching, leadership training, and assessments.", phone: "(312) 208-0636", email: null, + email: "steve.garrett@garrettconsulting.us" website: null }, { @@ -103,6 +104,7 @@ description: "Global alternative asset manager specializing in logistics, self-storage, and data center assets.", phone: null, email: null, + email: "bleigh@gcp.com" website: null }, { @@ -115,25 +117,27 @@ description: "State Farm Agency providing insurance and financial services to the Evanston community.", phone: "(847) 869-2336", email: null, + email: "Agent@JohnTylerCarlson.com" website: null }, { company: "The Lakefront Restaurant", alumni: "Emily LeFevers", role: "Owner", - industry: "Food & Beverages", + industry: "Food 0026 Beverages", location: "Chicago, IL", address: "2401 N Lake Shore Dr, Chicago, IL (Theater on the Lake building)", description: "Upscale tavern with indoor/outdoor seating offering a premier lakeside dining experience.", phone: "(312) 414-1313", email: null, + email: "info@theateronthelake.com" website: null }, { company: "Millennium Hall", alumni: "Brendan Greenlee", role: "Owner", - industry: "Food & Beverages", + industry: "Food 0026 Beverages", location: "Chicago, IL", address: "11 N Michigan Ave, Chicago, IL (underneath Cloud Gate)", description: "Collective eatery offering diverse food options in the heart of Millennium Park.", @@ -151,6 +155,7 @@ description: "Private wealth management and financial advisory services for individuals and families.", phone: null, email: null, + email: "James.lamoree@ms.com" website: null }, { @@ -163,6 +168,7 @@ description: "Female-owned practice serving professionals and businesses with insurance and securities solutions.", phone: "(312) 493-7216", email: null, + email: "mvelzy@ft.newyorklife.com" website: null }, { @@ -175,10 +181,11 @@ description: "Consulting and coaching for nonprofit leaders and fundraisers to maximize their impact.", phone: "(312) 231-9712", email: null, + email: "renee.n.davis@gmail.com" website: null }, { - company: "Ruggaard & Associates, LLC", + company: "Ruggaard & Associates, LLC", alumni: "Ryan Ruggaard", role: "Owner/Partner", industry: "Investment Management", @@ -187,6 +194,7 @@ description: "Registered investment advisor serving 300+ clients across 35 states. Contact Ryan at ryan@ruggaard.net or Randy at randy@ruggaard.net.", phone: "(330) 487-5888", email: null, + email: "ryan@ruggaard.net" website: null } ]; From 0d6397e2efb3cdfc0e0968f557bb096ff62b37b6 Mon Sep 17 00:00:00 2001 From: "Ozzy (AI Assistant)" Date: Mon, 27 Jul 2026 18:55:48 +0000 Subject: [PATCH 11/22] Fix duplicate email null lines --- index.html | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/index.html b/index.html index ed3d8f4..293f739 100644 --- a/index.html +++ b/index.html @@ -64,7 +64,6 @@ address: "1507 W. Lawrence, Chicago, IL", description: "Mental health practice providing individual, couples, and family therapy services.", phone: "(773) 569-1426", - email: null, email: "biankahardinpsyd@centeredtherapychicago.com" website: null }, @@ -77,7 +76,6 @@ address: "301 S County Farm Rd Suite H, Wheaton, IL", description: "Specialized pelvic floor physical therapy clinic dedicated to women's health and wellness.", phone: "(773) 219-2749", - email: null, email: "jana@chicagopelvic.com" website: null }, @@ -90,7 +88,6 @@ address: "5442 N Ashland Ave Apt 1, Chicago, IL", description: "Leadership development consulting since the late 1980s β€” executive coaching, leadership training, and assessments.", phone: "(312) 208-0636", - email: null, email: "steve.garrett@garrettconsulting.us" website: null }, @@ -103,7 +100,6 @@ address: "10 S. Wacker, Chicago, IL", description: "Global alternative asset manager specializing in logistics, self-storage, and data center assets.", phone: null, - email: null, email: "bleigh@gcp.com" website: null }, @@ -116,7 +112,6 @@ address: "829 Main St, Evanston, IL", description: "State Farm Agency providing insurance and financial services to the Evanston community.", phone: "(847) 869-2336", - email: null, email: "Agent@JohnTylerCarlson.com" website: null }, @@ -129,7 +124,6 @@ address: "2401 N Lake Shore Dr, Chicago, IL (Theater on the Lake building)", description: "Upscale tavern with indoor/outdoor seating offering a premier lakeside dining experience.", phone: "(312) 414-1313", - email: null, email: "info@theateronthelake.com" website: null }, @@ -154,7 +148,6 @@ address: "227 W. Monroe St, Chicago, IL", description: "Private wealth management and financial advisory services for individuals and families.", phone: null, - email: null, email: "James.lamoree@ms.com" website: null }, @@ -167,7 +160,6 @@ address: "500 W. Madison St Suite 1725, Chicago, IL", description: "Female-owned practice serving professionals and businesses with insurance and securities solutions.", phone: "(312) 493-7216", - email: null, email: "mvelzy@ft.newyorklife.com" website: null }, @@ -180,7 +172,6 @@ address: "4310 Lawn Avenue, Western Springs, IL", description: "Consulting and coaching for nonprofit leaders and fundraisers to maximize their impact.", phone: "(312) 231-9712", - email: null, email: "renee.n.davis@gmail.com" website: null }, @@ -193,7 +184,6 @@ address: "171 N Aberdeen St Suite 400, Chicago, IL", description: "Registered investment advisor serving 300+ clients across 35 states. Contact Ryan at ryan@ruggaard.net or Randy at randy@ruggaard.net.", phone: "(330) 487-5888", - email: null, email: "ryan@ruggaard.net" website: null } From 37525dfe8b69c46ec8feebae9b2b5db18e081b32 Mon Sep 17 00:00:00 2001 From: "Ozzy (AI Assistant)" Date: Mon, 27 Jul 2026 18:56:37 +0000 Subject: [PATCH 12/22] Fix food beverages text encoding --- index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 293f739..9f1908b 100644 --- a/index.html +++ b/index.html @@ -119,7 +119,7 @@ company: "The Lakefront Restaurant", alumni: "Emily LeFevers", role: "Owner", - industry: "Food 0026 Beverages", + industry: "Food & Beverages", location: "Chicago, IL", address: "2401 N Lake Shore Dr, Chicago, IL (Theater on the Lake building)", description: "Upscale tavern with indoor/outdoor seating offering a premier lakeside dining experience.", @@ -131,7 +131,7 @@ company: "Millennium Hall", alumni: "Brendan Greenlee", role: "Owner", - industry: "Food 0026 Beverages", + industry: "Food & Beverages", location: "Chicago, IL", address: "11 N Michigan Ave, Chicago, IL (underneath Cloud Gate)", description: "Collective eatery offering diverse food options in the heart of Millennium Park.", From 725f1475e7a788b626e8545aa113fa2dcd5e8254 Mon Sep 17 00:00:00 2001 From: "Ozzy (AI Assistant)" Date: Mon, 27 Jul 2026 19:00:27 +0000 Subject: [PATCH 13/22] Fix missing commas after email field --- index.html | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/index.html b/index.html index 9f1908b..3cd8467 100644 --- a/index.html +++ b/index.html @@ -64,7 +64,7 @@ address: "1507 W. Lawrence, Chicago, IL", description: "Mental health practice providing individual, couples, and family therapy services.", phone: "(773) 569-1426", - email: "biankahardinpsyd@centeredtherapychicago.com" + email: "biankahardinpsyd@centeredtherapychicago.com", website: null }, { @@ -76,7 +76,7 @@ address: "301 S County Farm Rd Suite H, Wheaton, IL", description: "Specialized pelvic floor physical therapy clinic dedicated to women's health and wellness.", phone: "(773) 219-2749", - email: "jana@chicagopelvic.com" + email: "jana@chicagopelvic.com", website: null }, { @@ -88,7 +88,7 @@ address: "5442 N Ashland Ave Apt 1, Chicago, IL", description: "Leadership development consulting since the late 1980s β€” executive coaching, leadership training, and assessments.", phone: "(312) 208-0636", - email: "steve.garrett@garrettconsulting.us" + email: "steve.garrett@garrettconsulting.us", website: null }, { @@ -100,7 +100,7 @@ address: "10 S. Wacker, Chicago, IL", description: "Global alternative asset manager specializing in logistics, self-storage, and data center assets.", phone: null, - email: "bleigh@gcp.com" + email: "bleigh@gcp.com", website: null }, { @@ -112,7 +112,7 @@ address: "829 Main St, Evanston, IL", description: "State Farm Agency providing insurance and financial services to the Evanston community.", phone: "(847) 869-2336", - email: "Agent@JohnTylerCarlson.com" + email: "Agent@JohnTylerCarlson.com", website: null }, { @@ -124,7 +124,7 @@ address: "2401 N Lake Shore Dr, Chicago, IL (Theater on the Lake building)", description: "Upscale tavern with indoor/outdoor seating offering a premier lakeside dining experience.", phone: "(312) 414-1313", - email: "info@theateronthelake.com" + email: "info@theateronthelake.com", website: null }, { @@ -148,7 +148,7 @@ address: "227 W. Monroe St, Chicago, IL", description: "Private wealth management and financial advisory services for individuals and families.", phone: null, - email: "James.lamoree@ms.com" + email: "James.lamoree@ms.com", website: null }, { @@ -160,7 +160,7 @@ address: "500 W. Madison St Suite 1725, Chicago, IL", description: "Female-owned practice serving professionals and businesses with insurance and securities solutions.", phone: "(312) 493-7216", - email: "mvelzy@ft.newyorklife.com" + email: "mvelzy@ft.newyorklife.com", website: null }, { @@ -172,7 +172,7 @@ address: "4310 Lawn Avenue, Western Springs, IL", description: "Consulting and coaching for nonprofit leaders and fundraisers to maximize their impact.", phone: "(312) 231-9712", - email: "renee.n.davis@gmail.com" + email: "renee.n.davis@gmail.com", website: null }, { @@ -184,7 +184,7 @@ address: "171 N Aberdeen St Suite 400, Chicago, IL", description: "Registered investment advisor serving 300+ clients across 35 states. Contact Ryan at ryan@ruggaard.net or Randy at randy@ruggaard.net.", phone: "(330) 487-5888", - email: "ryan@ruggaard.net" + email: "ryan@ruggaard.net", website: null } ]; From 3ca9b34acc47bf0a2319034b650502301fa297c7 Mon Sep 17 00:00:00 2001 From: "Ozzy (AI Assistant)" Date: Mon, 27 Jul 2026 19:06:17 +0000 Subject: [PATCH 14/22] Proper PNG favicons (16, 32, 48, 180px) + apple-touch-icon --- apple-touch-icon.png | Bin 0 -> 1134 bytes favicon-16.png | Bin 0 -> 159 bytes favicon-32.png | Bin 0 -> 230 bytes favicon-64.png | Bin 0 -> 417 bytes favicon.png | Bin 0 -> 318 bytes index.html | 5 ++++- 6 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 apple-touch-icon.png create mode 100644 favicon-16.png create mode 100644 favicon-32.png create mode 100644 favicon-64.png create mode 100644 favicon.png diff --git a/apple-touch-icon.png b/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..602aab481f66a89d95f4b329bc85670f83795edb GIT binary patch literal 1134 zcmeAS@N?(olHy`uVBq!ia0vp^TR@nD4M^IaWiw)6U@`S{aSW-L^Y(6F&|?DuhKrtE z#T&je^zq+G-pNt3;bzl>BVyB1RxZDO3yMwj*;X3=#$(4^)&D=y`j9)HV6CcJsXzn|)af0`zJIx}F z+WjVu=`#bSr|kM>;^_V)>c-@p>vObTbkuOq@!hq+_~efd%Xq8~JEiY9<{iW)JF)!W z%S&v&(|#uU%9<2D?7SYLRC+;>&0(_L3l6_4Q(oUVv_P@v=VZtK#>E20^Q&{&{?j`L?~PMCRatGLev)BiaU+X6i5h4_U_%x=o<+RF2*YhttH&pY4RxORP8 zZR~8ZWO?y4=HC3_wHkIb0QQ?d+9s8V%ULUroGLjt-6ta z*Yf**k;{v1*R literal 0 HcmV?d00001 diff --git a/favicon-16.png b/favicon-16.png new file mode 100644 index 0000000000000000000000000000000000000000..c542cdf31c757ff1fb0c219a6f3a61c1bd2f494c GIT binary patch literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`X`U{QAr*6yQxXyqER@o}&Tr&N z`20dbS$XHI#0J)58|o@V^eRH`Nv%%G$(o_DQFb}w3A2a7hhH&Gg<U))0%(Gy7nsI(9&hJR85^!eM^Q~}aD&L>pRa%{>ytD1phAX*|Y zmXi8z^yA3wk$*?X@xl23+Z2-iqEOn+02LNa;Q1+4>NV%ArE^-Pu^-vVxNgOy9 zKuH(a4)_pUsH_yYpgE2t0dRUj>Y3~!%&mu@8{UcA5#Q9#uebwrfDZ6m0P(>@<3X{u gzA+o(7m4xw0;T{r>+KF0Q~&?~07*qoM6N<$f=EqSH~;_u literal 0 HcmV?d00001 diff --git a/favicon-64.png b/favicon-64.png new file mode 100644 index 0000000000000000000000000000000000000000..06aeadbc9b35c6491b9ef591e06a8aad12b1159d GIT binary patch literal 417 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEV9fAzaSW-L^LBP1Uz34=i}z#8 zFLIAQwpPDz{nFhMBCT-uZuqUa_S~AA&)fy>D zfx^EFzdmyQvDWYz-6agG*I%t=+QnXQv-r}FS!U;F<|S{O zsXXb^m0BhlhTMi}%oAp1oL?03c&iQLq{)#>9DYeX;=ItZz;L@4cf>mOrB-L97O;l$ zHY`az>#|bq0ngfiTJ8+z5cYte2G=GZp@3rT8Cwqoa)ezt!r*aF;HFmGr>JG!3B79* z{%LPuJt#Fvqv2A9(093swGO^(8**EMI7CEB)OU#ZsyWFtJp0VpyYu6JrY}_+UZ1=W z7-_GnB{+{Eim$=U;WXm~whT*#TMWAF4$=#rGGs7sfw*=7?}Z|UEsPLF@iV~Oo#tBA z7arU4&ub9)^#1C$HA|n(;QO)w7!2hLLYJDRap&dMPxxK5KfpilYsrU&hk-%Q;OXk; Jvd$@?2>{RfwNwBA literal 0 HcmV?d00001 diff --git a/favicon.png b/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..48c440a7a06c69e5dccb27be13044e8afc032e81 GIT binary patch literal 318 zcmV-E0m1%>P)bvXyHur$@jIXyXR7 zaRb`80d3rXHf}&0|H!9}eFOa8153=?8YvxUi)kfkCO%++Tq~6Vqrx?Q0lN%Uks5DV Q8UO$Q07*qoM6N<$g5Z~jO8@`> literal 0 HcmV?d00001 diff --git a/index.html b/index.html index 3cd8467..19ea0cf 100644 --- a/index.html +++ b/index.html @@ -9,7 +9,10 @@ - + + + + From 8e987d4973a68da0042cfabe0d59ba319f0d2d4c Mon Sep 17 00:00:00 2001 From: "Ozzy (AI Assistant)" Date: Mon, 27 Jul 2026 19:07:04 +0000 Subject: [PATCH 15/22] Remove Lakefront Restaurant and Millennium Hall --- index.html | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/index.html b/index.html index 19ea0cf..e2c64d4 100644 --- a/index.html +++ b/index.html @@ -118,30 +118,6 @@ email: "Agent@JohnTylerCarlson.com", website: null }, - { - company: "The Lakefront Restaurant", - alumni: "Emily LeFevers", - role: "Owner", - industry: "Food & Beverages", - location: "Chicago, IL", - address: "2401 N Lake Shore Dr, Chicago, IL (Theater on the Lake building)", - description: "Upscale tavern with indoor/outdoor seating offering a premier lakeside dining experience.", - phone: "(312) 414-1313", - email: "info@theateronthelake.com", - website: null - }, - { - company: "Millennium Hall", - alumni: "Brendan Greenlee", - role: "Owner", - industry: "Food & Beverages", - location: "Chicago, IL", - address: "11 N Michigan Ave, Chicago, IL (underneath Cloud Gate)", - description: "Collective eatery offering diverse food options in the heart of Millennium Park.", - phone: null, - email: null, - website: null - }, { company: "Morgan Stanley Wealth Management", alumni: "James Lamoree", From 62d4dbf837c75187f9be58745e2983ab04022daa Mon Sep 17 00:00:00 2001 From: "Ozzy (AI Assistant)" Date: Mon, 27 Jul 2026 19:07:11 +0000 Subject: [PATCH 16/22] Update hardcoded count to 9 --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index e2c64d4..5925d32 100644 --- a/index.html +++ b/index.html @@ -26,7 +26,7 @@