Compare commits

...

7 Commits

Author SHA1 Message Date
65744c6481 modified footer 2025-09-26 16:28:09 +05:30
Abhishek-unni-2
9d99753ab3 fix:the content 2025-09-26 16:27:13 +05:30
Abhishek-unni-2
1990965d1b fix: rename 2025-09-26 16:27:13 +05:30
b50d56bc36 feat: animation 2025-09-26 16:27:13 +05:30
aec5da395b feat: loading animation 2025-09-26 16:27:13 +05:30
402e7783cf mess: image_updated 2025-09-26 16:27:13 +05:30
8fa56182c9 mess: image_updated 2025-09-26 16:27:13 +05:30
52 changed files with 1246 additions and 836 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 143 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

View File

Before

Width:  |  Height:  |  Size: 356 KiB

After

Width:  |  Height:  |  Size: 356 KiB

View File

Before

Width:  |  Height:  |  Size: 326 KiB

After

Width:  |  Height:  |  Size: 326 KiB

View File

Before

Width:  |  Height:  |  Size: 343 KiB

After

Width:  |  Height:  |  Size: 343 KiB

View File

Before

Width:  |  Height:  |  Size: 305 KiB

After

Width:  |  Height:  |  Size: 305 KiB

View File

Before

Width:  |  Height:  |  Size: 411 KiB

After

Width:  |  Height:  |  Size: 411 KiB

View File

Before

Width:  |  Height:  |  Size: 306 KiB

After

Width:  |  Height:  |  Size: 306 KiB

View File

Before

Width:  |  Height:  |  Size: 332 KiB

After

Width:  |  Height:  |  Size: 332 KiB

View File

Before

Width:  |  Height:  |  Size: 295 KiB

After

Width:  |  Height:  |  Size: 295 KiB

View File

Before

Width:  |  Height:  |  Size: 397 KiB

After

Width:  |  Height:  |  Size: 397 KiB

View File

Before

Width:  |  Height:  |  Size: 286 KiB

After

Width:  |  Height:  |  Size: 286 KiB

View File

Before

Width:  |  Height:  |  Size: 330 KiB

After

Width:  |  Height:  |  Size: 330 KiB

View File

Before

Width:  |  Height:  |  Size: 344 KiB

After

Width:  |  Height:  |  Size: 344 KiB

View File

Before

Width:  |  Height:  |  Size: 287 KiB

After

Width:  |  Height:  |  Size: 287 KiB

View File

Before

Width:  |  Height:  |  Size: 268 KiB

After

Width:  |  Height:  |  Size: 268 KiB

View File

Before

Width:  |  Height:  |  Size: 379 KiB

After

Width:  |  Height:  |  Size: 379 KiB

View File

Before

Width:  |  Height:  |  Size: 362 KiB

After

Width:  |  Height:  |  Size: 362 KiB

View File

Before

Width:  |  Height:  |  Size: 341 KiB

After

Width:  |  Height:  |  Size: 341 KiB

View File

Before

Width:  |  Height:  |  Size: 269 KiB

After

Width:  |  Height:  |  Size: 269 KiB

View File

Before

Width:  |  Height:  |  Size: 310 KiB

After

Width:  |  Height:  |  Size: 310 KiB

View File

Before

Width:  |  Height:  |  Size: 225 KiB

After

Width:  |  Height:  |  Size: 225 KiB

View File

Before

Width:  |  Height:  |  Size: 331 KiB

After

Width:  |  Height:  |  Size: 331 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 322 KiB

View File

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

View File

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 60 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 113 KiB

After

Width:  |  Height:  |  Size: 113 KiB

View File

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 63 KiB

View File

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 50 KiB

View File

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View File

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 KiB

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;
h1 {
font-size: 26px;
font-weight: 600;
margin-bottom: 10px;
}
p.subtext {
color: #555;
margin-bottom: 25px;
}
/* Flex container */
.cards-container {
display: flex; display: flex;
gap: 15px; flex-direction: column;
height: 220px; align-items: center;
} }
/* Card style */ .container {
.card { max-width: 1300px;
flex: 1; width: 100%;
}
header {
margin-bottom: 40px;
text-align: center;
}
h1 {
font-size: 32px;
font-weight: 700;
margin-bottom: 12px;
color: #111827;
}
.subtitle {
font-size: 18px;
color: #6b7280;
max-width: 700px;
margin: 0 auto;
line-height: 1.5;
}
.cards-container {
margin: 30px 0;
display: flex; display: flex;
border-radius: 14px; height: 380px;
border-radius: 12px;
overflow: hidden; overflow: hidden;
transition: all 0.4s ease; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
position: relative; position: relative;
cursor: pointer; gap: 1px;
color: #fff; background-color: #d1d5db;
} padding: 1px;
}
/* Different background colors */ .card {
.card:nth-child(1) { background: #1d4ed8; }
.card:nth-child(2) { background: #e11d48; }
.card:nth-child(3) { background: #9333ea; }
.card:nth-child(4) { background: #f59e0b; }
/* Card content */
.card-content {
flex: 1; flex: 1;
padding: 16px 20px; display: flex;
transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
cursor: pointer;
position: relative;
overflow: hidden;
transform-origin: center;
background-color: white;
border-radius: 0;
}
.card:first-child {
border-radius: 11px 0 0 11px;
}
.card:last-child {
border-radius: 0 11px 11px 0;
}
.card-content {
flex: 1;
padding: 24px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
transition: all 0.4s ease; transition: all 0.7s ease;
min-width: 0; /* For text ellipsis */ min-width: 0;
} z-index: 2;
position: relative;
}
/* Hide image initially */ /* Color changes for active and hover states */
.card img { .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; }
/* SVG Container */
.card-svg {
width: 0; width: 0;
height: 100%; height: 100%;
object-fit: cover;
transition: all 0.4s ease;
border-left: 0px solid #fff;
}
/* Icon style */
.icon {
width: 40px;
height: 40px;
border-radius: 50%;
background: rgba(255,255,255,0.3);
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
transition: all 1.3s cubic-bezier(0.23, 1, 0.32, 1);
opacity: 0;
padding: 20px;
/* Remove the gradient and use solid background that matches the card */
background: transparent;
}
.card-svg svg {
width: 100%;
height: 100%;
max-width: 180px;
max-height: 180px;
filter: drop-shadow(0 4px 8px rgba(0,0,0,0.1));
}
.card-icon {
width: 48px;
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);
}
.card:nth-child(1) .card-icon { background-color: #1268f3; color: white; }
.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; }
.card h3 {
font-size: 20px; font-size: 20px;
margin-bottom: 10px; font-weight: 600;
} margin-bottom: 12px;
color: #111827;
transition: transform 0.5s ease;
}
.card h3 { .card p {
font-size: 18px; font-size: 15px;
margin-bottom: 6px; color: #6b7280;
} line-height: 1.5;
margin-bottom: 16px;
transition: transform 0.5s ease;
}
.card p { .meta-info {
display: flex;
align-items: center;
margin-bottom: 16px;
font-size: 14px; font-size: 14px;
} color: #4b5563;
transition: transform 0.5s ease;
}
.cta-btn { .meta-logo {
margin-top: 10px; width: 24px;
background: rgba(255,255,255,0.3); height: 24px;
color: #fff; background-color: #3b82f6;
padding: 6px 12px; 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; border-radius: 8px;
font-size: 13px; font-size: 14px;
font-weight: 500; font-weight: 600;
text-decoration: none; text-decoration: none;
width: fit-content; width: fit-content;
white-space: nowrap; 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);
}
.footer-text { .cta-btn::before {
font-size: 13px; content: '';
font-weight: 500; 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;
}
/* Hover effects */ .cta-btn:hover::before {
.cards-container:hover .card { left: 100%;
flex: 1; }
}
.cards-container .card:hover { .cta-btn:hover {
flex: 2.5; background-color: #374151;
} transform: translateY(-2px);
box-shadow: 0 6px 12px rgba(0,0,0,0.15);
}
.cards-container .card:hover img { /* Active card styles */
width: 50%; /* show image on right */ .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;
}
/* Responsive */ .card.active .card-svg {
@media (max-width: 992px) { 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 { .cards-container {
flex-direction: column; flex-direction: column;
height: auto; height: auto;
border-radius: 12px;
} }
.card { .card {
flex: none;
width: 100%;
flex-direction: column; flex-direction: column;
height: auto;
border-radius: 0 !important;
} }
.cards-container .card:hover img {
.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%; width: 100%;
height: 180px; height: 200px;
margin-top: 10px;
} }
}
</style> .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 active">
<div class="card-content">
<div>
<div class="card-icon">💻</div>
<h3>Coding Practice</h3>
<p>Level up your coding skills by practicing the hiring Questions.</p>
</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>
<!-- Interview Preparation Card -->
<div class="card"> <div class="card">
<div class="card-content"> <div class="card-content">
<div> <div>
<div class="icon">💻</div> <div class="card-icon">📋</div>
<h3>Coding Practice</h3>
<p>Level up your coding skills by practicing the hiring Questions.</p>
<p><strong>400+ Questions</strong></p>
</div>
<a href="#" class="cta-btn">Start Now →</a>
</div>
<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">
</div>
<!-- Card 2 -->
<div class="card">
<div class="card-content">
<div class="icon">📋</div>
<h3>Interview Preparation</h3> <h3>Interview Preparation</h3>
<p>Crack top companies in just 5 days.</p> <p>Crack Top companies in just 5 days.</p>
<p class="footer-text">20+ Companies →</p> <div class="footer-text">20+ Companies</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>
<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>
<!-- Card 3 --> <!-- Projects Card -->
<div class="card"> <div class="card">
<div class="card-content"> <div class="card-content">
<div class="icon">📂</div> <div>
<div class="card-icon">📂</div>
<h3>Projects</h3> <h3>Projects</h3>
<p>Projects epitomize perfect synergy for success.</p> <p>Projects epitomize perfect synergy for success.</p>
<p class="footer-text">15+ Projects →</p> <!-- <div class="meta-info">
<div class="meta-logo">M</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>
<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> </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>
<div class="card-icon">📝</div>
<h3>Skill Based Assessments</h3> <h3>Skill Based Assessments</h3>
<p>Assess your skills and get ahead of the curve.</p> <p>Assess your skills and get ahead of the curve.</p>
<p class="footer-text">2000+ Questions →</p> <div class="footer-text">2000+ Questions</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"> <a href="#" class="cta-btn">Start Now ➤</a>
</div> </div>
</div> <div class="card-svg">
<img src="assets/images/mit-ico/ebmpapst.svg" alt="Coding Practice">
</div>
</div>
</div>
</div>
<script>
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

@ -5,40 +5,161 @@
<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>Kodepilot Clone</title> <title>Kodepilot Clone</title>
<script> <link rel="stylesheet" href="main.css">
async function loadAsset(primary, fallback, type) { <link rel="stylesheet" href="templateapi/main.css">
try { <style>
const res = await fetch(primary, { method: "HEAD" }); .center-container {
if (res.ok) { display: flex;
addTag(primary, type); flex-direction: column;
} else { align-items: center;
throw new Error("Primary missing"); justify-content: center;
height: 100vh;
position: relative;
} }
} catch (e) {
addTag(fallback, type); .scene {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
width: 100%;
}
.cube-wrapper {
transform-style: preserve-3d;
animation: bouncing 2s infinite;
}
.cube {
transform-style: preserve-3d;
transform: rotateX(45deg) rotateZ(45deg);
animation: rotation 2s infinite;
}
.cube-faces {
transform-style: preserve-3d;
height: 80px;
/* $size */
width: 80px;
/* $size */
position: relative;
transform-origin: 0 0;
transform: translateX(0) translateY(0) translateZ(-40px);
/* -$size/2 */
}
.cube-face {
position: absolute;
inset: 0;
background: #003366;
border: solid 1px rgb(255, 255, 255);
}
.cube-face.shadow {
transform: translateZ(-80px);
animation: bouncing-shadow 2s infinite;
}
.cube-face.top {
transform: translateZ(80px);
}
.cube-face.front {
transform-origin: 0 50%;
transform: rotateY(-90deg);
}
.cube-face.back {
transform-origin: 0 50%;
transform: rotateY(-90deg) translateZ(-80px);
}
.cube-face.right {
transform-origin: 50% 0;
transform: rotateX(-90deg) translateY(-80px);
}
.cube-face.left {
transform-origin: 50% 0;
transform: rotateX(-90deg) translateY(-80px) translateZ(80px);
}
@keyframes rotation {
0% {
transform: rotateX(45deg) rotateY(0) rotateZ(45deg);
animation-timing-function: cubic-bezier(0.17, 0.84, 0.44, 1);
}
50% {
transform: rotateX(45deg) rotateY(0) rotateZ(225deg);
animation-timing-function: cubic-bezier(0.76, 0.05, 0.86, 0.06);
}
100% {
transform: rotateX(45deg) rotateY(0) rotateZ(405deg);
animation-timing-function: cubic-bezier(0.17, 0.84, 0.44, 1);
} }
} }
function addTag(url, type) { @keyframes bouncing {
if (type === "js") { 0% {
const s = document.createElement("script"); transform: translateY(-40px);
s.src = url; animation-timing-function: cubic-bezier(0.76, 0.05, 0.86, 0.06);
s.defer = true; }
document.head.appendChild(s);
} else if (type === "css") { 45% {
const l = document.createElement("link"); transform: translateY(40px);
l.rel = "stylesheet"; animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
l.href = url; }
document.head.appendChild(l);
100% {
transform: translateY(-40px);
animation-timing-function: cubic-bezier(0.76, 0.05, 0.86, 0.06);
} }
} }
loadAsset("main.css", "https://kodepilot.in/templateapi/main.css", "css"); @keyframes bouncing-shadow {
loadAsset("main.js", "https://kodepilot.in/templateapi/main.js", "js"); 0% {
</script> transform: translateZ(-80px) scale(1.3);
animation-timing-function: cubic-bezier(0.76, 0.05, 0.86, 0.06);
opacity: 0.05;
}
45% {
transform: translateZ(0);
animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
opacity: 0.3;
}
100% {
transform: translateZ(-80px) scale(1.3);
animation-timing-function: cubic-bezier(0.76, 0.05, 0.86, 0.06);
opacity: 0.05;
}
}
</style>
</head> </head>
<body> <body>
<div id="msg" style="font-size: largest;" class="center-container">
<div class="scene">
<div class="cube-wrapper">
<div class="cube">
<div class="cube-faces">
<div class="cube-face shadow"></div>
<div class="cube-face bottom"></div>
<div class="cube-face top"></div>
<div class="cube-face left"></div>
<div class="cube-face right"></div>
<div class="cube-face back"></div>
<div class="cube-face front"></div>
</div>
</div>
</div>
</div>
</div>
<div id="body" style="display: none;">
<header class="navbar"> <header class="navbar">
<div class="logo">Kodepilot</div> <div class="logo">Kodepilot</div>
<input type="text" class="search" placeholder="Search Opportunities"> <input type="text" class="search" placeholder="Search Opportunities">
@ -57,7 +178,8 @@
<div class="hero_container"> <div class="hero_container">
<div class="cards_box"> <div class="cards_box">
<h1><span class="blue_text">Unlock</span> Your Career</h1> <h1><span class="blue_text">Unlock</span> Your Career</h1>
<p>Explore opportunities from across the globe to grow, showcase skills, gain CV points & get hired by <p>Explore opportunities from across the globe to grow, showcase skills, gain CV points & get hired
by
your your
dream company.</p> dream company.</p>
<button class="button_blue_box"><img <button class="button_blue_box"><img
@ -277,7 +399,6 @@
</div> </div>
</div> </div>
<!-- Slide 3 -->
<div class="slide1"> <div class="slide1">
<div class="slide1-box"> <div class="slide1-box">
<div class="image-container"> <div class="image-container">
@ -300,7 +421,6 @@
</div> </div>
</div> </div>
</div> </div>
<button class="nav-button prev-btn" id="prevBtn" aria-label="Previous slide"></button> <button class="nav-button prev-btn" id="prevBtn" aria-label="Previous slide"></button>
<button class="nav-button next-btn" id="nextBtn" aria-label="Next slide"></button> <button class="nav-button next-btn" id="nextBtn" aria-label="Next slide"></button>
</div> </div>
@ -363,7 +483,8 @@
</p> </p>
<p class="slide-text"> <p class="slide-text">
"From farm inventory to eco-shipment tracking, kodepilot built us a green-tech backbone. "From farm inventory to eco-shipment tracking, kodepilot built us a green-tech backbone.
Their system lets us trace every organic ingredient and prove our sustainability story to Their system lets us trace every organic ingredient and prove our sustainability story
to
conscious customers." conscious customers."
</p> </p>
<div class="slide-logo-box"> <div class="slide-logo-box">
@ -406,7 +527,8 @@
" "
</p> </p>
<p class="slide-text"> <p class="slide-text">
"Loan processing used to take weeks. kodepilot smart engine made approvals happen in days "Loan processing used to take weeks. kodepilot smart engine made approvals happen in
days
without compromising security." without compromising security."
</p> </p>
<div class="slide-logo-box"> <div class="slide-logo-box">
@ -428,7 +550,7 @@
<section class="card-simple"> <section class="card-simple">
<div class="card-easy"> <div class="card-easy">
<div class="card-easy-left"> <div class="card-easy-left">
<img src="templateapi/Assets/Images/learn/learn.png" alt="Student Image"> <img src="assets/images/learn/learn.png" alt="Student Image">
</div> </div>
<div class="card-easy-right"> <div class="card-easy-right">
<h2>Learn & Level Up Your Skills</h2> <h2>Learn & Level Up Your Skills</h2>
@ -438,8 +560,6 @@
<div class="feature"><span></span>Certificate</div> <div class="feature"><span></span>Certificate</div>
<div class="feature"><span></span>Projects & Assignments</div> <div class="feature"><span></span>Projects & Assignments</div>
</div> </div>
<button>Explore Courses</button>
</div>
</div> </div>
</section> </section>
@ -556,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>
@ -575,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
@ -595,7 +715,8 @@
<div class="newsletter-section"> <div class="newsletter-section">
<h4>Stay Updated</h4> <h4>Stay Updated</h4>
<p>We'll send you updates on the latest courses and coding opportunities to enhance your skills and <p>We'll send you updates on the latest courses and coding opportunities to enhance your skills
and
advance your career.</p> advance your career.</p>
<div class="newsletter-form"> <div class="newsletter-form">
@ -659,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>
@ -672,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>
@ -685,14 +806,28 @@
<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 rights Copyright © 2025 <a href="#" style="color: #120ee2;">Kodepilot</a> - All
rights
reserved. reserved.
</p> </p>
</div> </div>
</div> </div>
</footer> </footer>
</div>
<script src="main.js"></script>
<script src="templateapi/main.js"></script>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script type="text/javascript">
$(window).on("load", function () {
$('#msg').show();
setTimeout(function () {
$('#body').show();
$('#msg').hide();
}, 1000);
});
</script>
</body> </body>
</html> </html>

View File

@ -125,16 +125,24 @@
.green { .green {
background: #9BE6C1; background: #9BE6C1;
background-image: url('assets/images/unlockcarrer/internship.png');
background-size: 115px;
background-repeat: no-repeat;
background-position: bottom right;
} }
.orange { .orange {
background: #fec192; background: #fec192;
background-image: url('assets/images/unlockcarrer/jobs.png');
background-size: 115px;
background-repeat: no-repeat;
background-position: bottom right;
} }
.blue { .blue {
background: #9bc9ff; background: #9bc9ff;
background-image: url('https://d8it4huxumps7.cloudfront.net/uploads/images/67724b0c0d0f7_img1.png?d=211x163'); background-image: url('assets/images/unlockcarrer/mentorship.png');
background-size: 140px; background-size: 115px;
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: bottom right; background-position: bottom right;
} }
@ -142,15 +150,25 @@
.purple { .purple {
background: #c8bbff; background: #c8bbff;
background-image: url('assets/images/unlockcarrer/practice.png');
background-size: 120px;
background-repeat: no-repeat;
background-position: bottom right;
} }
.yellow { .yellow {
background: #ffdd80; background: #ffdd80;background-image: url('assets/images/unlockcarrer/competitions.png');
color: #333; background-size: 115px;
background-repeat: no-repeat;
background-position: bottom right;
} }
.pink { .pink {
background: #ffb1cc; background: #ffb1cc;
background-image: url('assets/images/unlockcarrer/more.png');
background-size: 115px;
background-repeat: no-repeat;
background-position: bottom right;
} }
.users { .users {
@ -260,7 +278,7 @@
.mnc-box { .mnc-box {
display: flex; display: flex;
align-items: center; align-items: center;
max-width: 1200px; max-width: 1159px;
} }
@ -277,6 +295,7 @@
font-weight: 600; font-weight: 600;
font-size: 1.3vw; font-size: 1.3vw;
white-space: nowrap; white-space: nowrap;
margin-top: -5px;
} }
.mnc h2 .gray, .mnc h2 .gray,
@ -704,13 +723,11 @@
position: relative; position: relative;
overflow: hidden; overflow: hidden;
border-radius: 16px; border-radius: 16px;
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
transition: all 0.3s ease; transition: all 0.3s ease;
} }
.image-container:hover { .image-container:hover {
transform: translateY(-5px); transform: translateY(-5px);
box-shadow: 0 15px 35px rgba(0, 0, 0, 0.18);
} }
.slide1-box img { .slide1-box img {
@ -917,21 +934,22 @@
.footer { .footer {
background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 100%); background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 100%);
color: white; color: white;
padding: 60px 0 30px 0; padding: 60px 0 0;
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;
@ -939,6 +957,8 @@
.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 {
@ -956,9 +976,10 @@
color: #ffffff; color: #ffffff;
} }
.company-section { .company-section {
grid-column: 1; grid-column: 1;
} }
.company-section .logo { .company-section .logo {
font-size: 28px; font-size: 28px;
@ -977,27 +998,31 @@
color: #ef4444; color: #ef4444;
} }
.contact-info { .contact-info {
margin-bottom: 20px; margin-bottom: 20px;
}
.contact-info h4 { }
.contact-info h4 {
font-size: 16px; font-size: 16px;
margin-bottom: 15px; margin-bottom: 15px;
color: white; color: white;
} padding-left: 0;
}
.contact-item { .contact-item {
display: flex; display: flex;
align-items: center; align-items: center;
margin-bottom: 10px; margin-bottom: 10px;
color: #cbd5e1; margin-left :-27px
}
.contact-item i { }
.contact-item i {
margin-right: 10px; margin-right: 10px;
width: 16px; width: 16px;
} }
.social-icons { .social-icons {
display: flex; display: flex;
@ -1100,6 +1125,7 @@
font-size: 12px; font-size: 12px;
color: #94a3b8; color: #94a3b8;
text-align: left; text-align: left;
background: white;
} }
.footer-bottom-links { .footer-bottom-links {
@ -1342,7 +1368,7 @@
} }
.card-easy-left img { .card-easy-left img {
width: 80%; width: 100%;
border-radius: 15px; border-radius: 15px;
} }

View File

@ -194,19 +194,18 @@ document.addEventListener("DOMContentLoaded", () => {
const track = document.querySelector(".move-slider-track"); const track = document.querySelector(".move-slider-track");
const boxes = Array.from(track.children); const boxes = Array.from(track.children);
// Clone all slides once
boxes.forEach(box => { boxes.forEach(box => {
const clone = box.cloneNode(true); const clone = box.cloneNode(true);
track.appendChild(clone); track.appendChild(clone);
}); });
let position = 0; let position = 0;
const speed = 1; // pixels per frame, adjust for faster/slower scroll const speed = 1;
function animate() { function animate() {
position -= speed; position -= speed;
if (Math.abs(position) >= track.scrollWidth / 2) { if (Math.abs(position) >= track.scrollWidth / 2) {
position = 0; // reset after first set slides out position = 0;
} }
track.style.transform = `translateX(${position}px)`; track.style.transform = `translateX(${position}px)`;
requestAnimationFrame(animate); requestAnimationFrame(animate);
@ -224,9 +223,8 @@ const observer = new IntersectionObserver((entries) => {
const index = Array.from(statItems).indexOf(entry.target); const index = Array.from(statItems).indexOf(entry.target);
entry.target.style.transitionDelay = `${(index + 1) * 0.1}s`; entry.target.style.transitionDelay = `${(index + 1) * 0.1}s`;
entry.target.classList.add('visible'); entry.target.classList.add('visible');
// observer.unobserve(entry.target); // optional: animate only once
} }
}); });
}, { threshold: 0.2 }); // 20% visible }, { threshold: 0.2 });
statItems.forEach(item => observer.observe(item)); statItems.forEach(item => observer.observe(item));