diff --git a/about.css b/about.css index 280692f..bf1c921 100644 --- a/about.css +++ b/about.css @@ -1,531 +1,437 @@ :root { - --primary: #ec7474; - --secondary: #2C3E50; - --light: #f8f9fa; - --dark: #1a1a1a; - --accent: #FF5722; - --text-color: var(--dark); - --bg-color: var(--light); - --card-bg: white; - --team-name-color: var(--secondary); - --team-bio-color: #666; - --header-gradient: linear-gradient(135deg, rgba(76, 175, 80, 0.9) 0%, rgba(33, 150, 243, 0.6) 100%); - } - - html { - transition: all 0.5s ease-in; - } - - html.dark { - --primary-color: #fff; - --secondary-color: #333; - --text-color: var(--light); - --bg-color: #111; - --card-bg: #222; - --team-name-color: var(--light); - --team-bio-color: #ccc; - --header-gradient: linear-gradient(135deg, rgba(76, 175, 80, 0.6) 0%, rgba(33, 150, 243, 0.4) 100%); - } - - html.dark { - background-color: #111; - color: var(--primary-color); - } - - * { - margin: 0; - padding: 0; - box-sizing: border-box; - font-family: "montserrat"; - } - - body { - background-color: var(--bg-color); - color: var(--text-color); - line-height: 1.6; - transition: background-color 0.5s ease, color 0.5s ease; - margin: 0; - padding: 0; - } - - -video { - height: 100%; - width: 100%; - object-fit: cover; - position: fixed; - -webkit-filter: blur(4px); -} - - - - - #cards-container { - background-color:black; - height: 60vh; - display: flex; - justify-content: space-evenly; - align-items: center; - gap: 70px; - position: relative; - z-index: 10; - padding: 4px; - } - - - .card { - height: 80%; - width: 28%; - border-radius: 20px; - background-size: cover; - background-position: center; - overflow: visible; - transition: all ease 0.6s; - box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23); - } - - #card1 { - background-image: url('pictures/Chetan.png'); - } - - #card2 { - background-image: url('pictures/Tanish.png'); - } - - #card3 { - background-image: url('pictures/Vansh.png'); - } - - .overlay { - position: absolute; - top: 0; - left: 0; - height: 100%; - width: 100%; - background: var(--header-gradient); - padding: 20px; - opacity: 0; - transition: opacity 0.4s ease; - display: flex; - flex-direction: column; - justify-content: flex-end; - overflow: hidden; /* Prevent content from overflowing */ + --primary: #ec7474; + --secondary: #2C3E50; + --light: #f8f9fa; + --dark: #1a1a1a; + --accent: #FF5722; + --text-color: var(--dark); + --bg-color: var(--light); + --card-bg: white; + --team-name-color: var(--secondary); + --team-bio-color: #666; + --header-gradient: linear-gradient(135deg, rgba(76, 175, 80, 0.9) 0%, rgba(33, 150, 243, 0.6) 100%); +} + +html { + transition: all 0.5s ease-in; +} + +html.dark { + --primary-color: #fff; + --secondary-color: #333; + --text-color: var(--light); + --bg-color: #111; + --card-bg: #222; + --team-name-color: var(--light); + --team-bio-color: #ccc; + --header-gradient: linear-gradient(135deg, rgba(76, 175, 80, 0.6) 0%, rgba(33, 150, 243, 0.4) 100%); +} + +html.dark { + background-color: #111; + color: var(--primary-color); +} + +* { + margin: 0; + padding: 0; + box-sizing: border-box; + font-family: "montserrat"; +} + +body { + background-color: var(--bg-color); + color: var(--text-color); + line-height: 1.6; + transition: background-color 0.5s ease, color 0.5s ease; + margin: 0; + padding: 0; +} + + +#cards-container { + background-color:black; + height: 60vh; + display: flex; + justify-content: space-evenly; + align-items: center; + gap: 70px; + position: relative; + z-index: 10; + padding: 4px; +} + + +.card { + height: 80%; + width: 28%; + border-radius: 20px; + background-size: cover; + background-position: center; + overflow: visible; + transition: all ease 0.6s; + box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23); +} + +#card1 { + background-image: url('pictures/Chetan.png'); +} + +#card2 { + background-image: url('pictures/Tanish.png'); +} + +#card3 { + background-image: url('pictures/Vansh.png'); +} + +.overlay { + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + background: var(--header-gradient); + padding: 20px; + opacity: 0; + transition: opacity 0.4s ease; + display: flex; + flex-direction: column; + justify-content: flex-end; + overflow: hidden; /* Prevent content from overflowing */ } .overlay h4 { - color: white; - font-size: 40px; - text-transform: uppercase; - margin-bottom: 20px; - font-weight: 800; - overflow: hidden; - text-overflow: ellipsis; /* Add ellipsis for overflowing text */ - white-space: normal; /* Allow text to wrap */ + color: white; + font-size: 40px; + text-transform: uppercase; + margin-bottom: 20px; + font-weight: 800; + overflow: hidden; + text-overflow: ellipsis; /* Add ellipsis for overflowing text */ + white-space: normal; /* Allow text to wrap */ } .overlay p { - color: white; - font-size: 18px; - overflow: hidden; - text-overflow: ellipsis; /* Add ellipsis for overflowing text */ - display: -webkit-box; - -webkit-line-clamp: 3; /* Limit to 3 lines */ - -webkit-box-orient: vertical; - white-space: normal; /* Allow text to wrap */ -} - - - .card:hover .overlay { - opacity: 1; - background: var(--header-gradient); - } - - .card:hover { - transform: rotate3d(-1, 1, 0, 20deg); - } - - .container { - max-width: 1200px; - margin: 0 auto; - padding: 20px; - } - - header { - text-align: center; - padding: 80px 20px; - background-color: var(--primary); - color: white; - position: relative; - overflow: hidden; - } - - header::before { - content: ""; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: var(--header-gradient); - z-index: 1; - transition: background 0.5s ease; - } - - .header-content { - position: relative; - z-index: 2; - } - - h1 { - font-size: 3.5rem; - margin-bottom: 20px; - font-weight: 700; - } - - .subtitle { - font-size: 1.5rem; - margin-bottom: 30px; - max-width: 800px; - margin-left: auto; - margin-right: auto; - } - - .mission { - padding: 80px 20px; - text-align: center; - background-color: var(--card-bg); - transition: background-color 0.5s ease; - } - - .mission h2 { - font-size: 2.5rem; - margin-bottom: 30px; - color: var(--team-name-color); - transition: color 0.5s ease; - } - - .mission-text { - max-width: 800px; - margin: 0 auto; - font-size: 1.2rem; - margin-bottom: 40px; - color: var(--text-color); - transition: color 0.5s ease; - } - - .team-role { - color: var(--primary); - font-weight: 600; - margin-bottom: 15px; - display: block; - } - - .social-links { - display: flex; - gap: 10px; - } - - .social-icons a { - display: flex; - justify-content: center; - display: inline-flex; - padding: 10px; - border: 2px solid #ccc; - border-radius: 8px; - font-size: 24px; - text-decoration: none; - margin: 0 8px; - transition: border-color 0.5s ease; - } - - html.dark .social-icons a { - border-color: #444; - } - - .social-icons .bxl-google { - color: rgb(211, 73, 73); - } - - .social-icons .bxl-google:hover { - color: yellow; - } - - .social-icons .bxl-twitter { - color: lightskyblue; - } - - .social-icons .bxl-twitter:hover { - color: rgb(17, 17, 17); - } - - .social-icons .bxl-google:hover { - color: yellow; - } - - - .social-icons .bxl-github { - color: rgb(5, 5, 5); - } - - .social-icons .bxl-github:hover { - color: rgb(249, 246, 246); - } - - .social-icons .bxl-github { - color: #f5f5f5; - } - - .social-icons .bxl-github:hover { - color: #060505; - } - .social-icons .bxl-linkedin { - color: rgb(45, 76, 232); - } - - .social-icons .bxl-linkedin:hover { - color: lightskyblue; - } - - .stats { - padding: 80px 20px; - background-color: var(--secondary); - color: white; - transition: background-color 0.5s ease; - } - - html.dark .stats { - background-color: #222; - } - - .stats-grid { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); - gap: 30px; - text-align: center; - } - - .stat-item h3 { - font-size: 3rem; - margin-bottom: 10px; - color: var(--primary); - } - - .stat-item p { - font-size: 1.2rem; - } - - .cta { - padding: 80px 20px; - text-align: center; - background-color: var(--bg-color); - transition: background-color 0.5s ease; - } - - .cta h2 { - font-size: 2.5rem; - margin-bottom: 20px; - color: var(--team-name-color); - transition: color 0.5s ease; - } - - .cta p { - max-width: 700px; - margin: 0 auto 30px; - font-size: 1.2rem; - color: var(--text-color); - transition: color 0.5s ease; - } - - .btn { - display: inline-block; - padding: 15px 30px; - background-color: var(--primary); - color: white; - text-decoration: none; - border-radius: 5px; - font-weight: 600; - font-size: 1.1rem; - transition: background-color 0.3s ease, transform 0.3s ease; - } - - .btn:hover { - background-color: #f45c5c; - color: #111; - transform: translateY(-3px); - } - - /* Dark mode toggle button - add this to your HTML */ - .dark-mode-toggle { - position: fixed; - top: 20px; - right: 20px; - z-index: 1000; - background-color: var(--card-bg); - color: var(--text-color); - border: none; - border-radius: 50%; - width: 50px; - height: 50px; - cursor: pointer; - display: flex; - justify-content: center; - align-items: center; - font-size: 24px; - box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); - transition: background-color 0.5s ease, color 0.5s ease; - } - - .counter { - font-size: 3rem; - font-weight: bold; - color: var(--primary); - transition: color 0.5s ease; + color: white; + font-size: 18px; + overflow: hidden; + text-overflow: ellipsis; /* Add ellipsis for overflowing text */ + display: -webkit-box; + -webkit-line-clamp: 3; /* Limit to 3 lines */ + -webkit-box-orient: vertical; + white-space: normal; /* Allow text to wrap */ +} + + +.card:hover .overlay { + opacity: 1; + background: var(--header-gradient); +} + +.card:hover { + transform: rotate3d(-1, 1, 0, 20deg); +} + +.container { + max-width: 1200px; + margin: 0 auto; + padding: 20px; +} + +header { + text-align: center; + padding: 80px 20px; + background-color: var(--primary); + color: white; + position: relative; + overflow: hidden; +} + +header::before { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: var(--header-gradient); + z-index: 1; + transition: background 0.5s ease; +} + +.header-content { + position: relative; + z-index: 2; +} + +h1 { + font-size: 3.5rem; + margin-bottom: 20px; + font-weight: 700; +} + +.subtitle { + font-size: 1.5rem; + margin-bottom: 30px; + max-width: 800px; + margin-left: auto; + margin-right: auto; +} + +.mission { + padding: 80px 20px; + text-align: center; + background-color: var(--card-bg); + transition: background-color 0.5s ease; +} + +.mission h2 { + font-size: 2.5rem; + margin-bottom: 30px; + color: var(--team-name-color); + transition: color 0.5s ease; +} + +.mission-text { + max-width: 800px; + margin: 0 auto; + font-size: 1.2rem; + margin-bottom: 40px; + color: var(--text-color); + transition: color 0.5s ease; +} + +.team-role { + color: var(--primary); + font-weight: 600; + margin-bottom: 15px; + display: block; +} + +.social-links { + display: flex; + gap: 10px; +} + +.social-icons a { + display: flex; + justify-content: center; + display: inline-flex; + padding: 10px; + border: 2px solid #ccc; + border-radius: 8px; + font-size: 24px; + text-decoration: none; + margin: 0 8px; + transition: border-color 0.5s ease; +} + +html.dark .social-icons a { + border-color: #444; +} + +.social-icons .bxl-google { + color: rgb(211, 73, 73); +} + +.social-icons .bxl-google:hover { + color: yellow; +} + +.social-icons .bxl-twitter { + color: lightskyblue; +} + +.social-icons .bxl-twitter:hover { + color: rgb(17, 17, 17); +} + +.social-icons .bxl-google:hover { + color: yellow; +} + + +.social-icons .bxl-github { + color: rgb(5, 5, 5); +} + +.social-icons .bxl-github:hover { + color: rgb(249, 246, 246); +} + +.social-icons .bxl-github { + color: #f5f5f5; +} + +.social-icons .bxl-github:hover { + color: #060505; +} +.social-icons .bxl-linkedin { + color: rgb(45, 76, 232); +} + +.social-icons .bxl-linkedin:hover { + color: lightskyblue; +} + +.stats { + padding: 80px 20px; + background-color: var(--secondary); + color: white; + transition: background-color 0.5s ease; +} + +html.dark .stats { + background-color: #222; +} + +.stats-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: 30px; + text-align: center; +} + +.stat-item h3 { + font-size: 3rem; + margin-bottom: 10px; + color: var(--primary); +} + +.stat-item p { + font-size: 1.2rem; +} + +.cta { + padding: 80px 20px; + text-align: center; + background-color: var(--bg-color); + transition: background-color 0.5s ease; +} + +.cta h2 { + font-size: 2.5rem; + margin-bottom: 20px; + color: var(--team-name-color); + transition: color 0.5s ease; +} + +.cta p { + max-width: 700px; + margin: 0 auto 30px; + font-size: 1.2rem; + color: var(--text-color); + transition: color 0.5s ease; +} + +.btn { + display: inline-block; + padding: 15px 30px; + background-color: var(--primary); + color: white; + text-decoration: none; + border-radius: 5px; + font-weight: 600; + font-size: 1.1rem; + transition: background-color 0.3s ease, transform 0.3s ease; +} + +.btn:hover { + background-color: #f45c5c; + color: #111; + transform: translateY(-3px); +} + +/* Dark mode toggle button - add this to your HTML */ +.dark-mode-toggle { + position: fixed; + top: 20px; + right: 20px; + z-index: 1000; + background-color: var(--card-bg); + color: var(--text-color); + border: none; + border-radius: 50%; + width: 50px; + height: 50px; + cursor: pointer; + display: flex; + justify-content: center; + align-items: center; + font-size: 24px; + box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); + transition: background-color 0.5s ease, color 0.5s ease; +} + +.counter { + font-size: 3rem; + font-weight: bold; + color: var(--primary); + transition: color 0.5s ease; } @media (max-width: 768px) { - h1 { - font-size: 2.5rem; - } - - h2 { - font-size: 2rem; - } - - .overlay h4 { - font-size: 24px; /* Smaller font size on mobile */ - } - - .overlay p { - font-size: 14px; /* Smaller font size on mobile */ - } - - .mission-text { - font-size: 1rem; - } +h1 { + font-size: 2.5rem; +} + +h2 { + font-size: 2rem; +} + +.overlay h4 { + font-size: 24px; /* Smaller font size on mobile */ +} + +.overlay p { + font-size: 14px; /* Smaller font size on mobile */ +} + +.mission-text { + font-size: 1rem; +} } @media (max-width: 480px) { - h1 { - font-size: 2rem; - } - - h2 { - font-size: 1.5rem; - } - - .overlay h4 { - font-size: 20px; - } +h1 { + font-size: 2rem; +} + +h2 { + font-size: 1.5rem; +} + +.overlay h4 { + font-size: 20px; +} } @media (max-width: 768px) { - #cards-container { - flex-direction: column; - height: auto; - padding: 40px 0; - } - - .card { - width: 85%; - height: 350px; - margin: 15px auto; - } +#cards-container { + flex-direction: column; + height: auto; + padding: 40px 0; +} + +.card { + width: 85%; + height: 350px; + margin: 15px auto; +} } /* Global text overflow prevention */ p, h1, h2, h3, h4, h5, h6, span, a { - overflow-wrap: break-word; - word-wrap: break-word; - word-break: break-word; - hyphens: auto; -} - -/* Base navbar styling */ - - -/* Media query for FHD mobile phones */ -@media (min-width: 390px) and (max-width: 767px) { - #nav { - height: 70px !important; - padding: 0 15px; - } - - #nav img { - height: 50px; - } - - .navb { - display: flex; - overflow-x: auto; - white-space: nowrap; - -webkit-overflow-scrolling: touch; - scrollbar-width: none; /* Firefox */ - padding-bottom: 5px; - } - - .navb::-webkit-scrollbar { - display: none; /* Chrome, Safari, Edge */ - } - - .navbar { - margin: 0 10px; - } - - .navbar a { - font-size: 14px; - } -} - -/* Media query for small phones */ -@media (max-width: 389px) { - #nav { - height: 60px !important; - padding: 0 10px; - } - - #nav img { - height: 40px; - } - - .navb { - display: flex; - overflow-x: auto; - white-space: nowrap; - -webkit-overflow-scrolling: touch; - scrollbar-width: none; - padding-bottom: 5px; - } - - .navb::-webkit-scrollbar { - display: none; - } - - .navbar { - margin: 0 8px; - } - - .navbar a { - font-size: 12px; - } -} - -/* Media query for tablets */ -@media (min-width: 768px) and (max-width: 1023px) { - #nav { - height: 80px !important; - padding: 0 30px; - } - - #nav img { - height: 55px; - } - - .navbar { - margin: 0 20px; - } - - .navbar a { - font-size: 16px; - } +overflow-wrap: break-word; +word-wrap: break-word; +word-break: break-word; +hyphens: auto; } + + + + + + diff --git a/about.html b/about.html index 02d06a2..331d6b0 100644 --- a/about.html +++ b/about.html @@ -7,7 +7,6 @@ About Us - Fitness Website - @@ -43,7 +42,33 @@

Chetan Ajmani

- +
+
+

Tanish Mehta

+ Front-End Specialist & UI/UX Expert +

Crafting intuitive and visually engaging designs,I ensures seamless user navigation with expert HTML and CSS styling. Their keen focus on user experience makes every interaction smooth.


+ +
+
+ +
+
+

Vansh Thakur

+ Content Strategist & Digital Optimization Specialist +

Driving meaningful engagement, I curates compelling content, optimizes SEO, and ensures the website remains informative and impactful. Their expertise elevates the platforms reach and effectiveness.


+ +
+
@@ -53,7 +78,18 @@

Chetan Ajmani

0

Years of Experience

- +
+

0

+

Happy Clients

+
+
+

0

+

Fitness Programs

+
+
+

0

+

Success Rate

+
@@ -77,6 +113,7 @@

Ready to Transform Your Life?

+ \ No newline at end of file diff --git a/about.js b/about.js index e6d8236..b1cd8a5 100644 --- a/about.js +++ b/about.js @@ -34,40 +34,47 @@ navbar.classList.add("active"); } } +document.addEventListener('DOMContentLoaded', () => { + const counters = document.querySelectorAll('.counter'); + if (!counters.length) { + console.error('No .counter elements found!'); + return; + } - const counters = document.querySelectorAll('.counter'); + const animateCounter = (counter) => { + const target = parseInt(counter.getAttribute('data-target')); + const duration = 2000; // Animation duration in ms + const increment = target / (duration / 16); // Approx 60fps + let current = 0; -const startCounting = () => { - counters.forEach(counter => { - counter.innerText = '0'; const updateCounter = () => { - const target = +counter.getAttribute('data-target'); - const current = +counter.innerText; - const increment = target / 200; - - if (current < target) { - counter.innerText = `${Math.ceil(current + increment)}`; - setTimeout(updateCounter, 10); + current += increment; + if (current >= target) { + counter.textContent = target; } else { - counter.innerText = target; + counter.textContent = Math.ceil(current); + requestAnimationFrame(updateCounter); } }; - updateCounter(); - }); -}; -// Intersection Observer -const observer = new IntersectionObserver(entries => { - entries.forEach(entry => { - if (entry.isIntersecting) { - startCounting(); - observer.unobserve(entry.target); // run only once - } - }); -}, { threshold: 0.5 }); + requestAnimationFrame(updateCounter); + }; + + const observer = new IntersectionObserver( + (entries) => { + entries.forEach((entry) => { + if (entry.isIntersecting) { + const counter = entry.target; + if (!counter.classList.contains('animated')) { + counter.classList.add('animated'); + animateCounter(counter); + } + } + }); + }, + { threshold: 0.5 } // Trigger when 50% of element is visible + ); -const statsSection = document.querySelector('#stats'); -if (statsSection) { - observer.observe(statsSection); -} + counters.forEach((counter) => observer.observe(counter)); +}); diff --git a/navbar.css b/navbar.css index 14f0287..c333a47 100644 --- a/navbar.css +++ b/navbar.css @@ -152,4 +152,123 @@ body { height: 100px; width: 100px; } -} \ No newline at end of file +} +.chatbox { + position: fixed; + bottom: 30px; + right: 30px; + width: 350px; + max-height: 500px; + background: rgba(255, 255, 255, 0.1); + border-radius: 20px; + backdrop-filter: blur(10px); + box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2); + padding: 20px; + display: flex; + flex-direction: column; + justify-content: space-between; + overflow: hidden; + opacity: 0; + transform: translateY(20px); + pointer-events: none; + transition: opacity 0.3s ease, transform 0.3s ease; + z-index: 1000; +} + +.chatbox.active { + opacity: 1; + transform: translateY(0); + pointer-events: auto; +} + +.chat-container{ + width:100%; + height:70%; + overflow:auto; + min-height: 300px; + overflow-y: auto; + padding-right: 10px; +} + +.h1{ + font-size: 3vw; + text-align: center; + color: #fff; +} +.input-area{ + display: flex; + align-items: center; + padding: 10px; + background: rgba(255, 255, 255, 0.1); + border-top: 1px solid rgba(255, 255, 255, 0.2); + border-radius: 0 0 20px 20px; + gap: 10px; +} + +.arrow { + width: 45px; + height: 45px; + margin: 0px; + background: rgba(0, 0, 0, 0.6); + border: none; + border-radius: 50%; + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + transition: background 0.3s ease; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); +} + +/* White arrow */ +.arrow img { + width: 20px; + height: 20px; + filter: brightness(0) invert(1); +} + +/* Prevent blue glow on hover and add subtle effect */ +.arrow:hover { + background: rgba(0, 0, 0, 0.8); +} + + +.prompt { + flex: 1; + border: none; + padding: 10px 15px; + border-radius: 20px; + outline: none; + font-size: 14px; + background: rgba(255, 255, 255, 0.2); + color: white; +} + +.user-chat-box { + background-color: rgba(0, 0, 0, 0.8); + color: white; + align-self: flex-end; + padding: 10px 15px; + margin: 8px; + max-width: 70%; + border-radius: 20px 20px 0 20px; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); + margin-left: auto; + border-top-left-radius: 12px; + border-top-right-radius: 12px; + border-bottom-left-radius: 12px; +} +.ai-chat-box { + background-color: rgba(255, 255, 255, 0.85); + color: black; + align-self: flex-start; + padding: 10px 15px; + margin: 8px; + max-width: 70%; + border-radius: 20px 20px 20px 0; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); + margin-right: auto; + border-top-left-radius: 12px; + border-top-right-radius: 12px; + border-bottom-right-radius: 12px; +} diff --git a/script.js b/script.js index be6a479..4d3a1bd 100644 --- a/script.js +++ b/script.js @@ -1,19 +1,3 @@ -gsap.to("#nav", { - backgroundColor: "#000", // we can access any css property here but we use Camel case here that is instead of - use a capital letter - height: "90px", - duration: 0.5, - scrollTrigger: { - trigger: "#nav", - scroller: "body", - // markers:true, - start: "top -10%", - end: "top -11%", - scrub: 1 // for this it will repeat when we scroll otherwise it won't - - - } - -}) gsap.to("#main", { backgroundColor: "#000", scrollTrigger: { diff --git a/style.css b/style.css index ac8abf6..12bf5b0 100644 --- a/style.css +++ b/style.css @@ -116,126 +116,6 @@ video { height:calc(100% - 280px); position:relative; } -.chatbox { - position: fixed; - bottom: 30px; - right: 30px; - width: 350px; - max-height: 500px; - background: rgba(255, 255, 255, 0.1); - border-radius: 20px; - backdrop-filter: blur(10px); - box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2); - padding: 20px; - display: flex; - flex-direction: column; - justify-content: space-between; - overflow: hidden; - opacity: 0; - transform: translateY(20px); - pointer-events: none; - transition: opacity 0.3s ease, transform 0.3s ease; - z-index: 1000; -} - -.chatbox.active { - opacity: 1; - transform: translateY(0); - pointer-events: auto; -} - -.chat-container{ - width:100%; - height:70%; - overflow:auto; - min-height: 300px; - overflow-y: auto; - padding-right: 10px; -} - -.h1{ - font-size: 3vw; - text-align: center; - color: #fff; -} -.input-area{ - display: flex; - align-items: center; - padding: 10px; - background: rgba(255, 255, 255, 0.1); - border-top: 1px solid rgba(255, 255, 255, 0.2); - border-radius: 0 0 20px 20px; - gap: 10px; -} - -.arrow { - width: 45px; - height: 45px; - margin: 0px; - background: rgba(0, 0, 0, 0.6); - border: none; - border-radius: 50%; - cursor: pointer; - display: flex; - align-items: center; - justify-content: center; - transition: background 0.3s ease; - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); -} - -/* White arrow */ -.arrow img { - width: 20px; - height: 20px; - filter: brightness(0) invert(1); -} - -/* Prevent blue glow on hover and add subtle effect */ -.arrow:hover { - background: rgba(0, 0, 0, 0.8); -} - - -.prompt { - flex: 1; - border: none; - padding: 10px 15px; - border-radius: 20px; - outline: none; - font-size: 14px; - background: rgba(255, 255, 255, 0.2); - color: white; -} - -.user-chat-box { - background-color: rgba(0, 0, 0, 0.8); - color: white; - align-self: flex-end; - padding: 10px 15px; - margin: 8px; - max-width: 70%; - border-radius: 20px 20px 0 20px; - box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); - margin-left: auto; - border-top-left-radius: 12px; - border-top-right-radius: 12px; - border-bottom-left-radius: 12px; -} -.ai-chat-box { - background-color: rgba(255, 255, 255, 0.85); - color: black; - align-self: flex-start; - padding: 10px 15px; - margin: 8px; - max-width: 70%; - border-radius: 20px 20px 20px 0; - box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); - margin-right: auto; - border-top-left-radius: 12px; - border-top-right-radius: 12px; - border-bottom-right-radius: 12px; -} - /* page 2 */ #bmi-section {