Files
doormile-site/assets/css/style.css
2026-04-29 15:21:52 +05:30

509 lines
16 KiB
CSS

/*
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 (< 1320px)
Transition to mobile pill-shape earlier to prevent desktop overlap/wrapping
============================================================ */
@media (max-width: 1320px) {
/* 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 (1321px - 1480px)
Prevents logo/menu overlap on medium screens
============================================================ */
@media (min-width: 1321px) 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)
============================================================ */
@media (max-width: 1020px) {
/* 1. Parent Wrapper: Switch to Column Stack */
.elementor-element.elementor-element-ead59d3 {
display: flex !important;
flex-direction: column !important;
padding-top: 50px !important;
padding-bottom: 50px !important;
}
/* 2. Absolute Image: Pull into Flow and Place First */
.elementor-element.elementor-element-f35119c {
position: relative !important;
width: 100% !important;
max-width: 500px !important; /* Optimal tablet/mobile size */
margin: 0 auto 40px !important; /* Center and add spacing below */
left: auto !important;
top: auto !important;
order: -1 !important; /* Force to top of stack */
transform: none !important;
display: none !important;
}
/* 3. Content Section: Expand to 100% Width */
.elementor-element.elementor-element-56ecbb3,
.elementor-element.elementor-element-56ecbb3 .e-con-inner,
.elementor-element.elementor-element-47f8cbe {
width: 100% !important;
max-width: 100% !important;
margin: 0 !important;
padding-left: 20px !important;
padding-right: 20px !important;
}
/* Align content consistently for stacked view */
.elementor-element.elementor-element-47f8cbe {
display: flex !important;
flex-direction: column !important;
align-items: center !important;
text-align: center !important;
}
/* Adjust specific widgets inside content */
.elementor-element.elementor-element-47f8cbe .logico-title {
margin-left: auto !important;
margin-right: auto !important;
}
}
/* ============================================================
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 */
.elementor-element.elementor-element-96343ba {
width: 50% !important;
max-width: 60% !important;
flex: 0 0 48% !important;
padding-right: 10px !important;
}
/* Text column: take the remaining space */
.elementor-element.elementor-element-71c3e1d {
width: 52% !important;
max-width: 52% !important;
flex: 0 0 52% !important;
}
/* Map image: fill the wider container */
.elementor-element.elementor-element-99768ba img {
width: 100% !important;
height: auto !important;
object-fit: cover;
border-radius: 25px;
}
}