style(credentials): refine education and certificate cards
This commit is contained in:
@@ -7,24 +7,25 @@
|
||||
|
||||
.card {
|
||||
width: 100%;
|
||||
background-color: transparent;
|
||||
background-color: var(--bg-raised);
|
||||
border: 1px solid var(--border-default);
|
||||
border-radius: var(--radius-lg);
|
||||
padding: 1.5rem 2rem;
|
||||
padding: 2rem 2.5rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
align-items: flex-start;
|
||||
gap: 2.25rem;
|
||||
transition:
|
||||
border-color var(--motion-duration-fast) ease,
|
||||
transform var(--motion-duration-default) var(--motion-ease-out);
|
||||
box-shadow: 0 0.75rem 2.5rem var(--shadow-color);
|
||||
}
|
||||
|
||||
.crestCol {
|
||||
width: 16.5rem;
|
||||
flex-shrink: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
align-items: flex-start;
|
||||
justify-content: flex-start;
|
||||
}
|
||||
|
||||
.crestContainer {
|
||||
@@ -38,6 +39,7 @@
|
||||
|
||||
.crestImage {
|
||||
object-fit: contain;
|
||||
object-position: left top;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
@@ -77,13 +79,14 @@
|
||||
}
|
||||
|
||||
.description {
|
||||
max-width: 72ch;
|
||||
font-size: var(--font-size-body-default);
|
||||
line-height: var(--line-height-body-default);
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
[data-theme="dark"] .card {
|
||||
background-color: var(--bg-surface);
|
||||
background-color: var(--bg-raised);
|
||||
}
|
||||
|
||||
@media (max-width: 760px) {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
'use client';
|
||||
|
||||
import React from 'react';
|
||||
import Image from 'next/image';
|
||||
import { education } from '@/data/education';
|
||||
@@ -9,9 +7,7 @@ export const EducationSection: React.FC = () => {
|
||||
return (
|
||||
<section id="education" className={styles.educationSection}>
|
||||
<div className="content-container">
|
||||
{/* Section Header */}
|
||||
<div className="section-header">
|
||||
<span className="section-eyebrow">EDUCATION</span>
|
||||
<div className="section-title-wrap">
|
||||
<h2 className="section-title">Where I Built the Foundation</h2>
|
||||
<div className="section-underline" />
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
.certCard {
|
||||
width: 100%;
|
||||
background-color: transparent;
|
||||
background-color: var(--bg-raised);
|
||||
border: 1px solid var(--border-default);
|
||||
border-radius: var(--radius-lg);
|
||||
padding: 1.5rem 2rem;
|
||||
@@ -102,10 +102,11 @@
|
||||
font-weight: 600;
|
||||
color: var(--action-link);
|
||||
transition: gap 0.2s ease;
|
||||
min-height: 2.75rem;
|
||||
}
|
||||
|
||||
[data-theme="dark"] .certCard {
|
||||
background-color: var(--bg-surface);
|
||||
background-color: var(--bg-raised);
|
||||
}
|
||||
|
||||
@media (max-width: 760px) {
|
||||
|
||||
@@ -50,13 +50,14 @@ export const MilestonesSection: React.FC = () => {
|
||||
{/* View Certificate Link */}
|
||||
<div className={styles.actionRow}>
|
||||
<a
|
||||
href={item.link || '#'}
|
||||
href={item.link && item.link !== '#' ? item.link : item.image}
|
||||
className={styles.viewCertLink}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
aria-label={`View ${item.title} certificate`}
|
||||
>
|
||||
<span>View certificate</span>
|
||||
<ExternalLink size={20} strokeWidth={2.25} />
|
||||
<ExternalLink size={20} strokeWidth={2.25} aria-hidden="true" />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user