@@ -37,7 +37,7 @@ const HeroSection = () => {
3737 return (
3838 < div
3939 id = "home"
40- className = "min-h-screen flex items-center justify-between px-4 md:px-40 gap-8 md:gap-16 relative overflow-hidden pt-5 pb -5"
40+ className = "min-h-screen flex flex-col lg:flex-row items-center justify-center lg:justify- between px-4 sm:px-6 md:px-8 lg:px-16 xl:px- 40 gap-8 md:gap-12 lg:gap- 16 relative overflow-hidden py-8 lg:py -5"
4141 >
4242 < div className = "absolute inset-0" >
4343 < div className = "absolute inset-0 bg-gradient-to-br from-primary/5 via-background to-accent/5" />
@@ -51,54 +51,54 @@ const HeroSection = () => {
5151 </ svg >
5252 </ div >
5353
54- < div className = "absolute top-32 left-12 w-24 h-24 bg-gradient-to-br from-primary to-primary/40 rounded-full blur-3xl animate-pulse opacity-30" />
55- < div className = "absolute bottom-40 right-20 w-32 h-32 bg-gradient-to-br from-accent to-accent/40 rounded-2xl blur-2xl opacity-20 animate-float" />
54+ < div className = "absolute top-20 sm:top- 32 left-4 sm:left-8 lg:left- 12 w-16 h-16 sm:w-20 sm:h-20 lg:w- 24 lg: h-24 bg-gradient-to-br from-primary to-primary/40 rounded-full blur-2xl sm: blur-3xl animate-pulse opacity-30" />
55+ < div className = "absolute bottom-20 sm:bottom-32 lg:bottom- 40 right-4 sm:right-12 lg:right- 20 w-20 h-20 sm:w-28 sm:h-28 lg:w- 32 lg: h-32 bg-gradient-to-br from-accent to-accent/40 rounded-2xl blur-xl sm: blur-2xl opacity-20 animate-float" />
5656
57- < div className = "flex-1 z-10 flex flex-col justify-center" >
58- < div className = "animate-slide-up space-y-6" >
59- < div className = "inline-flex items-center gap-2 px-4 py-2 rounded-full border border-primary/30 bg-primary/5 backdrop-blur-sm w-fit" >
60- < Code2 className = "w-4 h-4 text-primary animate-bounce" style = { { animationDelay : "0s" } } />
57+ < div className = "flex-1 z-10 flex flex-col justify-center text-center lg:text-left " >
58+ < div className = "animate-slide-up space-y-4 sm:space-y- 6" >
59+ < div className = "inline-flex items-center gap-2 px-3 sm:px- 4 py-2 rounded-full border border-primary/30 bg-primary/5 backdrop-blur-sm w-fit mx-auto lg:mx-0 " >
60+ < Code2 className = "w-3 h-3 sm:w-4 sm: h-4 text-primary animate-bounce" style = { { animationDelay : "0s" } } />
6161 < span className = "text-xs font-mono text-primary font-semibold tracking-widest" > HACKATHON 2K25</ span >
6262 < Zap className = "w-3 h-3 text-accent" />
6363 </ div >
6464
6565 < div >
66- < h1 className = "text-6xl md:text-8xl lg:text-9xl leading-tight font-black tracking-tighter" >
66+ < h1 className = "text-4xl sm:text-5xl md:text-6xl lg:text-7xl xl:text-8xl 2xl :text-9xl leading-tight font-black tracking-tighter" >
6767 < span className = "bg-clip-text text-transparent bg-gradient-to-r from-foreground via-primary to-foreground animate-gradient" >
6868 HackOverflow
6969 </ span >
7070 </ h1 >
71- < div className = "text-3xl md:text-5xl lg:text-7xl font-black text-primary mt-3 tracking-tight" > 2K25</ div >
71+ < div className = "text-2xl sm:text- 3xl md:text-4xl lg:text-5xl xl:text-6xl 2xl:text- 7xl font-black text-primary mt-2 sm: mt-3 tracking-tight" > 2K25</ div >
7272 </ div >
7373 </ div >
7474
75- < div className = "animate-slide-up mt-10" style = { { animationDelay : "0.2s" } } >
76- < p className = "text-lg md:text-xl text-muted-foreground max-w-2xl leading-relaxed font-light" >
75+ < div className = "animate-slide-up mt-6 sm:mt-8 lg:mt- 10" style = { { animationDelay : "0.2s" } } >
76+ < p className = "text-base sm:text- lg md:text-xl text-muted-foreground max-w-2xl leading-relaxed font-light mx-auto lg:mx-0 " >
7777 The ultimate hackathon for developers who innovate. Build groundbreaking solutions, collaborate with
7878 brilliant minds, and compete for premium prizes.
7979 </ p >
8080 </ div >
8181
82- < div className = "animate-slide-up mt-12" style = { { animationDelay : "0.4s" } } >
83- < div className = "grid grid-cols-3 gap-4 md:gap-6" >
82+ < div className = "animate-slide-up mt-8 sm:mt-10 lg:mt- 12" style = { { animationDelay : "0.4s" } } >
83+ < div className = "grid grid-cols-1 sm:grid-cols- 3 gap-3 sm:gap- 4 md:gap-6 max-w-lg sm:max-w-none mx-auto lg:mx-0 " >
8484 { [
8585 { icon : Calendar , label : "Duration" , value : "24H" } ,
8686 { icon : Users , label : "Hackers" , value : "500+" } ,
8787 { icon : Trophy , label : "Prizes" , value : "35K" } ,
8888 ] . map ( ( stat , idx ) => (
8989 < div
9090 key = { stat . label }
91- className = "group relative overflow-hidden rounded-xl border border-border/40 bg-card/30 backdrop-blur-md p-5 hover:border-primary/60 transition-all duration-300 hover:bg-card/50"
91+ className = "group relative overflow-hidden rounded-xl border border-border/40 bg-card/30 backdrop-blur-md p-4 sm:p- 5 hover:border-primary/60 transition-all duration-300 hover:bg-card/50"
9292 style = { {
9393 animation : `slide-up 0.6s ease-out ${ 0.5 + idx * 0.1 } s forwards` ,
9494 opacity : 0 ,
9595 } }
9696 >
9797 < div className = "absolute inset-0 bg-gradient-to-br from-primary/10 to-primary/0 opacity-0 group-hover:opacity-100 transition-opacity duration-300" />
98- < div className = "relative flex flex-col gap-2" >
98+ < div className = "relative flex flex-col sm:flex-col gap-2 items-center sm:items-start text-center sm:text-left " >
9999 < stat . icon className = "w-5 h-5 text-primary" />
100100 < div className = "flex flex-col gap-1" >
101- < span className = "text-sm font-mono text-primary font-bold" > { stat . value } </ span >
101+ < span className = "text-sm sm:text-sm font-mono text-primary font-bold" > { stat . value } </ span >
102102 < span className = "text-xs text-muted-foreground font-medium uppercase tracking-wide" >
103103 { stat . label }
104104 </ span >
@@ -109,31 +109,31 @@ const HeroSection = () => {
109109 </ div >
110110 </ div >
111111
112- < div className = "animate-slide-up mt-16" style = { { animationDelay : "0.6s" } } >
113- < div className = "flex items-center gap-3 mb-8" >
114- < Clock className = "w-5 h-5 text-primary animate-spin" style = { { animationDuration : "3s" } } />
112+ < div className = "animate-slide-up mt-10 sm:mt-12 lg:mt- 16" style = { { animationDelay : "0.6s" } } >
113+ < div className = "flex items-center justify-center lg:justify-start gap-3 mb-6 sm: mb-8" >
114+ < Clock className = "w-4 h-4 sm:w-5 sm: h-5 text-primary animate-spin" style = { { animationDuration : "3s" } } />
115115 < span className = "text-xs font-mono text-muted-foreground font-bold uppercase tracking-widest" >
116116 Event Countdown
117117 </ span >
118118 </ div >
119- < div className = "flex gap-3 md:gap-4" >
119+ < div className = "flex gap-2 sm:gap- 3 md:gap-4 justify-center lg:justify-start " >
120120 { Object . entries ( timeLeft ) . map ( ( [ unit , value ] , idx ) => (
121121 < div
122122 key = { unit }
123- className = "relative flex-1 md:flex-none group"
123+ className = "relative flex-1 max-w-[70px] sm:max-w-[80px] md:flex-none group"
124124 style = { {
125125 animation : `scale-in 0.6s ease-out ${ 0.7 + idx * 0.1 } s forwards` ,
126126 opacity : 0 ,
127127 } }
128128 >
129129 < div className = "absolute inset-0 bg-gradient-to-br from-primary/40 to-primary/10 rounded-xl blur-xl opacity-0 group-hover:opacity-100 transition-all duration-500" />
130- < div className = "relative bg-gradient-to-br from-card/60 to-card/30 border border-primary/30 backdrop-blur-xl rounded-xl p-3 md:p-6 min-w-[55px] md:min-w-[85px] text-center hover:border-primary/70 transition-all duration-300 hover:shadow-2xl hover:shadow-primary/30 hover:from-card/80 hover:to-card/50 group-hover:scale-110" >
131- < div className = "flex flex-col items-center gap-3" >
132- < div className = "text-2xl md:text-4xl font-black text-primary font-mono tracking-tighter" >
130+ < div className = "relative bg-gradient-to-br from-card/60 to-card/30 border border-primary/30 backdrop-blur-xl rounded-xl p-2 sm:p- 3 md:p-6 min-w-[55px] sm:min-w-[65px ] md:min-w-[85px] text-center hover:border-primary/70 transition-all duration-300 hover:shadow-2xl hover:shadow-primary/30 hover:from-card/80 hover:to-card/50 group-hover:scale-110" >
131+ < div className = "flex flex-col items-center gap-2 sm:gap- 3" >
132+ < div className = "text-xl sm:text- 2xl md:text-4xl font-black text-primary font-mono tracking-tighter" >
133133 { String ( value ) . padStart ( 2 , "0" ) }
134134 </ div >
135135 < div className = "h-px w-full bg-gradient-to-r from-transparent via-primary/40 to-transparent" />
136- < div className = "text-[10px] md:text-xs font-mono text-muted-foreground font-bold uppercase tracking-widest" >
136+ < div className = "text-[9px] sm:text-[ 10px] md:text-xs font-mono text-muted-foreground font-bold uppercase tracking-widest" >
137137 { unit }
138138 </ div >
139139 </ div >
@@ -144,28 +144,28 @@ const HeroSection = () => {
144144 </ div >
145145
146146 { /* Enhanced button section with improved interactions */ }
147- < div className = "animate-slide-up flex flex-col sm:flex-row gap-4 mt-12 " style = { { animationDelay : "0.8s" } } >
147+ < div className = "animate-slide-up flex flex-col sm:flex-row gap-3 sm:gap- 4 mt-8 sm:mt-10 lg:mt-12 justify-center lg:justify-start " style = { { animationDelay : "0.8s" } } >
148148 < button
149149 onMouseEnter = { ( ) => setIsHovering ( "register" ) }
150150 onMouseLeave = { ( ) => setIsHovering ( null ) }
151151 onClick = { ( ) => navigate ( '/register' ) }
152- className = "group relative overflow-hidden rounded-lg px-8 py-2 bg-primary hover:bg-primary/85 text-primary-foreground font-bold text-lg transition-all duration-300 hover:shadow-2xl hover:shadow-primary/50 active:scale-95"
152+ className = "group relative overflow-hidden rounded-lg px-6 sm:px- 8 py-3 sm:py-4 bg-primary hover:bg-primary/85 text-primary-foreground font-bold text-base sm: text-lg transition-all duration-300 hover:shadow-2xl hover:shadow-primary/50 active:scale-95"
153153 >
154154 { /* Animated background gradient overlay */ }
155155 < div className = "absolute inset-0 bg-gradient-to-r from-transparent via-white/20 to-transparent translate-x-[-100%] group-hover:translate-x-[100%] transition-transform duration-700" />
156156
157157 < span className = "relative z-10 flex items-center justify-center gap-2" >
158158 Register Now
159159 < ArrowRight
160- className = { `w-5 h-5 transition-all duration-300 ${ isHovering === "register" ? "translate-x-2" : "" } ` }
160+ className = { `w-4 h-4 sm:w-5 sm: h-5 transition-all duration-300 ${ isHovering === "register" ? "translate-x-2" : "" } ` }
161161 />
162162 </ span >
163163 </ button >
164164
165165 < button
166166 onMouseEnter = { ( ) => setIsHovering ( "learn" ) }
167167 onMouseLeave = { ( ) => setIsHovering ( null ) }
168- className = "group relative overflow-hidden rounded-lg px-8 py-2 border-2 border-primary/50 text-primary hover:border-primary/100 font-semibold text-lg bg-transparent backdrop-blur-sm transition-all duration-300 hover:bg-primary/10 hover:shadow-xl hover:shadow-primary/20 active:scale-95"
168+ className = "group relative overflow-hidden rounded-lg px-6 sm:px- 8 py-3 sm:py-4 border-2 border-primary/50 text-primary hover:border-primary/100 font-semibold text-base sm: text-lg bg-transparent backdrop-blur-sm transition-all duration-300 hover:bg-primary/10 hover:shadow-xl hover:shadow-primary/20 active:scale-95"
169169 >
170170 { /* Animated border glow */ }
171171 < div className = "absolute inset-0 bg-gradient-to-r from-primary/0 via-primary/10 to-primary/0 opacity-0 group-hover:opacity-100 transition-opacity duration-300 rounded-lg" />
@@ -175,22 +175,22 @@ const HeroSection = () => {
175175 </ div >
176176 </ div >
177177
178- < div className = "flex-1 z-10 hidden lg:flex animate-scale-in" style = { { animationDelay : "1s" } } >
178+ < div className = "flex-1 z-10 hidden md:flex lg:flex animate-scale-in max-w-lg lg:max-w-none mx-auto lg:mx-0 " style = { { animationDelay : "1s" } } >
179179 < div className = "relative w-full" >
180180 < div className = "animate-float" >
181181 < div className = "relative group" >
182- < div className = "absolute inset-0 bg-gradient-to-br from-primary/30 to-accent/10 rounded-3xl blur-3xl group-hover:blur-4xl transition-all duration-500 opacity-60" />
182+ < div className = "absolute inset-0 bg-gradient-to-br from-primary/30 to-accent/10 rounded-2xl sm:rounded- 3xl blur-2xl sm:blur- 3xl group-hover:blur-3xl sm: group-hover:blur-4xl transition-all duration-500 opacity-60" />
183183 < img
184184 src = "/HS1.webp"
185185 alt = "HackOverflow 2k25 - Innovation and Collaboration"
186- className = "relative rounded-3xl shadow-2xl border border-primary/30 backdrop-blur-sm w-full hover:scale-110 hover:border-primary/60 transition-all duration-500"
186+ className = "relative rounded-2xl sm:rounded- 3xl shadow-2xl border border-primary/30 backdrop-blur-sm w-full hover:scale-105 lg: hover:scale-110 hover:border-primary/60 transition-all duration-500"
187187 />
188188 </ div >
189189 </ div >
190190
191- < div className = "absolute -top-3 -right-3 w-6 h-6 bg-primary rounded-full animate-pulse shadow-lg shadow-primary/60" />
191+ < div className = "absolute -top-2 sm:-top- 3 -right-2 sm:-right- 3 w-4 h-4 sm:w-6 sm: h-6 bg-primary rounded-full animate-pulse shadow-lg shadow-primary/60" />
192192 < div
193- className = "absolute -bottom-3 -left-3 w-5 h-5 bg-accent rounded-full animate-pulse shadow-lg shadow-accent/60"
193+ className = "absolute -bottom-2 sm:-bottom- 3 -left-2 sm:-left- 3 w-3 h-3 sm:w-5 sm: h-5 bg-accent rounded-full animate-pulse shadow-lg shadow-accent/60"
194194 style = { { animationDelay : "0.5s" } }
195195 />
196196 </ div >
0 commit comments