generated from nhcarrigan/template
chore: cleanup and such
This commit is contained in:
+295
-314
@@ -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;">
|
||||||
|
|||||||
Reference in New Issue
Block a user