/* Global Font Family Overrides */ h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: 'Bebas Neue', sans-serif !important; } p, li, .lead, .hero-desc, .blog-excerpt { font-family: 'Roboto', sans-serif !important; } /* Shivasakthi Theme Custom Styles */ /* Header Navigation Styles */ header { border: none !important; /* Main Nav (Black/Charcoal by default, absolute transparent on homepage) */ .o_header_main_nav { background-color: #0c0f12 !important; /* Sleek dark header base */ box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); transition: all 0.3s ease; .navbar-nav { .nav-link { color: white !important; font-family: 'Bebas Neue', sans-serif !important; font-size: 16px; font-weight: 400; text-transform: uppercase; letter-spacing: 1.5px; padding: 12px 18px !important; transition: color 0.3s ease; &:hover, &.active { color: #ffb800 !important; } } } .navbar-brand img { transition: transform 0.3s ease; &:hover { transform: scale(1.05); } } /* Order Now Button */ .btn-order-now { background-color: #ffb800 !important; color: white !important; border: none; border-radius: 4px; font-family: 'Bebas Neue', sans-serif !important; font-weight: 400; font-size: 15px; letter-spacing: 1px; padding: 10px 24px !important; transition: all 0.3s ease; text-transform: uppercase; &:hover { background-color: white !important; color: #ffb800 !important; transform: translateY(-2px); box-shadow: 0 5px 15px rgba(254, 205, 79, 0.4); } } /* Cart Icon and Badge Styling */ .o_wsale_shopping_cart { padding: 10px !important; transition: all 0.3s ease; &:hover { transform: translateY(-2px); .fa-shopping-cart { color: #ffb800 !important; } .cart-badge { color: white !important; background-color: #ffb800 !important; opacity: 1 !important; } } .cart-badge { color: white !important; background-color: #ffb800 !important; font-weight: 800 !important; z-index: 10; border: 2px solid #0c0f12 !important; transition: all 0.3s ease; } } /* Mobile Icon (Hamburger) Fix */ .navbar-toggler { border: 1px solid rgba(255, 255, 255, 0.2) !important; padding: 8px !important; margin: 10px 0; display: inline-flex !important; align-items: center; justify-content: center; .navbar-toggler-icon { filter: none !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='white' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important; } &:focus { box-shadow: none !important; } } } } /* Absolute transparent header overlay on Homepage only */ @media (min-width: 992px) { body.homepage { header.header_transparent_overlay { position: absolute !important; width: 100%; top: 0; left: 0; z-index: 1000; background-color: transparent !important; border: none !important; .o_header_main_nav { background-color: transparent !important; box-shadow: none !important; } } } } // Hero Button Hover .btn-lg.flat:hover, .btn-custom:hover { background-color: #ffb800 !important; color: white !important; transform: translateY(-3px); transition: all 0.3s ease; } // Category Slider Layouts .category-track-container { overflow: hidden; width: 100%; position: relative; padding: 15px 0 25px; /* Allow vertical card translate/shadow spacing */ margin: 0 auto; } .category-track { display: flex; width: max-content; transition: transform 0.5s ease-in-out; } .category-item { flex: 0 0 280px; width: 280px; margin-right: 20px; /* Using margin instead of gap so jQuery outerWidth(true) includes the spacing */ transition: all 0.3s ease; cursor: pointer; a { display: block; } } // Category Dots .category-dots { .dot { width: 8px; height: 8px; border-radius: 50%; background-color: #ffb800; display: inline-block; opacity: 0.5; cursor: pointer; transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1); &.active { width: 25px; border-radius: 4px; opacity: 1; } &:hover { opacity: 0.8; } } } // Background Text Overlay .bg-text-overlay { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; text-align: center; z-index: 0; pointer-events: none; h1 { font-size: 8rem; font-weight: 900; color: rgba(0, 0, 0, 0.03); // Very subtle white-space: nowrap; text-transform: uppercase; margin: 0; } } // Hero Shape Animation .hero-half-tomato-left { position: absolute; top: 50%; left: -40%; width: clamp(120px, 15vw, 250px); z-index: 2; pointer-events: none; filter: drop-shadow(5px 5px 15px rgba(0, 0, 0, 0.3)); animation: floatSlight 15s ease-in-out infinite; } @keyframes shapeFloat { 0%, 100% { transform: translateY(0) rotate(0deg) scale(1); } 33% { transform: translateY(-20px) rotate(3deg) scale(1.02); } 66% { transform: translateY(10px) rotate(-2deg) scale(0.98); } } @keyframes floatSlight { 0%, 100% { transform: translate(0, 0) rotate(0deg); } 50% { transform: translate(15px, -15px) rotate(5deg); } } @keyframes floatRotate { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-30px) rotate(180deg); } 100% { transform: translateY(0) rotate(360deg); } } @keyframes pulseSubtle { 0%, 100% { transform: scale(1); opacity: 0.8; } 50% { transform: scale(1.05); opacity: 1; } } // Hero Floating Elements .hero-tomato-right { position: absolute; top: 5%; right: 2%; width: clamp(100px, 15vw, 220px); z-index: 2; pointer-events: none; filter: drop-shadow(10px 10px 20px rgba(0, 0, 0, 0.3)); animation: shapeFloat 8s ease-in-out infinite; } .hero-leaf-right { position: absolute; top: 25%; right: 8%; width: 60px; z-index: 1; pointer-events: none; animation: floatSlight 10s ease-in-out infinite reverse; } .hero-lettuce-left { position: absolute; bottom: -40%; left: -40%; width: clamp(150px, 20vw, 350px); z-index: 3; pointer-events: none; filter: drop-shadow(-10px 10px 25px rgba(0, 0, 0, 0.4)); animation: shapeFloat 12s ease-in-out infinite; } .hero-sketches-left { position: absolute; top: 10%; left: 4%; width: clamp(200px, 25vw, 400px); z-index: 1; pointer-events: none; opacity: 0.25; animation: floatSlight 20s linear infinite; } // Section Headers section h2.display-3, section h2.display-4 { font-size: 40px !important; font-weight: 900 !important; line-height: 50px !important; text-transform: uppercase; letter-spacing: -0.5px; @media (max-width: 991px) { font-size: 32px !important; line-height: 42px !important; } @media (max-width: 767px) { font-size: 28px !important; line-height: 38px !important; } } .section-title-wrapper { position: relative; z-index: 1; text-align: center; margin-bottom: 50px; .title-icon { width: 40px; margin: 0 10px; filter: brightness(0.8); } } // Marquee Animation .quee-container { overflow: hidden; position: relative; background: #f4f1ea; padding: 40px 0; .quee-content { display: flex; width: 200%; animation: marquee 30s linear infinite; h1 { font-size: 6rem; font-weight: 900; color: rgba(0, 0, 0, 0.05); white-space: nowrap; text-transform: uppercase; margin: 0; padding-right: 100px; letter-spacing: 5px; } } } @keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } } // Slider Adjustments #categoryCarousel { .carousel-inner { padding-bottom: 20px; } } // About Section Styles .s_about_premium { position: relative; overflow: hidden; background-color: #F4F1EA !important; padding: 100px 0; .floating-lemon { position: absolute; left: -40px; top: 35%; width: 150px; z-index: 10; animation: float 6s ease-in-out infinite; } .floating-leaves { position: absolute; left: 80px; bottom: 8%; width: 180px; z-index: 10; animation: float 8s ease-in-out infinite; } .floating-bellpepper { position: absolute; right: -30px; top: 80px; width: 140px; z-index: 10; animation: float 7s ease-in-out infinite; } .about-image-wrapper { position: relative; display: inline-block; &::before { content: ""; position: absolute; left: -15px; top: -15px; width: 100%; height: 100%; z-index: 0; pointer-events: none; } img { position: relative; z-index: 5; max-width: 100%; height: auto; display: block; } } .about-content { h2 { font-size: 2.8rem; font-weight: 900; color: #0e1317; line-height: 1.2; margin-bottom: 25px; } h5 { font-size: 1.2rem; font-weight: 700; color: #0e1317; margin-bottom: 20px; } p { font-size: 15px; color: rgba(4, 18, 29, 0.7); line-height: 1.8; margin-bottom: 20px; } } } @keyframes float { 0% { transform: translateY(0px) rotate(0deg); } 50% { transform: translateY(-20px) rotate(5deg); } 100% { transform: translateY(0px) rotate(0deg); } } /* Contact Section Premium */ .s_contact_premium { background-color: #F4F1EA !important; padding: 100px 0; position: relative; overflow: hidden; .contact-image-wrapper { position: relative; display: inline-block; &::before { content: ""; position: absolute; left: -15px; top: -15px; width: 100%; height: 100%; z-index: 0; pointer-events: none; } img { position: relative; z-index: 5; max-width: 100%; height: auto; display: block; } } .contact-form-card { background: white; padding: 50px; border-radius: 15px; box-shadow: 0 15px 40px rgba(0, 0, 0, 0.05); h2 { font-size: 2.2rem; font-weight: 800; color: #0e1317; line-height: 1.3; margin-bottom: 35px; } .s_website_form_label { font-size: 14px; font-weight: 500; color: #666; margin-bottom: 8px; display: block; text-align: left !important; width: auto !important; padding: 0 !important; .s_website_form_mark { color: #ffb800; margin-left: 3px; } } .form-control, .form-select { background-color: #f8f9fa !important; border: 1px solid #ffb800 !important; border-radius: 10px !important; padding: 14px 18px !important; font-size: 15px !important; color: #0e1317 !important; transition: all 0.3s ease; &::placeholder { color: #adb5bd; } &:focus { border-color: rgba(43, 177, 165, 0.3) !important; background-color: white !important; box-shadow: 0 5px 15px rgba(43, 177, 165, 0.1) !important; } } .s_website_form_send { background-color: #ffb800 !important; color: #0e1317 !important; border: none !important; border-radius: 10px !important; padding: 16px !important; font-weight: 800 !important; font-size: 15px !important; text-transform: uppercase !important; letter-spacing: 1px !important; width: 100% !important; margin-top: 15px !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 10px; transition: all 0.3s ease !important; box-shadow: 0 4px 10px rgba(254, 205, 79, 0.2) !important; &:hover { background-color: #0e1317 !important; color: #ffb800 !important; transform: translateY(-2px) !important; box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2) !important; } &::after { content: "\2192"; font-size: 18px; } } } } // Why Choose Section .s_why_choose_premium { background-color: #0e1317; position: relative; overflow: hidden; .choose-left-accent { position: absolute; left: 0; bottom: -20px; width: 180px; z-index: 1; opacity: 0.9; } .choose-right-accent { position: absolute; right: 0; top: 10%; width: 250px; z-index: 1; opacity: 0.9; } .choose-pepper-float { position: absolute; left: 5%; top: 10%; width: 80px; z-index: 2; animation: float 5s ease-in-out infinite; } .choose-main-dish-wrapper { position: relative; z-index: 5; &::after { content: ""; position: absolute; top: -20px; right: 20%; width: 300px; height: 200px; background: radial-gradient(circle, rgba(255, 255, 255, 0.05) 0%, transparent 70%); z-index: -1; } img { filter: drop-shadow(0 30px 50px rgba(0, 0, 0, 0.5)); } } .choose-content { position: relative; z-index: 10; h6 { font-weight: 800; letter-spacing: 1px; } h2 { letter-spacing: -1px; margin-bottom: 25px; } p { line-height: 1.8; opacity: 0.8; } } } // Popular Deals Section .s_popular_deals_premium { background-color: white; .deal-item { display: flex; align-items: center; margin-bottom: 10px; transition: all 0.3s ease; padding: 10px; border-radius: 8px; cursor: pointer; &:hover, &.active { background-color: #f8f9fa; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05); h6 { color: #ffb800 !important; } } .deal-img-wrapper { width: 80px; height: 80px; flex-shrink: 0; background: #f8f9fa; border-radius: 4px; overflow: hidden; margin-right: 15px; img { width: 100%; height: 100%; object-fit: cover; } } .deal-details { flex-grow: 1; h6 { font-size: 18px; font-weight: 800; color: #0e1317; margin-bottom: 2px; } p { font-size: 12px; color: #888; margin: 0; } } .deal-price { font-size: 16px; font-weight: 800; color: #0e1317; white-space: nowrap; } } .deal-center-image { position: relative; padding: 20px; &::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #ffb800d4; z-index: 0; border-radius: 4px; } img { position: relative; z-index: 1; width: 100%; // border-radius: 50%; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); } } } // Testimonials Section .s_testimonials_premium { background-color: #0e1317; position: relative; overflow: hidden; .testimonial-main-image-wrapper { position: relative; border-radius: 0 400px 400px 0; overflow: hidden; border-right: 15px solid #ffb800; img { width: 100%; height: 100%; object-fit: cover; } .video-btn-wrapper { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 20; .play-btn { width: 150px; height: 150px; background: transparent; border: none; position: relative; display: flex; align-items: center; justify-content: center; cursor: pointer; .play-icon { width: 70px; height: 70px; background: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #0e1317; font-size: 24px; box-shadow: 0 0 20px rgba(0, 0, 0, 0.3); z-index: 5; } .rotating-text { position: absolute; width: 100%; height: 100%; animation: rotate 15s linear infinite; img { width: 100%; height: 100%; object-fit: contain; } } } } } .testimonial-content-side { padding: 80px 40px; position: relative; z-index: 10; color: white; .google-reviews-logo { width: 180px; margin-bottom: 25px; } .testimonial-carousel { .carousel-item { p { font-size: 18px; line-height: 1.8; font-style: italic; color: rgba(255, 255, 255, 0.8); } } } .testimonial-controls { display: flex; gap: 15px; margin-top: 40px; .control-btn { width: 50px; height: 50px; border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: white; background: transparent; transition: all 0.3s ease; &:hover { background: #ffb800; border-color: #ffb800; color: #0e1317; } &.next-btn { background: #ffb800; border-color: #ffb800; color: #0e1317; } } } } .testimonial-accent-right { position: absolute; right: 0; bottom: 0; width: 150px; z-index: 5; } } @keyframes rotate { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } // FAQ Section .s_faq_premium { background-color: #F4F1EA; .faq-accordion { .accordion-item { background-color: white; border: none; border-radius: 12px !important; margin-bottom: 20px; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05); overflow: hidden; .accordion-button { background-color: white; color: #0e1317; font-weight: 700; padding: 20px 25px; border: none; box-shadow: none; position: relative; font-size: 18px; &:not(.collapsed) { color: #ffb800; &::after { content: "-"; transform: none; background-image: none; color: #ffb800; font-size: 30px; line-height: 1; } } &::after { content: "+"; background-image: none; color: #ffb800; font-size: 24px; font-weight: 300; display: flex; align-items: center; justify-content: center; } } .accordion-body { padding: 0 25px 25px; color: #555; font-size: 15px; line-height: 1.6; } } } .faq-carousel-wrapper { border-radius: 15px; overflow: hidden; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); .carousel-control-prev, .carousel-control-next { width: 40px; height: 40px; background: #ffb800; border-radius: 50%; top: 50%; transform: translateY(-50%); opacity: 0.9; span { color: #0e1317; font-size: 12px; } } .carousel-control-prev { left: 15px; } .carousel-control-next { right: 15px; } } } // Global button class for multiple sections .know-more-btn { background-color: #ffb800; color: #0e1317 !important; font-weight: 700; padding: 12px 30px; border-radius: 4px; text-transform: uppercase; display: inline-flex; align-items: center; gap: 10px; margin-top: 30px; text-decoration: none; transition: all 0.3s ease; span { background: black; color: white !important; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; border-radius: 2px; font-size: 12px; transition: all 0.3s ease; i { color: white !important; } } &:hover { background-color: #ffb800 !important; color: white !important; transform: translateY(-3px); span { background-color: white !important; color: #ffb800 !important; i { color: #ffb800 !important; } } } } // Blog Detail Page - ensure content is not hidden by floating footer CTA bar // The footer's .footer-cta-bar-wrapper uses margin-top: -140px to float up into page content .s_blog_detail_section { padding-bottom: 100px !important; } // Also ensure the oe_structure wrap div doesn't clip content #wrap>.s_blog_detail_section:last-child { padding-bottom: 100px !important; } // Blog Section .s_blog_premium { background-color: #F4F1EA; position: relative; overflow: hidden; .blog-card { background: white; border-radius: 12px; overflow: hidden; height: 100%; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05); transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1); position: relative; color: #0e1317; .blog-img-wrapper { position: relative; height: 280px; overflow: hidden; img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1); } .date-badge { position: absolute; bottom: -20px; left: 20px; width: 60px; height: 60px; background: white; border: 2px solid #ffb800; border-radius: 8px; display: flex; flex-direction: column; align-items: center; justify-content: center; font-weight: 700; z-index: 5; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); transition: all 0.3s ease; span { display: block; line-height: 1; &:first-child { font-size: 20px; color: #0e1317; transition: color 0.3s; } &:last-child { font-size: 10px; color: #ffb800; text-transform: uppercase; transition: color 0.3s; } } } } .blog-body { padding: 40px 25px 30px; transition: all 0.3s ease; .category-line { font-size: 11px; text-transform: uppercase; letter-spacing: 1px; color: #888; margin-bottom: 20px; display: inline-block; padding: 4px 12px; background: #f8f9fa; border-radius: 4px; transition: all 0.3s ease; } h4 { font-size: 20px; font-weight: 800; margin-bottom: 15px; line-height: 1.4; transition: color 0.3s ease; } .blog-excerpt { font-size: 14px; line-height: 1.6; color: #666; transition: color 0.3s ease; } } &:hover { transform: translateY(-10px); box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15); .blog-img-wrapper { img { transform: scale(1.1); } .date-badge { border: 2px dashed #ffb800; } } .blog-body { h4 { color: #ffb800; } } } } .fries-accent { position: absolute; bottom: -20px; left: -30px; width: 250px; z-index: 10; pointer-events: none; } } /* Blog News Cards — Screenshot Layout */ .s_blog_premium { background-color: #ffffff; /* Subtitle above title */ .blog-subtitle-top { font-family: 'Bebas Neue', sans-serif !important; color: #ffb800; font-size: 14px; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 8px; } /* Main heading */ .blog-main-heading { font-family: 'Bebas Neue', sans-serif !important; color: #111111; font-size: clamp(32px, 5vw, 52px); letter-spacing: 2px; text-transform: uppercase; margin-bottom: 0; line-height: 1.1; } /* Card wrapper */ .blog-news-card { background: #ffffff; border: none; transition: transform 0.3s ease, box-shadow 0.3s ease; &:hover { transform: translateY(-6px); box-shadow: 0 12px 30px rgba(0,0,0,0.1); .blog-news-img { transform: scale(1.04); } } } /* Image wrapper — no border radius, like screenshot */ .blog-news-img-wrap { overflow: hidden; height: 220px; background: #111; } .blog-news-img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s ease; } /* Text body */ .blog-news-body { padding: 20px 4px 10px; } /* Blog title — Bebas Neue dark, uppercase */ .blog-news-title { font-family: 'Bebas Neue', sans-serif !important; color: #111111; font-size: clamp(16px, 2vw, 20px); letter-spacing: 0.5px; line-height: 1.3; margin-bottom: 12px; text-transform: uppercase; } /* Excerpt text */ .blog-news-excerpt { font-family: 'Roboto', sans-serif; color: #555555; font-size: 13px; line-height: 1.7; margin-bottom: 14px; } /* READ MORE link */ .blog-news-readmore { font-family: 'Bebas Neue', sans-serif !important; color: #ffb800; font-size: 14px; letter-spacing: 1.5px; text-decoration: none; text-transform: uppercase; display: inline-flex; align-items: center; gap: 5px; transition: color 0.3s ease; .fa-star { font-size: 11px; } &:hover { color: #cc9200; } } } // Gallery Slider Section .s_gallery_slider_premium { background-color: #F4F1EA; padding: 30px 0; overflow: hidden; position: relative; border-top: 1px solid rgba(0, 0, 0, 0.05); .gallery-container { display: flex; align-items: center; } .gallery-track { display: flex; gap: 15px; transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1); } .gallery-item { width: 300px; height: 300px; flex-shrink: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; } &:hover img { transform: scale(1.1); } } } // Footer // Footer Refinement footer#bottom { background-color: #0e1317 !important; color: white; position: relative; // padding-top: 200px; // Space for the floating bar overflow: visible; // Floating Teal Bar .footer-cta-bar-wrapper { position: absolute; top: -60px; left: 0; right: 0; z-index: 20; .footer-cta-bar { background-color: #ffb800; border-radius: 20px; padding: 30px 50px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); display: flex; justify-content: space-between; align-items: center; .cta-item { display: flex; align-items: center; gap: 20px; color: white; .icon-circle { width: 50px; height: 50px; background: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #ffb800; font-size: 20px; } strong { display: block; font-size: 14px; opacity: 0.8; } p { margin: 0; font-weight: 700; font-size: 16px; } } } } .footer-title { font-size: 24px; font-weight: 800; margin-bottom: 30px; position: relative; padding-bottom: 10px; &::after { content: ''; position: absolute; left: 0; bottom: 0; width: 50px; height: 3px; background: #ffb800; } } .footer-logo { max-width: 220px; } .social-links { display: flex; gap: 10px; a { width: 35px; height: 35px; border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 4px; display: flex; align-items: center; justify-content: center; color: white !important; transition: all 0.3s; &:hover { background: #ffb800; border-color: #ffb800; color: #0e1317; } } } .footer-list { list-style: none; padding: 0; margin: 0; li { margin-bottom: 15px; display: flex; align-items: flex-start; gap: 10px; i { color: #ffb800; font-size: 12px; margin-top: 5px; } a { color: white !important; text-decoration: none; transition: color 0.3s; &:hover { color: #ffb800; } } } } .footer-accent-left { position: absolute; left: 0; bottom: 100px; width: 200px; opacity: 0.8; pointer-events: none; } .footer-accent-right { position: absolute; right: 40px; top: 40%; transform: translateY(-50%); width: 250px; opacity: 0.8; pointer-events: none; border-radius: 50%; } .footer-copyright-bar { background-color: #ffb800; color: #0e1317; text-align: center; padding: 15px; font-weight: 700; margin-top: 80px; } } // Mobile Responsive Footer @media (max-width: 991px) { footer#bottom { // padding-top: 200px; .footer-cta-bar-wrapper { top: -150px; .footer-cta-bar { flex-direction: column; gap: 20px; padding: 30px; } } .footer-accent-left, .footer-accent-right { display: none; } } } /* About Us Hero Banner */ .about-hero-banner { background: linear-gradient(rgba(4, 18, 29, 0.4), rgba(4, 18, 29, 0.4)), url('/dine360_theme_shivasakthi/static/src/img/about-banner-bg.png') no-repeat center center !important; background-size: cover !important; min-height: 450px !important; display: flex !important; align-items: center !important; justify-content: center !important; text-align: center; position: relative; padding: 100px 0 !important; h1 { font-size: 5rem !important; font-weight: 900 !important; color: white !important; text-transform: uppercase; margin-bottom: 5px !important; letter-spacing: 2px; } .breadcrumb-container { font-size: 1.1rem; font-weight: 600; color: white; a { color: white; text-decoration: none; transition: color 0.3s; &:hover { color: #ffb800; } } .separator { margin: 0 10px; opacity: 0.7; } .active-item { color: #ffb800; } } } /* Global Red Color Removal & Theme Alignment */ .text-danger { color: #ffb800 !important; // Replace red text with theme teal } .bg-danger, .btn-danger { background-color: #ffb800 !important; border-color: #ffb800 !important; color: white !important; } .badge-danger { background-color: #ffb800 !important; color: #0e1317 !important; } // Force Shop category sidebar active item to NOT be red and ensure visibility #products_grid_before { .nav-link { transition: all 0.2s ease; &:hover { background-color: rgba(43, 177, 165, 0.1) !important; color: #ffb800 !important; } &.active { background-color: #ffb800 !important; color: white !important; border-radius: 8px; span, i, b, strong { color: white !important; } &:hover { color: white !important; background-color: #259a8f !important; } } } } // Global Link Hover & Active Color Fix // Only apply global overrides to frontend/website elements to avoid breaking backend UI /* Link hover color */ body:not(.editor_enable):not(.o_edit_mode) a:hover, body:not(.editor_enable):not(.o_edit_mode) a:hover * { color: #529791 !important; } /* Button hover color */ body:not(.editor_enable):not(.o_edit_mode) .btn:hover, body:not(.editor_enable):not(.o_edit_mode) .btn:hover * { color: #fff !important; background-color: #ffb800 !important; } .active, .nav-link.active, .nav-pills .nav-link.active { color: #ffb800 !important; } // Fix for Odoo Backend Editor Menu overlap body.o_edit_mode { #top { margin-top: 0px !important; position: relative !important; // Some editor modes hate fixed headers } } // Global Primary Button Color Fix (including Checkout) .btn-primary, .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show>.btn-primary.dropdown-toggle { background-color: #ffb800 !important; color: #0e1317 !important; border-color: #ffb800 !important; } .btn-primary:hover { background-color: #e5b945 !important; border-color: #e5b945 !important; color: #000000 !important; } // Special case for buttons or text that should be white on teal background // Special case for buttons or text that should be white on teal background .nav-pills .nav-link.active, .category-list .active, .category-list .active span { color: white !important; } /* Footer Section Premium Style */ .s_footer_premium { background-color: #0e1317 !important; color: white !important; position: relative; // padding-top: 80px; /* overflow: hidden is usually on but here we want to see the overlap if any */ .footer-cta-bar-wrapper { position: relative; z-index: 1000; margin-top: -140px; /* Pull up to overlap significantly */ margin-bottom: 40px; } .footer-cta-bar { background-color: #ffb800 !important; border-radius: 15px; .icon-circle { width: 50px; height: 50px; background: white !important; border-radius: 50%; display: flex; align-items: center; justify-content: center; i { color: #ffb800 !important; font-size: 20px; } } .cta-label { font-size: 13px; text-transform: uppercase; letter-spacing: 1px; color: rgba(255, 255, 255, 1); font-weight: 700; } p { font-size: 14px; font-weight: 600; margin: 0; color: white !important; } } .main-footer-content { // padding-top: 30px; padding-bottom: 50px; .footer-brand-title { color: #ffb800 !important; font-size: 32px; text-transform: capitalize; } .footer-column-title { color: white !important; font-size: 20px; position: relative; padding-bottom: 12px; margin-bottom: 25px; &::after { content: ""; position: absolute; left: 0; bottom: 0; width: 35px; height: 2px; background-color: #ffb800; } } .footer-desc { color: rgba(255, 255, 255, 0.9) !important; line-height: 1.8; font-size: 15px; } .hours-list { .hour-row { font-size: 15px; color: white; .day { opacity: 0.9; } } } .footer-links-list { li { color: white !important; font-size: 15px; i { color: #ffb800 !important; font-size: 12px; } a { color: white !important; text-decoration: none !important; transition: all 0.3s ease; &:hover { color: #ffb800 !important; padding-left: 5px; } } } } .highlight-text { color: #ffb800 !important; } .footer-social-boxes { .social-box { width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 4px; color: white !important; text-decoration: none; transition: all 0.3s ease; i { color: white !important; font-size: 16px; } &:hover { background-color: #ffb800; border-color: #ffb800; transform: translateY(-3px); i { color: #0e1317 !important; } } } } .contact-col-content { position: relative; z-index: 5; } .footer-social-boxes { position: relative; z-index: 10; } } .footer-accent-leaf { position: absolute; left: -80px; /* Move further left */ bottom: 50px; width: 140px; opacity: 0.9; z-index: 0; /* Move behind social icons */ } .footer-food-plate-wrapper { position: absolute; right: -180px; /* Move further right */ top: -40px; z-index: 0; /* Move behind text */ .footer-food-plate { width: 380px; /* Slightly larger as per "exact design" request */ height: 380px; border: 12px solid rgba(255, 255, 255, 0.05); border-radius: 50%; object-fit: cover; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4); opacity: 0.8; /* Slight transparency to help text if they still overlap */ } } .footer-copyright-bar-new { background-color: #ffb800 !important; color: #0e1317 !important; margin-top: 20px; border-top: 1px solid rgba(0, 0, 0, 0.1); p { font-size: 14px; font-weight: 700; } a { color: #0e1317 !important; font-weight: 800; text-decoration: none; &:hover { text-decoration: underline !important; } } } } .s_map { position: relative; min-height: 500px !important; max-height: 500px !important; overflow: hidden; .map_container { height: 500px !important; position: relative; } iframe { height: 500px !important; width: 100%; border: 0; } } // Custom Pagination Styling .pagination { .page-item { margin: 0 4px; .page-link { border-radius: 50% !important; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border: 1px solid #ddd; color: #0e1317; background-color: #fff; transition: all 0.3s ease; font-weight: 600; &:hover, &:focus { background-color: #ffb800; border-color: #ffb800; color: #0e1317; box-shadow: none; } } &.active .page-link { background-color: #0e1317 !important; border-color: #0e1317 !important; color: #FFFFFF !important; } &.disabled .page-link { background-color: #f8f9fa; border-color: #ddd; color: #999; } } } /* Shivasakthi Hero Banner & Side Dishes & Spices */ .shivasakthi-hero-slide { background-color: #080808 !important; background-image: url('/dine360_theme_shivasakthi/static/src/img/hero-bg.jpg') !important; background-size: cover !important; background-position: center !important; min-height: 95vh; position: relative; overflow: hidden; display: none; &.active, &.carousel-item-next, &.carousel-item-prev { display: flex !important; align-items: center; } // Add dark subtle overlay to make background even richer and help text contrast &::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); z-index: 1; pointer-events: none; } .hero-content-container { position: relative; z-index: 10; padding-top: 80px; /* Offset for header */ } .hero-subtitle { color: #ffb800; font-family: 'Bebas Neue', sans-serif !important; font-weight: 400; letter-spacing: 2.5px; text-transform: uppercase; font-size: clamp(14px, 2vw, 18px); margin-bottom: 25px; } .hero-title { color: white; font-family: 'Bebas Neue', sans-serif !important; font-weight: 400; font-size: clamp(2.2rem, 6.5vw, 5.2rem); line-height: 1.05; margin-bottom: 30px; text-transform: uppercase; letter-spacing: 1.5px; } .hero-desc { color: rgba(255, 255, 255, 0.85); font-family: 'Roboto', sans-serif !important; font-size: clamp(14px, 2vw, 18px); max-width: 650px; margin: 0 auto 40px auto; line-height: 1.7; } .btn-hero-cta { background-color: #ffb800 !important; color: white !important; border: none; border-radius: 4px; font-family: 'Bebas Neue', sans-serif !important; font-weight: 400; font-size: 16px; letter-spacing: 1px; padding: 15px 42px !important; transition: all 0.3s ease; text-transform: uppercase; display: inline-flex; align-items: center; i { transition: transform 0.3s ease; } &:hover { background-color: white !important; color: #ffb800 !important; transform: translateY(-3px); box-shadow: 0 5px 15px rgba(254, 205, 79, 0.4); i { transform: translateX(5px); } } } /* Side Dishes Positioning */ .hero-left-dish { position: absolute; left: -10vw; top: 50%; width: clamp(300px, 36vw, 550px); z-index: 5; pointer-events: none; filter: drop-shadow(0 25px 50px rgba(0, 0, 0, 0.7)); animation: floatSlightLeft 10s ease-in-out infinite; @media (max-width: 1200px) { left: -12vw; } } .hero-right-dish { position: absolute; right: -8vw; top: 50%; width: clamp(320px, 38vw, 580px); z-index: 5; pointer-events: none; filter: drop-shadow(0 25px 50px rgba(0, 0, 0, 0.7)); animation: floatSlightRight 10s ease-in-out infinite; @media (max-width: 1200px) { right: -10vw; } } /* Floating Spices Positioning & Wobbles */ .hero-spice-chili-left { position: absolute; left: 5%; top: 18%; width: clamp(40px, 6vw, 75px); z-index: 6; pointer-events: none; filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.4)); animation: floatWobbleChiliLeft 10s ease-in-out infinite; } .hero-spice-tomato-left { position: absolute; left: 24%; top: 48%; width: clamp(30px, 4vw, 50px); z-index: 6; pointer-events: none; filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.4)); animation: floatWobbleTomato 8s ease-in-out infinite; } .hero-spice-leaf-left { position: absolute; left: 5%; bottom: 12%; width: clamp(40px, 6vw, 75px); z-index: 6; pointer-events: none; filter: drop-shadow(3px 3px 8px rgba(0, 0, 0, 0.3)); animation: floatWobbleLeafLeft 12s ease-in-out infinite; } .hero-spice-leaf-right { position: absolute; right: 8%; top: 15%; width: clamp(40px, 6vw, 70px); z-index: 6; pointer-events: none; filter: drop-shadow(3px 3px 8px rgba(0, 0, 0, 0.3)); animation: floatWobbleLeafRight 12s ease-in-out infinite; } .hero-spice-chili-right { position: absolute; right: 10%; bottom: 10%; width: clamp(40px, 6vw, 75px); z-index: 6; pointer-events: none; filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.4)); animation: floatWobbleChiliRight 10s ease-in-out infinite; } } /* Page title spacer adjustment for transparent header */ .s_page_title { padding-top: 160px !important; padding-bottom: 100px !important; } /* Indicators Custom Layout */ #myCarouselShivasakthi { .carousel-indicators { bottom: 40px; z-index: 15; li { width: 10px !important; height: 10px !important; border-radius: 50% !important; background-color: #ffb800 !important; opacity: 0.5; border: none !important; margin: 0 6px !important; transition: all 0.3s ease !important; &.active { width: 35px !important; height: 10px !important; border-radius: 5px !important; opacity: 1; } } } } /* Animations Keyframes */ @keyframes floatSlightLeft { 0%, 100% { transform: translateY(-50%) rotate(0deg) scale(1); } 50% { transform: translateY(-52%) rotate(2deg) scale(1.02); } } @keyframes floatSlightRight { 0%, 100% { transform: translateY(-50%) rotate(0deg) scale(1); } 50% { transform: translateY(-48%) rotate(-2deg) scale(1.02); } } @keyframes floatWobbleChiliLeft { 0%, 100% { transform: translate(0, 0) rotate(-45deg); } 50% { transform: translate(10px, -15px) rotate(-35deg); } } @keyframes floatWobbleChiliRight { 0%, 100% { transform: translate(0, 0) rotate(135deg); } 50% { transform: translate(-10px, -15px) rotate(145deg); } } @keyframes floatWobbleTomato { 0%, 100% { transform: translate(0, 0) rotate(0deg); } 50% { transform: translate(5px, 12px) rotate(15deg); } } @keyframes floatWobbleLeafLeft { 0%, 100% { transform: translate(0, 0) rotate(10deg); } 50% { transform: translate(-8px, -10px) rotate(-10deg); } } @keyframes floatWobbleLeafRight { 0%, 100% { transform: translate(0, 0) rotate(-20deg); } 50% { transform: translate(8px, -10px) rotate(0deg); } } /* Custom Homepage Sections Addition */ .feature-item { display: flex; align-items: flex-start; gap: 20px; margin-bottom: 25px; .feature-icon-wrapper { width: 70px; height: 70px; background-color: #ffb800; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; padding: 15px; box-shadow: 0 8px 16px rgba(255, 184, 0, 0.2); transition: all 0.3s ease; img { max-width: 100%; height: auto; } } &:hover { .feature-icon-wrapper { transform: scale(1.1) rotate(10deg); box-shadow: 0 12px 24px rgba(255, 184, 0, 0.4); } } .feature-text { h5 { font-size: 20px; font-weight: 400; color: #04121D; margin-bottom: 8px; font-family: 'Bebas Neue', sans-serif !important; } p { font-size: 14px; color: #666; line-height: 1.6; margin-bottom: 0; font-family: 'Roboto', sans-serif !important; } } } .menu-list-item { display: flex; align-items: center; transition: all 0.3s ease; padding: 15px; border-radius: 12px; background: transparent; border: 1px solid transparent; img { transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); border: 2px solid #ffb800 !important; box-shadow: 0 4px 10px rgba(0,0,0,0.05); } &:hover { background-color: #ffffff; border-color: rgba(255, 184, 0, 0.15); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04); transform: translateY(-2px); img { transform: scale(1.1) rotate(5deg); border-color: #04121D !important; } } .border-bottom { border-bottom: 2px dotted #ccc !important; opacity: 0.5; } } /* Stats Section Styles */ .s_stats_section { background-size: cover; background-position: center; position: relative; overflow: hidden; min-height: 600px; display: flex; align-items: flex-end; padding-bottom: 0 !important; .row.g-0 { border-radius: 12px 12px 0 0; overflow: hidden; } } /* Thali Section */ .s_unlimited_thali_section { background-size: cover; background-position: center; position: relative; min-height: 500px; display: flex; align-items: center; } /* Enjoy the Flavors Section — Exact Screenshot Banner Layout */ .s_enjoy_flavors_section { background-color: #111111; position: relative; overflow: hidden; min-height: 380px; display: flex; align-items: center; /* ─── LEFT SIDE ─── */ /* "ENJOY THE" small chalk/brush line */ .enjoy-title-enjoy { font-family: 'Bebas Neue', sans-serif !important; font-size: clamp(28px, 4vw, 42px); color: #ffffff; letter-spacing: 3px; line-height: 1; margin-bottom: 2px; text-transform: uppercase; } /* "FLAVORS" large brush text image */ .enjoy-title-flavors { margin-bottom: 20px; line-height: 1; } .enjoy-flavors-img { /* The image is the brush-style "FLAVORS" text in white */ max-width: 340px; width: 100%; display: block; filter: brightness(1.1); } /* Golden subtitle */ .enjoy-subtitle { font-family: 'Bebas Neue', sans-serif !important; color: #ffb800; font-size: clamp(16px, 2.2vw, 22px); letter-spacing: 2px; line-height: 1.3; margin-bottom: 28px; text-transform: uppercase; } /* Outline "ORDER NOW" button matching screenshot */ .enjoy-btn-outline { display: inline-flex; align-items: center; border: 2px solid #ffb800; color: #ffb800; background: transparent; padding: 10px 28px; font-family: 'Bebas Neue', sans-serif !important; font-size: 15px; letter-spacing: 2px; text-decoration: none; border-radius: 3px; transition: all 0.3s ease; &:hover { background: #ffb800; color: #111111; } } /* ─── RIGHT SIDE ─── */ .enjoy-right-col { display: flex; align-items: center; justify-content: center; min-height: 340px; } /* Main dosa tray image */ .enjoy-dosa-img { position: relative; z-index: 3; max-width: 520px; width: 100%; filter: drop-shadow(0 20px 50px rgba(0, 0, 0, 0.8)); animation: enjoyDosaFloat 4s ease-in-out infinite; } /* "DOSADOS" watermark behind image */ .enjoy-watermark { position: absolute; right: -10px; top: 50%; transform: translateY(-50%); font-family: 'Bebas Neue', sans-serif !important; font-size: clamp(60px, 10vw, 120px); color: rgba(255, 255, 255, 0.06); letter-spacing: 6px; white-space: nowrap; z-index: 1; pointer-events: none; user-select: none; line-height: 1; } /* Shared floating element base */ .enjoy-float { position: absolute; z-index: 4; pointer-events: none; filter: drop-shadow(0 6px 16px rgba(0, 0, 0, 0.5)); } /* Onion ring — top-left of image area */ .enjoy-float-onion { width: 70px; top: 10%; left: 5%; animation: enjoyFloatA 3.5s ease-in-out infinite; } /* Green chili — top-right */ .enjoy-float-chili { width: 50px; top: 5%; right: 8%; transform: rotate(20deg); animation: enjoyFloatB 3s ease-in-out infinite; } /* Tomato slice — bottom-right */ .enjoy-float-tomato { width: 55px; bottom: 10%; right: 5%; animation: enjoyFloatC 4s ease-in-out infinite; } /* Steam container — positioned above dosa image */ .enjoy-steam { position: absolute; top: 5%; left: 50%; transform: translateX(-50%); display: flex; gap: 12px; z-index: 5; pointer-events: none; } .enjoy-steam-line { width: 3px; height: 40px; border-radius: 3px; background: linear-gradient(to top, rgba(255,255,255,0.35), transparent); &.s1 { animation: steamRise 2s ease-out 0s infinite; } &.s2 { animation: steamRise 2s ease-out 0.4s infinite; height: 55px; } &.s3 { animation: steamRise 2s ease-out 0.8s infinite; } } } /* ─── Keyframes ─── */ @keyframes enjoyDosaFloat { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-8px); } } @keyframes enjoyFloatA { 0%, 100% { transform: translateY(0px) rotate(-10deg); } 50% { transform: translateY(-12px) rotate(-10deg); } } @keyframes enjoyFloatB { 0%, 100% { transform: translateY(0px) rotate(20deg); } 50% { transform: translateY(-10px) rotate(20deg); } } @keyframes enjoyFloatC { 0%, 100% { transform: translateY(0px) rotate(15deg); } 50% { transform: translateY(-14px) rotate(15deg); } } @keyframes steamRise { 0% { opacity: 0; transform: translateY(0) scaleX(1); } 30% { opacity: 0.5; } 100% { opacity: 0; transform: translateY(-50px) scaleX(2); } } /* Testimonial Section — Split Layout matching screenshot */ .s_testimonials_premium { overflow: hidden; /* LEFT: Food photo as full-bleed cover */ .testi-left-col { min-height: 580px; position: relative; } .testi-left-img { position: absolute; inset: 0; background-size: cover; background-position: center; width: 100%; height: 100%; min-height: 580px; } /* RIGHT: Golden amber background */ .testi-right-col { background-color: #f5a623; position: relative; display: flex; align-items: center; justify-content: center; padding: 60px 50px; min-height: 580px; overflow: hidden; } /* Tomato accent — bottom-right corner */ .testi-tomato-accent { position: absolute; bottom: 15px; right: 20px; z-index: 1; opacity: 0.85; img { width: 55px; filter: drop-shadow(0 4px 8px rgba(0,0,0,0.3)); } } /* Content wrapper — centered */ .testi-content-wrap { position: relative; z-index: 2; text-align: center; max-width: 560px; width: 100%; } /* Main heading — white bold Bebas Neue */ .testi-main-title { font-family: 'Bebas Neue', sans-serif !important; color: #ffffff; font-size: clamp(22px, 3vw, 36px); letter-spacing: 2px; line-height: 1.2; margin-bottom: 20px; text-transform: uppercase; } /* Stars */ .testi-stars { color: #ffb800; font-size: 20px; display: flex; justify-content: center; gap: 4px; margin-bottom: 20px; } /* Review paragraph — white, centered, small */ .testi-review-text { font-family: 'Roboto', sans-serif; color: #ffffff; font-size: 13.5px; line-height: 1.8; text-align: center; margin-bottom: 16px; opacity: 0.95; } /* Author name */ .testi-author-name { font-family: 'Bebas Neue', sans-serif !important; color: #ffffff; font-size: 18px; letter-spacing: 1.5px; text-align: center; margin-bottom: 0; } /* Nav buttons — small circular dark */ .testi-nav-btns { display: flex; justify-content: center; gap: 10px; } .testi-nav-btn { width: 36px; height: 36px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.6); background: transparent; color: #ffffff; font-size: 13px; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.3s ease; &:hover { background: #ffffff; color: #f5a623; border-color: #ffffff; } } /* Bootstrap carousel override for text slides */ .carousel-item { display: none; &.active { display: block !important; } } } /* Category Card Styling */ .category-card { background: #ffffff; border: 1px solid #f0f0f0; border-radius: 4px; padding: 40px 30px 0; /* No bottom padding so button sits flush */ text-align: center; transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1); box-shadow: 0 5px 15px rgba(0, 0, 0, 0.02); position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; min-height: 290px; cursor: pointer; .category-plate-img { width: 140px; height: 140px; object-fit: cover; margin: 0 auto 30px; border-radius: 50%; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12); transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275); } .category-btn { background-color: #ffb800; color: #04121D; font-family: 'Bebas Neue', sans-serif !important; font-size: 19px; font-weight: 400; padding: 12px 0; text-align: center; text-transform: uppercase; letter-spacing: 1px; transition: all 0.3s ease; margin-left: -30px; /* Offset parent padding */ margin-right: -30px; } &:hover { transform: translateY(-8px); box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08); border-color: rgba(255, 184, 0, 0.25); .category-plate-img { transform: scale(1.08) rotate(8deg); } .category-btn { background-color: #04121D; color: #ffb800; } } } /* Unlimited Thali Section Mockup Realignment */ .s_unlimited_thali_section { position: relative; overflow: hidden; .thali-watermark { position: absolute; right: -20px; bottom: -50px; font-size: 20rem; font-family: 'Bebas Neue', sans-serif !important; font-weight: 900; color: rgba(255, 255, 255, 0.02); z-index: 1; pointer-events: none; line-height: 0.8; user-select: none; } .thali-accent-chili-top { position: absolute; left: 4%; top: 15%; width: 45px; z-index: 5; pointer-events: none; opacity: 0.45; animation: floatChiliTop 8s ease-in-out infinite; } .thali-accent-chili-bottom { position: absolute; left: 6%; bottom: 12%; width: 45px; z-index: 5; pointer-events: none; opacity: 0.45; animation: floatChiliBottom 9s ease-in-out infinite; } .thali-accent-tomato-top { position: absolute; right: 12%; top: 15%; width: 55px; z-index: 5; pointer-events: none; opacity: 0.4; animation: floatTomatoTop 10s ease-in-out infinite; } .thali-accent-tomato-bottom { position: absolute; right: 4%; bottom: 18%; width: 55px; z-index: 5; pointer-events: none; opacity: 0.4; animation: floatTomatoBottom 8s ease-in-out infinite; } .thali-title-img { max-width: 420px; width: 100%; height: auto; filter: drop-shadow(0 5px 15px rgba(0,0,0,0.5)); } .thali-subtitle { color: #ffb800; font-family: 'Bebas Neue', sans-serif !important; font-size: clamp(26px, 3.2vw, 34px); letter-spacing: 2px; font-weight: 700; line-height: 1; } .thali-desc { color: rgba(255,255,255,0.7); font-family: 'Roboto', sans-serif !important; font-size: 15px; line-height: 1.8; max-width: 520px; } .btn-thali-day { background-color: #ffb800 !important; color: #04121D !important; font-family: 'Bebas Neue', sans-serif !important; font-size: 16px; font-weight: 700; width: 130px; text-align: center; border-radius: 4px; padding: 10px 0; border: none; letter-spacing: 1px; transition: all 0.3s ease; &:hover { transform: translateY(-3px); box-shadow: 0 4px 15px rgba(254, 205, 79, 0.4); background-color: white !important; } } .btn-thali-reserve { background-color: transparent !important; color: white !important; border: 1px solid rgba(255, 255, 255, 0.6) !important; font-family: 'Bebas Neue', sans-serif !important; font-size: 15px; font-weight: 400; padding: 12px 35px; border-radius: 0; letter-spacing: 1.5px; transition: all 0.3s ease; display: inline-flex; align-items: center; justify-content: center; &:hover { background-color: #ffb800 !important; border-color: #ffb800 !important; color: #04121D !important; transform: translateY(-3px); } } .thali-image-container { position: relative; display: inline-block; } .thali-leaf-img { filter: drop-shadow(0 25px 35px rgba(0, 0, 0, 0.8)); transition: transform 0.5s ease; &:hover { transform: scale(1.03) rotate(1deg); } } .thali-steam-effect { position: absolute; top: -15%; left: 10%; width: 80%; height: 60%; background: radial-gradient(ellipse at bottom, rgba(255,255,255,0.08) 0%, transparent 60%); filter: blur(8px); opacity: 0.6; pointer-events: none; animation: steamRise 6s infinite ease-in-out; z-index: 3; } } @keyframes steamRise { 0% { transform: translateY(10px) scale(0.95); opacity: 0.3; } 50% { transform: translateY(-15px) scale(1.05); opacity: 0.7; } 100% { transform: translateY(-30px) scale(1.1); opacity: 0; } } @keyframes floatChiliTop { 0%, 100% { transform: translateY(0) rotate(15deg); } 50% { transform: translateY(-8px) rotate(18deg); } } @keyframes floatChiliBottom { 0%, 100% { transform: translateY(0) rotate(-35deg); } 50% { transform: translateY(10px) rotate(-32deg); } } @keyframes floatTomatoTop { 0%, 100% { transform: translateY(0) rotate(45deg); } 50% { transform: translateY(-10px) rotate(42deg); } } @keyframes floatTomatoBottom { 0%, 100% { transform: translateY(0) rotate(-15deg); } 50% { transform: translateY(8px) rotate(-12deg); } } /* From Authentic Indian Kitchen Realignment */ .s_authentic_kitchen_section { background-color: #fcfbf7 !important; position: relative; overflow: hidden; .menu-accent-cucumber { position: absolute; left: 2%; top: 8%; width: 140px; z-index: 2; opacity: 0.95; filter: drop-shadow(5px 5px 12px rgba(0,0,0,0.12)); animation: floatCucumber 12s ease-in-out infinite; } .menu-accent-tomato { position: absolute; right: 3%; bottom: 5%; width: 120px; z-index: 2; opacity: 0.95; filter: drop-shadow(5px 5px 12px rgba(0,0,0,0.12)); animation: floatTomatoBottom 10s ease-in-out infinite; } .menu-card-container { background: #ffffff; border: 1px solid #eef0eb; border-radius: 6px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02); position: relative; z-index: 3; overflow: hidden; } .menu-column { .menu-list-item { display: flex; align-items: center; transition: all 0.3s ease; padding: 20px 25px; img { width: 65px; height: 65px; object-fit: cover; border-radius: 50%; border: 2px solid #ffb800 !important; box-shadow: 0 4px 10px rgba(0,0,0,0.05); transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); } h5 { font-family: 'Bebas Neue', sans-serif !important; font-size: 18px; font-weight: 400; color: #04121D !important; letter-spacing: 0.5px; } p { font-family: 'Roboto', sans-serif !important; font-size: 13px; color: #777777; } .price-text { font-family: 'Bebas Neue', sans-serif !important; font-size: 18px; color: #ffb800 !important; font-weight: 700; } .border-bottom { border-bottom: 2px dotted rgba(4, 18, 29, 0.15) !important; opacity: 0.6; } &:hover { background-color: #fbfbfa; transform: translateY(-1px); img { transform: scale(1.08) rotate(5deg); border-color: #04121D !important; } } } } .btn-menu-view-all { background-color: #ffb800 !important; color: #04121D !important; font-family: 'Bebas Neue', sans-serif !important; font-size: 16px; font-weight: 700; padding: 12px 35px; border-radius: 4px; border: none; letter-spacing: 1px; transition: all 0.3s ease; display: inline-flex; align-items: center; justify-content: center; &:hover { transform: translateY(-3px); box-shadow: 0 4px 15px rgba(254, 205, 79, 0.4); background-color: #04121D !important; color: #ffb800 !important; } } } @media (min-width: 992px) { .border-end-lg { border-right: 1px solid #eef0eb !important; } } @keyframes floatCucumber { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-12px) rotate(8deg); } } /* Pre-footer Food Slider */ .s_prefooter_food_slider { .food-slider-container { width: 100%; overflow: hidden; padding: 0 0 20px 0; } .food-slider-track { display: flex; width: calc(350px * 10); animation: scrollFood 25s linear infinite; &:hover { animation-play-state: paused; } } .food-slide { width: 350px; padding: 0 15px; flex-shrink: 0; img { width: 100%; height: 320px; object-fit: contain; transition: transform 0.3s ease; filter: drop-shadow(0 10px 15px rgba(0, 0, 0, 0.15)); &:hover { transform: scale(1.08); } } } } @keyframes scrollFood { 0% { transform: translateX(0); } 100% { transform: translateX(calc(-350px * 5)); } } /* New Footer Social Boxes */ .social-box-dark { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(255,255,255,0.1); color: #888; text-decoration: none; transition: all 0.3s ease; } .social-box-dark:hover { color: #fff; border-color: #fff; }