chore: cleanup and such

This commit is contained in:
2026-01-09 18:48:36 -08:00
parent e30ae1cee9
commit 6f6c2556a6
+295 -314
View File
@@ -4,7 +4,13 @@
<title>NHCarrigan - Software Engineering & Community Management</title> <title>NHCarrigan - Software Engineering & Community Management</title>
<meta name="description" content="Building inclusive tech communities and ethical software solutions. Software engineering, community management, and mentorship services."> <meta name="description" content="Building inclusive tech communities and ethical software solutions. Software engineering, community management, and mentorship services.">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<!--
MARK: Styles
-->
<style> <style>
/* ============================================
RESET & BASE STYLES
============================================ */
* { * {
box-sizing: border-box; box-sizing: border-box;
} }
@@ -16,11 +22,83 @@
padding: 0; padding: 0;
} }
img {
max-width: 100%;
height: auto;
}
section {
width: 100%;
max-width: 100%;
box-sizing: border-box;
}
/* ============================================
TYPOGRAPHY
============================================ */
h1, h2, h3 {
color: #1a1a1a;
}
ul {
list-style-type: none;
padding-left: 1.5rem;
}
li {
margin: 0.5rem 0;
}
a {
color: #5865F2;
text-decoration: underline;
transition: color 0.2s ease;
}
a:hover,
a:focus {
color: #4752C4;
outline: 2px solid #5865F2;
outline-offset: 2px;
}
/* ============================================
LAYOUT
============================================ */
main {
max-width: 1200px;
width: 100%;
margin: 0 auto;
padding: 2rem 1rem;
}
.hero-image { .hero-image {
max-width: 750px; max-width: 750px;
} }
/* Skip to main content for accessibility */ .hero-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
}
.stats-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 1.5rem;
margin: 2rem 0;
}
.testimonials-preview {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 1.5rem;
margin: 2rem 0;
}
/* ============================================
ACCESSIBILITY
============================================ */
.skip-link { .skip-link {
position: absolute; position: absolute;
top: -40px; top: -40px;
@@ -31,40 +109,66 @@
text-decoration: none; text-decoration: none;
z-index: 100; z-index: 100;
} }
.skip-link:focus { .skip-link:focus {
top: 0; top: 0;
} }
main { *:focus:not(:focus-visible) {
max-width: 1200px; outline: none;
width: 100%;
margin: 0 auto;
padding: 2rem 1rem;
box-sizing: border-box;
} }
ul { *:focus-visible {
list-style-type: none; outline: 2px solid #5865F2;
outline-offset: 2px;
}
button:focus-visible,
a:focus-visible {
outline: 3px solid rgba(88, 101, 242, 0.5);
outline-offset: 2px;
}
/* ============================================
CARDS
============================================ */
.card,
.stat-card,
.testimonial-card,
.timeline-content {
background: white;
border: 2px solid #e0e0e0;
border-radius: 12px;
padding: 1.5rem;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
transition: transform 0.3s ease, box-shadow 0.3s ease;
} }
.card { .card {
background: #ffffff;
border: 2px solid #e0e0e0;
border-radius: 16px; border-radius: 16px;
padding: 2rem; padding: 2rem;
margin: 2rem 0; margin: 2rem 0;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
transition: transform 0.3s ease, box-shadow 0.3s ease;
box-sizing: border-box;
width: 100%; width: 100%;
max-width: 100%; max-width: 100%;
} }
.card:hover, .stat-card:hover { .card:hover,
.stat-card:hover,
.testimonial-card:hover,
.timeline-content:hover {
transform: translateY(-4px); transform: translateY(-4px);
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15); box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
} }
.timeline-content:hover {
border-color: #5865F2;
}
.testimonial-card {
display: flex;
flex-direction: column;
}
.card-header { .card-header {
display: flex; display: flex;
align-items: center; align-items: center;
@@ -90,6 +194,9 @@
height: auto; height: auto;
} }
/* ============================================
BUTTONS
============================================ */
.cta-button { .cta-button {
background: #5865F2; background: #5865F2;
color: white; color: white;
@@ -102,7 +209,6 @@
margin: 0.5rem 0.5rem 0.5rem 0; margin: 0.5rem 0.5rem 0.5rem 0;
transition: background 0.3s ease, transform 0.2s ease; transition: background 0.3s ease, transform 0.2s ease;
border: 2px solid transparent; border: 2px solid transparent;
box-sizing: border-box;
max-width: 100%; max-width: 100%;
} }
@@ -119,6 +225,10 @@
transform: scale(0.98); transform: scale(0.98);
} }
.cta-button i {
margin-right: 0.5rem;
}
.cta-button-secondary { .cta-button-secondary {
background: #333; background: #333;
color: white; color: white;
@@ -141,16 +251,9 @@
outline-color: rgba(16, 185, 129, 0.3); outline-color: rgba(16, 185, 129, 0.3);
} }
.cta-button i { /* ============================================
margin-right: 0.5rem; HERO CTA
} ============================================ */
.hero-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
}
.hero-cta { .hero-cta {
text-align: center; text-align: center;
margin: 2rem 0; margin: 2rem 0;
@@ -158,7 +261,6 @@
background: linear-gradient(135deg, #5865F2 0%, #4752C4 100%) !important; background: linear-gradient(135deg, #5865F2 0%, #4752C4 100%) !important;
border-radius: 16px; border-radius: 16px;
color: white; color: white;
box-sizing: border-box;
width: 100%; width: 100%;
max-width: 100%; max-width: 100%;
} }
@@ -181,22 +283,9 @@
outline-color: rgba(255, 255, 255, 0.5); outline-color: rgba(255, 255, 255, 0.5);
} }
.stats-grid { /* ============================================
display: grid; STATS
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); ============================================ */
gap: 1.5rem;
margin: 2rem 0;
}
.stat-card {
text-align: center;
padding: 1.5rem;
background: white;
border-radius: 12px;
border: 2px solid #e0e0e0;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.stat-number { .stat-number {
font-size: 2.5rem; font-size: 2.5rem;
font-weight: bold; font-weight: bold;
@@ -209,193 +298,9 @@
font-size: 0.9rem; font-size: 0.9rem;
} }
h1, h2, h3 { /* ============================================
color: #1a1a1a; TIMELINE
} ============================================ */
a {
color: #5865F2;
text-decoration: underline;
transition: color 0.2s ease;
}
a:hover,
a:focus {
color: #4752C4;
outline: 2px solid #5865F2;
outline-offset: 2px;
}
ul {
padding-left: 1.5rem;
}
li {
margin: 0.5rem 0;
}
img {
max-width: 100%;
height: auto;
}
section {
width: 100%;
max-width: 100%;
box-sizing: border-box;
}
/* Focus styles for keyboard navigation */
*:focus {
outline: 2px solid #5865F2;
outline-offset: 2px;
}
*:focus:not(:focus-visible) {
outline: none;
}
*:focus-visible {
outline: 2px solid #5865F2;
outline-offset: 2px;
}
button:focus-visible,
a:focus-visible {
outline: 3px solid rgba(88, 101, 242, 0.5);
outline-offset: 2px;
}
/* Responsive design */
@media (max-width: 768px) {
main {
padding: 1rem 0.5rem;
}
.card {
padding: 1.5rem;
}
.card-header {
flex-direction: column;
text-align: center;
}
.stats-grid {
grid-template-columns: 1fr;
}
.cta-button {
display: block;
margin: 0.5rem 0;
text-align: center;
}
}
@media (max-width: 720px) {
.hero-grid {
grid-template-columns: 1fr;
gap: 0;
}
}
/* Animation for fade-in */
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.fade-in {
animation: fadeIn 0.6s ease-out;
}
/* High contrast mode support */
@media (prefers-contrast: high) {
.card {
border-width: 3px;
}
.cta-button {
border-width: 3px;
}
}
/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
* {
animation: none !important;
transition: none !important;
}
}
/* Dark mode styles */
html.is-dark .card {
background: #1e1e1e;
border-color: #404040;
color: var(--foreground);
}
html.is-dark .stat-card {
background: #1e1e1e;
border-color: #404040;
color: var(--foreground);
}
html.is-dark .timeline-content {
background: #1e1e1e;
border-color: #404040;
color: var(--foreground);
}
html.is-dark .timeline-avatar {
background: #1e1e1e;
border-color: #404040;
}
html.is-dark .card-header {
border-bottom-color: #404040;
}
html.is-dark h1,
html.is-dark h2,
html.is-dark h3 {
color: var(--foreground);
}
html.is-dark .stat-label {
color: var(--foreground);
}
html.is-dark .timeline-role {
color: var(--foreground);
}
html.is-dark .timeline-dates {
color: var(--foreground);
}
html.is-dark .avatar-card .card-header img {
border-color: #404040;
}
/* Override inline background styles in dark mode */
html.is-dark .card[style*="background: #f8f9fa"],
html.is-dark .card[style*="background:#f8f9fa"] {
background: #1e1e1e !important;
}
html.is-dark .card[style*="background: #f0f0f0"],
html.is-dark .card[style*="background:#f0f0f0"] {
background: #1e1e1e !important;
}
/* Timeline styles */
.timeline { .timeline {
position: relative; position: relative;
padding: 2rem 0; padding: 2rem 0;
@@ -430,22 +335,10 @@
} }
.timeline-content { .timeline-content {
background: white;
border: 2px solid #e0e0e0;
border-radius: 12px;
padding: 1.5rem;
width: calc(50% - 3rem); width: calc(50% - 3rem);
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
transition: transform 0.3s ease, box-shadow 0.3s ease;
position: relative; position: relative;
} }
.timeline-content:hover {
transform: translateY(-4px);
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
border-color: #5865F2;
}
.timeline-item:nth-child(odd) .timeline-content { .timeline-item:nth-child(odd) .timeline-content {
margin-right: auto; margin-right: auto;
margin-left: 0; margin-left: 0;
@@ -499,54 +392,9 @@
font-style: italic; font-style: italic;
} }
@media (max-width: 768px) { /* ============================================
.timeline::before { TESTIMONIALS
left: 2rem; ============================================ */
}
.timeline-item {
flex-direction: row !important;
}
.timeline-content {
width: calc(100% - 6rem);
margin-left: 4rem !important;
margin-right: 0 !important;
}
.timeline-avatar {
left: 2rem;
transform: translateX(-50%);
width: 60px;
height: 60px;
}
}
/* Testimonials preview styles */
.testimonials-preview {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 1.5rem;
margin: 2rem 0;
}
.testimonial-card {
background: white;
border: 2px solid #e0e0e0;
border-radius: 12px;
padding: 1.5rem;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
transition: transform 0.3s ease, box-shadow 0.3s ease;
display: flex;
flex-direction: column;
}
.testimonial-card:hover {
transform: translateY(-4px);
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
border-color: #5865F2;
}
.testimonial-text { .testimonial-text {
flex-grow: 1; flex-grow: 1;
font-style: italic; font-style: italic;
@@ -570,25 +418,71 @@
font-style: normal; font-style: normal;
} }
/* ============================================
ANIMATIONS
============================================ */
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.fade-in {
animation: fadeIn 0.6s ease-out;
}
/* ============================================
DARK MODE
============================================ */
html.is-dark .card,
html.is-dark .stat-card,
html.is-dark .timeline-content,
html.is-dark .testimonial-card { html.is-dark .testimonial-card {
background: #1e1e1e; background: #1e1e1e;
border-color: #404040; border-color: #404040;
color: var(--foreground);
}
html.is-dark .timeline-avatar {
background: #1e1e1e;
border-color: #404040;
} }
html.is-dark .testimonial-text { html.is-dark .card-header {
border-bottom-color: #404040;
}
html.is-dark .avatar-card .card-header img {
border-color: #404040;
}
html.is-dark h1,
html.is-dark h2,
html.is-dark h3,
html.is-dark .stat-label,
html.is-dark .timeline-role,
html.is-dark .timeline-dates,
html.is-dark .testimonial-text,
html.is-dark .testimonial-author {
color: var(--foreground); color: var(--foreground);
} }
html.is-dark .testimonial-author { html.is-dark .testimonial-author {
color: var(--foreground);
border-top-color: #404040; border-top-color: #404040;
} }
html.is-dark .testimonial-role { html.is-dark .card[style*="background: #f8f9fa"],
color: var(--foreground); html.is-dark .card[style*="background:#f8f9fa"],
html.is-dark .card[style*="background: #f0f0f0"],
html.is-dark .card[style*="background:#f0f0f0"] {
background: #1e1e1e !important;
} }
/* Donation CTA card dark mode support */
html.is-dark .card[style*="background: linear-gradient(135deg, #10b981"], html.is-dark .card[style*="background: linear-gradient(135deg, #10b981"],
html.is-dark .card[style*="background:linear-gradient(135deg, #10b981"] { html.is-dark .card[style*="background:linear-gradient(135deg, #10b981"] {
background: linear-gradient(135deg, #059669 0%, #047857 100%) !important; background: linear-gradient(135deg, #059669 0%, #047857 100%) !important;
@@ -601,10 +495,78 @@
border-color: #404040; border-color: #404040;
} }
/* ============================================
ACCESSIBILITY MEDIA QUERIES
============================================ */
@media (prefers-reduced-motion: reduce) {
* {
animation: none !important;
transition: none !important;
}
}
@media (prefers-contrast: high) {
.card,
.cta-button {
border-width: 3px;
}
}
/* ============================================
RESPONSIVE DESIGN
============================================ */
@media (max-width: 768px) { @media (max-width: 768px) {
main {
padding: 1rem 0.5rem;
}
.card {
padding: 1.5rem;
}
.card-header {
flex-direction: column;
text-align: center;
}
.stats-grid,
.testimonials-preview { .testimonials-preview {
grid-template-columns: 1fr; grid-template-columns: 1fr;
} }
.cta-button {
display: block;
margin: 0.5rem 0;
text-align: center;
}
.timeline::before {
left: 2rem;
}
.timeline-item {
flex-direction: row !important;
}
.timeline-content {
width: calc(100% - 6rem);
margin-left: 4rem !important;
margin-right: 0 !important;
}
.timeline-avatar {
left: 2rem;
transform: translateX(-50%);
width: 60px;
height: 60px;
}
}
@media (max-width: 720px) {
.hero-grid {
grid-template-columns: 1fr;
gap: 0;
}
} }
</style> </style>
</head> </head>
@@ -612,10 +574,11 @@
<a href="#main-content" class="skip-link">Skip to main content</a> <a href="#main-content" class="skip-link">Skip to main content</a>
<main id="main-content"> <main id="main-content">
<!-- Title --> <!--
<h1 style="text-align: center; margin-bottom: 1rem;">NHCarrigan</h1> MARK: Hero Section
-->
<h1 style="text-align: center; margin-bottom: 1rem;">Naomi Carrigan</h1>
<!-- Splash Image -->
<section style="text-align: center; margin-bottom: 2rem;" aria-label="Hero image"> <section style="text-align: center; margin-bottom: 2rem;" aria-label="Hero image">
<img <img
src="https://cdn.nhcarrigan.com/splash.png" src="https://cdn.nhcarrigan.com/splash.png"
@@ -624,7 +587,6 @@
/> />
</section> </section>
<!-- Brief Intro -->
<section style="text-align: center; margin-bottom: 2rem; max-width: 800px; margin-left: auto; margin-right: auto;" class="fade-in"> <section style="text-align: center; margin-bottom: 2rem; max-width: 800px; margin-left: auto; margin-right: auto;" class="fade-in">
<p style="font-size: 1.2rem; line-height: 1.6;"> <p style="font-size: 1.2rem; line-height: 1.6;">
Building inclusive tech communities, one line of code at a time. We're passionate about creating ethical software solutions and fostering welcoming online spaces where everyone can thrive. Building inclusive tech communities, one line of code at a time. We're passionate about creating ethical software solutions and fostering welcoming online spaces where everyone can thrive.
@@ -632,7 +594,6 @@
</section> </section>
<div class="hero-grid"> <div class="hero-grid">
<!-- Hero CTA - Early conversion opportunity -->
<section class="hero-cta fade-in card" role="region" aria-label="Join our community"> <section class="hero-cta fade-in card" role="region" aria-label="Join our community">
<h2>Ready to Join an Amazing Community?</h2> <h2>Ready to Join an Amazing Community?</h2>
<p style="font-size: 1.1rem; margin-bottom: 1.5rem;"> <p style="font-size: 1.1rem; margin-bottom: 1.5rem;">
@@ -643,7 +604,6 @@
</a> </a>
</section> </section>
<!-- Donation CTA - Compact version -->
<section class="card fade-in" style="background: linear-gradient(135deg, #10b981 0%, #059669 100%); border-color: #10b981; border-width: 3px; text-align: center;" role="region" aria-label="Support our mission"> <section class="card fade-in" style="background: linear-gradient(135deg, #10b981 0%, #059669 100%); border-color: #10b981; border-width: 3px; text-align: center;" role="region" aria-label="Support our mission">
<h2 style="margin-top: 0; color: white;">Support Our Mission</h2> <h2 style="margin-top: 0; color: white;">Support Our Mission</h2>
<p style="color: white; font-size: 1rem; margin-bottom: 1.5rem;"> <p style="color: white; font-size: 1rem; margin-bottom: 1.5rem;">
@@ -659,7 +619,9 @@
<p>Need to know more about us before joining? That's okay! Let us properly introduce ourselves...</p> <p>Need to know more about us before joining? That's okay! Let us properly introduce ourselves...</p>
</section> </section>
<!-- Personal Card with Avatar --> <!--
MARK: Personal Information
-->
<section class="card avatar-card fade-in" role="region" aria-labelledby="about-naomi"> <section class="card avatar-card fade-in" role="region" aria-labelledby="about-naomi">
<div class="card-header"> <div class="card-header">
<img <img
@@ -687,7 +649,6 @@
</p> </p>
</section> </section>
<!-- More Personal Stuff -->
<section class="fade-in" role="region" aria-labelledby="get-to-know"> <section class="fade-in" role="region" aria-labelledby="get-to-know">
<h2 id="get-to-know">Get to Know Me</h2> <h2 id="get-to-know">Get to Know Me</h2>
<p> <p>
@@ -701,7 +662,9 @@
</ul> </ul>
</section> </section>
<!-- Company Card with Logo --> <!--
MARK: Company Information
-->
<section class="card logo-card fade-in" role="region" aria-labelledby="about-company"> <section class="card logo-card fade-in" role="region" aria-labelledby="about-company">
<div class="card-header"> <div class="card-header">
<img <img
@@ -732,7 +695,6 @@
</ul> </ul>
</section> </section>
<!-- Company Stuff -->
<section class="fade-in" role="region" aria-labelledby="mission"> <section class="fade-in" role="region" aria-labelledby="mission">
<h2 id="mission">Our Mission</h2> <h2 id="mission">Our Mission</h2>
<p> <p>
@@ -749,7 +711,9 @@
</p> </p>
</section> </section>
<!-- Client Timeline --> <!--
MARK: Client Timeline
-->
<section class="card fade-in" role="region" aria-labelledby="client-timeline"> <section class="card fade-in" role="region" aria-labelledby="client-timeline">
<h2 id="client-timeline" style="margin-top: 0; text-align: center;">Client History Timeline</h2> <h2 id="client-timeline" style="margin-top: 0; text-align: center;">Client History Timeline</h2>
<p style="text-align: center; margin-bottom: 2rem;"> <p style="text-align: center; margin-bottom: 2rem;">
@@ -862,7 +826,9 @@
</a> </a>
</section> </section>
<!-- Past Work & Credentials --> <!--
MARK: Past Work & Credentials
-->
<section class="fade-in" role="region" aria-labelledby="past-work"> <section class="fade-in" role="region" aria-labelledby="past-work">
<h2 id="past-work">Past Work & Credentials</h2> <h2 id="past-work">Past Work & Credentials</h2>
<p> <p>
@@ -879,7 +845,9 @@
</p> </p>
</section> </section>
<!-- Client Feedback Preview --> <!--
MARK: Testimonials
-->
<section class="card fade-in" role="region" aria-labelledby="client-feedback"> <section class="card fade-in" role="region" aria-labelledby="client-feedback">
<h2 id="client-feedback" style="margin-top: 0; text-align: center;">What Clients Say</h2> <h2 id="client-feedback" style="margin-top: 0; text-align: center;">What Clients Say</h2>
<p style="text-align: center; margin-bottom: 2rem;"> <p style="text-align: center; margin-bottom: 2rem;">
@@ -932,6 +900,9 @@
</p> </p>
</section> </section>
<!--
MARK: Resources
-->
<section class="fade-in" role="region" aria-labelledby="resources"> <section class="fade-in" role="region" aria-labelledby="resources">
<h2 id="resources">Resources & Documentation</h2> <h2 id="resources">Resources & Documentation</h2>
<p> <p>
@@ -945,7 +916,9 @@
</ul> </ul>
</section> </section>
<!-- Community Stats --> <!--
MARK: Community Stats
-->
<section class="card fade-in" role="region" aria-labelledby="community-stats"> <section class="card fade-in" role="region" aria-labelledby="community-stats">
<h2 id="community-stats" style="margin-top: 0; text-align: center;">Our Community by the Numbers</h2> <h2 id="community-stats" style="margin-top: 0; text-align: center;">Our Community by the Numbers</h2>
<p style="text-align: center; margin-bottom: 2rem;"> <p style="text-align: center; margin-bottom: 2rem;">
@@ -985,6 +958,9 @@
</p> </p>
</section> </section>
<!--
MARK: Sustainability & Support
-->
<section class="fade-in" role="region" aria-labelledby="sustainability-impact"> <section class="fade-in" role="region" aria-labelledby="sustainability-impact">
<h2 id="sustainability-impact">Growing Responsibly, Together</h2> <h2 id="sustainability-impact">Growing Responsibly, Together</h2>
<p style="font-size: 1.1rem;"> <p style="font-size: 1.1rem;">
@@ -995,7 +971,6 @@
</p> </p>
</section> </section>
<!-- Donation CTA Card -->
<section class="card fade-in" role="region" aria-labelledby="donation-cta"> <section class="card fade-in" role="region" aria-labelledby="donation-cta">
<h2 id="donation-cta" style="margin-top: 0; text-align: center;">Support Our Mission</h2> <h2 id="donation-cta" style="margin-top: 0; text-align: center;">Support Our Mission</h2>
<p style="text-align: center; margin-bottom: 2rem; font-size: 1.1rem;"> <p style="text-align: center; margin-bottom: 2rem; font-size: 1.1rem;">
@@ -1031,7 +1006,9 @@
</p> </p>
</section> </section>
<!-- Frequently Asked Questions --> <!--
MARK: FAQ
-->
<section class="fade-in" role="region" aria-labelledby="faq"> <section class="fade-in" role="region" aria-labelledby="faq">
<h2 id="faq">Frequently Asked Questions</h2> <h2 id="faq">Frequently Asked Questions</h2>
@@ -1057,11 +1034,13 @@
<h3>How can I get support or contribute?</h3> <h3>How can I get support or contribute?</h3>
<p> <p>
You can join our <a href="https://chat.nhcarrigan.com" target="_blank" rel="noopener noreferrer">Discord community</a> for support and to connect with other users. We welcome contributions from developers of all backgrounds - check out our <a href="https://docs.nhcarrigan.com/#/contributing" target="_blank" rel="noopener noreferrer">contributing guidelines</a> and <a href="https://docs.nhcarrigan.com/#/community/code-of-conduct" target="_blank" rel="noopener noreferrer">community code of conduct</a> to get started. We also offer mentorship programs for new developers. You can join our <a href="https://chat.nhcarrigan.com" target="_blank" rel="noopener noreferrer">Discord community</a> for support and to connect with other users. We welcome contributions from developers of all backgrounds - check out our <a href="https://docs.nhcarrigan.com/#/contributing" target="_blank" rel="noopener noreferrer">contributing guidelines</a> and <a href="https://docs.nhcarrigan.com/#/community/code-of-conduct" target="_blank" rel="noopener noreferrer">community code of conduct</a> to get started. We also offer mentorship programs for new developers.
</p> </p>
</section> </section>
<!-- Join Our Community - Prominent CTA --> <!--
MARK: Community CTA
-->
<section class="card fade-in" style="background: #f8f9fa; border-color: #5865F2; border-width: 3px;" role="region" aria-labelledby="join-community"> <section class="card fade-in" style="background: #f8f9fa; border-color: #5865F2; border-width: 3px;" role="region" aria-labelledby="join-community">
<h2 id="join-community" style="margin-top: 0;">Join Our Community</h2> <h2 id="join-community" style="margin-top: 0;">Join Our Community</h2>
<img class="hero-image" src="https://cdn.nhcarrigan.com/hero/join-community.png" alt="Naomi Carrigan, founder of NHCarrigan" /> <img class="hero-image" src="https://cdn.nhcarrigan.com/hero/join-community.png" alt="Naomi Carrigan, founder of NHCarrigan" />
@@ -1091,7 +1070,9 @@
</p> </p>
</section> </section>
<!-- Final CTA --> <!--
MARK: Final CTA
-->
<section class="card fade-in" style="text-align: center; background: #f0f0f0;" role="region" aria-labelledby="thanks"> <section class="card fade-in" style="text-align: center; background: #f0f0f0;" role="region" aria-labelledby="thanks">
<h2 id="thanks" style="margin-top: 0;">Thanks for Visiting! <i class="fas fa-heart" aria-hidden="true"></i></h2> <h2 id="thanks" style="margin-top: 0;">Thanks for Visiting! <i class="fas fa-heart" aria-hidden="true"></i></h2>
<p style="font-size: 1.1rem;"> <p style="font-size: 1.1rem;">