Compare commits
15 Commits
652102c23d
...
258fdcfeea
| Author | SHA1 | Date | |
|---|---|---|---|
| 258fdcfeea | |||
| 6d6269925b | |||
| 6b8f7e616b | |||
| 94315ae34d | |||
| ae6c207114 | |||
| 9739a5a04a | |||
| dd543361ac | |||
| e04089042d | |||
|
|
e79957627d | ||
| 9bab60d811 | |||
| 8cb36ac81a | |||
| b5a695ba8b | |||
| 1614059b19 | |||
|
|
5cacec8524 | ||
| a2b8ef7b01 |
|
Before Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 53 KiB |
BIN
assets/images/codinghiringassesments/nope_1.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
assets/images/codinghiringassesments/nope_2.png
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
assets/images/codinghiringassesments/nope_3.webp
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
assets/images/codinghiringassesments/nope_4.webp
Normal file
|
After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 652 KiB |
|
Before Width: | Height: | Size: 110 KiB |
|
Before Width: | Height: | Size: 322 KiB After Width: | Height: | Size: 301 KiB |
233
index.html
@ -4,7 +4,7 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Kodepilot Clone</title>
|
||||
<title>Kodepilot</title>
|
||||
<link rel="stylesheet" href="main.css">
|
||||
<link rel="stylesheet" href="templateapi/main.css">
|
||||
<link rel="icon" type="image/x-icon" href="assets/images/logo/favicon.ico">
|
||||
@ -161,10 +161,8 @@
|
||||
<header class="navbar">
|
||||
<div class="logo">Kodepilot</div>
|
||||
<input type="text" class="search" placeholder="Search Opportunities">
|
||||
<nav>
|
||||
<a href="/login">Log in</a>
|
||||
</nav>
|
||||
<div class="buttons">
|
||||
<a href="/login">Log in</a>
|
||||
<button class="business" onclick="getInTouch()">Get in touch</button>
|
||||
<button class="login" onclick="goToApplay()">Apply</button>
|
||||
</div>
|
||||
@ -178,11 +176,56 @@
|
||||
by
|
||||
your
|
||||
dream company.</p>
|
||||
<button class="button_blue_box"><img
|
||||
src="https://d8it4huxumps7.cloudfront.net/uploads/images/655edc8c1fab9_diamond_1.png?d=82x84"
|
||||
width="41" height="42" alt="diamond" loading="lazy"><span><span
|
||||
class="nameContainer">Aditya</span><strong> Just Went
|
||||
Kodepilot!</strong></span></button>
|
||||
<button class="button_blue_box">
|
||||
<img src="https://d8it4huxumps7.cloudfront.net/uploads/images/655edc8c1fab9_diamond_1.png?d=82x84"
|
||||
width="41" height="42" alt="diamond" loading="lazy">
|
||||
<span>
|
||||
<span class="nameContainer">Aditya</span>
|
||||
<strong class="descContainer"> Just Went Kodepilot!</strong>
|
||||
</span>
|
||||
</button>
|
||||
<style>
|
||||
.nameContainer,
|
||||
.descContainer {
|
||||
transition: opacity 0.5s;
|
||||
}
|
||||
|
||||
.fade-out {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.fade-in {
|
||||
opacity: 1;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
const data = [
|
||||
{ name: "Aditya", text: "Just Went Kodepilot!" },
|
||||
{ name: "Priya", text: "won a Hackathon!" },
|
||||
{ name: "Rahul", text: "earned a Scholarship!" },
|
||||
{ name: "Sneha", text: "joined a Festival!" }
|
||||
];
|
||||
let index1 = 0;
|
||||
const nameEl1 = document.querySelector(".nameContainer");
|
||||
const descEl1 = document.querySelector(".descContainer");
|
||||
setInterval(() => {
|
||||
nameEl1.classList.add("fade-out");
|
||||
descEl1.classList.add("fade-out");
|
||||
setTimeout(() => {
|
||||
index1 = (index1 + 1) % data.length;
|
||||
nameEl1.textContent = data[index1].name;
|
||||
descEl1.textContent = " " + data[index1].text;
|
||||
nameEl1.classList.remove("fade-out");
|
||||
descEl1.classList.remove("fade-out");
|
||||
nameEl1.classList.add("fade-in");
|
||||
descEl1.classList.add("fade-in");
|
||||
setTimeout(() => {
|
||||
nameEl1.classList.remove("fade-in");
|
||||
descEl1.classList.remove("fade-in");
|
||||
}, 500);
|
||||
}, 500);
|
||||
}, 2000);
|
||||
</script>
|
||||
</div>
|
||||
<div class="cards">
|
||||
<div class="card green">Internships<br><small>Gain Practical Experience</small></div>
|
||||
@ -460,13 +503,11 @@
|
||||
<div class="slide-content-static">
|
||||
<h1 class="slide-static-h1"> Kodepilot </h1>
|
||||
<p class="slide-static-text">
|
||||
Helping the world withcreative
|
||||
Helping the world with career success
|
||||
</p>
|
||||
<p class="slide-static-text">
|
||||
designs
|
||||
</p>
|
||||
<p class="slide-static-footer">
|
||||
92% Client Retention
|
||||
100% Placement Success
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@ -477,18 +518,16 @@
|
||||
"
|
||||
</p>
|
||||
<p class="slide-text">
|
||||
"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
|
||||
conscious customers."
|
||||
"The Kodepilot curriculum is laser-focused on job placement. I mastered the required
|
||||
skills and secured my position at GBL with confidence."
|
||||
</p>
|
||||
<div class="slide-logo-box">
|
||||
<div class="profile-box">
|
||||
<img src="https://images.unsplash.com/photo-1542744094-24638eff58bb?w=500&h=400&fit=crop&crop=entropy&cs=tinysrgb"
|
||||
alt="Client Logo" class="slide-logo">
|
||||
<div class="profile-info">
|
||||
<p class="slide-name">John Doe</p>
|
||||
<p class="slide-role">CEO</p>
|
||||
<p class="slide-name">Dhanush</p>
|
||||
<p class="slide-role">Rust Developer</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -501,16 +540,16 @@
|
||||
"
|
||||
</p>
|
||||
<p class="slide-text">
|
||||
"kodepilot understood our mission: simple, honest, organic. They delivered a clean,
|
||||
lightning-fast e-commerce engine that scales with our growth."
|
||||
"After taking the QA and DevOps courses, Kodepilot made me ready for the global stage. I
|
||||
was immediately placed with a top-tier company: Accenture."
|
||||
</p>
|
||||
<div class="slide-logo-box">
|
||||
<div class="profile-box">
|
||||
<img src="https://images.unsplash.com/photo-1542744094-24638eff58bb?w=500&h=400&fit=crop&crop=entropy&cs=tinysrgb"
|
||||
alt="Client Logo" class="slide-logo">
|
||||
<div class="profile-info">
|
||||
<p class="slide-name">John Doe</p>
|
||||
<p class="slide-role">CEO</p>
|
||||
<p class="slide-name">kevin</p>
|
||||
<p class="slide-role">QA Tester</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -522,9 +561,8 @@
|
||||
"
|
||||
</p>
|
||||
<p class="slide-text">
|
||||
"Loan processing used to take weeks. kodepilot’ smart engine made approvals happen in
|
||||
days
|
||||
without compromising security."
|
||||
"Kodepilot's training in AWS and DevOps was the key to my career breakthrough. I went
|
||||
from learning the skills to successfully landing a role at Infosys."
|
||||
</p>
|
||||
<div class="slide-logo-box">
|
||||
<div class="profile-box">
|
||||
@ -532,7 +570,7 @@
|
||||
alt="Client Logo" class="slide-logo">
|
||||
<div class="profile-info">
|
||||
<p class="slide-name">John Doe</p>
|
||||
<p class="slide-role">CEO</p>
|
||||
<p class="slide-role">AWS</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -544,76 +582,79 @@
|
||||
<section>
|
||||
<!-- <div class="practice-cards-container"> -->
|
||||
<div class="practice-container">
|
||||
<h1 class="practice-title">Practice Coding & Ace Hiring Assessments</h1>
|
||||
<p class="practice-subtitle">Level up your coding skills by practicing the hiring assessments of your
|
||||
dream companies & ace your placement game!</p>
|
||||
|
||||
<div class="practice-cards-wrapper">
|
||||
<!-- Coding Practice Card -->
|
||||
<div class="practice-card active">
|
||||
<div class="practice-card-content">
|
||||
<div>
|
||||
<div class="practice-card-icon">💻</div>
|
||||
<h3>Coding Practice</h3>
|
||||
<p>Level up your coding skills by practicing the hiring Questions.</p>
|
||||
</div>
|
||||
<a href="#" class="practice-cta-btn">Start Now ➤</a>
|
||||
</div>
|
||||
<div class="practice-card-svg">
|
||||
<img src="assets/images/mit-ico/ebmpapst.svg" alt="Coding Practice">
|
||||
</div>
|
||||
<div class="practice-container-box">
|
||||
<div class="practice-container-text-box">
|
||||
<h1 class="practice-title">Practice Coding & Ace Hiring Assessments</h1>
|
||||
<p class="practice-subtitle">Level up your coding skills by practicing the hiring assessments of
|
||||
your
|
||||
dream companies & ace your placement game!</p>
|
||||
</div>
|
||||
|
||||
<!-- Interview Preparation Card -->
|
||||
<div class="practice-card">
|
||||
<div class="practice-card-content">
|
||||
<div>
|
||||
<div class="practice-card-icon">📋</div>
|
||||
<h3>Interview Preparation</h3>
|
||||
<p>Crack Top companies in just 5 days.</p>
|
||||
<div class="practice-footer-text">20+ Companies</div>
|
||||
<div class="practice-cards-wrapper">
|
||||
<div class="practice-card active">
|
||||
<div class="practice-card-content">
|
||||
<div>
|
||||
<div class="practice-card-icon">💻</div>
|
||||
<h3>Coding Practice</h3>
|
||||
<p>Level up your coding skills by practicing the hiring Questions.</p>
|
||||
<div class="practice-footer-text">400+ Questions</div>
|
||||
</div>
|
||||
<a href="#" class="practice-cta-btn">Start Now ➤</a>
|
||||
</div>
|
||||
<a href="#" class="practice-cta-btn">Start Now ➤</a>
|
||||
</div>
|
||||
<div class="practice-card-svg">
|
||||
<img src="assets/images/mit-ico/ebmpapst.svg" alt="Coding Practice">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Projects Card -->
|
||||
<div class="practice-card">
|
||||
<div class="practice-card-content">
|
||||
<div>
|
||||
<div class="practice-card-icon">📂</div>
|
||||
<h3>Projects</h3>
|
||||
<p>Projects epitomize perfect synergy for success.</p>
|
||||
<div class="practice-footer-text">15+ Projects</div>
|
||||
<div class="practice-card-svg">
|
||||
<img src="assets/images/codinghiringassesments/nope_1.png" alt="Coding Practice">
|
||||
</div>
|
||||
<a href="#" class="practice-cta-btn">Start Now ➤</a>
|
||||
</div>
|
||||
<div class="practice-card-svg">
|
||||
<img src="assets/images/mit-ico/ebmpapst.svg" alt="Coding Practice">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Skill Based Assessments Card -->
|
||||
<div class="practice-card">
|
||||
<div class="practice-card-content">
|
||||
<div>
|
||||
<div class="practice-card-icon">📝</div>
|
||||
<h3>Skill Based Assessments</h3>
|
||||
<p>Assess your skills and get ahead of the curve.</p>
|
||||
<div class="practice-footer-text">2000+ Questions</div>
|
||||
<!-- Interview Preparation Card -->
|
||||
<div class="practice-card">
|
||||
<div class="practice-card-content">
|
||||
<div>
|
||||
<div class="practice-card-icon">📋</div>
|
||||
<h3>Interview Preparation</h3>
|
||||
<p>Crack Top companies in just 5 days with unbelivable learning</p>
|
||||
<div class="practice-footer-text">20+ Companies</div>
|
||||
</div>
|
||||
<a href="#" class="practice-cta-btn">Start Now ➤</a>
|
||||
</div>
|
||||
<div class="practice-card-svg">
|
||||
<img src="assets/images/codinghiringassesments/nope_2.png" alt="Coding Practice">
|
||||
</div>
|
||||
<a href="#" class="practice-cta-btn">Start Now ➤</a>
|
||||
</div>
|
||||
<div class="practice-card-svg">
|
||||
<img src="assets/images/mit-ico/ebmpapst.svg" alt="Coding Practice">
|
||||
|
||||
<!-- Projects Card -->
|
||||
<div class="practice-card">
|
||||
<div class="practice-card-content">
|
||||
<div>
|
||||
<div class="practice-card-icon">📂</div>
|
||||
<h3>Projects</h3>
|
||||
<p>Projects epitomize perfect synergy for success.</p>
|
||||
<div class="practice-footer-text">15+ Projects</div>
|
||||
</div>
|
||||
<a href="#" class="practice-cta-btn">Start Now ➤</a>
|
||||
</div>
|
||||
<div class="practice-card-svg">
|
||||
<img src="assets/images/codinghiringassesments/nope_3.webp" alt="Coding Practice">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Skill Based Assessments Card -->
|
||||
<div class="practice-card">
|
||||
<div class="practice-card-content">
|
||||
<div>
|
||||
<div class="practice-card-icon">📝</div>
|
||||
<h3>Skill Based Assessments</h3>
|
||||
<p>Assess your skills and get ahead of the curve.</p>
|
||||
<div class="practice-footer-text">2000+ Questions</div>
|
||||
</div>
|
||||
<a href="#" class="practice-cta-btn">Start Now ➤</a>
|
||||
</div>
|
||||
<div class="practice-card-svg">
|
||||
<img src="assets/images/codinghiringassesments/nope_4.webp" alt="Coding Practice">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- </div> -->
|
||||
|
||||
</section>
|
||||
|
||||
@ -625,8 +666,9 @@
|
||||
<img src="assets/images/learn/learn.png" alt="Student Image">
|
||||
</div>
|
||||
<div class="card-easy-right">
|
||||
<h2>Learn & Level Up Your Skills</h2>
|
||||
<p>Select from a wide range of courses to upskill and advance your career!</p>
|
||||
<h2>The Future of Your Career Starts Now. Learn, Grow, Achieve</h2>
|
||||
<p>Stop waiting for opportunity—create it. Dive into our extensive library to level up your
|
||||
expertise and unlock your next big career move.</p>
|
||||
<div class="features">
|
||||
<div class="feature"><span>✓</span>50+ Courses</div>
|
||||
<div class="feature"><span>✓</span>Certificate</div>
|
||||
@ -683,13 +725,14 @@
|
||||
<footer class="footer">
|
||||
<div class="footer-container">
|
||||
<div class="footer-section company-section">
|
||||
<div class="logo">Kodepilot</div>
|
||||
<div class="logo" style="text-align: left; margin-left: 0; padding-left: 0;">Kodepilot</div>
|
||||
<p class="tagline">Built with <span class="heart">❤</span> in India for the world</p>
|
||||
|
||||
<div class="contact-info">
|
||||
<h4>Stay Connected</h4>
|
||||
|
||||
<div style="margin-bottom: 20px; line-height: 23px;">
|
||||
<!-- <div style="margin-bottom: 20px; line-height: 23px;"> -->
|
||||
<div style="margin-bottom: 20px; line-height: 23px; margin-left: -27px;">
|
||||
|
||||
<div class="contact-item">
|
||||
<i class="fas fa-envelope"></i>
|
||||
sales@kodepilot.com
|
||||
@ -702,9 +745,11 @@
|
||||
|
||||
<div>
|
||||
<strong style="color: white; font-size: 14px; line-height: 30px;">Support Inquiries</strong>
|
||||
<div class="contact-item">
|
||||
<i class="fas fa-envelope"></i>
|
||||
support@kodepilot.com
|
||||
<div style="margin-bottom: 20px; line-height: 23px; margin-left: -27px;">
|
||||
<div class="contact-item">
|
||||
<i class="fas fa-envelope"></i>
|
||||
support@kodepilot.com
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
378
main.css
@ -201,6 +201,7 @@
|
||||
|
||||
.users_box {
|
||||
max-width: var(--course-max-width);
|
||||
max-width: 90%;
|
||||
}
|
||||
|
||||
.know-cards {
|
||||
@ -293,6 +294,7 @@
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
text-align: start;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.mnc-box {
|
||||
@ -430,9 +432,7 @@
|
||||
min-height: 100px;
|
||||
padding: 15px 8px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.our-numbers {
|
||||
padding: 40px 20px;
|
||||
}
|
||||
@ -493,7 +493,9 @@
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 1152px;
|
||||
max-width: var(--course-max-width);
|
||||
;
|
||||
width: 1152px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
@ -528,24 +530,17 @@
|
||||
|
||||
.cards-grid {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
grid-template-columns: repeat(5, 1fr);
|
||||
gap: 24px;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.cards-grid {
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1024px) {
|
||||
.cards-grid {
|
||||
grid-template-columns: repeat(5, 1fr);
|
||||
}
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
min-width: 100px;
|
||||
}
|
||||
|
||||
.card-add {
|
||||
border-radius: 24px;
|
||||
max-width: 130px;
|
||||
padding: 24px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
@ -570,7 +565,7 @@
|
||||
}
|
||||
|
||||
.card-hackathons {
|
||||
background: url('assets/images/seize/hackathons.png') no-repeat center/cover;
|
||||
background: url('assets/images/seize/hackathon.png') no-repeat center/cover;
|
||||
color: white;
|
||||
}
|
||||
|
||||
@ -580,12 +575,12 @@
|
||||
}
|
||||
|
||||
.card-conferences {
|
||||
background: url('assets/images/seize/conferences.png') no-repeat center/cover;
|
||||
background: url('assets/images/seize/conference.png') no-repeat center/cover;
|
||||
color: #1f2937;
|
||||
}
|
||||
|
||||
.card-festivals {
|
||||
background: url('assets/images/seize/test.png') no-repeat center/cover;
|
||||
background: url('assets/images/seize/techfest.png') no-repeat center/cover;
|
||||
color: #1f2937;
|
||||
}
|
||||
|
||||
@ -780,7 +775,6 @@
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.slide1r-container {
|
||||
margin: 15px;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
@ -820,13 +814,25 @@
|
||||
.image-overlay p {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.practice-container {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.course-section {
|
||||
max-width: 90%;
|
||||
}
|
||||
|
||||
.corces {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
width: 90%;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
.slide1r-container {
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.slide1-box {
|
||||
gap: 12px;
|
||||
padding: 5px;
|
||||
@ -880,8 +886,11 @@
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
|
||||
.footer-section ul {
|
||||
list-style: none;
|
||||
padding-left: 0;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.footer-section ul li {
|
||||
@ -1102,6 +1111,7 @@
|
||||
align-items: center;
|
||||
gap: 20px;
|
||||
margin-top: 76px;
|
||||
padding-bottom: 40px;
|
||||
}
|
||||
|
||||
.move-slider-box-static {
|
||||
@ -1406,22 +1416,6 @@
|
||||
background-color: #1d4fa0;
|
||||
}
|
||||
|
||||
@media (max-width: 900px) {
|
||||
.card-easy {
|
||||
flex-direction: column;
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
.card-easy-right {
|
||||
padding: 80px 50px;
|
||||
}
|
||||
|
||||
.card-easy-left img {
|
||||
width: 90%;
|
||||
max-height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.corces-s {
|
||||
margin: 40px 0;
|
||||
}
|
||||
@ -1537,7 +1531,6 @@
|
||||
|
||||
/*----------------------------------------------------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
/* Practice Cards Component CSS - Unique class names to prevent conflicts */
|
||||
.practice-cards-container * {
|
||||
margin: 0;
|
||||
@ -1552,29 +1545,52 @@
|
||||
padding: 40px 20px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.practice-container {
|
||||
max-width: 1300px;
|
||||
max-width: 1200px;
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
padding: 0 20px;
|
||||
}
|
||||
|
||||
.practice-container-box {
|
||||
max-width: var(--course-max-width);
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.practice-container-text-box {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
align-items: flex-start;
|
||||
padding: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
|
||||
.practice-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
margin-bottom: 12px;
|
||||
color: #111827;
|
||||
text-align: left;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.practice-subtitle {
|
||||
font-size: 18px;
|
||||
color: #6b7280;
|
||||
max-width: 700px;
|
||||
/* margin: 0 auto 40px; */
|
||||
line-height: 1.5;
|
||||
text-align: left;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.practice-cards-wrapper {
|
||||
@ -1583,23 +1599,24 @@
|
||||
height: 380px;
|
||||
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;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.practice-card {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
|
||||
transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
transform-origin: center;
|
||||
background-color: white;
|
||||
border-radius: 0;
|
||||
min-width: 80px;
|
||||
}
|
||||
|
||||
.practice-card:first-child {
|
||||
@ -1616,56 +1633,72 @@
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
transition: all 0.7s ease;
|
||||
min-width: 0;
|
||||
transition: all 0.5s ease;
|
||||
min-width: 280px;
|
||||
z-index: 2;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* Color changes for active and hover states */
|
||||
.practice-card.active {
|
||||
background-color: #c6e0f1;
|
||||
.practice-card {
|
||||
flex: 1;
|
||||
transform: scale(1);
|
||||
}
|
||||
|
||||
.practice-card:nth-child(1):hover,
|
||||
.practice-card:nth-child(1).active {
|
||||
.practice-card .practice-card-svg {
|
||||
width: 0;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.practice-card .practice-cta-btn {
|
||||
opacity: 0;
|
||||
transform: translateY(15px);
|
||||
}
|
||||
|
||||
.practice-cards-wrapper:hover .practice-card {
|
||||
flex: 1;
|
||||
transform: scale(0.98);
|
||||
}
|
||||
|
||||
.practice-cards-wrapper:hover .practice-card:hover {
|
||||
flex: 2.5;
|
||||
transform: translateY(-6px) scale(1.01);
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.practice-card:nth-child(1):hover {
|
||||
background-color: #89CFF0;
|
||||
}
|
||||
|
||||
.practice-card:nth-child(2):hover,
|
||||
.practice-card:nth-child(2).active {
|
||||
.practice-card:nth-child(2):hover {
|
||||
background-color: #FEB4CF;
|
||||
}
|
||||
|
||||
.practice-card:nth-child(3):hover,
|
||||
.practice-card:nth-child(3).active {
|
||||
.practice-card:nth-child(3):hover {
|
||||
background-color: #DFC5FE;
|
||||
}
|
||||
|
||||
.practice-card:nth-child(4):hover,
|
||||
.practice-card:nth-child(4).active {
|
||||
.practice-card:nth-child(4):hover {
|
||||
background-color: #FFE186;
|
||||
}
|
||||
|
||||
/* SVG Container */
|
||||
.practice-card-svg {
|
||||
width: 0;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
height: 10%;
|
||||
bottom: 0px;
|
||||
display: block;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
transition: all 1.3s cubic-bezier(0.23, 1, 0.32, 1);
|
||||
transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
|
||||
opacity: 0;
|
||||
padding: 20px;
|
||||
background: transparent;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.practice-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));
|
||||
|
||||
.practice-cards-wrapper:hover .practice-card:hover .practice-card-svg {
|
||||
width: 35%;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.practice-card-icon {
|
||||
@ -1678,7 +1711,6 @@
|
||||
font-size: 24px;
|
||||
margin-bottom: 16px;
|
||||
transition: transform 0.5s ease;
|
||||
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.practice-card:nth-child(1) .practice-card-icon {
|
||||
@ -1701,6 +1733,11 @@
|
||||
color: white;
|
||||
}
|
||||
|
||||
/* Icon animation on hover */
|
||||
.practice-cards-wrapper:hover .practice-card:hover .practice-card-icon {
|
||||
transform: scale(1.05) rotate(3deg);
|
||||
}
|
||||
|
||||
.practice-card h3 {
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
@ -1748,6 +1785,17 @@
|
||||
transition: transform 0.5s ease;
|
||||
}
|
||||
|
||||
/* Text animation on hover */
|
||||
.practice-cards-wrapper:hover .practice-card:hover h3 {
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.practice-cards-wrapper:hover .practice-card:hover p,
|
||||
.practice-cards-wrapper:hover .practice-card:hover .practice-meta-info,
|
||||
.practice-cards-wrapper:hover .practice-card:hover .practice-footer-text {
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.practice-cta-btn {
|
||||
margin-top: 16px;
|
||||
background-color: #111827;
|
||||
@ -1766,7 +1814,6 @@
|
||||
transform: translateY(15px);
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.practice-cta-btn::before {
|
||||
@ -1787,54 +1834,14 @@
|
||||
.practice-cta-btn:hover {
|
||||
background-color: #374151;
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
/* Active card styles */
|
||||
.practice-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;
|
||||
}
|
||||
|
||||
.practice-card.active .practice-card-svg {
|
||||
width: 45%;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.practice-card.active .practice-cta-btn {
|
||||
/* Show CTA button only on hovered card */
|
||||
.practice-cards-wrapper:hover .practice-card:hover .practice-cta-btn {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
.practice-card.active .practice-card-icon {
|
||||
transform: scale(1.1) rotate(5deg);
|
||||
}
|
||||
|
||||
.practice-card.active h3 {
|
||||
transform: translateY(-3px);
|
||||
}
|
||||
|
||||
.practice-card.active p,
|
||||
.practice-card.active .practice-meta-info,
|
||||
.practice-card.active .practice-footer-text {
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
/* Hover effects for non-active cards */
|
||||
.practice-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;
|
||||
}
|
||||
|
||||
.practice-card:hover:not(.active) .practice-card-svg {
|
||||
width: 25%;
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
/* Subtle overlay effect */
|
||||
.practice-card::after {
|
||||
content: '';
|
||||
@ -1849,43 +1856,150 @@
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.practice-card.active::after,
|
||||
.practice-card:hover::after {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/* REMOVED: Default expanded state for first card */
|
||||
/* Now all cards start equal and only expand on hover */
|
||||
|
||||
/* Show SVG and CTA button only on hover */
|
||||
.practice-cards-wrapper .practice-card .practice-card-svg {
|
||||
width: 0;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.practice-cards-wrapper .practice-card .practice-cta-btn {
|
||||
opacity: 0;
|
||||
transform: translateY(15px);
|
||||
}
|
||||
|
||||
.practice-cards-wrapper:hover .practice-card:hover .practice-card-svg {
|
||||
width: 35%;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.practice-cards-wrapper:hover .practice-card:hover .practice-cta-btn {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
/* Mobile responsiveness */
|
||||
@media (max-width: 992px) {
|
||||
.practice-cards-wrapper {
|
||||
flex-direction: column;
|
||||
.practice-cards-container {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.practice-container {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.mnc-box {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
max-width: 90%;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.slide1r-container {
|
||||
padding: 20px;
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
.card-add {
|
||||
height: auto;
|
||||
border-radius: 12px;
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
.practice-card {
|
||||
.container {
|
||||
padding: 20px;
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
.move-slider-container {
|
||||
padding: 20px;
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
.move-slider-animation-box {
|
||||
margin-top: 393px;
|
||||
margin-right: 0px;
|
||||
}
|
||||
|
||||
.move-slider-box-static {
|
||||
padding: 20px;
|
||||
min-width: 90%;
|
||||
}
|
||||
|
||||
.card-simple {
|
||||
max-width: var(--course-max-width);
|
||||
margin: 0px auto;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: auto;
|
||||
border-radius: 0 !important;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.practice-card:first-child {
|
||||
border-radius: 12px 12px 0 0 !important;
|
||||
.crd {
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
.practice-card:last-child {
|
||||
border-radius: 0 0 12px 12px !important;
|
||||
.hero h1 {
|
||||
font-size: 30px;
|
||||
width: 103%;
|
||||
}
|
||||
|
||||
.practice-card.active .practice-card-svg,
|
||||
.practice-card:hover .practice-card-svg {
|
||||
width: 100%;
|
||||
height: 200px;
|
||||
.hero p {
|
||||
font-size: 12px;
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
.practice-card.active {
|
||||
transform: translateY(-5px) scale(1.01);
|
||||
.cards-grid {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
gap: 20px;
|
||||
}
|
||||
|
||||
.practice-card:hover:not(.active) {
|
||||
transform: translateY(-3px) scale(1.005);
|
||||
.card-easy-right h2 {
|
||||
font-size: 1.3em;
|
||||
margin: 0 0 0px 0;
|
||||
}
|
||||
|
||||
.features {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 20px;
|
||||
}
|
||||
|
||||
.feature {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.card-easy {
|
||||
flex-direction: column;
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
.card-easy-right {
|
||||
padding: 50px 50px;
|
||||
}
|
||||
|
||||
.card-easy-left img {
|
||||
width: 90%;
|
||||
max-height: 100%;
|
||||
}
|
||||
|
||||
.our-numbers {
|
||||
margin: 0 auto 0 auto;
|
||||
}
|
||||
|
||||
.corces-s {
|
||||
margin: 0px 0;
|
||||
}
|
||||
}
|
||||
394
main.js
@ -1,5 +1,5 @@
|
||||
function goToApplay() {
|
||||
window.location.href = "/applay/";
|
||||
window.location.href = "/apply/";
|
||||
}
|
||||
|
||||
function getInTouch() {
|
||||
@ -234,150 +234,150 @@ const observer = new IntersectionObserver((entries) => {
|
||||
|
||||
console.log("test");
|
||||
document.addEventListener('DOMContentLoaded', async () => {
|
||||
// const allCourses = [];
|
||||
const allCourses = [];
|
||||
|
||||
// const baseUrl = 'https://kodepilot.in/course/index.php';
|
||||
// const res = await fetch(baseUrl);
|
||||
// const html = await res.text();
|
||||
const baseUrl = 'https://kodepilot.in/course/index.php';
|
||||
const res = await fetch(baseUrl);
|
||||
const html = await res.text();
|
||||
|
||||
// const categoryRegex = /<h3 class="categoryname aabtn"><a href="([^"]+)">([^<]+)<\/a><\/h3>/g;
|
||||
// const categories = [];
|
||||
// let match;
|
||||
// while ((match = categoryRegex.exec(html)) !== null) {
|
||||
// categories.push({ url: match[1], name: match[2] });
|
||||
// }
|
||||
const categoryRegex = /<h3 class="categoryname aabtn"><a href="([^"]+)">([^<]+)<\/a><\/h3>/g;
|
||||
const categories = [];
|
||||
let match;
|
||||
while ((match = categoryRegex.exec(html)) !== null) {
|
||||
categories.push({ url: match[1], name: match[2] });
|
||||
}
|
||||
|
||||
// for (const category of categories) {
|
||||
// const resCat = await fetch(category.url);
|
||||
// const catHtml = await resCat.text();
|
||||
// const cleanHtml = catHtml.replace(/\n/g, ' ');
|
||||
for (const category of categories) {
|
||||
const resCat = await fetch(category.url);
|
||||
const catHtml = await resCat.text();
|
||||
const cleanHtml = catHtml.replace(/\n/g, ' ');
|
||||
|
||||
// const courseRegex = /<div class="card dashboard-card [^"]*"[^>]*>.*?<a href="([^"]+)"[^>]*>.*?background-image: url\(([^)]+)\);".*?<span class="sr-only">(.*?)<\/span>.*?<div class="course-category">\s*([^<]+)<\/div>.*?<div class="course-summary">.*?<p>(.*?)<\/p>/g;
|
||||
const courseRegex = /<div class="card dashboard-card [^"]*"[^>]*>.*?<a href="([^"]+)"[^>]*>.*?background-image: url\(([^)]+)\);".*?<span class="sr-only">(.*?)<\/span>.*?<div class="course-category">\s*([^<]+)<\/div>.*?<div class="course-summary">.*?<p>(.*?)<\/p>/g;
|
||||
|
||||
// while ((match = courseRegex.exec(cleanHtml)) !== null) {
|
||||
// allCourses.push({
|
||||
// category: match[4].trim(),
|
||||
// link: match[1].trim(),
|
||||
// image: match[2].trim(),
|
||||
// name: match[3].trim(),
|
||||
// description: match[5].replace(/<br\s*\/?>/g, ' ').trim()
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
const allCourses = [
|
||||
{
|
||||
category: "Software Development & Engineering",
|
||||
link: "https://kodepilot.in/course/view.php?id=16",
|
||||
image: "https://kodepilot.in/pluginfile.php/53/course/overviewfiles/UiUx.png",
|
||||
name: "UI/UX Design",
|
||||
description: "Learn the fundamentals of user interface and user experience design."
|
||||
},
|
||||
{
|
||||
category: "Software Development & Engineering",
|
||||
link: "https://kodepilot.in/course/view.php?id=9",
|
||||
image: "https://kodepilot.in/pluginfile.php/39/course/overviewfiles/IOS.png",
|
||||
name: "iOS Development",
|
||||
description: "Build iOS apps using Swift and Apple’s development tools."
|
||||
},
|
||||
{
|
||||
category: "Software Development & Engineering",
|
||||
link: "https://kodepilot.in/course/view.php?id=7",
|
||||
image: "https://kodepilot.in/pluginfile.php/35/course/overviewfiles/RD.png",
|
||||
name: "React Development",
|
||||
description: "Master React.js for building fast and scalable web apps."
|
||||
},
|
||||
{
|
||||
category: "Software Development & Engineering",
|
||||
link: "https://kodepilot.in/course/view.php?id=5",
|
||||
image: "https://kodepilot.in/pluginfile.php/31/course/overviewfiles/PFS.png",
|
||||
name: "Full Stack Development",
|
||||
description: "End-to-end training in frontend, backend, and databases."
|
||||
},
|
||||
{
|
||||
category: "Software Development & Engineering",
|
||||
link: "https://kodepilot.in/course/view.php?id=3",
|
||||
image: "https://kodepilot.in/pluginfile.php/25/course/overviewfiles/JFS.png",
|
||||
name: "Java Full Stack",
|
||||
description: "Become a full stack developer with Java, Spring, and modern tools."
|
||||
},
|
||||
{
|
||||
category: "Quality & Testing",
|
||||
link: "https://kodepilot.in/course/view.php?id=13",
|
||||
image: "https://kodepilot.in/pluginfile.php/46/course/overviewfiles/PT.png",
|
||||
name: "Performance Testing",
|
||||
description: "Learn tools and techniques for testing system performance."
|
||||
},
|
||||
{
|
||||
category: "Quality & Testing",
|
||||
link: "https://kodepilot.in/course/view.php?id=10",
|
||||
image: "https://kodepilot.in/pluginfile.php/41/course/overviewfiles/QA.png",
|
||||
name: "QA Testing",
|
||||
description: "Understand quality assurance practices for reliable software."
|
||||
},
|
||||
{
|
||||
category: "Cloud & DevOps",
|
||||
link: "https://kodepilot.in/course/view.php?id=17",
|
||||
image: "https://kodepilot.in/pluginfile.php/55/course/overviewfiles/GC.png",
|
||||
name: "Google Cloud",
|
||||
description: "Get hands-on with Google Cloud Platform services and tools."
|
||||
},
|
||||
{
|
||||
category: "Cloud & DevOps",
|
||||
link: "https://kodepilot.in/course/view.php?id=4",
|
||||
image: "https://kodepilot.in/pluginfile.php/28/course/overviewfiles/AWSA.png",
|
||||
name: "AWS Associate",
|
||||
description: "Prepare for AWS certifications and cloud computing skills."
|
||||
},
|
||||
{
|
||||
category: "AI, Data & Emerging Tech (On-demand & trending)",
|
||||
link: "https://kodepilot.in/course/view.php?id=26",
|
||||
image: "https://kodepilot.in/pluginfile.php/73/course/overviewfiles/DE.png",
|
||||
name: "Data Engineering",
|
||||
description: "Build pipelines and manage data at scale for analytics."
|
||||
},
|
||||
{
|
||||
category: "AI, Data & Emerging Tech (On-demand & trending)",
|
||||
link: "https://kodepilot.in/course/view.php?id=18",
|
||||
image: "https://kodepilot.in/pluginfile.php/58/course/overviewfiles/PE.png",
|
||||
name: "Prompt Engineering",
|
||||
description: "Learn to design prompts for AI models like ChatGPT."
|
||||
},
|
||||
{
|
||||
category: "AI, Data & Emerging Tech (On-demand & trending)",
|
||||
link: "https://kodepilot.in/course/view.php?id=12",
|
||||
image: "https://kodepilot.in/pluginfile.php/44/course/overviewfiles/AI%28Ess%29.png",
|
||||
name: "AI Essentials",
|
||||
description: "Introduction to AI, ML concepts, and real-world use cases."
|
||||
},
|
||||
{
|
||||
category: "Enterprise & Business Tech",
|
||||
link: "https://kodepilot.in/course/view.php?id=24",
|
||||
image: "https://kodepilot.in/pluginfile.php/70/course/overviewfiles/ServiceNow.png",
|
||||
name: "ServiceNow",
|
||||
description: "Learn ITSM and workflow automation with ServiceNow."
|
||||
},
|
||||
{
|
||||
category: "Enterprise & Business Tech",
|
||||
link: "https://kodepilot.in/course/view.php?id=19",
|
||||
image: "https://kodepilot.in/pluginfile.php/61/course/overviewfiles/SAP.png",
|
||||
name: "SAP",
|
||||
description: "Master SAP ERP modules for enterprise solutions."
|
||||
},
|
||||
{
|
||||
category: "Cybersecurity & Compliance",
|
||||
link: "https://kodepilot.in/course/view.php?id=23",
|
||||
image: "https://kodepilot.in/pluginfile.php/69/course/overviewfiles/Security.png",
|
||||
name: "Security Fundamentals",
|
||||
description: "Understand core concepts of IT security and defense."
|
||||
},
|
||||
{
|
||||
category: "Cybersecurity & Compliance",
|
||||
link: "https://kodepilot.in/course/view.php?id=22",
|
||||
image: "https://kodepilot.in/pluginfile.php/68/course/overviewfiles/CyE.png",
|
||||
name: "Cyber Essentials",
|
||||
description: "Learn the basics of cybersecurity and compliance standards."
|
||||
while ((match = courseRegex.exec(cleanHtml)) !== null) {
|
||||
allCourses.push({
|
||||
category: match[4].trim(),
|
||||
link: match[1].trim(),
|
||||
image: match[2].trim(),
|
||||
name: match[3].trim(),
|
||||
description: match[5].replace(/<br\s*\/?>/g, ' ').trim()
|
||||
});
|
||||
}
|
||||
];
|
||||
}
|
||||
// const allCourses = [
|
||||
// {
|
||||
// category: "Software Development & Engineering",
|
||||
// link: "https://kodepilot.in/course/view.php?id=16",
|
||||
// image: "https://kodepilot.in/pluginfile.php/53/course/overviewfiles/UiUx.png",
|
||||
// name: "UI/UX Design",
|
||||
// description: "Learn the fundamentals of user interface and user experience design."
|
||||
// },
|
||||
// {
|
||||
// category: "Software Development & Engineering",
|
||||
// link: "https://kodepilot.in/course/view.php?id=9",
|
||||
// image: "https://kodepilot.in/pluginfile.php/39/course/overviewfiles/IOS.png",
|
||||
// name: "iOS Development",
|
||||
// description: "Build iOS apps using Swift and Apple’s development tools."
|
||||
// },
|
||||
// {
|
||||
// category: "Software Development & Engineering",
|
||||
// link: "https://kodepilot.in/course/view.php?id=7",
|
||||
// image: "https://kodepilot.in/pluginfile.php/35/course/overviewfiles/RD.png",
|
||||
// name: "React Development",
|
||||
// description: "Master React.js for building fast and scalable web apps."
|
||||
// },
|
||||
// {
|
||||
// category: "Software Development & Engineering",
|
||||
// link: "https://kodepilot.in/course/view.php?id=5",
|
||||
// image: "https://kodepilot.in/pluginfile.php/31/course/overviewfiles/PFS.png",
|
||||
// name: "Full Stack Development",
|
||||
// description: "End-to-end training in frontend, backend, and databases."
|
||||
// },
|
||||
// {
|
||||
// category: "Software Development & Engineering",
|
||||
// link: "https://kodepilot.in/course/view.php?id=3",
|
||||
// image: "https://kodepilot.in/pluginfile.php/25/course/overviewfiles/JFS.png",
|
||||
// name: "Java Full Stack",
|
||||
// description: "Become a full stack developer with Java, Spring, and modern tools."
|
||||
// },
|
||||
// {
|
||||
// category: "Quality & Testing",
|
||||
// link: "https://kodepilot.in/course/view.php?id=13",
|
||||
// image: "https://kodepilot.in/pluginfile.php/46/course/overviewfiles/PT.png",
|
||||
// name: "Performance Testing",
|
||||
// description: "Learn tools and techniques for testing system performance."
|
||||
// },
|
||||
// {
|
||||
// category: "Quality & Testing",
|
||||
// link: "https://kodepilot.in/course/view.php?id=10",
|
||||
// image: "https://kodepilot.in/pluginfile.php/41/course/overviewfiles/QA.png",
|
||||
// name: "QA Testing",
|
||||
// description: "Understand quality assurance practices for reliable software."
|
||||
// },
|
||||
// {
|
||||
// category: "Cloud & DevOps",
|
||||
// link: "https://kodepilot.in/course/view.php?id=17",
|
||||
// image: "https://kodepilot.in/pluginfile.php/55/course/overviewfiles/GC.png",
|
||||
// name: "Google Cloud",
|
||||
// description: "Get hands-on with Google Cloud Platform services and tools."
|
||||
// },
|
||||
// {
|
||||
// category: "Cloud & DevOps",
|
||||
// link: "https://kodepilot.in/course/view.php?id=4",
|
||||
// image: "https://kodepilot.in/pluginfile.php/28/course/overviewfiles/AWSA.png",
|
||||
// name: "AWS Associate",
|
||||
// description: "Prepare for AWS certifications and cloud computing skills."
|
||||
// },
|
||||
// {
|
||||
// category: "AI, Data & Emerging Tech (On-demand & trending)",
|
||||
// link: "https://kodepilot.in/course/view.php?id=26",
|
||||
// image: "https://kodepilot.in/pluginfile.php/73/course/overviewfiles/DE.png",
|
||||
// name: "Data Engineering",
|
||||
// description: "Build pipelines and manage data at scale for analytics."
|
||||
// },
|
||||
// {
|
||||
// category: "AI, Data & Emerging Tech (On-demand & trending)",
|
||||
// link: "https://kodepilot.in/course/view.php?id=18",
|
||||
// image: "https://kodepilot.in/pluginfile.php/58/course/overviewfiles/PE.png",
|
||||
// name: "Prompt Engineering",
|
||||
// description: "Learn to design prompts for AI models like ChatGPT."
|
||||
// },
|
||||
// {
|
||||
// category: "AI, Data & Emerging Tech (On-demand & trending)",
|
||||
// link: "https://kodepilot.in/course/view.php?id=12",
|
||||
// image: "https://kodepilot.in/pluginfile.php/44/course/overviewfiles/AI%28Ess%29.png",
|
||||
// name: "AI Essentials",
|
||||
// description: "Introduction to AI, ML concepts, and real-world use cases."
|
||||
// },
|
||||
// {
|
||||
// category: "Enterprise & Business Tech",
|
||||
// link: "https://kodepilot.in/course/view.php?id=24",
|
||||
// image: "https://kodepilot.in/pluginfile.php/70/course/overviewfiles/ServiceNow.png",
|
||||
// name: "ServiceNow",
|
||||
// description: "Learn ITSM and workflow automation with ServiceNow."
|
||||
// },
|
||||
// {
|
||||
// category: "Enterprise & Business Tech",
|
||||
// link: "https://kodepilot.in/course/view.php?id=19",
|
||||
// image: "https://kodepilot.in/pluginfile.php/61/course/overviewfiles/SAP.png",
|
||||
// name: "SAP",
|
||||
// description: "Master SAP ERP modules for enterprise solutions."
|
||||
// },
|
||||
// {
|
||||
// category: "Cybersecurity & Compliance",
|
||||
// link: "https://kodepilot.in/course/view.php?id=23",
|
||||
// image: "https://kodepilot.in/pluginfile.php/69/course/overviewfiles/Security.png",
|
||||
// name: "Security Fundamentals",
|
||||
// description: "Understand core concepts of IT security and defense."
|
||||
// },
|
||||
// {
|
||||
// category: "Cybersecurity & Compliance",
|
||||
// link: "https://kodepilot.in/course/view.php?id=22",
|
||||
// image: "https://kodepilot.in/pluginfile.php/68/course/overviewfiles/CyE.png",
|
||||
// name: "Cyber Essentials",
|
||||
// description: "Learn the basics of cybersecurity and compliance standards."
|
||||
// }
|
||||
// ];
|
||||
|
||||
console.table(allCourses);
|
||||
|
||||
@ -422,56 +422,73 @@ function renderCourses(allCourses) {
|
||||
}
|
||||
});
|
||||
|
||||
// If temp still has >= 4, push it
|
||||
if (temp.courses.length >= 4) {
|
||||
mergedSections.push(temp);
|
||||
}
|
||||
|
||||
// Render sections
|
||||
mergedSections.forEach(sectionData => {
|
||||
const section = document.createElement('div');
|
||||
section.className = 'course-section';
|
||||
section.innerHTML = `
|
||||
<h2 class="course-category-title">${sectionData.category}</h2>
|
||||
<div class="course-slider-box">
|
||||
<div class="course-slider">
|
||||
<button class="prev-btn nav-button"></button>
|
||||
<div class="course-track"></div>
|
||||
<button class="next-btn nav-button"></button>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
<h2 class="course-category-title">${sectionData.category}</h2>
|
||||
<div class="course-slider-box">
|
||||
<div class="course-slider">
|
||||
<button class="prev-btn nav-button"></button>
|
||||
<div class="course-track"></div>
|
||||
<button class="next-btn nav-button"></button>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
|
||||
const track = section.querySelector('.course-track');
|
||||
const prevBtn = section.querySelector('.prev-btn');
|
||||
const nextBtn = section.querySelector('.next-btn');
|
||||
|
||||
sectionData.courses.forEach(course => {
|
||||
const courseDiv = document.createElement('div');
|
||||
courseDiv.className = 'course-card';
|
||||
courseDiv.innerHTML = `
|
||||
<a href="${course.link}" target="_blank">
|
||||
<div class="course-image" style="background-image: url(${course.image});"></div>
|
||||
</a>
|
||||
<div class="course-content">
|
||||
<a href="${course.link}" class="course-name" target="_blank">${course.name}</a>
|
||||
<div class="course-description">${course.description}</div>
|
||||
</div>
|
||||
`;
|
||||
<a href="${course.link}" target="_blank">
|
||||
<div class="course-image" style="background-image: url(${course.image});"></div>
|
||||
</a>
|
||||
<div class="course-content">
|
||||
<a href="${course.link}" class="course-name" target="_blank">${course.name}</a>
|
||||
<div class="course-description">${course.description}</div>
|
||||
</div>
|
||||
`;
|
||||
track.appendChild(courseDiv);
|
||||
});
|
||||
|
||||
// Slider buttons
|
||||
const prevBtn = section.querySelector('.prev-btn');
|
||||
const nextBtn = section.querySelector('.next-btn');
|
||||
// Button scrolling
|
||||
const scrollAmount = 300;
|
||||
prevBtn.addEventListener('click', () => track.scrollBy({ left: -scrollAmount, behavior: 'smooth' }));
|
||||
nextBtn.addEventListener('click', () => track.scrollBy({ left: scrollAmount, behavior: 'smooth' }));
|
||||
|
||||
prevBtn.addEventListener('click', () => {
|
||||
track.scrollBy({ left: -300, behavior: 'smooth' });
|
||||
// Touch swipe
|
||||
let startX = 0;
|
||||
let isDragging = false;
|
||||
|
||||
track.addEventListener('touchstart', e => {
|
||||
startX = e.touches[0].clientX;
|
||||
isDragging = true;
|
||||
});
|
||||
nextBtn.addEventListener('click', () => {
|
||||
track.scrollBy({ left: 300, behavior: 'smooth' });
|
||||
|
||||
track.addEventListener('touchmove', e => {
|
||||
if (!isDragging) return;
|
||||
const x = e.touches[0].clientX;
|
||||
const walk = (startX - x) * 10;
|
||||
track.scrollLeft += walk;
|
||||
startX = x;
|
||||
});
|
||||
|
||||
|
||||
track.addEventListener('touchend', () => {
|
||||
isDragging = false;
|
||||
});
|
||||
|
||||
container.appendChild(section);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -493,7 +510,7 @@ function stepScroll() {
|
||||
track.appendChild(first);
|
||||
track.style.transition = 'none';
|
||||
track.style.transform = 'translateX(0)';
|
||||
void track.offsetWidth; // force reflow
|
||||
void track.offsetWidth;
|
||||
track.style.transition = 'transform 0.5s ease';
|
||||
track.removeEventListener('transitionend', handler);
|
||||
});
|
||||
@ -502,16 +519,45 @@ function stepScroll() {
|
||||
setInterval(stepScroll, 3000);
|
||||
|
||||
|
||||
document.querySelectorAll('.course-slider').forEach(slider => {
|
||||
const track = slider.querySelector('.course-track');
|
||||
const prev = slider.querySelector('.prev-btn');
|
||||
const next = slider.querySelector('.next-btn');
|
||||
|
||||
prev.addEventListener('click', () => {
|
||||
track.scrollBy({ left: -300, behavior: 'smooth' });
|
||||
/*--------------------------------------------------------*/
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
const cards = document.querySelectorAll('.practice-card');
|
||||
let activeCard = document.querySelector('.practice-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');
|
||||
});
|
||||
|
||||
// Add active class to the specified card
|
||||
card.classList.add('active');
|
||||
|
||||
// Update last active card
|
||||
lastActiveCard = card;
|
||||
}
|
||||
|
||||
// Set first card as active by default if none is active
|
||||
if (!activeCard && cards.length > 0) {
|
||||
setActiveCard(cards[0]);
|
||||
}
|
||||
|
||||
// Add click event listeners (better for mobile and accessibility)
|
||||
cards.forEach(card => {
|
||||
card.addEventListener('click', function () {
|
||||
setActiveCard(this);
|
||||
});
|
||||
});
|
||||
|
||||
next.addEventListener('click', () => {
|
||||
track.scrollBy({ left: 300, behavior: 'smooth' });
|
||||
// Optional: Add hover effect for desktop (complementary to click)
|
||||
cards.forEach(card => {
|
||||
card.addEventListener('mouseenter', function () {
|
||||
// Only activate on hover if you want that behavior
|
||||
// setActiveCard(this);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||