﻿/* Epicurean Digital Consultants Main Stylesheet */ /* Import Tailwind CSS */ @import url('https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css'); /* Import Google Fonts */ @import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Roboto:wght@300;400;500;700&display=swap'); /* Color Variables */ :root { --primary-color: #0a1930; --secondary-color: #f0a83c; --text-color: #333333; --light-color: #ffffff; --gray-color: #f8f9fa; --dark-gray: #6c757d; --footer-bg: #0a1930; --card-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); --transition: all 0.3s ease; } /* Reset and Base Styles */ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Roboto', sans-serif; color: var(--text-color); line-height: 1.6; background-color: var(--light-color); } h1, h2, h3, h4, h5, h6 { font-family: 'Playfair Display', serif; color: var(--primary-color); margin-bottom: 1rem; font-weight: 700; } h1 { font-size: 2.5rem; } h2 { font-size: 2rem; } h3 { font-size: 1.75rem; } h4 { font-size: 1.5rem; } h5 { font-size: 1.25rem; } h6 { font-size: 1rem; } p { margin-bottom: 1rem; } a { color: var(--secondary-color); text-decoration: none; transition: var(--transition); } a:hover { color: var(--primary-color); } img { max-width: 100%; height: auto; } .btn { display: inline-block; padding: 0.75rem 1.5rem; border-radius: 0.25rem; text-align: center; font-weight: 500; transition: var(--transition); border: none; cursor: pointer; } .btn-primary { background-color: var(--secondary-color); color: var(--primary-color); } .btn-primary:hover { background-color: var(--primary-color); color: var(--light-color); } .btn-outline { background-color: transparent; border: 2px solid var(--secondary-color); color: var(--secondary-color); } .btn-outline:hover { background-color: var(--secondary-color); color: var(--primary-color); } .container { width: 100%; padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; } @media (min-width: 576px) { .container { max-width: 540px; } } @media (min-width: 768px) { .container { max-width: 720px; } } @media (min-width: 992px) { .container { max-width: 960px; } } @media (min-width: 1200px) { .container { max-width: 1140px; } } .row { display: flex; flex-wrap: wrap; margin-right: -15px; margin-left: -15px; } .col { position: relative; width: 100%; padding-right: 15px; padding-left: 15px; } /* Header Styles */ .header { padding: 15px 0; background-color: var(--light-color); box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); } .navbar { display: flex; justify-content: space-between; align-items: center; } .navbar-brand { display: flex; align-items: center; } .logo { max-height: 50px; } .navbar-nav { display: flex; list-style: none; } .nav-item { margin: 0 10px; } .nav-link { color: var(--primary-color); font-weight: 500; padding: 0.5rem 1rem; } .nav-link:hover, .nav-item.active .nav-link { color: var(--secondary-color); } /* Hero Section */ .hero { background-color: var(--primary-color); color: var(--light-color); padding: 5rem 0; position: relative; } .hero-content { text-align: center; max-width: 800px; margin: 0 auto; } .hero h1 { color: var(--light-color); font-size: 3rem; margin-bottom: 1.5rem; } .hero p { font-size: 1.2rem; margin-bottom: 2rem; } /* Typing Effect Styles - Added May 2, 2025 */ #typing-text { color: #FF3A2D !important; /* Red accent color with !important to override any conflicting styles */ font-weight: 700; display: inline; } /* More specific selector as a backup */ .hero-section h1 #typing-text { color: #FF3A2D !important; } .typing-cursor { display: inline-block; width: 3px; height: 1.2em; background-color: #FF3A2D; margin-left: 2px; vertical-align: middle; animation: blink-caret 0.75s step-end infinite; } @keyframes blink-caret { from, to { opacity: 1 } 50% { opacity: 0 } } /* Hero section typography adjustments */ .hero-section h1 { font-size: 3.5rem; font-weight: 700; margin-bottom: 1.5rem; color: #fff; } /* Responsive adjustments */ @media (max-width: 768px) { .hero-section h1 { font-size: 2.5rem; } } /* End Typing Effect Styles */ /* Section Styles */ .section { padding: 5rem 0; } .section-title { text-align: center; margin-bottom: 3rem; } .section-title h2 { position: relative; display: inline-block; margin-bottom: 1rem; } .section-title h2:after { content: ''; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%); width: 80px; height: 3px; background-color: var(--secondary-color); } /* Card Styles */ .card { background-color: var(--light-color); border-radius: 0.5rem; box-shadow: var(--card-shadow); margin-bottom: 2rem; overflow: hidden; transition: var(--transition); } .card:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); } .card-img { width: 100%; height: 200px; object-fit: cover; } .card-body { padding: 1.5rem; } .card-title { font-size: 1.5rem; margin-bottom: 0.75rem; } .card-text { margin-bottom: 1.5rem; } /* Services Styles */ .service-card { text-align: center; padding: 2rem; } .service-icon { font-size: 3rem; color: var(--secondary-color); margin-bottom: 1.5rem; } /* Portfolio Styles */ .portfolio-item { position: relative; margin-bottom: 30px; } .portfolio-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(10, 25, 48, 0.8); display: flex; flex-direction: column; justify-content: center; align-items: center; opacity: 0; transition: var(--transition); } .portfolio-item:hover .portfolio-overlay { opacity: 1; } .portfolio-overlay h4 { color: var(--light-color); margin-bottom: 0.5rem; } .portfolio-category { color: var(--secondary-color); } /* Testimonial Styles */ .testimonial { text-align: center; padding: 2rem; background-color: var(--gray-color); border-radius: 0.5rem; margin-bottom: 2rem; } .testimonial-img { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; margin: 0 auto 1.5rem; border: 3px solid var(--secondary-color); } .testimonial-text { font-style: italic; margin-bottom: 1.5rem; } .testimonial-name { font-weight: 700; color: var(--primary-color); } .testimonial-position { color: var(--dark-gray); font-size: 0.9rem; } /* Blog Styles */ .blog-post { margin-bottom: 3rem; } .blog-img { margin-bottom: 1.5rem; } .blog-meta { margin-bottom: 1rem; color: var(--dark-gray); font-size: 0.9rem; } .blog-meta span { margin-right: 1rem; } .blog-title { margin-bottom: 1rem; } .blog-excerpt { margin-bottom: 1.5rem; } /* Pricing Styles */ .pricing-card { background-color: var(--light-color); border-radius: 0.5rem; box-shadow: var(--card-shadow); text-align: center; overflow: hidden; margin-bottom: 2rem; transition: var(--transition); } .pricing-card:hover { transform: translateY(-10px); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15); } .pricing-header { background-color: var(--primary-color); padding: 2rem; color: var(--light-color); } .pricing-price { font-size: 3rem; font-weight: 700; margin-bottom: 0.5rem; } .pricing-period { font-size: 0.9rem; } .pricing-features { padding: 2rem; } .pricing-features ul { list-style: none; padding-left: 0; margin-bottom: 2rem; } .pricing-features li { margin-bottom: 0.5rem; position: relative; padding-left: 1.5rem; } .pricing-features li:before { content: 'âœ“'; color: var(--secondary-color); position: absolute; left: 0; } /* Contact Styles */ .contact-form { background-color: var(--light-color); padding: 3rem; border-radius: 0.5rem; box-shadow: var(--card-shadow); } .form-group { margin-bottom: 1.5rem; } .form-label { display: block; margin-bottom: 0.5rem; font-weight: 500; } .form-control { width: 100%; padding: 0.75rem; border: 1px solid var(--dark-gray); border-radius: 0.25rem; font-family: inherit; font-size: 1rem; transition: var(--transition); } .form-control:focus { border-color: var(--secondary-color); outline: none; } textarea.form-control { min-height: 150px; resize: vertical; } .contact-info { padding: 3rem; } .contact-item { display: flex; align-items: flex-start; margin-bottom: 2rem; } .contact-icon { font-size: 1.5rem; color: var(--secondary-color); margin-right: 1rem; } .contact-text h4 { margin-bottom: 0.5rem; } /* Footer Styles */ .footer { background-color: var(--footer-bg); color: var(--light-color); padding: 4rem 0 2rem; } .footer h4 { color: var(--light-color); margin-bottom: 1.5rem; position: relative; } .footer h4:after { content: ''; position: absolute; bottom: -10px; left: 0; width: 50px; height: 2px; background-color: var(--secondary-color); } .footer-links { list-style: none; padding-left: 0; } .footer-links li { margin-bottom: 0.75rem; } .footer-links a { color: var(--light-color); } .footer-links a:hover { color: var(--secondary-color); } .social-links { display: flex; list-style: none; padding-left: 0; } .social-links li { margin-right: 1rem; } .social-links a { display: flex; justify-content: center; align-items: center; width: 40px; height: 40px; border-radius: 50%; background-color: rgba(255, 255, 255, 0.1); color: var(--light-color); transition: var(--transition); } .social-links a:hover { background-color: var(--secondary-color); color: var(--primary-color); } .footer-bottom { text-align: center; padding-top: 2rem; margin-top: 2rem; border-top: 1px solid rgba(255, 255, 255, 0.1); } /* Legal Pages Styles */ .legal-content { background-color: var(--light-color); padding: 3rem; border-radius: 0.5rem; box-shadow: var(--card-shadow); } .legal-content h2 { margin-top: 2rem; margin-bottom: 1rem; } .legal-content p { margin-bottom: 1.5rem; } .legal-content ul, .legal-content ol { margin-bottom: 1.5rem; padding-left: 2rem; } .legal-content li { margin-bottom: 0.5rem; } /* AI in Action Styles */ .ai-tool { border: 1px solid #e9ecef; border-radius: 0.5rem; padding: 2rem; margin-bottom: 2rem; transition: var(--transition); } .ai-tool:hover { border-color: var(--secondary-color); transform: translateY(-5px); box-shadow: var(--card-shadow); } .ai-tool-icon { font-size: 2.5rem; color: var(--secondary-color); margin-bottom: 1.5rem; } /* Responsive Video Container */ .video-container { position: relative; padding-bottom: 56.25%; /* 16:9 Aspect Ratio */ height: 0; overflow: hidden; margin-bottom: 1.5rem; } .video-container video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } /* Utility Classes */ .text-primary { color: var(--primary-color) !important; } .text-secondary { color: var(--secondary-color) !important; } .bg-primary { background-color: var(--primary-color) !important; } .bg-secondary { background-color: var(--secondary-color) !important; } .bg-light { background-color: var(--light-color) !important; } .bg-gray { background-color: var(--gray-color) !important; } .mb-1 { margin-bottom: 0.5rem !important; } .mb-2 { margin-bottom: 1rem !important; } .mb-3 { margin-bottom: 1.5rem !important; } .mb-4 { margin-bottom: 2rem !important; } .mb-5 { margin-bottom: 3rem !important; } .mt-1 { margin-top: 0.5rem !important; } .mt-2 { margin-top: 1rem !important; } .mt-3 { margin-top: 1.5rem !important; } .mt-4 { margin-top: 2rem !important; } .mt-5 { margin-top: 3rem !important; } .py-1 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; } .py-2 { padding-top: 1rem !important; padding-bottom: 1rem !important; } .py-3 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; } .py-4 { padding-top: 2rem !important; padding-bottom: 2rem !important; } .py-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; } .px-1 { padding-left: 0.5rem !important; padding-right: 0.5rem !important; } .px-2 { padding-left: 1rem !important; padding-right: 1rem !important; } .px-3 { padding-left: 1.5rem !important; padding-right: 1.5rem !important; } .px-4 { padding-left: 2rem !important; padding-right: 2rem !important; } .px-5 { padding-left: 3rem !important; padding-right: 3rem !important; } .text-center { text-align: center !important; } .text-left { text-align: left !important; } .text-right { text-align: right !important; } .d-none { display: none !important; } .d-block { display: block !important; } .d-flex { display: flex !important; } .justify-content-center { justify-content: center !important; } .justify-content-between { justify-content: space-between !important; } .align-items-center { align-items: center !important; } .flex-column { flex-direction: column !important; } .w-100 { width: 100% !important; } .rounded { border-radius: 0.25rem !important; } .shadow { box-shadow: var(--card-shadow) !important; } /* Media Queries for Responsiveness */ @media (max-width: 767.98px) { .navbar { flex-direction: column; } .navbar-nav { flex-direction: column; width: 100%; padding-top: 1rem; } .nav-item { margin: 0; } .hero h1 { font-size: 2.5rem; } .section { padding: 3rem 0; } .contact-form, .contact-info { padding: 2rem; } }