diff --git a/404.html b/404.html
index eeede89c..0c73ff83 100644
--- a/404.html
+++ b/404.html
@@ -86,15 +86,10 @@
diff --git a/Components/Buttons/Confetti-Button/index.html b/Components/Buttons/Confetti-Button/index.html
new file mode 100644
index 00000000..24abb9cd
--- /dev/null
+++ b/Components/Buttons/Confetti-Button/index.html
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+ Confetti Button
+
+
+
+
+
+
+
+
+
diff --git a/Components/Buttons/Confetti-Button/script.js b/Components/Buttons/Confetti-Button/script.js
new file mode 100644
index 00000000..fb5072f5
--- /dev/null
+++ b/Components/Buttons/Confetti-Button/script.js
@@ -0,0 +1,50 @@
+const confettiButton = document.querySelector('.confetti-button');
+
+confettiButton.addEventListener('click', () => {
+ const confettiCount = 80;
+ const buttonRect = confettiButton.getBoundingClientRect();
+
+ for (let i = 0; i < confettiCount; i++) {
+ const confetti = document.createElement('div');
+ confetti.classList.add('confetti');
+
+ // Assign random shapes and sizes for variety
+ const shapes = ['circle', 'square', 'triangle'];
+ const shape = shapes[Math.floor(Math.random() * shapes.length)];
+
+ if (shape === 'circle') {
+ confetti.style.width = confetti.style.height = '12px';
+ confetti.style.borderRadius = '50%';
+ } else if (shape === 'square') {
+ confetti.style.width = confetti.style.height = '10px';
+ } else if (shape === 'triangle') {
+ confetti.style.width = 0;
+ confetti.style.height = 0;
+ confetti.style.borderLeft = '5px solid transparent';
+ confetti.style.borderRight = '5px solid transparent';
+ confetti.style.borderBottom = `10px solid hsl(${Math.random() * 360}, 100%, 50%)`;
+ }
+
+ confetti.style.backgroundColor = `hsl(${Math.random() * 360}, 100%, 50%)`; // Random confetti colors
+ confetti.style.left = `${buttonRect.left + buttonRect.width / 2}px`; // Start from center of button
+ confetti.style.top = `${buttonRect.top + buttonRect.height / 2}px`; // Start from center of button
+
+ // Random direction for X and Y
+ confetti.style.setProperty('--x-direction', Math.random() - 0.5); // Horizontal spread
+ confetti.style.setProperty('--y-direction', Math.random() - 0.5); // Initial upward/downward motion
+ confetti.style.setProperty('--gravity', Math.random() * 1.2 + 0.4); // Simulate gravity to pull downward
+
+ document.body.appendChild(confetti);
+
+ // Confetti motion using GSAP
+ gsap.to(confetti, {
+ x: (Math.random() - 0.5) * 1200, // Spread horizontally
+ y: (Math.random() - 0.5) * 1200, // Spread vertically
+ rotation: Math.random() * 1440, // Spin confetti with more rotations
+ duration: 2 + Math.random(), // Randomized duration for each piece
+ opacity: 0,
+ scale: Math.random() * 1.5 + 0.5, // Randomize size slightly
+ onComplete: () => confetti.remove(), // Remove confetti after animation
+ });
+ }
+});
diff --git a/Components/Buttons/Confetti-Button/style.css b/Components/Buttons/Confetti-Button/style.css
new file mode 100644
index 00000000..4b2b82cc
--- /dev/null
+++ b/Components/Buttons/Confetti-Button/style.css
@@ -0,0 +1,60 @@
+body {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ height: 100vh;
+ background-color: #282c34;
+ margin: 0;
+ overflow: hidden;
+}
+
+.confetti-button {
+ font-size: 20px;
+ color: #fff;
+ background-color: #00b4d8;
+ border: none;
+ padding: 15px 30px;
+ border-radius: 50px;
+ cursor: pointer;
+ position: relative;
+ z-index: 2;
+ box-shadow: 0 8px 25px rgba(0, 180, 216, 0.5);
+ transition: background-color 0.3s ease;
+}
+
+.confetti-button:hover {
+ background-color: #90e0ef;
+}
+
+.confetti-button:active {
+ background-color: #0077b6;
+}
+
+.confetti {
+ position: absolute;
+ width: 10px;
+ height: 20px;
+ border-radius: 2px;
+ pointer-events: none;
+ animation: fly 2.5s ease-out forwards;
+ z-index: 1;
+ opacity: 1;
+ transform-origin: center center;
+}
+
+/* Rotation and motion animation */
+@keyframes fly {
+ 0% {
+ opacity: 1;
+ transform: translateY(0) translateX(0) rotate(0deg) scale(1);
+ }
+
+ 50% {
+ transform: translateY(calc(400px * var(--y-direction))) translateX(calc(400px * var(--x-direction))) rotate(360deg) scale(1.2);
+ }
+
+ 100% {
+ opacity: 0;
+ transform: translateY(calc(600px * var(--gravity))) translateX(calc(800px * var(--x-direction))) rotate(720deg) scale(0.8);
+ }
+}
diff --git a/Components/Buttons/Fizzy-Button/index.html b/Components/Buttons/Fizzy-Button/index.html
new file mode 100644
index 00000000..e2b2362e
--- /dev/null
+++ b/Components/Buttons/Fizzy-Button/index.html
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+ Fizzy Button
+
+
+
+
+
+
+
+
+
diff --git a/Components/Buttons/Fizzy-Button/script.js b/Components/Buttons/Fizzy-Button/script.js
new file mode 100644
index 00000000..9cfd85f1
--- /dev/null
+++ b/Components/Buttons/Fizzy-Button/script.js
@@ -0,0 +1,28 @@
+const button = document.querySelector('.fizzy-button');
+
+button.addEventListener('click', () => {
+ const particleCount = 100; // Large number of particles for extra fizz
+ const bodyRect = document.body.getBoundingClientRect();
+
+ for (let i = 0; i < particleCount; i++) {
+ const particle = document.createElement('div');
+ particle.classList.add('particle');
+ particle.style.width = particle.style.height = `${Math.random() * 15 + 5}px`;
+ particle.style.backgroundColor = `hsl(${Math.random() * 360}, 100%, 50%)`;
+
+ // Particles can appear anywhere on the screen
+ particle.style.left = `${Math.random() * window.innerWidth}px`;
+ particle.style.top = `${Math.random() * window.innerHeight}px`;
+
+ document.body.appendChild(particle);
+
+ gsap.to(particle, {
+ x: (Math.random() - 0.5) * 1000, // Bigger spread for a wider fizz effect
+ y: (Math.random() - 0.5) * 1000,
+ duration: 2,
+ opacity: 0,
+ scale: Math.random() * 2.5 + 1,
+ onComplete: () => particle.remove(),
+ });
+ }
+});
diff --git a/Components/Buttons/Fizzy-Button/style.css b/Components/Buttons/Fizzy-Button/style.css
new file mode 100644
index 00000000..650d800d
--- /dev/null
+++ b/Components/Buttons/Fizzy-Button/style.css
@@ -0,0 +1,52 @@
+body {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ height: 100vh;
+ background-color: #2b2d42;
+ margin: 0;
+ overflow: hidden;
+}
+
+.fizzy-button {
+ font-size: 20px;
+ color: #fff;
+ background-color: #f72585;
+ border: none;
+ padding: 15px 30px;
+ border-radius: 50px;
+ cursor: pointer;
+ position: relative;
+ z-index: 2;
+ box-shadow: 0 8px 25px rgba(247, 37, 133, 0.5);
+ transition: background-color 0.3s ease;
+}
+
+.fizzy-button:hover {
+ background-color: #ff4d6d;
+}
+
+.fizzy-button:active {
+ background-color: #b5179e;
+}
+
+.particle {
+ position: absolute;
+ background-color: #ff5722;
+ border-radius: 50%;
+ pointer-events: none;
+ animation: fizz 2s ease-out forwards;
+ z-index: 1;
+}
+
+@keyframes fizz {
+ from {
+ transform: scale(0);
+ opacity: 1;
+ }
+
+ to {
+ transform: scale(3);
+ opacity: 0;
+ }
+}
diff --git a/Components/Tables/Expandable-Row-Table/index.html b/Components/Tables/Expandable-Row-Table/index.html
new file mode 100644
index 00000000..86dc58ab
--- /dev/null
+++ b/Components/Tables/Expandable-Row-Table/index.html
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+ Expandable Row Table
+
+
+
+ Expandable Row Table
+
+
+
+
+ Name |
+ Age |
+ City |
+
+
+
+
+ John Doe ▶ |
+ 30 |
+ New York |
+
+
+ More about John: Loves coding, enjoys long walks. |
+
+
+ Jane Smith ▶ |
+ 25 |
+ Los Angeles |
+
+
+ More about Jane: Enjoys hiking and outdoor activities. |
+
+
+ Sam Brown ▶ |
+ 35 |
+ Chicago |
+
+
+ More about Sam: Loves photography and traveling. |
+
+
+
+
+
+
+
+
diff --git a/Components/Tables/Expandable-Row-Table/script.js b/Components/Tables/Expandable-Row-Table/script.js
new file mode 100644
index 00000000..2f4c15cf
--- /dev/null
+++ b/Components/Tables/Expandable-Row-Table/script.js
@@ -0,0 +1,10 @@
+function toggleDetails(row) {
+ const nextRow = row.nextElementSibling;
+ const icon = row.querySelector('.expand-icon');
+
+ if (nextRow.classList.contains('details')) {
+ const isVisible = nextRow.style.display === 'table-row';
+ nextRow.style.display = isVisible ? 'none' : 'table-row';
+ icon.classList.toggle('open', !isVisible);
+ }
+}
diff --git a/Components/Tables/Expandable-Row-Table/style.css b/Components/Tables/Expandable-Row-Table/style.css
new file mode 100644
index 00000000..fe0decb5
--- /dev/null
+++ b/Components/Tables/Expandable-Row-Table/style.css
@@ -0,0 +1,102 @@
+body {
+ font-family: 'Arial', sans-serif;
+ margin: 0;
+ padding: 0;
+ background-color: #f4f4f9;
+ color: #333;
+}
+
+h2 {
+ text-align: center;
+ margin-top: 20px;
+ font-size: 2rem;
+ color: #444;
+}
+
+table {
+ width: 80%;
+ margin: 30px auto;
+ border-collapse: collapse;
+ border-radius: 8px;
+ overflow: hidden;
+ box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
+ background-color: white;
+}
+
+th,
+td {
+ padding: 15px;
+ text-align: left;
+ font-size: 1rem;
+ border: 1px solid #ddd;
+}
+
+th {
+ background-color: #4CAF50;
+ color: white;
+ font-size: 1.1rem;
+}
+
+td {
+ background-color: #f9f9f9;
+}
+
+td:first-child {
+ font-weight: bold;
+}
+
+tr:hover {
+ background-color: #f1f1f1;
+ cursor: pointer;
+}
+
+tr.details:hover {
+ background-color: #f9f9f9;
+}
+
+.details {
+ display: none;
+ background-color: #f9f9f9;
+ font-style: italic;
+ color: #555;
+}
+
+.details td {
+ padding-left: 40px;
+ background-color: #fafafa;
+}
+
+.expand-icon {
+ margin-left: 10px;
+ font-size: 16px;
+ color: #4CAF50;
+}
+
+.expand-icon.open {
+ transform: rotate(90deg);
+ transition: transform 0.3s ease;
+}
+
+.expand-btn {
+ border: none;
+ background-color: #4CAF50;
+ color: white;
+ padding: 8px 16px;
+ font-size: 1rem;
+ border-radius: 4px;
+ cursor: pointer;
+}
+
+.expand-btn:hover {
+ background-color: #45a049;
+}
+
+.expand-btn:focus {
+ outline: none;
+}
+
+@media (max-width: 768px) {
+ table {
+ width: 100%;
+ }
+}
diff --git a/Components/Tables/Interactive-Flip-Table/index.html b/Components/Tables/Interactive-Flip-Table/index.html
new file mode 100644
index 00000000..f28f170a
--- /dev/null
+++ b/Components/Tables/Interactive-Flip-Table/index.html
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+ Interactive Flip Table
+
+
+
+ Interactive Flip Table
+
+
+
+
John Doe
25 years
+
New York
Likes coding
+
+
+
+
+
Jane Smith
30 years
+
Los Angeles
Enjoys hiking
+
+
+
+
+
Sam Brown
35 years
+
Chicago
Loves photography
+
+
+
+
+
Emily Davis
28 years
+
Miami
Enjoys painting
+
+
+
+
+
Michael Johnson
40 years
+
Houston
Plays guitar
+
+
+
+
+
Sarah Wilson
32 years
+
Phoenix
Likes cooking
+
+
+
+
+
+
diff --git a/Components/Tables/Interactive-Flip-Table/style.css b/Components/Tables/Interactive-Flip-Table/style.css
new file mode 100644
index 00000000..22a6ad28
--- /dev/null
+++ b/Components/Tables/Interactive-Flip-Table/style.css
@@ -0,0 +1,109 @@
+body {
+ font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
+ margin: 0 auto;
+ padding: px;
+ min-height: 100vh;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ background: linear-gradient(to bottom, #f8f9fa, #e9ecef);
+}
+
+h2 {
+ margin-bottom: 20px;
+ color: #444;
+ text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
+}
+
+.table {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
+ grid-template-rows: auto;
+ gap: 20px;
+ width: 100%;
+ max-width: 800px;
+ padding: 20px;
+ background: rgba(255, 255, 255, 0.9);
+ border: 1px solid #ddd;
+ border-radius: 10px;
+ box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
+}
+
+.card {
+ width: 100%;
+ height: 150px;
+ perspective: 1000px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.card-inner {
+ position: relative;
+ width: 100%;
+ height: 100%;
+ transition: transform 0.6s ease-in-out;
+ transform-style: preserve-3d;
+}
+
+.card:hover .card-inner {
+ transform: rotateY(180deg);
+}
+
+.card-front,
+.card-back {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ backface-visibility: hidden;
+ border: 2px solid #ddd;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ font-size: 16px;
+ font-weight: bold;
+ color: #fff;
+ border-radius: 8px;
+ box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2);
+}
+
+.card-front {
+ background: linear-gradient(135deg, #6a11cb, #2575fc);
+}
+
+.card-back {
+ background: linear-gradient(135deg, #ff416c, #ff4b2b);
+ transform: rotateY(180deg);
+}
+
+.card-front small,
+.card-back small {
+ font-size: 12px;
+ font-weight: normal;
+ margin-top: 5px;
+ opacity: 0.8;
+}
+
+@media (max-width: 768px) {
+ .card {
+ height: 130px;
+ }
+
+ .card-front,
+ .card-back {
+ font-size: 14px;
+ }
+}
+
+@media (max-width: 480px) {
+ .card {
+ height: 120px;
+ }
+
+ .card-front,
+ .card-back {
+ font-size: 12px;
+ }
+}
diff --git a/Components/Transfer-Lists/Card-Based-Transfer-List/index.html b/Components/Transfer-Lists/Card-Based-Transfer-List/index.html
index 226e06c8..d04ef7a9 100644
--- a/Components/Transfer-Lists/Card-Based-Transfer-List/index.html
+++ b/Components/Transfer-Lists/Card-Based-Transfer-List/index.html
@@ -4,30 +4,33 @@
-
Card Based Transfer List
+
+ Card-Based Transfer List
+
-
Card Based Transfer List
-
-
-
Available Projects
-
-
-
-
-
-
Assigned Projects
-
-
-
-
+
+
+
+
Available Projects: 0
+
+
+
+
+
+
+
+
+
+
Assigned Projects: 0
+
-