modified footer

This commit is contained in:
rajesh.n 2025-09-26 16:28:09 +05:30
parent 9d99753ab3
commit 65744c6481
3 changed files with 491 additions and 232 deletions

View File

@ -1,202 +1,453 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Right-side Image Expanding Cards</title> <title>Practice Coding & Ace Hiring Assessments</title>
<style> <style>
* { * {
margin: 0; margin: 0;
padding: 0; padding: 0;
box-sizing: border-box; box-sizing: border-box;
font-family: "Segoe UI", sans-serif; font-family: 'Segoe UI', system-ui, sans-serif;
} }
body { body {
background: #f9f9f9; background-color: #f9fafb;
color: #1a1a1a; color: #1f2937;
padding: 40px; padding: 40px 20px;
} min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
}
h1 { .container {
font-size: 26px; max-width: 1300px;
font-weight: 600; width: 100%;
margin-bottom: 10px; }
}
p.subtext { header {
color: #555; margin-bottom: 40px;
margin-bottom: 25px; text-align: center;
} }
/* Flex container */ h1 {
.cards-container { font-size: 32px;
display: flex; font-weight: 700;
gap: 15px; margin-bottom: 12px;
height: 220px; color: #111827;
} }
/* Card style */ .subtitle {
.card { font-size: 18px;
flex: 1; color: #6b7280;
display: flex; max-width: 700px;
border-radius: 14px; margin: 0 auto;
overflow: hidden; line-height: 1.5;
transition: all 0.4s ease; }
position: relative;
cursor: pointer;
color: #fff;
}
/* Different background colors */ .cards-container {
.card:nth-child(1) { background: #1d4ed8; } margin: 30px 0;
.card:nth-child(2) { background: #e11d48; } display: flex;
.card:nth-child(3) { background: #9333ea; } height: 380px;
.card:nth-child(4) { background: #f59e0b; } border-radius: 12px;
overflow: hidden;
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
position: relative;
gap: 1px;
background-color: #d1d5db;
padding: 1px;
}
/* Card content */ .card {
.card-content { flex: 1;
flex: 1; display: flex;
padding: 16px 20px; transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
display: flex; cursor: pointer;
flex-direction: column; position: relative;
justify-content: space-between; overflow: hidden;
transition: all 0.4s ease; transform-origin: center;
min-width: 0; /* For text ellipsis */ background-color: white;
} border-radius: 0;
}
/* Hide image initially */ .card:first-child {
.card img { border-radius: 11px 0 0 11px;
width: 0; }
height: 100%;
object-fit: cover;
transition: all 0.4s ease;
border-left: 0px solid #fff;
}
/* Icon style */ .card:last-child {
.icon { border-radius: 0 11px 11px 0;
width: 40px; }
height: 40px;
border-radius: 50%;
background: rgba(255,255,255,0.3);
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
margin-bottom: 10px;
}
.card h3 { .card-content {
font-size: 18px; flex: 1;
margin-bottom: 6px; padding: 24px;
} display: flex;
flex-direction: column;
justify-content: space-between;
transition: all 0.7s ease;
min-width: 0;
z-index: 2;
position: relative;
}
.card p { /* Color changes for active and hover states */
font-size: 14px; .card.active { background-color: #c6e0f1; }
} .card:nth-child(1):hover,
.card:nth-child(1).active { background-color: #89CFF0; }
.card:nth-child(2):hover,
.card:nth-child(2).active { background-color: #FEB4CF; }
.card:nth-child(3):hover,
.card:nth-child(3).active { background-color: #DFC5FE; }
.card:nth-child(4):hover,
.card:nth-child(4).active { background-color: #FFE186; }
.cta-btn { /* SVG Container */
margin-top: 10px; .card-svg {
background: rgba(255,255,255,0.3); width: 0;
color: #fff; height: 100%;
padding: 6px 12px; display: flex;
border-radius: 8px; align-items: center;
font-size: 13px; justify-content: center;
font-weight: 500; transition: all 1.3s cubic-bezier(0.23, 1, 0.32, 1);
text-decoration: none; opacity: 0;
width: fit-content; padding: 20px;
white-space: nowrap; /* Remove the gradient and use solid background that matches the card */
} background: transparent;
}
.footer-text { .card-svg svg {
font-size: 13px; width: 100%;
font-weight: 500; height: 100%;
} max-width: 180px;
max-height: 180px;
filter: drop-shadow(0 4px 8px rgba(0,0,0,0.1));
}
/* Hover effects */ .card-icon {
.cards-container:hover .card { width: 48px;
flex: 1; height: 48px;
} border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
font-size: 24px;
margin-bottom: 16px;
transition: transform 0.5s ease;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
.cards-container .card:hover { .card:nth-child(1) .card-icon { background-color: #1268f3; color: white; }
flex: 2.5; .card:nth-child(2) .card-icon { background-color: #ef4444; color: white; }
} .card:nth-child(3) .card-icon { background-color: #8b5cf6; color: white; }
.card:nth-child(4) .card-icon { background-color: #f59e0b; color: white; }
.cards-container .card:hover img { .card h3 {
width: 50%; /* show image on right */ font-size: 20px;
} font-weight: 600;
margin-bottom: 12px;
color: #111827;
transition: transform 0.5s ease;
}
/* Responsive */ .card p {
@media (max-width: 992px) { font-size: 15px;
.cards-container { color: #6b7280;
flex-direction: column; line-height: 1.5;
height: auto; margin-bottom: 16px;
} transition: transform 0.5s ease;
.card { }
flex: none;
width: 100%; .meta-info {
flex-direction: column; display: flex;
} align-items: center;
.cards-container .card:hover img { margin-bottom: 16px;
width: 100%; font-size: 14px;
height: 180px; color: #4b5563;
margin-top: 10px; transition: transform 0.5s ease;
} }
}
</style> .meta-logo {
width: 24px;
height: 24px;
background-color: #3b82f6;
border-radius: 4px;
margin-right: 8px;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.footer-text {
font-size: 14px;
font-weight: 600;
color: #374151;
margin-top: auto;
transition: transform 0.5s ease;
}
.cta-btn {
margin-top: 16px;
background-color: #111827;
color: white;
padding: 10px 16px;
border-radius: 8px;
font-size: 14px;
font-weight: 600;
text-decoration: none;
width: fit-content;
display: inline-flex;
align-items: center;
gap: 6px;
transition: all 0.7s cubic-bezier(0.23, 1, 0.32, 1);
opacity: 0;
transform: translateY(15px);
position: relative;
overflow: hidden;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
.cta-btn::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
transition: left 0.8s;
}
.cta-btn:hover::before {
left: 100%;
}
.cta-btn:hover {
background-color: #374151;
transform: translateY(-2px);
box-shadow: 0 6px 12px rgba(0,0,0,0.15);
}
/* Active card styles */
.card.active {
flex: 3.5;
transform: translateY(-8px) scale(1.02);
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
z-index: 10;
}
.card.active .card-svg {
width: 45%;
opacity: 1;
}
.card.active .cta-btn {
opacity: 1;
transform: translateY(0);
}
.card.active .card-icon {
transform: scale(1.1) rotate(5deg);
}
.card.active h3 {
transform: translateY(-3px);
}
.card.active p,
.card.active .meta-info,
.card.active .footer-text {
transform: translateY(-2px);
}
/* Hover effects for non-active cards */
.card:hover:not(.active) {
flex: 1.3;
transform: translateY(-4px) scale(1.01);
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
z-index: 5;
}
.card:hover:not(.active) .card-svg {
width: 25%;
opacity: 0.8;
}
/* Subtle overlay effect */
.card::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(to bottom, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 100%);
opacity: 0;
transition: opacity 0.6s ease;
pointer-events: none;
}
.card.active::after,
.card:hover::after {
opacity: 1;
}
@media (max-width: 992px) {
.cards-container {
flex-direction: column;
height: auto;
border-radius: 12px;
}
.card {
flex-direction: column;
height: auto;
border-radius: 0 !important;
}
.card:first-child {
border-radius: 12px 12px 0 0 !important;
}
.card:last-child {
border-radius: 0 0 12px 12px !important;
}
.card.active .card-svg,
.card:hover .card-svg {
width: 100%;
height: 200px;
}
.card.active {
transform: translateY(-5px) scale(1.01);
}
.card:hover:not(.active) {
transform: translateY(-3px) scale(1.005);
}
}
</style>
</head> </head>
<body> <body>
<h1>Practice Coding & Ace Hiring Assessments</h1> <div class="container">
<p class="subtext">Level up your coding skills by practicing the hiring assessments of your dream companies & ace your placement game!</p> <h1>Practice Coding & Ace Hiring Assessments</h1>
<p>Level up your coding skills by practicing the hiring assessments of your dream companies & ace your placement game!</p>
<div class="cards-container"> <div class="cards-container">
<!-- Card 1 --> <!-- Coding Practice Card -->
<div class="card"> <div class="card active">
<div class="card-content"> <div class="card-content">
<div> <div>
<div class="icon">💻</div> <div class="card-icon">💻</div>
<h3>Coding Practice</h3> <h3>Coding Practice</h3>
<p>Level up your coding skills by practicing the hiring Questions.</p> <p>Level up your coding skills by practicing the hiring Questions.</p>
<p><strong>400+ Questions</strong></p> </div>
</div> <a href="#" class="cta-btn">Start Now ➤</a>
<a href="#" class="cta-btn">Start Now →</a> </div>
</div> <div class="card-svg">
<img src="https://images.pexels.com/photos/3762800/pexels-photo-3762800.jpeg?auto=compress&cs=tinysrgb&w=600&h=400" loading="lazy" alt="Coding Practice"> <img src="assets/images/mit-ico/ebmpapst.svg" alt="Coding Practice">
</div> </div>
</div>
<!-- Card 2 --> <!-- Interview Preparation Card -->
<div class="card"> <div class="card">
<div class="card-content"> <div class="card-content">
<div class="icon">📋</div> <div>
<h3>Interview Preparation</h3> <div class="card-icon">📋</div>
<p>Crack top companies in just 5 days.</p> <h3>Interview Preparation</h3>
<p class="footer-text">20+ Companies →</p> <p>Crack Top companies in just 5 days.</p>
</div> <div class="footer-text">20+ Companies</div>
<img src="https://images.pexels.com/photos/1438084/pexels-photo-1438084.jpeg?auto=compress&cs=tinysrgb&w=600&h=400" loading="lazy" alt="Interview Prep"> </div>
</div> <a href="#" class="cta-btn">Start Now ➤</a>
</div>
<div class="card-svg">
<img src="assets/images/mit-ico/ebmpapst.svg" alt="Coding Practice">
</div>
</div>
<!-- Card 3 --> <!-- Projects Card -->
<div class="card"> <div class="card">
<div class="card-content"> <div class="card-content">
<div class="icon">📂</div> <div>
<h3>Projects</h3> <div class="card-icon">📂</div>
<p>Projects epitomize perfect synergy for success.</p> <h3>Projects</h3>
<p class="footer-text">15+ Projects →</p> <p>Projects epitomize perfect synergy for success.</p>
</div> <!-- <div class="meta-info">
<img src="https://images.pexels.com/photos/267569/pexels-photo-267569.jpeg?auto=compress&cs=tinysrgb&w=600&h=400" loading="lazy" alt="Projects"> <div class="meta-logo">M</div>
</div> <span>Meta</span>
<span style="margin-left: auto;">$4,000 Regis...</span>
</div> -->
<div class="footer-text">15+ Projects</div>
</div>
<a href="#" class="cta-btn">Start Now ➤</a>
</div>
<div class="card-svg">
<img src="assets/images/mit-ico/ebmpapst.svg" alt="Coding Practice">
</div>
</div>
<!-- Card 4 --> <!-- Skill Based Assessments Card -->
<div class="card"> <div class="card">
<div class="card-content"> <div class="card-content">
<div class="icon">📝</div> <div>
<h3>Skill Based Assessments</h3> <div class="card-icon">📝</div>
<p>Assess your skills and get ahead of the curve.</p> <h3>Skill Based Assessments</h3>
<p class="footer-text">2000+ Questions →</p> <p>Assess your skills and get ahead of the curve.</p>
<div class="footer-text">2000+ Questions</div>
</div>
<a href="#" class="cta-btn">Start Now ➤</a>
</div>
<div class="card-svg">
<img src="assets/images/mit-ico/ebmpapst.svg" alt="Coding Practice">
</div>
</div>
</div>
</div> </div>
<img src="https://images.pexels.com/photos/3769021/pexels-photo-3769021.jpeg?auto=compress&cs=tinysrgb&w=600&h=400" loading="lazy" alt="Assessments">
</div> <script>
</div> document.addEventListener('DOMContentLoaded', function() {
const cards = document.querySelectorAll('.card');
let activeCard = document.querySelector('.card.active');
let lastActiveCard = activeCard;
// Function to set active card
function setActiveCard(card) {
// Remove active class from all cards
cards.forEach(c => {
c.classList.remove('active');
const btn = c.querySelector('.cta-btn');
btn.style.visibility = 'hidden';
});
// Add active class to the specified card
card.classList.add('active');
const btn = card.querySelector('.cta-btn');
btn.style.visibility = 'visible';
// Update last active card
lastActiveCard = card;
}
// Set first card as active by default
setActiveCard(cards[0]);
// Add hover event listeners
cards.forEach(card => {
card.addEventListener('mouseenter', function() {
setActiveCard(this);
});
// When mouse leaves the container, keep the last hovered card active
document.querySelector('.cards-container').addEventListener('mouseleave', function() {
// Keep the current active card as is (no change needed)
});
});
});
</script>
</body> </body>
</html> </html>

View File

@ -676,13 +676,13 @@
<footer class="footer"> <footer class="footer">
<div class="footer-container"> <div class="footer-container">
<div class="footer-section company-section"> <div class="footer-section company-section">
<div class="logo">Kode Pilot</div> <div class="logo">Kodepilot</div>
<p class="tagline">Built with <span class="heart"></span> in India for the world</p> <p class="tagline">Built with <span class="heart"></span> in India for the world</p>
<div class="contact-info"> <div class="contact-info">
<h4>Stay Connected</h4>
<div style="margin-bottom: 20px;">
<div style="margin-bottom: 20px; line-height: 23px;">
<strong style="color: white; font-size: 14px;">Sales Inquiries</strong> <strong style="color: white; font-size: 14px;">Sales Inquiries</strong>
<div class="contact-item"> <div class="contact-item">
<i class="fas fa-envelope"></i> <i class="fas fa-envelope"></i>
@ -695,7 +695,7 @@
</div> </div>
<div> <div>
<strong style="color: white; font-size: 14px;">Support Inquiries</strong> <strong style="color: white; font-size: 14px; line-height: 30px;">Support Inquiries</strong>
<div class="contact-item"> <div class="contact-item">
<i class="fas fa-envelope"></i> <i class="fas fa-envelope"></i>
support@kodepilot.com support@kodepilot.com
@ -780,7 +780,7 @@
<div class="footer-bottom"> <div class="footer-bottom">
<div style="max-width: 1200px; margin: 0 auto; padding: 0 20px;"> <div style="max-width: 1200px; margin: 0 auto; padding: 0 20px;">
<div class="footer-bottom-links"> <!-- <div class="footer-bottom-links">
<a href="#">About Us</a> <a href="#">About Us</a>
<a href="#">Contact Us</a> <a href="#">Contact Us</a>
<a href="#">Careers</a> <a href="#">Careers</a>
@ -793,9 +793,9 @@
<a href="#">FAQs</a> <a href="#">FAQs</a>
<a href="#">Course Catalog</a> <a href="#">Course Catalog</a>
<a href="#">Certificates</a> <a href="#">Certificates</a>
<a href="#">Student Support</a> <a href="#">Student Support</a> -->
</div> </div>
<div class="footer-bottom-links" style="margin-top: 10px;"> <!-- <div class="footer-bottom-links" style="margin-top: 10px;">
<a href="#">Affiliate Program</a> <a href="#">Affiliate Program</a>
<a href="#">Corporate Training</a> <a href="#">Corporate Training</a>
<a href="#">Bulk Enrollment</a> <a href="#">Bulk Enrollment</a>
@ -806,9 +806,9 @@
<a href="#">Privacy Policy</a> <a href="#">Privacy Policy</a>
<a href="#">Refund Policy</a> <a href="#">Refund Policy</a>
<a href="#">Sitemap</a> <a href="#">Sitemap</a>
</div> </div> -->
<p style="margin-top: 20px;"> <p style="margin-top: 20px 0px; padding: 10px 315px; font-size: 15px;">
Copyright © 2025 <a href="#" style="color: #10b981;">Kode Pilot Learning Pvt Ltd</a> - All Copyright © 2025 <a href="#" style="color: #120ee2;">Kodepilot</a> - All
rights rights
reserved. reserved.
</p> </p>

View File

@ -938,44 +938,48 @@
font-size: 14px; font-size: 14px;
} }
.footer-container { .footer-container {
max-width: 1200px; max-width: 1200px;
margin: 0 auto; margin: 0 auto;
padding: 0 20px; padding: 0 20px; /* restore padding */
display: grid; display: grid;
grid-template-columns: 1fr 1fr 1fr; grid-template-columns: 1fr 1fr 1fr;
gap: 50px; gap: 50px;
} }
.footer-section h3 { .footer-section h3 {
font-size: 18px; font-size: 18 px;
font-weight: 600; font-weight: 600;
margin-bottom: 20px; margin-bottom: 20px;
color: #ffffff; color: #ffffff;
} }
.footer-section ul { .footer-section ul {
list-style: none; list-style: none;
} padding: 0; /* removes left padding */
margin: 0; /* removes default top/bottom margin */
}
.footer-section ul li { .footer-section ul li {
margin-bottom: 12px; margin-bottom: 12px;
} }
.footer-section ul li a { .footer-section ul li a {
color: #cbd5e1; color: #cbd5e1;
text-decoration: none; text-decoration: none;
font-size: 14px; font-size: 14px;
transition: color 0.3s ease; transition: color 0.3s ease;
} }
.footer-section ul li a:hover { .footer-section ul li a:hover {
color: #ffffff; color: #ffffff;
} }
.company-section {
grid-column: 1;
}
.company-section {
grid-column: 1;
}
.company-section .logo { .company-section .logo {
font-size: 28px; font-size: 28px;
@ -994,27 +998,31 @@
color: #ef4444; color: #ef4444;
} }
.contact-info { .contact-info {
margin-bottom: 20px; margin-bottom: 20px;
}
.contact-info h4 { }
font-size: 16px;
margin-bottom: 15px;
color: white;
}
.contact-item {
display: flex;
align-items: center;
margin-bottom: 10px;
color: #cbd5e1;
}
.contact-item i { .contact-info h4 {
margin-right: 10px; font-size: 16px;
width: 16px; margin-bottom: 15px;
} color: white;
padding-left: 0;
}
.contact-item {
display: flex;
align-items: center;
margin-bottom: 10px;
margin-left :-27px
}
.contact-item i {
margin-right: 10px;
width: 16px;
}
.social-icons { .social-icons {
display: flex; display: flex;