Files
ragusaitweb/src/components/sections/Hero.module.css
2026-01-22 00:23:52 +01:00

170 lines
2.8 KiB
CSS

.hero {
position: relative;
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
height: 100dvh;
padding: var(--space-3xl) 0;
overflow: hidden;
}
.backgroundContainer {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 0;
}
.content {
position: relative;
z-index: 1;
display: flex;
align-items: center;
justify-content: center;
}
.text {
max-width: 800px;
text-align: center;
}
.greeting {
font-size: 1.125rem;
font-weight: 500;
color: var(--md-sys-color-primary);
margin-bottom: var(--space-md);
letter-spacing: 0.05em;
text-transform: uppercase;
}
.title {
font-size: clamp(2.5rem, 6vw, 5rem);
font-weight: 700;
line-height: 1.1;
margin-bottom: var(--space-lg);
background: linear-gradient(
135deg,
var(--md-sys-color-on-surface) 0%,
var(--md-sys-color-primary) 50%,
var(--md-sys-color-on-surface) 100%
);
background-size: 200% auto;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
animation: shimmer 3s ease-in-out infinite;
}
@keyframes shimmer {
0%, 100% {
background-position: 0% center;
}
50% {
background-position: 100% center;
}
}
.tagline {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: 0.5em;
font-size: clamp(1.25rem, 3vw, 2rem);
color: var(--md-sys-color-on-surface);
opacity: 0.9;
margin-bottom: var(--space-2xl);
}
.typed {
color: var(--md-sys-color-primary);
font-weight: 600;
min-width: 200px;
text-align: left;
}
.cursor {
display: inline-block;
margin-left: 2px;
animation: blink 1s step-end infinite;
}
@keyframes blink {
0%, 100% {
opacity: 1;
}
50% {
opacity: 0;
}
}
.cta {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: var(--space-md);
}
.scrollIndicator {
position: absolute;
bottom: var(--space-2xl);
left: 50%;
transform: translateX(-50%);
z-index: 1;
display: flex;
flex-direction: column;
align-items: center;
gap: var(--space-sm);
}
.scrollMouse {
width: 26px;
height: 42px;
border: 2px solid var(--md-sys-color-outline);
border-radius: 13px;
display: flex;
justify-content: center;
padding-top: 8px;
}
.scrollWheel {
width: 4px;
height: 8px;
background-color: var(--md-sys-color-primary);
border-radius: 2px;
}
.scrollText {
font-size: 0.75rem;
font-weight: 500;
color: var(--md-sys-color-on-surface);
opacity: 0.4;
text-transform: uppercase;
letter-spacing: 0.1em;
}
@media (max-width: 768px) {
.typed {
min-width: auto;
display: block;
width: 100%;
text-align: center;
}
.cta {
flex-direction: column;
}
.cta a {
width: 100%;
}
.cta button {
width: 100%;
}
}