/* Reset */ * { margin: 0; padding: 0; box-sizing: border-box; } html { scroll-behavior: smooth; /* Adjust these values to match your header height plus desired extra space */ scroll-padding-top: 130px; } /* General Styles */ body { font-family: 'Poppins', sans-serif; background-color: #f9fafb; /* your new background image: */ background-image: url('https://www.jardinpluslb.com/prog/IMAGES/Bkg.png'); /* choose how you want it to repeat (tile), or switch to no-repeat if you don’t want tiling: */ background-repeat: repeat; /* if you want it fixed in place when you scroll: */ background-attachment: fixed; /* position and sizing options: */ background-position: top left; /* or for full‐screen cover: background-position: center center; background-size: cover; */ color: #333; } h1, h2, h4 { color: #0B3F95; } /* Hero Section */ .hero { height: 50vh; background: linear-gradient(135deg, #0B3F95, #041d4e, #0B3F95); position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; text-align: center; padding: 2rem; margin-top: 76px; /* Account for fixed header */ } /* Gradient Overlay */ .hero-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(11, 63, 149, 0.8), rgba(4, 29, 78, 0.8)); z-index: 1; } /* Hero Content */ .hero-content { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; color: white; width: 100%; max-width: 800px; padding: 0 2rem; z-index: 2; } .hero h1 { font-size: 3rem; margin-bottom: 1rem; line-height: 1.2; } .hero p { font-size: 1.2rem; margin-bottom: 2rem; opacity: 0.9; } .hero-content h1, .hero-title { font-size: 3.5rem; color: white; margin-bottom: 1.5rem; line-height: 1.2; font-weight: bold; letter-spacing: 2px; text-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); } /* Ensure the hero section has relative positioning */ .hero-section { position: relative; height: 100vh; width: 100%; overflow: hidden; } /* If you have a background image */ .hero-background { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; } .hero-content p { font-size: 1.5rem; margin-bottom: 30px; line-height: 1.6; color: #d1e7ff; text-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); } .hero-content .btn { display: inline-block; padding: 14px 28px; background: linear-gradient(135deg, #003366, #0B3F95); color: #FAFAFA; &:focus { outline: 2px solid #fff; outline-offset: 2px; } border-radius: 30px; text-decoration: none; font-weight: bold; font-size: 1.2rem; transition: all 0.3s ease; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); } .hero-content .btn:hover { background: linear-gradient(135deg, #0B3F95, #003366); transform: translateY(-3px); box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3); } .hero-cta .btn { position: relative; overflow: hidden; transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); background: transparent; border: 2px solid white; padding: 1rem 2rem; margin: 0 0.5rem; color: white; font-weight: 600; z-index: 1; } .hero-cta .btn::before { content: ''; position: absolute; top: 50%; left: 50%; width: 0; height: 0; background: white; border-radius: 50%; transform: translate(-50%, -50%); transition: all 0.6s ease; z-index: -1; opacity: 0; } .hero-cta .btn:hover::before { width: 300px; height: 300px; opacity: 1; } .hero-cta .btn:hover { color: #0B3F95; transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); } .hero-cta .btn:hover i { animation: buttonIcon 0.5s ease forwards; } .hero-cta .btn span { position: relative; z-index: 1; } .hero-cta .btn-outline { background: transparent; border-color: white; } .hero-cta .btn-outline:hover { border-color: transparent; } @keyframes buttonIcon { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(5px) rotate(15deg); } 100% { transform: translateX(3px) rotate(0); } } /* Add shine effect */ .hero-cta .btn::after { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient( 120deg, transparent, rgba(255, 255, 255, 0.2), transparent ); transition: 0.6s; } .hero-cta .btn:hover::after { left: 100%; } /* Scroll Indicator */ .scroll-indicator { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); text-align: center; color: white; font-size: 1rem; z-index: 2; animation: bounce 2s infinite; } .scroll-indicator span { display: block; margin-bottom: 5px; font-size: 0.9rem; color: #d1e7ff; } .scroll-indicator i { font-size: 1.5rem; color: #d1e7ff; } /* Animations */ @keyframes fadeInSlideUp { 0% { opacity: 0; transform: translateY(30px); } 100% { opacity: 1; transform: translateY(0); } } @keyframes bounce { 0%, 20%, 50%, 80%, 100% { transform: translateY(0); } 40% { transform: translateY(-10px); } 60% { transform: translateY(-5px); } } /* Responsive Design */ @media (max-width: 768px) { .hero-content h1 { font-size: 2.5rem; } .hero-content p { font-size: 1.2rem; } .hero-content .btn { font-size: 1rem; padding: 12px 24px; } } /* Styles the input itself */ .card { background: #ffffff; border: 1px solid #e5e7eb; /* Tailwind gray-200 */ border-radius: 20px; padding: 2rem; text-align: center; transition: all 0.4s ease; box-shadow: 0 4px 10px rgba(0,0,0,0.05); } .card:hover { transform: translateY(-10px) scale(1.02); box-shadow: 0 12px 25px rgba(0,0,0,0.15); } .card h3 { margin-bottom: 15px; color: #0B3F95; } .card p { font-size: 0.95rem; color: #555; } /* shared producst from index and producst . html */ /* shared search from index and producst . html */ .search-container { max-width: 600px; margin: 1.5rem auto; padding: 0 20px; } .search-wrapper { position: relative; background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); border: 2px solid rgba(255, 255, 255, 0.1); border-radius: 50px; padding: 8px; transition: all 0.3s ease; } .search-wrapper:hover, .search-wrapper:focus-within { background: rgba(255, 255, 255, 0.15); border-color: rgba(255, 255, 255, 0.2); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2); transform: translateY(-2px); } .search-input { width: 100%; background: transparent; border: none; padding: 12px 50px; font-size: 1.1rem; color: white; outline: none; } .search-input::placeholder { color: rgba(255, 255, 255, 0.6); } .search-icon { position: absolute; left: 20px; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; } .search-icon svg { stroke: rgba(255, 255, 255, 0.8); } .clear-icon { position: absolute; right: 20px; top: 50%; transform: translateY(-50%); background: none; border: none; color: rgba(172, 31, 31, 0.6); cursor: pointer; padding: 5px; border-radius: 50%; transition: all 0.2s ease; display: none; /* Hidden by default */ width: 24px; height: 24px; line-height: 1; } .clear-icon:hover { color: white; background: rgba(255, 255, 255, 0.1); } .clear-icon:active { transform: translateY(-50%) scale(0.95); } .search-wrapper .search-input { width: 100%; padding: 0.5rem 0.75rem 0.5rem 2.5rem; border-radius: 4px; font-size: 1rem; outline: none; transition: border-color 0.2s, box-shadow 0.2s; } .search-wrapper .search-icon { position: absolute; left: 1.1rem; top: 50%; transform: translateY(-50%); color: #666; width: 1rem; height: 1rem; pointer-events: none; } /* Products Section */ .products { padding: 20px 20px 20px; background: linear-gradient(135deg, #0B3F95, #041d4e, #003366); position: relative; overflow: hidden; } .products::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); opacity: 0.1; } .products-header { max-width: 1200px; margin: 0 auto; position: relative; z-index: 1; } .products-title { font-size: 3rem; font-weight: 800; color: white; text-align: center; margin-bottom: 1.5rem; position: relative; display: inline-block; left: 50%; transform: translateX(-50%); } .products h2 { font-size: 2rem; margin-bottom: 20px; } .products-cards { padding: 3rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); /* Increased from 150px */ gap: 20px; /* Increased from 10px */ margin-top: 10px; } .products-cards div { align-items: stretch; background: white; padding: 25px; /* Increased from 15px */ border-radius: 16px; /* Increased from 12px */ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); /* Enhanced shadow */ display: flex; flex-direction: column; justify-content: start; height: 100%; transition: all 0.3s ease; } .products-cards div:hover { transform: translateY(-5px); box-shadow: 0 12px 48px rgba(11, 63, 149, 0.2); } .products-cards h3 { color: white; font-size: 1.4rem; /* Increased from default */ margin-bottom: 1rem; font-weight: 600; } .products-cards p { color: #333; line-height: 1.6; font-size: 1.1rem; /* Increased from default */ } .learn-more-btn { text-decoration: none; /* Removes the underline */ color: #f8f9fc; /* Sets the text color, adjust as needed */ display: flex; /* Makes the text and icon align properly */ align-items: center; /* Vertically centers the icon with text */ gap: 8px; /* Adds space between text and icon */ font-weight: 500; /* Optional: makes the text slightly bolder */ transition: color 0.3s ease; /* Smooth transition for hover effect */ } .learn-more-btn:hover { color: #f8f9fc; /* Slightly darker color on hover */ } .learn-more-btn i { font-size: 0.9em; /* Makes the arrow slightly smaller than the text */ } /* Responsive styling for mobile devices */ @media screen and (max-width: 767px) { .hero { height: 50vh; } /* Category titles with icons */ .category-title h2 { font-size: 0.9rem !important;/* Reduce font size of the category title */ margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .category-icon i { font-size: 0.85rem !important; /* Reduce size of the category icons */ } .product-count { display: none !important; /* Hide the product count */ } .category-header { padding: 12px !important; /* Less padding in the header */ } /* General product card styling for mobile */ .products-cards { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); padding: 1.5rem !important; gap: 15px !important; } .products-cards h3 { font-size: 1.1rem !important; margin-bottom: 0.5rem !important; } .products-cards p { font-size: 0.9rem !important; line-height: 1.4 !important; } } /* Same style between web solution and products*/ /* Services Section */ .aboutContainer { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 2.5fr 1.5fr; /* Adjust ratio as needed */ gap: 2rem; padding: 0 1rem; min-height: 100vh; align-items: center; justify-content: center; } /* ADDED padding for the aboutContainers*/ .about-text { padding-top: 2rem; /* Adjust value as needed */ } /* Services row layout */ .services-row { display: grid; grid-template-columns: repeat 1fr; /* Two cards per row */ gap: 3rem; /* Increased spacing between cards */ margin-bottom: 3rem; } .service-card { display: flex; flex-direction: column; position: relative; background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.2); padding: 2.5rem; border-radius: 20px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275); overflow: hidden; cursor: pointer; min-height: 300px; /* Ensure consistent height */ } .service-card p { margin-bottom: 1rem; line-height: 1.6; color: #666; } .service-intro { flex: 1; /* This will push the button to the bottom */ font-size: 1.1rem; color: #333 !important; margin-bottom: 1.5rem !important; } .service-features p { margin-bottom: 1rem; font-weight: 500; color: #333; } .service-sectors { margin-top: 2rem; } .sector-tags { margin-top: 1rem; } .sector-tags .tag { margin-bottom: 0.5rem; } .service-icon { background: linear-gradient(135deg, #0B3F95, #041d4e, #003366); width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: 1.5rem; transition: all 0.4s ease; } .service-card:hover .service-icon { transform: scale(1.1) rotate(5deg); box-shadow: 0 0 20px rgba(11, 63, 149, 0.3); } .service-card:hover .service-icon i { transform: scale(1.1); } .service-icon i { color: white; font-size: 1.5rem; } .service-content { margin-top: 1.5rem; } .highlight { color: #0B3F95; font-weight: 600; } .service-features { margin: 1.5rem 0; } .service-card:hover .feature { background: rgba(77, 166, 255, 0.05); transform: translateX(5px); } .feature { position: relative; display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; padding: 0.5rem; border-radius: 10px; transition: all 0.3s ease; } .feature i { color: #0B3F95; } .sector-tags { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.75rem; } .tag { background: rgba(77, 166, 255, 0.1); color: #0B3F95; padding: 0.5rem 1rem; border-radius: 20px; font-size: 0.9rem; transition: all 0.3s ease; } .tag:hover { background: rgba(77, 166, 255, 0.2); transform: translateY(-2px) scale(1.05); box-shadow: 0 5px 15px rgba(77, 166, 255, 0.2); } .service-cta { position: relative; display: inline-flex; align-items: center; gap: 0.5rem; margin-top: 1.5rem; padding: 0.75rem 1.5rem; background: linear-gradient(135deg, #0B3F95, #041d4e, #003366); color: white; border-radius: 25px; text-decoration: none; font-weight: 600; transition: all 0.4s ease; overflow: hidden; } .service-cta::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); transform: translateX(-100%); } .service-card:hover .service-cta::before { animation: shimmer 1.5s infinite; } @keyframes shimmer { 100% { transform: translateX(100%); } } .service-card::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle at var(--mouse-x) var(--mouse-y), rgba(255, 255, 255, 0.1) 0%, transparent 50%); opacity: 0; transition: opacity 0.3s ease; pointer-events: none; } .service-card:hover::after { opacity: 1; } .service-cta:hover { transform: translateX(5px); box-shadow: 0 5px 15px rgba(77, 166, 255, 0.3); } .service-card { position: relative; background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.2); padding: 2.5rem; border-radius: 20px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275); overflow: hidden; cursor: pointer; } .service-card:hover { transform: translateY(-15px) scale(1.02); box-shadow: 0 40px 70px rgba(11, 63, 149, 0.2); background: linear-gradient(145deg, #ffffff, #f8f9ff); } .service-card:hover::before { opacity: 1; } .service-card h2 { margin: 1rem 0; font-size: 1.8rem; color: #0B3F95; position: relative; padding-bottom: 0.5rem; } .service-card h2::after { content: ''; position: absolute; bottom: 0; left: 0; width: 40px; height: 3px; background: linear-gradient(90deg, #0B3F95, transparent); transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); } .service-card:hover h2::after { width: 150px; } /* Enhanced Scroll Animations */ [data-aos="custom-fade-up"] { opacity: 0; transform: translateY(30px); transition: transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.6s ease; } [data-aos="custom-fade-up"].aos-animate { opacity: 1; transform: translateY(0); } /* Additional Product Card Styles */ .products-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; padding: 2rem; max-width: 1400px; margin: 0 auto; } /* Fix for service card inside products grid */ .products-cards .service-card { height: 100%; display: flex; flex-direction: column; } .products-cards .service-content { flex: 1; display: flex; flex-direction: column; } .products-cards .service-cta { margin-top: auto; } /* Responsive adjustments */ @media (max-width: 768px) { .products-cards { grid-template-columns: 1fr; padding: 1rem; } .service-card { padding: 1.5rem; } } /* Staggered Animation Delays */ .service-card:nth-child(1) { transition-delay: 0.1s; } .service-card:nth-child(2) { transition-delay: 0.2s; } .service-card:nth-child(3) { transition-delay: 0.3s; } .service-card:nth-child(4) { transition-delay: 0.4s; } .about-section { position: relative; padding: 1rem 0; min-height: 100vh; transition: all 0.5s ease; } .about-section.visible { opacity: 1; transform: translateY(0); } .side-boxes { position: sticky; top: 0; align-self: flex-start; background: rgba(255, 255, 255, 0.98); backdrop-filter: blur(10px); border-radius: 20px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); padding: 2rem; z-index: 10; transition: transform 0.3s ease; overflow: hidden; /* Hide overflow */ } .side-boxes #boxes-aboutContainer { position: relative; transition: transform 0.3s ease; will-change: transform; } /* Hide scrollbar but keep functionality */ .side-boxes::-webkit-scrollbar { display: none; } .side-boxes { -ms-overflow-style: none; scrollbar-width: none; } /* Responsive adjustments */ @media (max-width: 1024px) { .services-row { grid-template-columns: 1fr; /* One card per row */ gap: 2rem; /* Slightly reduced gap on smaller screens */ } .service-card:hover { transform: translateY(-10px); /* Less dramatic on mobile */ } .service-card { flex: 1 1 calc(100% - 2rem); /* One card per row on smaller screens */ } .side-boxes { right: 2rem; width: 300px; } } @media (max-width: 768px) { .aboutContainer { grid-template-columns: 1fr; /* Stack columns on mobile */ } .hero h1 { font-size: 2rem; } .side-boxes { position: static; width: 100%; max-height: none; margin-top: 2rem; box-shadow: none; } } /* Whatsapp icon */ .whatsapp-button { position: fixed; bottom: 30px; right: 30px; width: 60px; height: 60px; background-color: #25D366; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: white; font-size: 30px; text-decoration: none; box-shadow: 2px 2px 15px rgba(0, 0, 0, 0.15); transition: all 0.3s; z-index: 1000; } .whatsapp-button::before { content: ''; position: absolute; width: 100%; height: 100%; background-color: #25D366; border-radius: 50%; z-index: -1; animation: pulse 2s infinite; } .whatsapp-button:hover { transform: scale(1.1) rotate(10deg); box-shadow: 2px 2px 20px rgba(37, 211, 102, 0.3); } .whatsapp-button .tooltip { position: absolute; right: 80px; background-color: #333; color: white; padding: 8px 15px; border-radius: 20px; font-size: 14px; opacity: 0; visibility: hidden; transition: all 0.3s; white-space: nowrap; } .whatsapp-button:hover .tooltip { opacity: 1; visibility: visible; right: 70px; } @keyframes pulse { 0% { transform: scale(1); opacity: 0.5; } 70% { transform: scale(1.3); opacity: 0; } 100% { transform: scale(1.3); opacity: 0; } } /* Add responsive styles */ @media (max-width: 768px) { .whatsapp-button { bottom: 20px; right: 20px; width: 50px; height: 50px; font-size: 25px; } }