pokedex-web / frontend /src /components /Hero.module.css
gpimentel's picture
feat: initialize Pokedex Web project with FastAPI backend and React frontend
f2bfbb5
Raw
History Blame Contribute Delete
2.4 kB
.heroContainer {
text-align: left;
margin-top: 0;
margin-bottom: 2rem;
animation: slideInLeft 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
position: relative;
z-index: 10;
}
.title {
font-size: clamp(3.5rem, 7vw, 6.5rem);
font-weight: 900;
line-height: 1.05;
margin-bottom: 1.5rem;
color: var(--text-primary);
background: linear-gradient(135deg, #ffffff 30%, rgba(255, 255, 255, 0.1));
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
text-transform: uppercase;
letter-spacing: -2px;
}
.subtitle {
font-size: clamp(1rem, 2vw, 1.25rem);
color: var(--text-secondary);
height: 2rem;
font-weight: 500;
max-width: 500px;
}
.cursor {
color: var(--accent-primary);
animation: blink 1s step-end infinite;
}
@keyframes slideInLeft {
from {
opacity: 0;
transform: translateX(-50px) rotate(-2deg);
}
to {
opacity: 1;
transform: translateX(0) rotate(0);
}
}
@keyframes blink {
0%, 100% { opacity: 1; }
50% { opacity: 0; }
}
.buttonGroup {
margin-top: 2rem;
display: flex;
gap: 1rem;
}
.secondaryBtn {
display: inline-block;
background: rgba(255, 255, 255, 0.05);
backdrop-filter: blur(10px);
border: 1px solid var(--border-glass);
color: var(--text-secondary);
text-decoration: none;
border-radius: 30px;
padding: 12px 24px;
font-family: var(--font-body);
font-weight: 600;
font-size: 0.95rem;
letter-spacing: 0.5px;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}
.secondaryBtn:hover {
background: rgba(255, 255, 255, 0.1);
color: var(--text-primary);
border-color: rgba(255, 255, 255, 0.4);
transform: translateY(-2px);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}
@media (max-width: 968px) {
.heroContainer {
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
margin-bottom: 0;
}
.title {
font-size: clamp(2.5rem, 10vw, 4.5rem);
letter-spacing: -1px;
margin-bottom: 1rem;
}
.subtitle {
height: auto;
min-height: 3rem;
max-width: 100%;
}
.buttonGroup {
justify-content: center;
width: 100%;
}
}
@media (max-width: 480px) {
.title {
font-size: clamp(2rem, 10vw, 3rem);
}
.subtitle {
font-size: 0.85rem;
min-height: 2.5rem;
}
.secondaryBtn {
padding: 10px 20px;
font-size: 0.85rem;
}
}