pixelperfect-pros-landing / styles /Home.module.css
minaewrw's picture
Create a professional, modern, and responsive landing page using Next.js for showcasing freelance or business services.
db5d53f verified
Raw
History Blame Contribute Delete
5.83 kB
/* Global Styles */
.container {
min-height: 100vh;
display: flex;
flex-direction: column;
font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
color: #333;
line-height: 1.6;
}
/* Section Styling */
.section {
padding: 5rem 1.5rem;
max-width: 1200px;
margin: 0 auto;
width: 100%;
}
.sectionTitle {
font-size: 2.5rem;
font-weight: 700;
text-align: center;
margin-bottom: 3rem;
color: #1a1a1a;
}
/* Hero Section */
.hero {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
padding: 8rem 1.5rem;
text-align: center;
position: relative;
overflow: hidden;
}
.heroContent {
max-width: 800px;
margin: 0 auto;
position: relative;
z-index: 2;
}
.hero h1 {
font-size: 3rem;
font-weight: 800;
margin-bottom: 1.5rem;
line-height: 1.2;
}
.subtitle {
font-size: 1.5rem;
margin-bottom: 2.5rem;
opacity: 0.9;
}
/* CTA Button */
.ctaButton {
display: inline-flex;
align-items: center;
background: white;
color: #667eea;
padding: 1rem 2rem;
border-radius: 50px;
font-weight: 600;
text-decoration: none;
transition: all 0.3s ease;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.ctaButton:hover {
transform: translateY(-3px);
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}
.ctaButton svg {
margin-left: 0.5rem;
transition: transform 0.3s ease;
}
.ctaButton:hover svg {
transform: translateX(3px);
}
/* Services Grid */
.servicesGrid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 2rem;
margin-top: 3rem;
}
.serviceCard {
background: white;
border-radius: 12px;
padding: 2rem;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
transition: all 0.3s ease;
text-align: center;
}
.serviceCard:hover {
transform: translateY(-5px);
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}
.serviceIcon {
font-size: 2.5rem;
color: #667eea;
margin-bottom: 1.5rem;
}
.serviceCard h3 {
font-size: 1.5rem;
margin-bottom: 1rem;
color: #1a1a1a;
}
/* Portfolio Grid */
.portfolioGrid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 2rem;
margin-top: 3rem;
}
.projectCard {
border-radius: 12px;
overflow: hidden;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
transition: all 0.3s ease;
}
.projectCard:hover {
transform: translateY(-5px);
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}
.projectImage {
height: 200px;
background-size: cover;
background-position: center;
}
.projectContent {
padding: 1.5rem;
background: white;
}
.projectContent h3 {
font-size: 1.25rem;
margin-bottom: 0.5rem;
color: #1a1a1a;
}
/* Testimonials */
.testimonialsGrid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 2rem;
margin-top: 3rem;
}
.testimonialCard {
background: white;
border-radius: 12px;
padding: 2rem;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
}
.testimonialText {
font-style: italic;
margin-bottom: 1.5rem;
color: #555;
}
.testimonialAuthor {
display: flex;
align-items: center;
}
.testimonialAuthor img {
width: 50px;
height: 50px;
border-radius: 50%;
margin-right: 1rem;
object-fit: cover;
}
.testimonialAuthor h4 {
font-size: 1rem;
margin-bottom: 0.25rem;
color: #1a1a1a;
}
.testimonialAuthor p {
font-size: 0.875rem;
color: #666;
}
/* Contact Form */
.contactContainer {
max-width: 600px;
margin: 0 auto;
}
.contactForm {
background: white;
border-radius: 12px;
padding: 2rem;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
}
.formGroup {
margin-bottom: 1.5rem;
}
.formGroup label {
display: block;
margin-bottom: 0.5rem;
font-weight: 500;
color: #1a1a1a;
}
.inputWithIcon {
position: relative;
}
.inputWithIcon svg {
position: absolute;
left: 1rem;
top: 50%;
transform: translateY(-50%);
color: #667eea;
}
.inputWithIcon input,
.inputWithIcon textarea {
width: 100%;
padding: 0.75rem 1rem 0.75rem 3rem;
border: 1px solid #ddd;
border-radius: 8px;
font-family: inherit;
transition: border-color 0.3s ease;
}
.inputWithIcon textarea {
padding-left: 3rem;
resize: vertical;
}
.inputWithIcon input:focus,
.inputWithIcon textarea:focus {
outline: none;
border-color: #667eea;
}
.submitButton {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
border: none;
padding: 1rem 2rem;
border-radius: 8px;
font-weight: 600;
cursor: pointer;
transition: all 0.3s ease;
width: 100%;
}
.submitButton:hover {
transform: translateY(-2px);
box-shadow: 0 4px 8px rgba(102, 126, 234, 0.3);
}
/* Footer */
.footer {
background: #1a1a1a;
color: white;
padding: 4rem 1.5rem 2rem;
margin-top: auto;
}
.footerContent {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 3rem;
}
.footerAbout h3 {
font-size: 1.5rem;
margin-bottom: 1rem;
}
.footerLinks h4,
.footerContact h4 {
font-size: 1.25rem;
margin-bottom: 1.5rem;
}
.footerLinks ul {
list-style: none;
padding: 0;
}
.footerLinks li {
margin-bottom: 0.75rem;
}
.footerLinks a {
color: #ccc;
text-decoration: none;
transition: color 0.3s ease;
}
.footerLinks a:hover {
color: white;
}
.footerBottom {
max-width: 1200px;
margin: 3rem auto 0;
padding-top: 2rem;
border-top: 1px solid #333;
text-align: center;
color: #999;
font-size: 0.875rem;
}
/* Responsive Adjustments */
@media (max-width: 768px) {
.hero h1 {
font-size: 2.25rem;
}
.subtitle {
font-size: 1.25rem;
}
.section {
padding: 3rem 1.5rem;
}
.sectionTitle {
font-size: 2rem;
}
}
@media (max-width: 480px) {
.hero {
padding: 6rem 1.5rem;
}
.hero h1 {
font-size: 2rem;
}
.ctaButton {
padding: 0.75rem 1.5rem;
}
}