/* Theme Name: Logico Child Description: Logico Child Theme Theme URI: https://demo.artureanec.com/themes/logico Author: Artureanec Author URI: https://demo.artureanec.com Template: logico Version: 1.0.0 License: GNU General Public License version 3.0 License URI: http://www.gnu.org/licenses/gpl-3.0.html Text Domain: logico-child */ /* =Theme customization starts here ------------------------------------------------------- */ /* Hide mobile-specific logo by default */ .logo-mobile { display: none !important; } /* ============================================================ MOBILE & TABLET HEADER REFINEMENT (< 1024px) Transition to mobile pill-shape earlier to prevent desktop overlap/wrapping ============================================================ */ @media (max-width: 1024px) { /* Logo toggling */ .logo-desktop { display: none !important; } .logo-mobile { display: block !important; } /* 1. Header Wrapper (Outer): Position & Spacing */ .elementor-5180 .elementor-element.elementor-element-466de1b { position: fixed !important; top: 30px !important; left: 0 !important; right: 0 !important; width: 100% !important; padding-left: 20px !important; padding-right: 20px !important; height: auto !important; z-index: 10000 !important; background: transparent !important; pointer-events: none; } /* 2. The Header Box / Card (Inner) */ .elementor-5180 .elementor-element.elementor-element-e052838 { margin: 0 10px auto !important; width: 100% !important; max-width: 100% !important; background-color: #ffffff !important; border-radius: 25px !important; overflow: hidden !important; box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08) !important; pointer-events: all; display: flex !important; flex-direction: column !important; } /* 3. Main Row Layout Container */ .elementor-5180 .elementor-element.elementor-element-d681ece { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; justify-content: space-between !important; width: 100% !important; padding: 12px 25px !important; min-height: 70px !important; box-sizing: border-box !important; gap: 0 !important; } /* 4. Logo Container (Left) */ .elementor-5180 .elementor-element.elementor-element-472172e { flex: 1 !important; display: flex !important; align-items: center !important; justify-content: flex-start !important; padding: 0 !important; margin: 0 !important; } /* 5. Menu Container (Right / Hamburger) */ .elementor-5180 .elementor-element.elementor-element-e44ee7e { flex: 0 0 auto !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding: 0 !important; margin: 0 !important; } /* 6. Logo Widget Adjustments */ .elementor-5180 .elementor-element.elementor-element-846e53d { width: auto !important; margin: 0 !important; display: flex !important; align-items: center !important; max-width: none !important; } .elementor-5180 .elementor-element.elementor-element-846e53d .hfe-site-logo .hfe-site-logo-container img { margin: 0 !important; max-width: none !important; } .elementor-5180 .elementor-element.elementor-element-846e53d .logo-mobile { width: 180px !important; height: auto !important; min-width: 100px !important; } /* 7. Menu Trigger (Hamburger) alignment */ .elementor-5180 .elementor-element.elementor-element-0b7bf6f .menu-trigger { display: flex !important; align-items: center !important; justify-content: flex-end !important; padding: 5px !important; margin: 0 !important; } /* Hamburger icon customization */ .elementor-5180 .elementor-element.elementor-element-0b7bf6f .hamburger { width: 30px !important; } .elementor-5180 .elementor-element.elementor-element-0b7bf6f .hamburger span { background-color: #1f1f1f !important; height: 2px !important; margin-bottom: 5px !important; } /* Hide desktop-only elements */ .elementor-5180 .elementor-element.elementor-element-0b7bf6f .header-menu-container, .elementor-5180 .elementor-element.elementor-element-2f31137, .elementor-5180 .elementor-element.elementor-element-f961133 { display: none !important; } } /* ============================================================ MEDIUM DESKTOP OPTIMIZATION (1025px - 1480px) Prevents logo/menu overlap on medium screens ============================================================ */ @media (min-width: 1025px) and (max-width: 1480px) { /* Reduce logo size slightly */ .elementor-5180 .elementor-element.elementor-element-846e53d .logo-desktop { width: 130px !important; height: auto !important; } /* Force single line and tighten spacing */ .elementor-5180 .main-menu { display: flex !important; flex-wrap: nowrap !important; white-space: nowrap !important; } .elementor-5180 .main-menu > li > a { padding-left: 8px !important; padding-right: 8px !important; font-size: 13px !important; } /* Reduce container spacing */ .elementor-5180 .elementor-element.elementor-element-d681ece { padding-left: 15px !important; padding-right: 15px !important; gap: 10px !important; } /* Ensure the menu pill container stays compact */ .header-menu-container { padding-left: 8px !important; padding-right: 8px !important; max-width: 750px !important; } /* Scale down the CTA button */ .elementor-5180 .logico-small-button { padding: 10px 20px !important; font-size: 13px !important; } } /* Tablet Scaling (768px - 1024px) */ @media (max-width: 1024px) and (min-width: 768px) { .elementor-5180 .elementor-element.elementor-element-846e53d .logo-mobile { width: 210px !important; } } /* Standard Mobile Scaling */ @media (max-width: 767px) { .elementor-5180 .elementor-element.elementor-element-846e53d .logo-mobile { width: 175px !important; } } /* Extra Small Devise Optimization */ @media (max-width: 480px) { .elementor-5180 .elementor-element.elementor-element-466de1b { top: 15px !important; padding-left: 15px !important; padding-right: 15px !important; } .elementor-5180 .elementor-element.elementor-element-d681ece { padding: 6px 20px !important; min-height: 55px !important; /* Smaller height for small screens */ } .elementor-5180 .elementor-element.elementor-element-846e53d .logo-mobile { width: 155px !important; /* Scaled down for tiny screens */ } } /* ============================================================ HOME SECTION IMAGE RESPONSIVENESS (wp-image-4481) ============================================================ */ /* Fix for Tablet and Mobile */ @media (max-width: 1024px) { .elementor-element.elementor-element-99768ba .elementor-widget-container img.wp-image-4481 { width: 100% !important; max-width: 450px !important; /* Prevent oversized/zoomed appearance on tablets */ height: auto !important; aspect-ratio: auto !important; /* Maintain original proportions */ object-fit: contain !important; /* Ensure no cropping of important content */ margin: 0 auto !important; /* Centering */ display: block !important; padding-bottom: 0px !important; /* Spacing below the image */ } /* Ensure parent container centers the image */ .elementor-element.elementor-element-99768ba { text-align: center !important; } } /* Specific scaling for small mobile phones */ @media (max-width: 767px) { .elementor-element.elementor-element-99768ba .elementor-widget-container img.wp-image-4481 { max-width: 90% !important; /* Reduce scale on small screens */ margin: 0 auto !important; border-radius: 18px !important; /* Consistent rounded edges */ } } /* ============================================================ WHY CHOOSE DOORMILE SECTION RESPONSIVENESS (< 1020px) ============================================================ */ /* ============================================================ PROBLEM SECTION - Responsive Layout Fix Targets: "Fragmented Logistics is Broken" section only No button styles included. ============================================================ */ /* Prevent horizontal overflow on the outer container */ .elementor-element.section-shrink-custom[data-id="30fd9d1"], .elementor-element.section-shrink-custom[data-id="30fd9d1"] > .e-con-inner { overflow-x: hidden !important; box-sizing: border-box !important; } @media (max-width: 1024px) { /* Full width with padding so content doesn't touch screen edges */ .elementor-element.section-shrink-custom[data-id="30fd9d1"] > .e-con-inner { max-width: 100% !important; width: 100% !important; padding-left: 20px !important; padding-right: 20px !important; } /* The 4-icon stat grid: wrap into 2 columns on tablet */ .elementor-element.elementor-element-e09c20e { grid-template-columns: repeat(2, 1fr) !important; gap: 24px !important; } /* Description text: prevent overflow */ .elementor-element.elementor-element-5a5c397, .elementor-element.elementor-element-07cd509 { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; } .elementor-element.elementor-element-07cd509 p { width: 100% !important; overflow-wrap: break-word !important; word-break: break-word !important; } } @media (max-width: 480px) { /* Single column on small mobile */ .elementor-element.elementor-element-e09c20e { grid-template-columns: 1fr !important; } } /* ============================================================ HEADER SCROLL VISIBILITY Home page: hidden until scroll. All other pages: always visible. ============================================================ */ /* Home page: header fades in after scroll (JS adds .header-visible-scrolled) */ .is-home-page .header-hide-until-scroll { opacity: 0 !important; visibility: hidden !important; transform: translateY(-20px); transition: opacity 0.5s ease, visibility 0.5s ease, transform 0.5s ease !important; } .is-home-page .header-hide-until-scroll.header-visible-scrolled { opacity: 1 !important; visibility: visible !important; transform: translateY(0) !important; } /* Non-home pages: always show header */ body:not(.is-home-page) .header-hide-until-scroll { opacity: 1 !important; visibility: visible !important; transform: translateY(0) !important; } /* ============================================================ PROBLEM SECTION - Responsive Text & Layout Fix ============================================================ */ /* Prevent overflow at the section container level */ .elementor-element.section-shrink-custom[data-id="30fd9d1"] { overflow-x: hidden !important; max-width: 100vw !important; } .elementor-element.section-shrink-custom[data-id="30fd9d1"] > .e-con-inner { max-width: 1480px !important; width: 100% !important; margin-left: auto !important; margin-right: auto !important; box-sizing: border-box !important; } /* @media (min-width: 1300px) { .elementor-element.section-shrink-custom[data-id="30fd9d1"] > .e-con-inner { max-width: 1300px !important; padding: 0px 50px 10px !important; } } */ @media (max-width: 1024px) { .elementor-element.section-shrink-custom[data-id="30fd9d1"] > .e-con-inner { max-width: 100% !important; padding-left: 20px !important; padding-right: 20px !important; } /* Left column (heading + stats + text): full width */ .elementor-element.elementor-element-03db5d7 { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; } /* Stats grid: 2 columns on tablet */ .elementor-element.elementor-element-e09c20e { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 20px !important; width: 100% !important; } /* Description text block: prevent overflow */ .elementor-element.elementor-element-5a5c397 { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; } .elementor-element.elementor-element-07cd509 { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; } /* Force all text to wrap properly */ .section-shrink-custom p, .section-shrink-custom h3, .section-shrink-custom span { max-width: 100% !important; word-break: break-word !important; overflow-wrap: break-word !important; white-space: normal !important; } } @media (max-width: 480px) { /* Single column stats on small phones */ .elementor-element.elementor-element-e09c20e { grid-template-columns: 1fr !important; } } /* ============================================================ PAGE LOADER - Must cover header on all viewports Header uses z-index: 10000 so loader needs higher ============================================================ */ .page-loader-container { z-index: 100000 !important; } /* ============================================================ CONNECTED LOGISTICS - India Map Image Sizing Widen the map column to fill the gap on the right side ============================================================ */ @media (min-width: 1021px) { /* Image column: force wider */ /* Text column: take the remaining space */ /* Map image: fill the wider container */ } /* ============================================================ INDUSTRY SOLUTIONS - Hover Effect Override Image fills box, content shows on hover with #c01227 shade. ============================================================ */ .elementor-element.elementor-element-b891c78, .elementor-element.elementor-element-9b933db, .elementor-element.elementor-element-280b0dc { position: relative !important; overflow: hidden !important; height: 620px !important; display: flex !important; flex-direction: column !important; justify-content: flex-end !important; align-items: flex-start !important; text-align: left !important; padding: 40px 40px 80px 40px !important; border-radius: 20px !important; background-color: #f7f7f7 !important; transition: all 0.4s ease !important; } /* Make image fill the entire card box */ .elementor-element.elementor-element-b891c78 .elementor-widget-image, .elementor-element.elementor-element-9b933db .elementor-widget-image, .elementor-element.elementor-element-280b0dc .elementor-widget-image { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; z-index: 1 !important; } .elementor-element.elementor-element-b891c78 .elementor-widget-image img, .elementor-element.elementor-element-9b933db .elementor-widget-image img, .elementor-element.elementor-element-280b0dc .elementor-widget-image img { width: 100% !important; height: 100% !important; object-fit: cover !important; border-radius: 20px !important; transition: transform 0.6s ease !important; } /* Persistent bottom overlay before hover #c01227 */ .elementor-element.elementor-element-b891c78::after, .elementor-element.elementor-element-9b933db::after, .elementor-element.elementor-element-280b0dc::after { content: "" !important; position: absolute !important; bottom: 0 !important; left: 0 !important; width: 100% !important; height: 120px !important; background-image: linear-gradient(to top, rgba(34, 34, 34, 0.9), rgba(192, 18, 39, 0)) !important; z-index: 1 !important; opacity: 1 !important; border-radius: 0 0 20px 20px !important; transition: opacity 0.4s ease !important; pointer-events: none !important; } .elementor-element.elementor-element-b891c78:hover::after, .elementor-element.elementor-element-9b933db:hover::after, .elementor-element.elementor-element-280b0dc:hover::after { opacity: 0 !important; } /* Hover background shade overlay #c01227 */ .elementor-element.elementor-element-b891c78::before, .elementor-element.elementor-element-9b933db::before, .elementor-element.elementor-element-280b0dc::before { content: "" !important; position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; background-image: linear-gradient(to top, rgba(192, 18, 39, 0.95), rgba(192, 18, 39, 0.2)) !important; z-index: 2 !important; opacity: 0 !important; transition: opacity 0.4s ease !important; border-radius: 20px !important; } .elementor-element.elementor-element-b891c78:hover::before, .elementor-element.elementor-element-9b933db:hover::before, .elementor-element.elementor-element-280b0dc:hover::before { opacity: 1 !important; } /* Hide content until hover (explicitly target text and lists) */ .elementor-element.elementor-element-b891c78 .elementor-widget-text-editor, .elementor-element.elementor-element-9b933db .elementor-widget-text-editor, .elementor-element.elementor-element-280b0dc .elementor-widget-text-editor, .elementor-element.elementor-element-b891c78 .elementor-widget-divider, .elementor-element.elementor-element-9b933db .elementor-widget-divider, .elementor-element.elementor-element-280b0dc .elementor-widget-divider, .elementor-element.elementor-element-b891c78 .hover-list-content, .elementor-element.elementor-element-9b933db .hover-list-content, .elementor-element.elementor-element-280b0dc .hover-list-content { position: relative !important; z-index: 3 !important; opacity: 0 !important; transform: translateY(20px) !important; transition: opacity 0.4s ease, transform 0.4s ease !important; } .elementor-element.elementor-element-b891c78:hover .elementor-widget-text-editor, .elementor-element.elementor-element-9b933db:hover .elementor-widget-text-editor, .elementor-element.elementor-element-280b0dc:hover .elementor-widget-text-editor, .elementor-element.elementor-element-b891c78:hover .elementor-widget-divider, .elementor-element.elementor-element-9b933db:hover .elementor-widget-divider, .elementor-element.elementor-element-280b0dc:hover .elementor-widget-divider, .elementor-element.elementor-element-b891c78:hover .hover-list-content, .elementor-element.elementor-element-9b933db:hover .hover-list-content, .elementor-element.elementor-element-280b0dc:hover .hover-list-content { opacity: 1 !important; transform: translateY(0) !important; } /* Force text to be white and clean */ .elementor-element.elementor-element-b891c78 .logico-title, .elementor-element.elementor-element-9b933db .logico-title, .elementor-element.elementor-element-280b0dc .logico-title, .elementor-element.elementor-element-b891c78 p, .elementor-element.elementor-element-9b933db p, .elementor-element.elementor-element-280b0dc p { position: relative !important; z-index: 5 !important; font-size: 20px !important; } .elementor-element.elementor-element-b891c78 .logico-title, .elementor-element.elementor-element-9b933db .logico-title, .elementor-element.elementor-element-280b0dc .logico-title { color: #fff !important; text-shadow: 0px 2px 10px rgba(255, 255, 255, 0.4) !important; font-size: 24px !important; font-weight: 700 !important; margin-bottom: 15px !important; text-align: left !important; transition: all 0.3s ease !important; position: relative !important; padding-left: 0px !important; cursor: pointer !important; } .elementor-element.elementor-element-b891c78:hover .logico-title, .elementor-element.elementor-element-9b933db:hover .logico-title, .elementor-element.elementor-element-280b0dc:hover .logico-title { padding-left: 45px !important; } /* White Circle Arrow Icon Wrapper */ .title-icon { display: inline-flex !important; align-items: center !important; justify-content: center !important; position: absolute !important; left: 0 !important; top: 50% !important; transform: translateY(-50%) scale(0.6) !important; width: 32px !important; height: 32px !important; background-color: #ffffff !important; border-radius: 50% !important; color: #000000 !important; opacity: 0 !important; transition: opacity 0.3s ease, transform 0.3s ease !important; } .elementor-element.elementor-element-b891c78:hover .title-icon, .elementor-element.elementor-element-9b933db:hover .title-icon, .elementor-element.elementor-element-280b0dc:hover .title-icon { opacity: 1 !important; transform: translateY(-50%) scale(1) !important; } .title-icon svg { width: 18px !important; height: 18px !important; } .elementor-element.elementor-element-b891c78:hover .logico-title, .elementor-element.elementor-element-9b933db:hover .logico-title, .elementor-element.elementor-element-280b0dc:hover .logico-title, .elementor-element.elementor-element-b891c78:hover p, .elementor-element.elementor-element-9b933db:hover p, .elementor-element.elementor-element-280b0dc:hover p { color: #ffffff !important; } .elementor-element.elementor-element-b891c78:hover .elementor-divider-separator, .elementor-element.elementor-element-9b933db:hover .elementor-divider-separator, .elementor-element.elementor-element-280b0dc:hover .elementor-divider-separator { border-top-color: rgba(255, 255, 255, 0.4) !important; } /* Lists styling on Hover */ .hover-list-content { position: relative !important; z-index: 5 !important; opacity: 0 !important; transform: translateY(20px) !important; transition: opacity 0.4s ease 0.1s, transform 0.4s ease 0.1s !important; /* staggered entry */ width: 100% !important; margin-top: 25px !important; margin-bottom: 20px !important; } .elementor-element.elementor-element-b891c78:hover .hover-list-content, .elementor-element.elementor-element-9b933db:hover .hover-list-content, .elementor-element.elementor-element-280b0dc:hover .hover-list-content { opacity: 1 !important; transform: translateY(0) !important; } .list-section { margin-bottom: 25px !important; width: 100% !important; } .list-section:last-child { margin-bottom: 0 !important; } .list-section-title { color: #e2e8f0 !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 1.5px !important; margin-bottom: 12px !important; text-transform: uppercase !important; text-align: left !important; } .hover-items-list { list-style: none !important; padding: 0 !important; margin: 0 !important; } .hover-items-list li { display: flex !important; justify-content: flex-start !important; align-items: flex-start !important; gap: 12px !important; margin-bottom: 12px !important; color: #ffffff !important; font-size: 16px !important; line-height: 1.4 !important; text-align: left !important; } .hover-items-list li::before { content: "•" !important; color: #ffffff !important; font-size: 20px !important; line-height: 1 !important; margin-top: -3px !important; flex-shrink: 0 !important; } .hover-items-list li:last-child { margin-bottom: 0 !important; } .hover-items-list li span { color: #ffffff !important; } /* Push headers to bottom */ .elementor-element.elementor-element-b891c78 .elementor-widget-logico_heading, .elementor-element.elementor-element-9b933db .elementor-widget-logico_heading, .elementor-element.elementor-element-280b0dc .elementor-widget-logico_heading { position: absolute !important; bottom: 30px !important; left: 30px !important; z-index: 10 !important; margin: 0 !important; text-align: left !important; } /* ============================================================ FOOTER CONTACT LINKS - Contrast Fix ============================================================ */ .elementor-6585 a, .elementor-6585 a::before, .elementor-6585 a::after { color: #FFFFFF !important; text-decoration: none !important; transition: all 0.4s ease-in-out !important; } /* Apply red hover color only to simple links, avoiding buttons */ .elementor-6585 a:not(.logico-alter-button):hover { color: #c01227 !important; } .elementor-6585 a.logico-alter-button:hover { opacity: 0.9 !important; } /* Specific fix for phone and email links to ensure no default theme underlines */ .elementor-element-87be926 a, .elementor-element-ba67644 a { border-bottom: none !important; text-decoration: none !important; } /* ============================================================ SOCIAL ICONS VISIBILITY FIX Ensures both font-based and SVG icons are visible and properly sized. Targeting the common .wrapper-socials class used across the site. ============================================================ */ .e-font-icon-svg { display: inline-block; width: 1em; height: 1em; fill: currentColor; vertical-align: middle; } .elementor-social-icon svg { width: 25px; height: 25px; } .fab, .fas, .far { display: inline-block !important; } .wrapper-socials { list-style: none !important; padding: 0 !important; margin: 0 !important; display: flex !important; flex-wrap: wrap; gap: 10px; } .wrapper-socials li { display: inline-block !important; margin: 0 !important; padding: 0 !important; } .wrapper-socials li:before { content: none !important; } .wrapper-socials a { display: flex !important; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background-color: rgba(0, 0, 0, 0.05); color: inherit; text-decoration: none !important; transition: all 0.3s ease; font-size: 16px; } .wrapper-socials a:hover { background-color: var(--logico-accent-color, #c01227); color: #fff !important; } .wrapper-socials a svg { width: 18px; height: 18px; fill: currentColor; } /* Global visibility enforcement for Elementor and other social icons */ .elementor-social-icon, .e-font-icon-svg, .wrapper-socials i, .wrapper-socials svg { display: inline-block !important; visibility: visible !important; opacity: 1 !important; } /* Ensure SVG icons have at least some size if not specified */ svg.e-font-icon-svg, .elementor-social-icon svg { min-width: 16px; min-height: 16px; } /* ============================================================ REDESIGNED STEP CARDS (How It Works) - BLACK TEMPLATE ============================================================ */ .dm-step-card { background: #111111; border: 1px solid #222222; border-radius: 25px; padding: 35px; height: 100%; transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1); display: flex; flex-direction: column; gap: 20px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); margin: 20px; } .dm-step-card:hover { border-color: #c01227; background: #161616; box-shadow: 0 30px 60px rgba(192, 18, 39, 0.3), 0 0 30px rgba(192, 18, 39, 0.15), 0 10px 25px rgba(0, 0, 0, 0.5); transform: translateY(-10px) scale(1.02); } .dm-step-card__image { width: 100%; margin-bottom: 10px; } .dm-step-card__image img { width: 100%; height: auto; border-radius: 20px; object-fit: cover; display: block; opacity: 0.9; transition: opacity 0.3s ease; } .dm-step-card:hover .dm-step-card__image img { opacity: 1; } .dm-step-card__body { display: flex; flex-direction: column; gap: 12px; } .dm-step-card__num { color: #c01227; font-weight: 800; text-transform: uppercase; font-size: 13px; letter-spacing: 1.5px; margin: 0; } .dm-step-card__title { font-size: 26px; font-weight: 800; color: #ffffff; margin: 0; line-height: 1.2; } .dm-step-card__text { font-size: 15px; line-height: 1.6; color: #aaaaaa; margin: 0; } .dm-step-card__list { list-style: none; padding: 0; margin: 10px 0 0 0; display: flex; flex-direction: column; gap: 10px; } .dm-step-card__list li { position: relative; padding-left: 28px; font-size: 14px; color: #dddddd; font-weight: 700; line-height: 1.4; } .dm-step-card__list li::before { content: "\f061"; /* FontAwesome arrow-right */ font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; left: 0; top: 1px; color: #c01227; font-size: 12px; }