diff --git a/index.html b/index.html index eb376bf..9afaff0 100644 --- a/index.html +++ b/index.html @@ -548,6 +548,7 @@
💻

Coding Practice

Level up your coding skills by practicing the hiring Questions.

+ Start Now ➤ @@ -562,7 +563,7 @@
📋

Interview Preparation

-

Crack Top companies in just 5 days.

+

Crack Top companies in just 5 days with unbelivable learning

Start Now ➤ diff --git a/main.css b/main.css index e1db946..c0d2d7d 100644 --- a/main.css +++ b/main.css @@ -1105,6 +1105,7 @@ align-items: center; gap: 20px; margin-top: 76px; + padding-bottom: 40px; } .move-slider-box-static { @@ -1540,355 +1541,425 @@ /*----------------------------------------------------------------------------------------------------------------------*/ +/* Practice Cards Component CSS - Unique class names to prevent conflicts */ - /* Practice Cards Component CSS - Unique class names to prevent conflicts */ - .practice-cards-container * { - margin: 0; - padding: 0; - box-sizing: border-box; - font-family: 'Segoe UI', system-ui, sans-serif; - } - .practice-cards-container { - background-color: #ffffff; - color: #1f2937; - padding: 40px 20px; - display: flex; - flex-direction: column; - align-items: center; - } +/* Practice Cards Component CSS - Unique class names to prevent conflicts */ +.practice-cards-container * { + margin: 0; + padding: 0; + box-sizing: border-box; + font-family: 'Segoe UI', system-ui, sans-serif; +} - .practice-container { - max-width: 1300px; - width: 100%; - } +.practice-cards-container { + background-color: #ffffff; + color: #1f2937; + padding: 40px 20px; + display: flex; + flex-direction: column; + align-items: flex-start; +} - .practice-title { - font-size: 32px; - font-weight: 700; - margin-bottom: 12px; - color: #111827; - text-align: left; - } +.practice-container { + max-width: 1200px; + width: 100%; + margin: 0 auto; + padding: 0 20px; +} - .practice-subtitle { - font-size: 18px; - color: #6b7280; - max-width: 700px; - /* margin: 0 auto 40px; */ - line-height: 1.5; - text-align: left; - } +.practice-title { + font-size: 32px; + font-weight: 700; + margin-bottom: 12px; + color: #111827; + text-align: left; + width: 100%; +} - .practice-cards-wrapper { - margin: 30px 0; - display: flex; - 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; - } +.practice-subtitle { + font-size: 18px; + color: #6b7280; + max-width: 700px; + line-height: 1.5; + text-align: left; + width: 100%; +} - .practice-card { - flex: 1; - 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; - } +.practice-cards-wrapper { + margin: 30px 0; + display: flex; + height: 380px; + border-radius: 12px; + overflow: hidden; + position: relative; + gap: 1px; + background-color: #d1d5db; + padding: 1px; + width: 100%; +} - .practice-card:first-child { - border-radius: 11px 0 0 11px; - } +.practice-card { + flex: 1; + display: flex; + 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:last-child { - border-radius: 0 11px 11px 0; - } +.practice-card:first-child { + border-radius: 11px 0 0 11px; +} - .practice-card-content { - flex: 1; - padding: 24px; - display: flex; - flex-direction: column; - justify-content: space-between; - transition: all 0.7s ease; - min-width: 0; - z-index: 2; - position: relative; - } +.practice-card:last-child { + border-radius: 0 11px 11px 0; +} - /* Color changes for active and hover states */ - .practice-card.active { - background-color: #c6e0f1; - } +.practice-card-content { + flex: 1; + padding: 24px; + display: flex; + flex-direction: column; + justify-content: space-between; + transition: all 0.5s ease; + min-width: 280px; + z-index: 2; + position: relative; +} - .practice-card:nth-child(1):hover, - .practice-card:nth-child(1).active { - background-color: #89CFF0; - } +/* Default state - all cards equal size */ +.practice-card { + flex: 1; + transform: scale(1); +} - .practice-card:nth-child(2):hover, - .practice-card:nth-child(2).active { - background-color: #FEB4CF; - } +.practice-card .practice-card-svg { + width: 0; + opacity: 0; +} - .practice-card:nth-child(3):hover, - .practice-card:nth-child(3).active { - background-color: #DFC5FE; - } +.practice-card .practice-cta-btn { + opacity: 0; + transform: translateY(15px); +} - .practice-card:nth-child(4):hover, - .practice-card:nth-child(4).active { - background-color: #FFE186; - } +/* Hover state - expand hovered card, shrink others */ +.practice-cards-wrapper:hover .practice-card { + flex: 1; + transform: scale(0.98); +} - /* SVG Container */ - .practice-card-svg { - width: 0; - height: 100%; - display: flex; - align-items: center; - justify-content: center; - transition: all 1.3s cubic-bezier(0.23, 1, 0.32, 1); - opacity: 0; - padding: 20px; - background: transparent; - } +.practice-cards-wrapper:hover .practice-card:hover { + flex: 2.5; + transform: translateY(-6px) scale(1.01); + z-index: 10; +} - .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)); - } +/* Color changes for hover states */ +.practice-card:nth-child(1):hover { + background-color: #89CFF0; +} - .practice-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); - } +.practice-card:nth-child(2):hover { + background-color: #FEB4CF; +} - .practice-card:nth-child(1) .practice-card-icon { - background-color: #1268f3; - color: white; - } +.practice-card:nth-child(3):hover { + background-color: #DFC5FE; +} - .practice-card:nth-child(2) .practice-card-icon { - background-color: #ef4444; - color: white; - } +.practice-card:nth-child(4):hover { + background-color: #FFE186; +} - .practice-card:nth-child(3) .practice-card-icon { - background-color: #8b5cf6; - color: white; - } +/* SVG Container */ +.practice-card-svg { + width: 0; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1); + opacity: 0; + padding: 20px; + background: transparent; + flex-shrink: 0; +} - .practice-card:nth-child(4) .practice-card-icon { - background-color: #f59e0b; - color: white; - } +.practice-card-svg svg { + width: 100%; + height: 100%; + max-width: 150px; + max-height: 150px; + filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1)); +} - .practice-card h3 { - font-size: 20px; - font-weight: 600; - margin-bottom: 12px; - color: #111827; - transition: transform 0.5s ease; - } +/* Show SVG only on hovered card */ +.practice-cards-wrapper:hover .practice-card:hover .practice-card-svg { + width: 35%; + opacity: 1; +} - .practice-card p { - font-size: 15px; - color: #6b7280; - line-height: 1.5; - margin-bottom: 16px; - transition: transform 0.5s ease; - } +.practice-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; +} - .practice-meta-info { - display: flex; - align-items: center; - margin-bottom: 16px; - font-size: 14px; - color: #4b5563; - transition: transform 0.5s ease; - } +.practice-card:nth-child(1) .practice-card-icon { + background-color: #1268f3; + color: white; +} - .practice-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; - } +.practice-card:nth-child(2) .practice-card-icon { + background-color: #ef4444; + color: white; +} - .practice-footer-text { - font-size: 14px; - font-weight: 600; - color: #374151; - margin-top: auto; - transition: transform 0.5s ease; - } +.practice-card:nth-child(3) .practice-card-icon { + background-color: #8b5cf6; + color: white; +} - .practice-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); - } +.practice-card:nth-child(4) .practice-card-icon { + background-color: #f59e0b; + color: white; +} - .practice-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; - } +/* Icon animation on hover */ +.practice-cards-wrapper:hover .practice-card:hover .practice-card-icon { + transform: scale(1.05) rotate(3deg); +} - .practice-cta-btn:hover::before { - left: 100%; - } +.practice-card h3 { + font-size: 20px; + font-weight: 600; + margin-bottom: 12px; + color: #111827; + transition: transform 0.5s ease; +} - .practice-cta-btn:hover { - background-color: #374151; - transform: translateY(-2px); - box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15); - } +.practice-card p { + font-size: 15px; + color: #6b7280; + line-height: 1.5; + margin-bottom: 16px; + transition: transform 0.5s ease; +} - /* 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-meta-info { + display: flex; + align-items: center; + margin-bottom: 16px; + font-size: 14px; + color: #4b5563; + transition: transform 0.5s ease; +} - .practice-card.active .practice-card-svg { - width: 45%; - opacity: 1; - } +.practice-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; +} - .practice-card.active .practice-cta-btn { - opacity: 1; - transform: translateY(0); - } +.practice-footer-text { + font-size: 14px; + font-weight: 600; + color: #374151; + margin-top: auto; + transition: transform 0.5s ease; +} - .practice-card.active .practice-card-icon { - transform: scale(1.1) rotate(5deg); - } +/* Text animation on hover */ +.practice-cards-wrapper:hover .practice-card:hover h3 { + transform: translateY(-2px); +} - .practice-card.active h3 { - transform: translateY(-3px); - } +.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-card.active p, - .practice-card.active .practice-meta-info, - .practice-card.active .practice-footer-text { - transform: translateY(-2px); - } +.practice-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; +} - /* 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-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; +} - .practice-card:hover:not(.active) .practice-card-svg { - width: 25%; - opacity: 0.8; - } +.practice-cta-btn:hover::before { + left: 100%; +} - /* Subtle overlay effect */ - .practice-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; - } +.practice-cta-btn:hover { + background-color: #374151; + transform: translateY(-2px); +} - .practice-card.active::after, - .practice-card:hover::after { - opacity: 1; - } +/* Show CTA button only on hovered card */ +.practice-cards-wrapper:hover .practice-card:hover .practice-cta-btn { + opacity: 1; + transform: translateY(0); +} - @media (max-width: 992px) { - .practice-cards-wrapper { - flex-direction: column; - height: auto; - border-radius: 12px; - } +/* Subtle overlay effect */ +.practice-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; +} - .practice-card { - flex-direction: column; - height: auto; - border-radius: 0 !important; - } +.practice-card:hover::after { + opacity: 1; +} - .practice-card:first-child { - border-radius: 12px 12px 0 0 !important; - } +/* REMOVED: Default expanded state for first card */ +/* Now all cards start equal and only expand on hover */ - .practice-card:last-child { - border-radius: 0 0 12px 12px !important; - } +/* Show SVG and CTA button only on hover */ +.practice-cards-wrapper .practice-card .practice-card-svg { + width: 0; + opacity: 0; +} - .practice-card.active .practice-card-svg, - .practice-card:hover .practice-card-svg { - width: 100%; - height: 200px; - } +.practice-cards-wrapper .practice-card .practice-cta-btn { + opacity: 0; + transform: translateY(15px); +} - .practice-card.active { - transform: translateY(-5px) scale(1.01); - } +.practice-cards-wrapper:hover .practice-card:hover .practice-card-svg { + width: 35%; + opacity: 1; +} - .practice-card:hover:not(.active) { - transform: translateY(-3px) scale(1.005); - } - } \ No newline at end of file +.practice-cards-wrapper:hover .practice-card:hover .practice-cta-btn { + opacity: 1; + transform: translateY(0); +} + +/* Mobile responsiveness */ +@media (max-width: 992px) { + .practice-cards-container { + align-items: flex-start; + padding: 30px 15px; + } + + .practice-cards-wrapper { + flex-direction: column; + height: auto; + border-radius: 12px; + gap: 0; + } + + .practice-card { + flex-direction: row; + height: 120px; + border-radius: 0 !important; + min-width: auto; + } + + .practice-card:first-child { + border-radius: 12px 12px 0 0 !important; + height: 120px; + flex: 1; + transform: none; + } + + .practice-card:last-child { + border-radius: 0 0 12px 12px !important; + } + + .practice-cards-wrapper:hover .practice-card:hover { + height: 300px; + flex-direction: column; + } + + .practice-cards-wrapper:hover .practice-card:hover .practice-card-svg { + width: 100%; + height: 120px; + } + + .practice-card-content { + min-width: auto; + padding: 20px; + } +} + +@media (max-width: 768px) { + .practice-cards-container { + padding: 25px 10px; + } + + .practice-title { + font-size: 28px; + } + + .practice-subtitle { + font-size: 16px; + } +} + +@media (max-width: 480px) { + .practice-cards-container { + padding: 20px 8px; + } + + .practice-title { + font-size: 24px; + } + + .practice-subtitle { + font-size: 14px; + } +} \ No newline at end of file diff --git a/main.js b/main.js index d261a7b..f2eace4 100644 --- a/main.js +++ b/main.js @@ -502,16 +502,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' }); - }); +/*--------------------------------------------------------*/ - next.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); + }); }); -}); + + // 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); + }); + }); +}); \ No newline at end of file