18042026 index query

This commit is contained in:
2026-04-18 17:20:24 +05:30
parent 786bd38286
commit 098c3387c8
39 changed files with 5567 additions and 1509 deletions

Binary file not shown.

464
assets/css/ev-premium.css Normal file
View File

@@ -0,0 +1,464 @@
/* EV Premium Section - High-End SaaS UI */
:root {
--evp-bg: #030303;
--evp-card-bg: rgba(20, 20, 22, 0.6);
--evp-accent: #E31E24;
--evp-accent-glow: rgba(227, 30, 36, 0.4);
--evp-success: #10B981;
--evp-info: #3B82F6;
--evp-text: #FFFFFF;
--evp-text-dim: #A1A1AA;
--evp-border: rgba(255, 255, 255, 0.08);
--evp-glass-border: rgba(255, 255, 255, 0.12);
--evp-radius-lg: 32px;
--evp-radius-md: 20px;
--evp-font: 'Manrope', -apple-system, sans-serif;
}
.evp-section {
padding: 140px 0;
background-color: #1f1f1f;
color: var(--evp-text);
font-family: var(--evp-font);
position: relative;
overflow: hidden;
}
/* ─── BACKGROUND EFFECTS ─── */
.evp-bg-aura {
position: absolute;
width: 600px;
height: 600px;
border-radius: 50%;
filter: blur(150px);
z-index: 0;
pointer-events: none;
opacity: 0.3;
}
.aura-red {
background: radial-gradient(circle, var(--evp-accent) 0%, transparent 70%);
top: -100px;
right: -100px;
}
.logico-front-end h4:not([class*=logico-title-h]){
color: #fff !important;
}
.aura-blue {
background: radial-gradient(circle, var(--evp-info) 0%, transparent 70%);
bottom: -100px;
left: -100px;
}
.evp-grid-overlay {
position: absolute;
inset: 0;
background-image: linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
background-size: 50px 50px;
mask-image: radial-gradient(circle at center, black, transparent 80%);
pointer-events: none;
z-index: 1;
}
.evp-container {
max-width: 1400px;
margin: 0 auto;
padding: 0 40px;
position: relative;
z-index: 10;
}
.evp-layout {
display: flex;
align-items: center;
gap: 80px;
position: relative;
}
/* ─── LEFT: CONTENT & HERO ─── */
.evp-content {
flex: 1;
max-width: 650px;
}
.evp-tag {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 16px;
background: rgba(227, 30, 36, 0.1);
border: 1px solid rgba(227, 30, 36, 0.2);
border-radius: 100px;
font-size: 13px;
font-weight: 700;
color: var(--evp-accent);
text-transform: uppercase;
letter-spacing: 1px;
margin-bottom: 32px;
}
.evp-tag .status-dot {
width: 8px;
height: 8px;
background: var(--evp-accent);
border-radius: 50%;
box-shadow: 0 0 10px var(--evp-accent);
animation: evp-pulse 2s infinite;
}
@keyframes evp-pulse {
0% { transform: scale(0.95); opacity: 1; }
50% { transform: scale(1.3); opacity: 0.5; }
100% { transform: scale(0.95); opacity: 1; }
}
.evp-title {
font-size: clamp(40px, 5vw, 68px);
line-height: 1.05;
font-weight: 800;
letter-spacing: -2px;
margin-bottom: 30px;
}
.evp-title span {
display: block;
color: var(--evp-accent);
filter: drop-shadow(0 0 20px var(--evp-accent-glow));
}
.evp-desc {
font-size: 20px;
color: var(--evp-text-dim);
line-height: 1.6;
margin-bottom: 50px;
max-width: 580px;
}
/* Feature Cards Stack */
.evp-features {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
}
.evp-feature-card {
padding: 30px;
background: var(--evp-card-bg);
backdrop-filter: blur(20px);
border: 1px solid var(--evp-glass-border);
border-radius: var(--evp-radius-md);
transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
position: relative;
overflow: hidden;
}
.evp-feature-card::before {
content: '';
position: absolute;
top: 0; left: 0; width: 100%; height: 100%;
background: linear-gradient(135deg, rgba(255,255,255,0.05) 0%, transparent 100%);
opacity: 0;
transition: opacity 0.4s;
}
.evp-feature-card:hover {
transform: translateY(-5px) scale(1.02);
border-color: rgba(227, 30, 36, 0.4);
box-shadow: 0 20px 40px rgba(0,0,0,0.4);
}
.evp-feature-card:hover::before {
opacity: 1;
}
.evp-icon-box {
width: 48px;
height: 48px;
border-radius: 14px;
background: rgba(255, 255, 255, 0.05);
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 20px;
color: var(--evp-accent);
font-size: 20px;
}
.evp-feature-card h3 {
font-size: 17px;
font-weight: 700;
margin-bottom: 12px;
}
.evp-feature-card p {
font-size: 14px;
color: #fff;
line-height: 1.5;
margin: 0;
}
/* ─── RIGHT: VISUAL DASHBOARD ─── */
.evp-visual {
flex: 1;
position: relative;
display: flex;
justify-content: center;
align-items: center;
}
.evp-dashboard {
width: 100%;
max-width: 600px;
background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, transparent 100%);
border: 1px solid var(--evp-border);
border-radius: 40px;
padding: 50px;
position: relative;
box-shadow: 0 50px 100px rgba(0,0,0,0.8);
overflow: visible;
}
.evp-dashboard::after {
content: '';
position: absolute;
inset: 0;
border-radius: 40px;
padding: 1px;
background: linear-gradient(to bottom right, rgba(255,255,255,0.1), transparent, rgba(255,255,255,0.05));
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
-webkit-mask-composite: xor;
mask-composite: exclude;
pointer-events: none;
}
.evp-db-header {
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 10px;
}
.evp-db-title {
font-size: 12px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 2px;
color: var(--evp-text-dim);
}
.evp-live-tag {
font-size: 11px;
font-weight: 700;
color: var(--evp-success);
display: flex;
align-items: center;
gap: 6px;
background: rgba(16, 185, 129, 0.1);
padding: 4px 10px;
border-radius: 50px;
}
.evp-db-id {
font-size: 32px;
font-weight: 900;
margin-top: 10px;
}
.evp-van-stage {
position: relative;
margin: 40px 0;
width: 100%;
z-index: 2;
}
.evp-van-image {
width: 110%;
height: auto;
/* margin-left: -5%; */
filter: drop-shadow(0 20px 30px rgba(0,0,0,0.5));
animation: evp-float 6s ease-in-out infinite;
}
@keyframes evp-float {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-15px); }
}
/* Floating HUD Cards */
.evp-hud-card {
position: absolute;
background: rgba(15, 15, 18, 0.85);
backdrop-filter: blur(15px);
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 18px;
padding: 16px;
z-index: 10;
box-shadow: 0 20px 40px rgba(0,0,0,0.4);
pointer-events: all;
transition: transform 0.3s ease;
}
.evp-hud-card:hover {
transform: scale(1.05);
}
.hud-battery {
top: 55%;
left: -40px;
min-width: 160px;
display: flex;
align-items: center;
gap: 15px;
}
.hud-location {
top: 15%;
right: -30px;
min-width: 180px;
}
.hud-route {
bottom: 30%;
right: -50px;
min-width: 170px;
background: linear-gradient(135deg, rgba(20, 20, 24, 0.9), rgba(10, 10, 12, 0.9));
}
.evp-progress-svg {
width: 44px;
height: 44px;
transform: rotate(-90deg);
}
.evp-progress-circle-bg {
fill: none;
stroke: rgba(255,255,255,0.05);
stroke-width: 4;
}
.evp-progress-circle {
fill: none;
stroke: var(--evp-success);
stroke-width: 4;
stroke-linecap: round;
stroke-dasharray: 113;
stroke-dashoffset: 20; /* Example for 82% */
transition: stroke-dashoffset 1s ease-out;
}
.hud-val-large {
font-size: 20px;
font-weight: 900;
line-height: 1;
}
.hud-label-small {
font-size: 10px;
color: var(--evp-text-dim);
text-transform: uppercase;
font-weight: 700;
margin-bottom: 4px;
letter-spacing: 0.5px;
}
/* Route Visual in HUD */
.hud-route-path {
margin-top: 10px;
height: 30px;
background-image: radial-gradient(circle, rgba(255,255,255,0.2) 1px, transparent 1px);
background-size: 8px 8px;
border-radius: 8px;
position: relative;
overflow: hidden;
}
.hud-route-line {
position: absolute;
top: 50%;
left: 10%;
width: 60%;
height: 2px;
background: var(--evp-accent);
box-shadow: 0 0 10px var(--evp-accent);
}
/* Dashboard Bottom Metrics */
.evp-metrics {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 15px;
border-top: 1px solid var(--evp-border);
padding-top: 25px;
}
.m-item {
text-align: center;
}
.m-label {
font-size: 9px;
text-transform: uppercase;
font-weight: 800;
color: var(--evp-text-dim);
letter-spacing: 0.5px;
margin-bottom: 5px;
}
.m-value {
font-size: 18px;
font-weight: 900;
color: #fff;
}
/* ─── RESPONSIVENESS ─── */
@media (max-width: 1300px) {
.evp-layout { gap: 40px; }
.hud-battery { left: 0; }
.hud-location { right: 0; }
.hud-route { right: 0; }
}
@media (max-width: 1100px) {
.evp-layout {
flex-direction: column;
text-align: center;
}
.evp-content {
max-width: 100%;
display: flex;
flex-direction: column;
align-items: center;
}
.evp-desc {
max-width: 700px;
}
.evp-features {
max-width: 800px;
width: 100%;
}
.evp-visual {
margin-top: 60px;
width: 100%;
}
}
@media (max-width: 640px) {
.evp-section { padding: 80px 0; }
.evp-features { grid-template-columns: 1fr; }
.evp-metrics { grid-template-columns: 1fr 1fr; gap: 20px; }
.evp-dashboard { padding: 30px 20px; }
.evp-hud-card { display: contents; }
.evp-title { font-size: 38px; }
.evp-db-id { font-size: 24px; }
}

View File

@@ -2,53 +2,89 @@
:root {
--ev-primary: #111111;
--ev-accent: #E31E24;
--ev-text-muted: #666666;
--ev-bg-light: #F8F9FA;
--ev-card-bg: #FFFFFF;
--ev-radius: 20px;
--ev-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
--ev-accent-soft: rgba(227, 30, 36, 0.1);
--ev-text-muted: #64748B;
--ev-bg-light: #F8FAFC;
--ev-card-bg: rgba(255, 255, 255, 0.8);
--ev-radius-lg: 32px;
--ev-radius-md: 20px;
--ev-radius-sm: 12px;
--ev-shadow-premium: 0 20px 50px rgba(0, 0, 0, 0.06);
--ev-glass-border: rgba(255, 255, 255, 0.5);
}
.ev-section {
padding: 100px 0;
background-color: #fff;
font-family: 'Manrope', sans-serif;
padding: 120px 0;
background-color: #FDFDFD;
font-family: 'Inter', system-ui, -apple-system, sans-serif;
overflow: hidden;
position: relative;
}
/* Background Blobs */
.ev-section::before,
.ev-section::after {
content: '';
position: absolute;
width: 600px;
height: 600px;
border-radius: 50%;
filter: blur(120px);
z-index: 0;
opacity: 0.4;
}
.ev-section::before {
background: radial-gradient(circle, #E31E24 0%, transparent 70%);
top: -200px;
right: -200px;
}
.ev-section::after {
background: radial-gradient(circle, #3B82F6 0%, transparent 70%);
bottom: -200px;
left: -200px;
}
.ev-container {
max-width: 1300px;
margin: 0 auto;
padding: 0 30px;
padding: 0 40px;
position: relative;
z-index: 1;
}
.ev-grid {
display: grid;
grid-template-columns: 1.1fr 0.9fr;
gap: 60px;
grid-template-columns: 1.1fr 1.2fr;
gap: 80px;
align-items: center;
}
/* Left Content */
.ev-badge {
display: inline-block;
padding: 6px 16px;
display: inline-flex;
align-items: center;
padding: 8px 18px;
border-radius: 100px;
font-size: 14px;
font-weight: 600;
margin-bottom: 24px;
background: #fff;
position: relative;
font-size: 13px;
font-weight: 700;
margin-bottom: 32px;
background: #FFFFFF;
border: 1px solid #E2E8F0;
color: #1E293B;
text-transform: uppercase;
letter-spacing: 0.5px;
box-shadow: 0 4px 12px rgba(0,0,0,0.03);
}
.ev-title {
font-size: clamp(32px, 5vw, 56px);
font-weight: 800;
line-height: 1.1;
font-size: clamp(36px, 5vw, 64px);
font-weight: 900;
line-height: 1.05;
color: var(--ev-primary);
margin-bottom: 24px;
text-transform: uppercase;
margin-bottom: 28px;
letter-spacing: -1.5px;
}
.ev-title .accent {
@@ -59,128 +95,181 @@
.ev-desc {
font-size: 18px;
color: var(--ev-text-muted);
line-height: 1.6;
max-width: 540px;
margin-bottom: 48px;
line-height: 1.7;
max-width: 520px;
margin-bottom: 56px;
font-weight: 500;
}
/* Feature Grid */
.feature-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
gap: 20px;
}
.feature-card {
background: var(--ev-card-bg);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
padding: 24px;
border-radius: var(--ev-radius);
border: 1px solid #F1F4F9;
box-shadow: var(--ev-shadow);
transition: transform 0.3s ease;
border-radius: var(--ev-radius-md);
border: 1px solid var(--ev-glass-border);
box-shadow: var(--ev-shadow-premium);
transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.feature-card:hover {
transform: translateY(-5px);
transform: translateY(-8px) scale(1.02);
border-color: rgba(227, 30, 36, 0.2);
box-shadow: 0 30px 60px rgba(0, 0, 0, 0.1);
}
.feature-icon-box {
width: 44px;
height: 44px;
background: #F8FAFC;
width: 48px;
height: 48px;
background: #fff;
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 20px;
border: 1px solid #EDF2F7;
box-shadow: 0 8px 16px rgba(0,0,0,0.04);
}
.feature-card h3 {
font-size: 16px;
font-weight: 700;
margin-bottom: 12px;
font-size: 15px;
font-weight: 800;
margin-bottom: 8px;
color: var(--ev-primary);
text-transform: uppercase;
letter-spacing: 0.5px;
}
.feature-card p {
font-size: 14px;
font-size: 13px;
color: var(--ev-text-muted);
line-height: 1.5;
line-height: 1.6;
margin: 0;
font-weight: 500;
}
/* Right Dashboard */
.ev-dashboard {
position: relative;
padding: 20px;
}
.dashboard-card {
background: #fff;
border-radius: 24px;
background: rgba(255, 255, 255, 0.7);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
border-radius: var(--ev-radius-lg);
padding: 40px;
box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
border: 1px solid #F1F5F9;
box-shadow: 0 40px 100px rgba(0, 0, 0, 0.08);
border: 1px solid rgba(255, 255, 255, 0.8);
position: relative;
overflow: visible;
}
.dashboard-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 30px;
margin-bottom: 40px;
}
.dashboard-title {
font-size: 24px;
font-weight: 800;
font-size: 20px;
font-weight: 900;
margin: 0;
color: var(--ev-primary);
letter-spacing: 0.5px;
}
.live-indicator {
background: #F1F5F9;
padding: 4px 12px;
background: rgba(16, 185, 129, 0.1);
color: #059669;
padding: 6px 14px;
border-radius: 100px;
font-size: 12px;
font-weight: 600;
font-size: 11px;
font-weight: 800;
display: flex;
align-items: center;
gap: 6px;
gap: 8px;
text-transform: uppercase;
}
.live-indicator::before {
content: '';
width: 6px;
height: 6px;
width: 8px;
height: 8px;
background: #10B981;
border-radius: 50%;
box-shadow: 0 0 10px rgba(16, 185, 129, 0.5);
animation: pulse 2s infinite;
}
@keyframes pulse {
0% { transform: scale(0.95); opacity: 1; }
50% { transform: scale(1.1); opacity: 0.6; }
100% { transform: scale(0.95); opacity: 1; }
}
.van-display {
position: relative;
margin: 40px 0;
margin: 60px 0;
display: flex;
justify-content: center;
}
.van-image {
width: 100%;
width: 80%;
height: auto;
border-radius: 20px;
filter: drop-shadow(0 30px 40px rgba(0,0,0,0.1));
transition: transform 0.5s ease;
}
.van-display:hover .van-image {
transform: scale(1.05) rotate(-2deg);
}
/* Dashboard Overlays */
.overlay-card {
position: absolute;
background: #fff;
padding: 8px 12px;
border-radius: 12px;
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
background: rgba(255, 255, 255, 0.9);
backdrop-filter: blur(8px);
padding: 12px 18px;
border-radius: 16px;
box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
display: flex;
align-items: center;
gap: 10px;
gap: 12px;
z-index: 2;
min-width: 140px;
border: 1px solid rgba(255, 255, 255, 1);
animation: float 4s ease-in-out infinite;
}
@keyframes float {
0% { transform: translateY(0px); }
50% { transform: translateY(-10px); }
100% { transform: translateY(0px); }
}
.overlay-card.v-status-1 { top: 0%; left: -10%; animation-delay: 0s; }
.overlay-card.v-status-2 { top: -15%; right: 0%; animation-delay: 1s; }
.overlay-card.v-status-3 { bottom: 10%; left: -5%; animation-delay: 2s; }
.overlay-card.v-status-4 { bottom: -5%; right: -10%; animation-delay: 1.5s; }
.status-avatar {
width: 40px;
height: 40px;
border-radius: 10px;
background: #F1F5F9;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}
.overlay-card .info h4 {
@@ -193,109 +282,456 @@
.overlay-card .info p {
font-size: 11px;
margin: 0;
color: #888;
color: var(--ev-text-muted);
font-weight: 600;
}
.v-status-1 { top: 20%; left: -5%; }
.v-status-2 { top: 10%; right: -5%; }
.v-status-3 { bottom: 30%; left: -10%; }
.status-circle {
width: 36px;
height: 36px;
border-radius: 50%;
border: 3px solid #E2E8F0;
.progress-ring {
width: 38px;
height: 38px;
display: flex;
align-items: center;
justify-content: center;
font-size: 10px;
font-weight: 800;
flex-shrink: 0;
border-radius: 50%;
border: 3px solid #E2E8F0;
color: #111;
}
.status-circle.active { border-color: #3B82F6; color: #3B82F6; }
.progress-ring.success { border-color: #10B981; color: #10B981; }
.progress-ring.warning { border-color: #F59E0B; color: #F59E0B; }
/* Stats Row */
.stats-row {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 12px;
margin-top: 30px;
gap: 16px;
margin-top: 40px;
}
.stat-metric {
background: #F8FAFC;
padding: 16px;
border-radius: 16px;
background: rgba(255, 255, 255, 1);
padding: 20px 10px;
border-radius: 20px;
text-align: center;
transition: background 0.3s ease;
border: 1px solid #F1F5F9;
box-shadow: 0 4px 12px rgba(0,0,0,0.03);
transition: all 0.3s ease;
}
.stat-metric:hover {
background: #F1F5F9;
transform: translateY(-5px);
border-color: var(--ev-accent);
}
.stat-value {
display: block;
font-size: 20px;
font-weight: 800;
font-size: 22px;
font-weight: 900;
color: var(--ev-primary);
margin-bottom: 4px;
}
.stat-label {
display: block;
font-size: 11px;
font-size: 10px;
color: var(--ev-text-muted);
font-weight: 600;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.5px;
}
/* Responsiveness */
@media (max-width: 1200px) {
.ev-grid {
gap: 40px;
}
@media (max-width: 1280px) {
.ev-grid { gap: 40px; }
.overlay-card.v-status-1 { left: 0; }
.overlay-card.v-status-2 { right: 0; }
}
@media (max-width: 1024px) {
.ev-grid {
grid-template-columns: 1fr;
gap: 80px;
}
.ev-content {
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
}
.ev-desc {
margin-left: auto;
margin-right: auto;
max-width: 600px;
}
.feature-grid {
max-width: 700px;
margin: 0 auto;
max-width: 800px;
width: 100%;
}
.ev-dashboard {
max-width: 700px;
margin: 40px auto 0;
max-width: 800px;
margin: 0 auto;
}
}
@media (max-width: 640px) {
.feature-grid {
.ev-section { padding: 80px 0; }
.feature-grid { grid-template-columns: 1fr; }
.stats-row { grid-template-columns: 1fr 1fr; }
.dashboard-card { padding: 30px 20px; }
.ev-title { font-size: 40px; }
.overlay-card { transform: scale(0.8); }
.v-status-1, .v-status-2, .v-status-3, .v-status-4 { position: static; margin-bottom: 10px; }
.van-display { margin: 20px 0; }
}
/* EV2 Section - Premium Redesign */
:root {
--ev2-primary: #0A0A0B;
--ev2-accent: #E31E24;
--ev2-accent-glow: rgba(227, 30, 36, 0.4);
--ev2-text: #FFFFFF;
--ev2-text-muted: #A1A1AA;
--ev2-card-bg: rgba(23, 23, 23, 0.7);
--ev2-border: rgba(255, 255, 255, 0.1);
--ev2-radius: 24px;
}
.ev2-section {
padding: 120px 0;
background-color: var(--ev2-primary);
color: var(--ev2-text);
font-family: 'Outfit', 'Manrope', sans-serif;
overflow: hidden;
position: relative;
}
/* Abstract Background Elements */
.ev2-section::before {
content: '';
position: absolute;
top: -10%;
right: -10%;
width: 40%;
height: 40%;
background: radial-gradient(circle, var(--ev2-accent-glow) 0%, transparent 70%);
z-index: 0;
pointer-events: none;
}
.ev2-container {
max-width: 1300px;
margin: 0 auto;
padding: 0 30px;
position: relative;
z-index: 1;
}
.ev2-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: center;
}
/* Left Content */
.ev2-badge {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 16px;
border-radius: 100px;
font-size: 13px;
font-weight: 700;
margin-bottom: 24px;
background: rgba(227, 30, 36, 0.1);
color: var(--ev2-accent);
border: 1px solid rgba(227, 30, 36, 0.2);
text-transform: uppercase;
letter-spacing: 1px;
}
.ev2-badge::before {
content: '';
width: 6px;
height: 6px;
background: var(--ev2-accent);
border-radius: 50%;
box-shadow: 0 0 10px var(--ev2-accent);
animation: pulse 2s infinite;
}
@keyframes pulse {
0% { transform: scale(1); opacity: 1; }
50% { transform: scale(1.5); opacity: 0.5; }
100% { transform: scale(1); opacity: 1; }
}
.ev2-title {
font-size: clamp(40px, 6vw, 72px);
font-weight: 900;
line-height: 1;
margin-bottom: 30px;
text-transform: uppercase;
}
.ev2-title .glow {
color: var(--ev2-accent);
display: block;
text-shadow: 0 0 30px var(--ev2-accent-glow);
}
.ev2-desc {
font-size: 20px;
color: var(--ev2-text-muted);
line-height: 1.6;
max-width: 580px;
margin-bottom: 50px;
}
/* Feature Stack */
.ev2-features {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
}
.ev2-feature-item {
padding: 24px;
background: var(--ev2-card-bg);
backdrop-filter: blur(10px);
border: 1px solid var(--ev2-border);
border-radius: 20px;
transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.ev2-feature-item:hover {
transform: translateY(-8px);
border-color: rgba(227, 30, 36, 0.4);
background: rgba(23, 23, 23, 0.9);
}
.ev2-icon-wrap {
width: 50px;
height: 50px;
background: rgba(255, 255, 255, 0.05);
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 20px;
color: var(--ev2-accent);
}
.ev2-feature-item h3 {
font-size: 18px;
font-weight: 700;
margin-bottom: 12px;
letter-spacing: -0.5px;
}
.ev2-feature-item p {
font-size: 14px;
color: var(--ev2-text-muted);
line-height: 1.5;
margin: 0;
}
/* Right Side - Visual Interface */
.ev2-visual-wrap {
position: relative;
}
.ev2-main-card {
background: linear-gradient(135deg, #171719 0%, #0A0A0B 100%);
border-radius: 32px;
padding: 40px;
border: 1px solid var(--ev2-border);
box-shadow: 0 40px 100px rgba(0, 0, 0, 0.5);
position: relative;
overflow: hidden;
}
.ev2-main-card::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(180deg, transparent 0%, rgba(227, 30, 36, 0.05) 100%);
pointer-events: none;
}
.ev2-card-header {
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 40px;
}
.ev2-tagline {
font-size: 12px;
font-weight: 800;
color: var(--ev2-accent);
letter-spacing: 2px;
text-transform: uppercase;
}
.ev2-id {
font-size: 28px;
font-weight: 900;
color: #fff;
margin-top: 5px;
}
.ev2-status-pill {
background: rgba(16, 185, 129, 0.1);
color: #10B981;
padding: 6px 14px;
border-radius: 100px;
font-size: 12px;
font-weight: 700;
display: flex;
align-items: center;
gap: 6px;
}
.ev2-image-box {
position: relative;
margin: 30px 0;
border-radius: 20px;
overflow: hidden;
}
.ev2-image-box img {
width: 100%;
height: auto;
display: block;
transform: scale(1.05);
transition: transform 0.8s ease;
}
.ev2-main-card:hover .ev2-image-box img {
transform: scale(1);
}
/* Floating HUD elements */
.ev2-hud {
position: absolute;
padding: 15px;
background: rgba(10, 10, 11, 0.8);
backdrop-filter: blur(12px);
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 16px;
z-index: 10;
}
.hud-1 {
top: 30%;
right: -20px;
width: 180px;
}
.hud-2 {
bottom: 20%;
left: -20px;
width: 160px;
}
.hud-label {
font-size: 10px;
color: var(--ev2-text-muted);
text-transform: uppercase;
font-weight: 700;
margin-bottom: 5px;
}
.hud-value {
font-size: 20px;
font-weight: 900;
color: #fff;
}
.hud-progress {
height: 4px;
background: rgba(255, 255, 255, 0.1);
border-radius: 2px;
margin-top: 10px;
}
.hud-bar {
height: 100%;
background: var(--ev2-accent);
border-radius: 2px;
box-shadow: 0 0 10px var(--ev2-accent);
}
/* Bottom Metrics */
.ev2-metrics {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
margin-top: 40px;
}
.metric-box {
text-align: left;
}
.m-val {
font-size: 24px;
font-weight: 900;
display: block;
color: #fff;
}
.m-label {
font-size: 11px;
color: var(--ev2-text-muted);
font-weight: 600;
}
/* Responsiveness */
@media (max-width: 1024px) {
.ev2-grid {
grid-template-columns: 1fr;
gap: 60px;
}
.ev2-content {
text-align: center;
}
.ev2-desc {
margin-left: auto;
margin-right: auto;
}
.ev2-features {
max-width: 700px;
margin: 0 auto;
}
.ev2-visual-wrap {
max-width: 600px;
margin: 0 auto;
}
.hud-1, .hud-2 {
display: none;
}
}
@media (max-width: 640px) {
.ev2-features {
grid-template-columns: 1fr;
}
.stats-row {
.ev2-title {
font-size: 40px;
}
.ev2-metrics {
grid-template-columns: 1fr 1fr;
}
.dashboard-card {
padding: 20px;
}
.overlay-card {
display: none; /* Hide complex overlays on small mobile for better layout */
}
}

View File

@@ -128,10 +128,9 @@
}
.elementor-5180 .elementor-element.elementor-element-846e53d .logo-mobile {
width: 200px !important;
/* Extremely clear and visible size */
width: 180px !important; /* Base mobile size */
height: auto !important;
min-width: 200px !important;
min-width: 100px !important; /* Allow it to shrink if needed */
}
/* 7. Menu Trigger (Hamburger) alignment */
@@ -163,7 +162,21 @@
}
}
/* Small Device Optimization */
/* 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;
@@ -173,10 +186,11 @@
.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: 190px !important;
width: 155px !important; /* Scaled down for tiny screens */
}
}
@@ -217,4 +231,56 @@
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;
}
}

View File

@@ -26258,12 +26258,14 @@ body[data-elementor-device-mode="widescreen"] .elementor-widget-logico_navigatio
@media only screen and (min-width: 1021px) {
.logico-theme-style-rounded .slide-sidebar-wrapper.slide-sidebar-position-left.active {
right:initial;
left: 20px
left: 20px;
z-index: 100000 !important;
}
.logico-theme-style-rounded .slide-sidebar-wrapper.slide-sidebar-position-right.active {
right: 20px;
left: initial
left: initial;
z-index: 100000 !important;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 438 KiB

After

Width:  |  Height:  |  Size: 498 KiB

BIN
assets/images/ev2-van.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 712 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 672 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 528 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

View File

@@ -58,7 +58,7 @@
<div id="page" class="hfeed site">
<header id="masthead" itemscope="itemscope" itemtype="https://schema.org/WPHeader">
<p class="main-title bhf-hidden" itemprop="headline">
<a href="https://demo.artureanec.com/themes/logico-rounded/" title="Logico" rel="home">Logico</a>
<a href="#" title="Logico" rel="home">Logico</a>
</p>
<div data-elementor-type="wp-post" data-elementor-id="2259" class="elementor elementor-2259">
@@ -99,7 +99,7 @@
data-widget_type="logico_breadcrumbs.default">
<div class="elementor-widget-container">
<nav class="breadcrumbs">
<a href="https://demo.artureanec.com/themes/logico-rounded/">Home</a>
<a href="#">Home</a>
<span class="delimiter">/</span>
<span class="current">Blog Classic</span>
</nav>
@@ -148,43 +148,41 @@
5 / 2024</span>
<span class="post-meta-item post-meta-item-author">
<a
href="https://demo.artureanec.com/themes/logico-rounded/author/admin/">Din
href="#">Din
Parker</a>
</span>
</div>
<div class="post-labels">
<div class="post-categories">
<a class="post-category-item"
href="https://demo.artureanec.com/themes/logico-rounded/category/train-freight/">Train
href="#">Train
Freight</a>
</div>
</div>
<div class="post-media-wrapper">
<div class="post-media">
<a
href="https://demo.artureanec.com/themes/logico-rounded/tips-and-strategies-2/">
<a href="#">
<picture>
<source media="(max-width: 480px)"
sizes="(max-width: 480px) 480px"
srcset="https://8ded8880.delivery.rocketcdn.me/themes/logico-rounded/wp-content/uploads/2024/07/blog-post-pic-18-480x480.jpg 480w">
srcset="assets/images/blog-post-pic-18-480x480.jpg 480w">
<source media="(max-width: 660px)"
sizes="(max-width: 660px) 660px"
srcset="https://8ded8880.delivery.rocketcdn.me/themes/logico-rounded/wp-content/uploads/2024/07/blog-post-pic-18-680x680.jpg 660w">
srcset="assets/images/blog-post-pic-18-680x680.jpg 660w">
<source media="(max-width: 840px)"
sizes="(max-width: 840px) 840px"
srcset="https://8ded8880.delivery.rocketcdn.me/themes/logico-rounded/wp-content/uploads/2024/07/blog-post-pic-18-840x840.jpg 840w">
srcset="assets/images/blog-post-pic-18-840x840.jpg 840w">
<img decoding="async"
alt="blog-post-pic-18"
title="blog-post-pic-18"
src="https://8ded8880.delivery.rocketcdn.me/themes/logico-rounded/wp-content/uploads/2024/07/blog-post-pic-18-995x467.jpg"
src="assets/images/blog-post-pic-18-995x467.jpg"
class="attachment-post-thumbnail size-post-thumbnail wp-post-image" />
</picture>
</a>
</div>
</div>
<h5 class="post-title">
<a
href="https://demo.artureanec.com/themes/logico-rounded/tips-and-strategies-2/">Tips
<a href="#">Tips
And Strategies</a>
</h5>
<div class="post-content">Frigate mackerel snake
@@ -196,8 +194,8 @@
Pacific hake false trevally queen parrotfish black
prickleback...</div>
<div class="post-more-button">
<a href="https://demo.artureanec.com/themes/logico-rounded/tips-and-strategies-2/"
class="logico-alter-button">Explorer more</a>
<a href="#" class="logico-alter-button">Explorer
more</a>
</div>
</div>
</div>
@@ -209,43 +207,40 @@
class="post-meta-item post-meta-item-date">Jul.
5 / 2024</span>
<span class="post-meta-item post-meta-item-author">
<a
href="https://demo.artureanec.com/themes/logico-rounded/author/admin/">Din
<a href="#">Din
Parker</a>
</span>
</div>
<div class="post-labels">
<div class="post-categories">
<a class="post-category-item"
href="https://demo.artureanec.com/themes/logico-rounded/category/train/">Train</a>
<a class="post-category-item" href="#">Train</a>
</div>
</div>
<div class="post-media-wrapper">
<div class="post-media">
<a
href="https://demo.artureanec.com/themes/logico-rounded/expensive-buildings-projects-2/">
href="#">
<picture>
<source media="(max-width: 480px)"
sizes="(max-width: 480px) 480px"
srcset="https://8ded8880.delivery.rocketcdn.me/themes/logico-rounded/wp-content/uploads/2024/07/blog-post-pic-17-480x480.jpg 480w">
srcset="assets/images/blog-post-pic-17-480x480.jpg 480w">
<source media="(max-width: 660px)"
sizes="(max-width: 660px) 660px"
srcset="https://8ded8880.delivery.rocketcdn.me/themes/logico-rounded/wp-content/uploads/2024/07/blog-post-pic-17-680x680.jpg 660w">
srcset="assets/images/blog-post-pic-17-680x680.jpg 660w">
<source media="(max-width: 840px)"
sizes="(max-width: 840px) 840px"
srcset="https://8ded8880.delivery.rocketcdn.me/themes/logico-rounded/wp-content/uploads/2024/07/blog-post-pic-17-840x840.jpg 840w">
srcset="assets/images/blog-post-pic-17-840x840.jpg 840w">
<img decoding="async"
alt="blog-post-pic-17"
title="blog-post-pic-17"
src="https://8ded8880.delivery.rocketcdn.me/themes/logico-rounded/wp-content/uploads/2024/07/blog-post-pic-17-995x467.jpg"
src="assets/images/blog-post-pic-17-995x467.jpg"
class="attachment-post-thumbnail size-post-thumbnail wp-post-image" />
</picture>
</a>
</div>
</div>
<h5 class="post-title">
<a
href="https://demo.artureanec.com/themes/logico-rounded/expensive-buildings-projects-2/">Expensive
<a href="#">Expensive
Buildings Projects</a>
</h5>
<div class="post-content">Reedfish bonefish trahira
@@ -257,8 +252,8 @@
Pacific hake false trevally queen parrotfish black
prickleback...</div>
<div class="post-more-button">
<a href="https://demo.artureanec.com/themes/logico-rounded/expensive-buildings-projects-2/"
class="logico-alter-button">Explorer more</a>
<a href="#" class="logico-alter-button">Explorer
more</a>
</div>
</div>
</div>
@@ -284,31 +279,28 @@
</div>
<div class="post-media-wrapper">
<div class="post-media">
<a
href="https://demo.artureanec.com/themes/logico-rounded/planning-point-of-view-2/">
<a href="#">
<picture>
<source media="(max-width: 480px)"
sizes="(max-width: 480px) 480px"
srcset="https://8ded8880.delivery.rocketcdn.me/themes/logico-rounded/wp-content/uploads/2024/07/blog-post-pic-16-480x480.jpg 480w">
srcset="assets/images/blog-post-pic-16-480x480.jpg 480w">
<source media="(max-width: 660px)"
sizes="(max-width: 660px) 660px"
srcset="https://8ded8880.delivery.rocketcdn.me/themes/logico-rounded/wp-content/uploads/2024/07/blog-post-pic-16-680x680.jpg 660w">
srcset="assets/images/blog-post-pic-16-680x680.jpg 660w">
<source media="(max-width: 840px)"
sizes="(max-width: 840px) 840px"
srcset="https://8ded8880.delivery.rocketcdn.me/themes/logico-rounded/wp-content/uploads/2024/07/blog-post-pic-16-840x840.jpg 840w">
srcset="assets/images/blog-post-pic-16-840x840.jpg 840w">
<img decoding="async"
alt="blog-post-pic-16"
title="blog-post-pic-16"
src="https://8ded8880.delivery.rocketcdn.me/themes/logico-rounded/wp-content/uploads/2024/07/blog-post-pic-16-995x467.jpg"
src="assets/images/blog-post-pic-16-995x467.jpg"
class="attachment-post-thumbnail size-post-thumbnail wp-post-image" />
</picture>
</a>
</div>
</div>
<h5 class="post-title">
<a
href="https://demo.artureanec.com/themes/logico-rounded/planning-point-of-view-2/">Planning
Point Of View</a>
<a href="#">Planning Point Of View</a>
</h5>
<div class="post-content">Link salmon cherry salmon
combtail gourami frigate mackerel snake mackerel.
@@ -319,8 +311,8 @@
Pacific hake false trevally queen parrotfish
black...</div>
<div class="post-more-button">
<a href="https://demo.artureanec.com/themes/logico-rounded/planning-point-of-view-2/"
class="logico-alter-button">Explorer more</a>
<a href="#" class="logico-alter-button">Explorer
more</a>
</div>
</div>
</div>
@@ -334,14 +326,13 @@
<span aria-label="Page 1" aria-current="page"
class="page-numbers current">1</span>
<a aria-label="Page 2" class="page-numbers"
href="https://demo.artureanec.com/themes/logico-rounded/blog-classic/?20ae69e-paged=2">2</a>
href="#">2</a>
<a aria-label="Page 3" class="page-numbers"
href="https://demo.artureanec.com/themes/logico-rounded/blog-classic/?20ae69e-paged=3">3</a>
href="#">3</a>
<span class="page-numbers dots">&hellip;</span>
<a aria-label="Page 7" class="page-numbers"
href="https://demo.artureanec.com/themes/logico-rounded/blog-classic/?20ae69e-paged=7">7</a>
<a class="next page-numbers"
href="https://demo.artureanec.com/themes/logico-rounded/blog-classic/?20ae69e-paged=2">
href="#">7</a>
<a class="next page-numbers" href="#">
<span class="button-icon"></span>
</a>
</div>

View File

@@ -1,16 +0,0 @@
const fs = require('fs');
const content = fs.readFileSync('c:/xampp/htdocs/doormileweb/assets/css/theme.css', 'utf8');
const fontFaceRegex = /@font-face\s*{([^}]*)}/g;
let match;
let count = 0;
while ((match = fontFaceRegex.exec(content)) !== null) {
const block = match[1];
if (!block.includes('src:')) {
console.log(`Found @font-face without src at index ${match.index}`);
console.log(match[0]);
}
count++;
}
console.log(`Total @font-face blocks: ${count}`);

View File

@@ -1,21 +0,0 @@
const fs = require('fs');
const path = require('path');
const cssDir = 'c:/xampp/htdocs/doormileweb/assets/css';
const files = fs.readdirSync(cssDir).filter(f => f.endsWith('.css'));
files.forEach(file => {
const filePath = path.join(cssDir, file);
const content = fs.readFileSync(filePath, 'utf8');
const fontFaceRegex = /@font-face\s*{([^}]*)}/g;
let match;
while ((match = fontFaceRegex.exec(content)) !== null) {
const block = match[1];
if (!block.includes('src:')) {
console.log(`FILE: ${file}`);
console.log(match[0]);
console.log('---');
}
}
});

View File

@@ -1,37 +0,0 @@
const fs = require('fs');
const path = require('path');
const cssDir = 'c:/xampp/htdocs/doormileweb/assets/css';
const file = 'theme.css';
const filePath = path.join(cssDir, file);
const content = fs.readFileSync(filePath, 'utf8');
// Match rules
// This is a bit complex as we need to find the rule block.
// We'll simplify: look for blocks with font-family and content.
const rules = content.split('}');
rules.forEach(rule => {
if (rule.includes('content:') && rule.includes('font-family:')) {
const contentMatch = rule.match(/content:\s*['"]\\([ef][a-f0-9]+)['"]/i);
const fontMatch = rule.match(/font-family:\s*['"]?([^'";]+)['"]?/i);
if (contentMatch && fontMatch) {
const hex = contentMatch[1].toLowerCase();
const family = fontMatch[1];
// e... is usually fontello
if (hex.startsWith('e') && (family.includes('Font Awesome') || family.includes('fa-'))) {
console.log(`MISMATCH: ${hex} with ${family}`);
console.log(rule.trim());
}
// f... is usually font awesome
if (hex.startsWith('f') && family.includes('fontello')) {
console.log(`MISMATCH: ${hex} with ${family}`);
console.log(rule.trim());
}
}
}
});

View File

@@ -1,19 +0,0 @@
const fs = require('fs');
const path = require('path');
const cssDir = 'c:/xampp/htdocs/doormileweb/assets/css';
const files = fs.readdirSync(cssDir).filter(f => f.endsWith('.css'));
files.forEach(file => {
const filePath = path.join(cssDir, file);
const content = fs.readFileSync(filePath, 'utf8');
const urlRegex = /url\(['"]?([^'")]+)['"]?\)/g;
let match;
while ((match = urlRegex.exec(content)) !== null) {
const url = match[1];
if (!url.startsWith('data:') && !url.startsWith('/doormileweb/assets/')) {
console.log(`${file}: ${match[0]}`);
}
}
});

View File

@@ -1,68 +0,0 @@
const fs = require('fs');
const path = require('path');
const cssDir = 'c:/xampp/htdocs/doormileweb/assets/css';
const files = fs.readdirSync(cssDir).filter(f => f.endsWith('.css'));
files.forEach(file => {
const filePath = path.join(cssDir, file);
let content = fs.readFileSync(filePath, 'utf8');
let changed = false;
// 1. Replace external domains and /wp-content/ in URLs
// Pattern: url("https://.../wp-content/.../file.ext") -> url("/doormileweb/assets/.../file.ext")
// This is tricky because we don't know the exact mapping.
// But most fonts/images should be in assets/fonts/ or assets/images/.
// Specifically for fonts
content = content.replace(/url\(['"]?(?:https?:\/\/[^/]+)?(?:\/themes\/[^/]+)?\/wp-content\/[^'"]+\/([^'"]+\.(?:woff2?|ttf|eot|svg))['"]?\)/gi, (match, filename) => {
changed = true;
return `url(/doormileweb/assets/fonts/${filename})`;
});
// Specifically for images
content = content.replace(/url\(['"]?(?:https?:\/\/[^/]+)?(?:\/themes\/[^/]+)?\/wp-content\/[^'"]+\/([^'"]+\.(?:jpg|png|gif|svg|webp))['"]?\)/gi, (match, filename) => {
changed = true;
return `url(/doormileweb/assets/images/${filename})`;
});
// 2. Replace relative paths to fonts
// Pattern: url(../../fonts/file.ext) -> url(/doormileweb/assets/fonts/file.ext)
content = content.replace(/url\(['"]?(?:\.\.\/)+fonts\/([^'"]+)['"]?\)/gi, (match, filename) => {
changed = true;
return `url(/doormileweb/assets/fonts/${filename})`;
});
// Patterns with /plugins/ elementor ...
content = content.replace(/url\(['"]?(?:\.\.\/)+plugins\/elementor\/assets\/lib\/font-awesome\/webfonts\/([^'"]+)['"]?\)/gi, (match, filename) => {
changed = true;
return `url(/doormileweb/assets/fonts/${filename})`;
});
content = content.replace(/url\(['"]?(?:\.\.\/)+plugins\/elementor\/assets\/lib\/eicons\/fonts\/([^'"]+)['"]?\)/gi, (match, filename) => {
changed = true;
return `url(/doormileweb/assets/fonts/${filename})`;
});
// 3. Fix /assets/fonts/ -> /doormileweb/assets/fonts/
content = content.replace(/url\(?['"]?\/assets\/fonts\/([^'"]+)['"]?\)?/gi, (match, pathPart) => {
// match might include url( or just the path if I'm not careful.
// Let's refine the regex.
if (match.startsWith('url(')) {
changed = true;
return `url(/doormileweb/assets/fonts/${pathPart})`;
}
return match;
});
// General /assets/ fix
content = content.replace(/url\(['"]?\/assets\/([^'"]+)['"]?\)/gi, (match, pathPart) => {
changed = true;
return `url(/doormileweb/assets/${pathPart})`;
});
if (changed) {
console.log(`Updated paths in ${file}`);
fs.writeFileSync(filePath, content);
}
});

View File

@@ -6916,188 +6916,7 @@ include 'includes/head.php'; ?>
</div>
</div>
</div>
<div class="elementor-element elementor-element-ead59d3 e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent"
data-id="ead59d3" data-element_type="container" data-e-type="container">
<div class="elementor-element elementor-element-f35119c elementor-widget__width-initial elementor-absolute elementor-widget elementor-widget-image"
data-id="f35119c" data-element_type="widget" data-e-type="widget"
data-settings="{&quot;_position&quot;:&quot;absolute&quot;}"
data-widget_type="image.default">
<div class="elementor-widget-container">
<img loading="lazy" decoding="async" width="1050" height="854"
src="assets/images/home1-pic-1.png" class="attachment-full size-full wp-image-4141"
alt="" />
</div>
</div>
<div class="elementor-element elementor-element-56ecbb3 e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-child"
data-id="56ecbb3" data-element_type="container" data-e-type="container">
<div class="e-con-inner">
<div class="elementor-element elementor-element-47f8cbe e-con-full e-flex cut-corner-no sticky-container-off e-con e-child"
data-id="47f8cbe" data-element_type="container" data-e-type="container">
<div class="elementor-element elementor-element-cd6daaf elementor-widget elementor-widget-logico_heading"
data-id="cd6daaf" data-element_type="widget" data-e-type="widget"
data-widget_type="logico_heading.default">
<div class="elementor-widget-container">
<div class="logico-title">/ Why Businesses Choose Doormile /
</div>
</div>
</div>
<div class="elementor-element elementor-element-1b3f232 elementor-widget__width-initial elementor-invisible elementor-widget elementor-widget-logico_heading"
data-id="1b3f232" data-element_type="widget" data-e-type="widget"
data-settings="{&quot;_animation&quot;:&quot;logico_heading_animation&quot;}"
data-widget_type="logico_heading.default">
<div class="elementor-widget-container">
<h3 class="logico-title">The connected approach delivers measurable
advantages
</h3>
</div>
</div>
<div class="elementor-element elementor-element-9b7e9c9 elementor-widget__width-initial elementor-widget elementor-widget-accordion"
data-id="9b7e9c9" data-element_type="widget" data-e-type="widget"
data-widget_type="accordion.default">
<div class="elementor-widget-container">
<div class="elementor-accordion">
<div class="elementor-accordion-item">
<div id="elementor-tab-title-1631" class="elementor-tab-title"
data-tab="1" role="button"
aria-controls="elementor-tab-content-1631"
aria-expanded="false">
<span
class="elementor-accordion-icon elementor-accordion-icon-right"
aria-hidden="true">
<span class="elementor-accordion-icon-closed">
<i class="fontello icon-arrow-x-r-down"></i>
</span>
<span class="elementor-accordion-icon-opened">
<i class="fontello icon-arrow-x-r-top"></i>
</span>
</span>
<a class="elementor-accordion-title" tabindex="0">01. Single
Timeline View</a>
</div>
<div id="elementor-tab-content-1631"
class="elementor-tab-content elementor-clearfix" data-tab="1"
role="region" aria-labelledby="elementor-tab-title-1631">
<div class="accordion-card-ui">
<div class="accordion-card-icon-wrap">
<i class="fontello icon-clock-alt"></i>
</div>
<p class="accordion-card-description">Track every package
across all miles in one unified dashboard—no more
switching between vendors.</p>
</div>
</div>
</div>
<div class="elementor-accordion-item">
<div id="elementor-tab-title-1632" class="elementor-tab-title"
data-tab="2" role="button"
aria-controls="elementor-tab-content-1632"
aria-expanded="false">
<span
class="elementor-accordion-icon elementor-accordion-icon-right"
aria-hidden="true">
<span class="elementor-accordion-icon-closed">
<i class="fontello icon-arrow-x-r-down"></i>
</span>
<span class="elementor-accordion-icon-opened">
<i class="fontello icon-arrow-x-r-top"></i>
</span>
</span>
<a class="elementor-accordion-title" tabindex="0">02. End-to-End
Accountability</a>
</div>
<div id="elementor-tab-content-1632"
class="elementor-tab-content elementor-clearfix" data-tab="2"
role="region" aria-labelledby="elementor-tab-title-1632">
<p>One partner, one contract, one point of contact. We own the
entire delivery journey.</p>
</div>
</div>
<div class="elementor-accordion-item">
<div id="elementor-tab-title-1633" class="elementor-tab-title"
data-tab="3" role="button"
aria-controls="elementor-tab-content-1633"
aria-expanded="false">
<span
class="elementor-accordion-icon elementor-accordion-icon-right"
aria-hidden="true">
<span class="elementor-accordion-icon-closed">
<i class="fontello icon-arrow-x-r-down"></i>
</span>
<span class="elementor-accordion-icon-opened">
<i class="fontello icon-arrow-x-r-top"></i>
</span>
</span>
<a class="elementor-accordion-title" tabindex="0">03. AI-Powered
Predictions</a>
</div>
<div id="elementor-tab-content-1633"
class="elementor-tab-content elementor-clearfix" data-tab="3"
role="region" aria-labelledby="elementor-tab-title-1633">
<p>MileTruth™ AI predicts delays before they happen and
automatically triggers corrective actions.</p>
</div>
</div>
<div class="elementor-accordion-item">
<div id="elementor-tab-title-1634" class="elementor-tab-title"
data-tab="4" role="button"
aria-controls="elementor-tab-content-1634"
aria-expanded="false">
<span
class="elementor-accordion-icon elementor-accordion-icon-right"
aria-hidden="true">
<span class="elementor-accordion-icon-closed">
<i class="fontello icon-arrow-x-r-down"></i>
</span>
<span class="elementor-accordion-icon-opened">
<i class="fontello icon-arrow-x-r-top"></i>
</span>
</span>
<a class="elementor-accordion-title" tabindex="0">04. Complete
Visibility</a>
</div>
<div id="elementor-tab-content-1634"
class="elementor-tab-content elementor-clearfix" data-tab="4"
role="region" aria-labelledby="elementor-tab-title-1634">
<p>Real-time analytics, performance reports, and insights to
optimize your supply chain.</p>
</div>
</div>
<!-- <div class="elementor-accordion-item">
<div id="elementor-tab-title-1635" class="elementor-tab-title" data-tab="5" role="button" aria-controls="elementor-tab-content-1635" aria-expanded="false">
<span class="elementor-accordion-icon elementor-accordion-icon-right" aria-hidden="true">
<span class="elementor-accordion-icon-closed">
<i class="fontello icon-arrow-x-r-down"></i>
</span>
<span class="elementor-accordion-icon-opened">
<i class="fontello icon-arrow-x-r-top"></i>
</span>
</span>
<a class="elementor-accordion-title" tabindex="0">05. Easy payment method</a>
</div>
<div id="elementor-tab-content-1635" class="elementor-tab-content elementor-clearfix" data-tab="5" role="region" aria-labelledby="elementor-tab-title-1635">
<p>Pacific hake false trevally queen parrotfish black prickleback moss hake false trevally queen parrotfish black prichake false trevally queen parrotfish black prickleback mosskleback moss</p>
</div>
</div> -->
</div>
</div>
</div>
<div class="elementor-element elementor-element-96b6d0d elementor-widget elementor-widget-logico_button"
data-id="96b6d0d" data-element_type="widget" data-e-type="widget"
data-widget_type="logico_button.default">
<div class="elementor-widget-container">
<div class="button-widget">
<div class="button-container">
<a href="" target="_blank" class="logico-alter-button">Explore more
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<?php include 'includes/container.php'; ?>
<?php include 'includes/comparision2.php'; ?>
@@ -7265,7 +7084,7 @@ include 'includes/head.php'; ?>
data-widget_type="logico_heading.default">
<div class="elementor-widget-container">
<h3 class="logico-title">
The most important<br />things which we can show you
The most important <br />things which we can show you
</h3>
</div>
@@ -7751,310 +7570,7 @@ include 'includes/head.php'; ?>
data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
<div class="elementor-element elementor-element-5268281 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child"
data-id="5268281" data-element_type="container" data-e-type="container">
<div class="elementor-element elementor-element-06a9681 elementor-widget__width-initial elementor-widget elementor-widget-logico_wpforms"
data-id="06a9681" data-element_type="widget" data-e-type="widget"
data-widget_type="logico_wpforms.default">
<div class="elementor-widget-container">
<div class="logico-wpforms-widget">
<h5 class="wpforms-widget-heading">
<span class="logico-heading-content">Request a quote</span>
</h5>
<div class="wpforms-container wpforms-render-modern" id="wpforms-4533">
<form id="wpforms-form-4533"
class="wpforms-validate wpforms-form wpforms-ajax-form"
data-formid="4533" method="post" enctype="multipart/form-data"
action="/themes/logico-rounded/"
data-token="9f552b78910ab07b66a7ad68139db4b2"
data-token-time="1774412279">
<noscript class="wpforms-error-noscript">Please enable JavaScript in
your browser to complete this form.</noscript>
<div id="wpforms-error-noscript" style="display: none;">Please enable
JavaScript in your browser to complete this form.</div>
<div class="wpforms-field-container">
<div id="wpforms-4533-field_1-container"
class="wpforms-field wpforms-field-name wpforms-one-half wpforms-first"
data-field-id="1">
<div class="wpforms-field-wrapper logico-form-field">
<div class="logico-label-wrapper">
<div class="logico-label-placeholder">
<div class="logico-label-placeholder-text">Full name
</div>
</div>
<label class="wpforms-field-label"
for="wpforms-4533-field_1">Full name</label>
</div>
<input type="text" id="wpforms-4533-field_1"
class="wpforms-field-large" name="wpforms[fields][1]"
aria-errormessage="wpforms-4533-field_1-error">
</div>
</div>
<div id="wpforms-4533-field_3-container"
class="wpforms-field wpforms-field-email wpforms-one-half"
data-field-id="3">
<div class="wpforms-field-wrapper logico-form-field">
<div class="logico-label-wrapper">
<div class="logico-label-placeholder">
<div class="logico-label-placeholder-text">Email
</div>
</div>
<label class="wpforms-field-label"
for="wpforms-4533-field_3">Email</label>
</div>
<input type="email" id="wpforms-4533-field_3"
class="wpforms-field-large" name="wpforms[fields][3]"
spellcheck="false"
aria-errormessage="wpforms-4533-field_3-error">
</div>
</div>
<div id="wpforms-4533-field_4-container"
class="wpforms-field wpforms-field-text wpforms-one-half wpforms-first"
data-field-id="4">
<div class="wpforms-field-wrapper logico-form-field">
<div class="logico-label-wrapper">
<div class="logico-label-placeholder">
<div class="logico-label-placeholder-text">Phone
</div>
</div>
<label class="wpforms-field-label"
for="wpforms-4533-field_4">Phone</label>
</div>
<input type="text" id="wpforms-4533-field_4"
class="wpforms-field-large" name="wpforms[fields][4]"
aria-errormessage="wpforms-4533-field_4-error">
</div>
</div>
<div id="wpforms-4533-field_5-container"
class="wpforms-field wpforms-field-text wpforms-one-half"
data-field-id="5">
<div class="wpforms-field-wrapper logico-form-field">
<div class="logico-label-wrapper">
<div class="logico-label-placeholder">
<div class="logico-label-placeholder-text">Subject
</div>
</div>
<label class="wpforms-field-label"
for="wpforms-4533-field_5">Subject</label>
</div>
<input type="text" id="wpforms-4533-field_5"
class="wpforms-field-large" name="wpforms[fields][5]"
aria-errormessage="wpforms-4533-field_5-error">
</div>
</div>
<div id="wpforms-4533-field_6-container"
class="wpforms-field wpforms-field-text wpforms-one-half wpforms-first"
data-field-id="6">
<div class="wpforms-field-wrapper logico-form-field">
<div class="logico-label-wrapper">
<div class="logico-label-placeholder">
<div class="logico-label-placeholder-text">Deliver
City</div>
</div>
<label class="wpforms-field-label"
for="wpforms-4533-field_6">Deliver City</label>
</div>
<input type="text" id="wpforms-4533-field_6"
class="wpforms-field-large" name="wpforms[fields][6]"
aria-errormessage="wpforms-4533-field_6-error">
</div>
</div>
<div id="wpforms-4533-field_7-container"
class="wpforms-field wpforms-field-text wpforms-one-half"
data-field-id="7">
<div class="wpforms-field-wrapper logico-form-field">
<div class="logico-label-wrapper">
<div class="logico-label-placeholder">
<div class="logico-label-placeholder-text">City of
departure</div>
</div>
<label class="wpforms-field-label"
for="wpforms-4533-field_7">City of departure</label>
</div>
<input type="text" id="wpforms-4533-field_7"
class="wpforms-field-large" name="wpforms[fields][7]"
aria-errormessage="wpforms-4533-field_7-error">
</div>
</div>
<div id="wpforms-4533-field_8-container"
class="wpforms-field wpforms-field-select wpforms-one-half wpforms-first wpforms-field-select-style-classic"
data-field-id="8">
<div class="wpforms-field-wrapper logico-form-field">
<div class="logico-label-wrapper">
<div class="logico-label-placeholder">
<div class="logico-label-placeholder-text">Freight
Type</div>
</div>
<label class="wpforms-field-label"
for="wpforms-4533-field_8">Freight Type</label>
</div>
<div class="select-wrap wpforms-field-large">
<select id="wpforms-4533-field_8"
class="wpforms-field-large"
name="wpforms[fields][8]">
<option value="Truck Freight"
class="choice-1 depth-1">Truck Freight</option>
<option value="Ship Freight"
class="choice-2 depth-1">Ship Freight</option>
<option value="Train Freight"
class="choice-3 depth-1">Train Freight</option>
<option value="Air Freight"
class="choice-4 depth-1">Air Freight</option>
</select>
</div>
</div>
</div>
<div id="wpforms-4533-field_9-container"
class="wpforms-field wpforms-field-select wpforms-one-half wpforms-field-select-style-classic"
data-field-id="9">
<div class="wpforms-field-wrapper logico-form-field">
<div class="logico-label-wrapper">
<div class="logico-label-placeholder">
<div class="logico-label-placeholder-text">Incoterms
</div>
</div>
<label class="wpforms-field-label"
for="wpforms-4533-field_9">Incoterms</label>
</div>
<div class="select-wrap wpforms-field-large">
<select id="wpforms-4533-field_9"
class="wpforms-field-large"
name="wpforms[fields][9]">
<option value="EXW" class="choice-1 depth-1">EXW
</option>
<option value="FCA" class="choice-2 depth-1">FCA
</option>
<option value="FAS" class="choice-3 depth-1">FAS
</option>
<option value="FOB" class="choice-4 depth-1">FOB
</option>
</select>
</div>
</div>
</div>
<div id="wpforms-4533-field_10-container"
class="wpforms-field wpforms-field-text wpforms-one-half wpforms-first"
data-field-id="10">
<div class="wpforms-field-wrapper logico-form-field">
<div class="logico-label-wrapper">
<div class="logico-label-placeholder">
<div class="logico-label-placeholder-text">Weight
</div>
</div>
<label class="wpforms-field-label"
for="wpforms-4533-field_10">Weight</label>
</div>
<input type="text" id="wpforms-4533-field_10"
class="wpforms-field-large" name="wpforms[fields][10]"
aria-errormessage="wpforms-4533-field_10-error">
</div>
</div>
<div id="wpforms-4533-field_2-container"
class="wpforms-field wpforms-field-text" data-field-type="text"
data-field-id="2">
<label class="wpforms-field-label"
for="wpforms-4533-field_2">Freight of Subject</label>
<input type="text" id="wpforms-4533-field_2"
class="wpforms-field-medium" name="wpforms[fields][2]">
</div>
<div id="wpforms-4533-field_11-container"
class="wpforms-field wpforms-field-text wpforms-one-half"
data-field-id="11">
<div class="wpforms-field-wrapper logico-form-field">
<div class="logico-label-wrapper">
<div class="logico-label-placeholder">
<div class="logico-label-placeholder-text">Height
</div>
</div>
<label class="wpforms-field-label"
for="wpforms-4533-field_11">Height</label>
</div>
<input type="text" id="wpforms-4533-field_11"
class="wpforms-field-large" name="wpforms[fields][11]"
aria-errormessage="wpforms-4533-field_11-error">
</div>
</div>
<div id="wpforms-4533-field_12-container"
class="wpforms-field wpforms-field-checkbox wpforms-one-half wpforms-first wpforms-list-inline"
data-field-id="12">
<fieldset>
<legend class="wpforms-field-label wpforms-label-hide"
aria-hidden="false">Checkboxes</legend>
<ul id="wpforms-4533-field_12">
<li class="choice-1 depth-1">
<input type="checkbox" id="wpforms-4533-field_12_1"
name="wpforms[fields][12][]" value="Fragile"
aria-errormessage="wpforms-4533-field_12_1-error">
<label class="wpforms-field-label-inline"
for="wpforms-4533-field_12_1">Fragile</label>
</li>
<li class="choice-2 depth-1">
<input type="checkbox" id="wpforms-4533-field_12_2"
name="wpforms[fields][12][]" value="Express"
aria-errormessage="wpforms-4533-field_12_2-error">
<label class="wpforms-field-label-inline"
for="wpforms-4533-field_12_2">Express</label>
</li>
</ul>
</fieldset>
</div>
<div id="wpforms-4533-field_13-container"
class="wpforms-field wpforms-field-radio wpforms-one-half wpforms-list-inline"
data-field-id="13">
<fieldset>
<legend class="wpforms-field-label wpforms-label-hide"
aria-hidden="false">Multiple Choice</legend>
<ul id="wpforms-4533-field_13">
<li class="choice-1 depth-1">
<input type="radio" id="wpforms-4533-field_13_1"
name="wpforms[fields][13]" value="Insurance"
aria-errormessage="wpforms-4533-field_13_1-error">
<label class="wpforms-field-label-inline"
for="wpforms-4533-field_13_1">Insurance</label>
</li>
<li class="choice-2 depth-1">
<input type="radio" id="wpforms-4533-field_13_2"
name="wpforms[fields][13]" value="Packaging"
aria-errormessage="wpforms-4533-field_13_2-error">
<label class="wpforms-field-label-inline"
for="wpforms-4533-field_13_2">Packaging</label>
</li>
</ul>
</fieldset>
</div>
<script>
(function () {
const style = document.createElement('style');
style.appendChild(document.createTextNode('#wpforms-5719-field_1-container,#wpforms-4533-field_2-container { position: absolute !important; overflow: hidden !important; display: inline !important; height: 1px !important; width: 1px !important; z-index: -1000 !important; padding: 0 !important; } #wpforms-5719-field_1-container,#wpforms-4533-field_2-container input { visibility: hidden; } #wpforms-conversational-form-page #wpforms-5719-field_1-container,#wpforms-4533-field_2-container label { counter-increment: none; }'));
document.head.appendChild(style);
document.currentScript?.remove();
}
)();
</script>
</div>
<!-- .wpforms-field-container -->
<div class="wpforms-submit-container">
<input type="hidden" name="wpforms[id]" value="4533">
<input type="hidden" name="page_title" value="Transportation">
<input type="hidden" name="page_url"
value="https://demo.artureanec.com/themes/logico-rounded/">
<input type="hidden" name="url_referer" value="">
<input type="hidden" name="page_id" value="59">
<input type="hidden" name="wpforms[post_id]" value="59">
<button type="submit" name="wpforms[submit]"
id="wpforms-submit-4533"
class="logico-alter-button wpforms-submit"
data-alt-text="Sending..." data-submit-text="Request a Quote"
aria-live="assertive" value="wpforms-submit">Request a
Quote</button>
<img decoding="async" src="assets/images/submit-spin.svg"
class="wpforms-submit-spinner" style="display: none;" width="26"
height="26" alt="Loading">
</div>
</form>
</div>
<!-- .wpforms-container -->
</div>
</div>
</div>
<?php include 'includes/contact.php'; ?>
</div>
<div class="elementor-element elementor-element-6612566 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child"
data-id="6612566" data-element_type="container" data-e-type="container">

View File

@@ -313,291 +313,111 @@
}
/* ─── LARGE DESKTOP (1440px+) ─── */
/* ─── ULTRA-WIDE SCREENS (1440px to 2560px+) ─── */
/* Merged and optimized for cleaner structure */
@media (min-width: 1440px) {
.dm-compare-section {
max-width: 1440px;
padding: 72px 52px;
background: #1f1f1f;
border-radius: 20px;
/* margin: 0px 50px; */
}
.dm-compare-section::before {
background-size: 80px 80px;
padding: 0px 20px;
}
.dm-compare-section .dm-section-header {
margin-bottom: 64px;
}
.dm-compare-section .dm-eyebrow {
font-size: 12px;
letter-spacing: 3.8px;
gap: 12px;
margin-bottom: 20px;
}
.dm-compare-section .dm-eyebrow::before,
.dm-compare-section .dm-eyebrow::after {
width: 32px;
}
.dm-compare-section .dm-section-title {
font-size: clamp(40px, 5vw, 68px);
letter-spacing: -1.1px;
}
.dm-compare-section .dm-section-sub {
font-size: 16px;
margin-top: 20px;
line-height: 1.72;
}
.dm-compare-section .dm-compare-wrap {
border-radius: 24px;
}
.dm-compare-section .dm-col-head {
padding: 30px 44px;
font-size: 13.5px;
letter-spacing: 2.8px;
gap: 12px;
}
.dm-compare-section .dm-col-head-icon {
width: 30px;
height: 30px;
border-radius: 9px;
}
.dm-compare-section .dm-col-head-icon svg {
width: 15px;
height: 15px;
}
.dm-compare-section .dm-cell {
padding: 30px 44px;
gap: 18px;
font-size: 15.5px;
}
.dm-compare-section .dm-cell-icon {
width: 34px;
height: 34px;
}
.dm-compare-section .dm-cell-icon svg {
width: 16px;
height: 16px;
}
.dm-compare-section .dm-footer-cell {
padding: 24px 44px;
font-size: 12.5px;
letter-spacing: 1.8px;
max-width: 1400px; /* Increased for wider screens */
padding: 80px 40px;
}
.dm-compare-section .dm-section-title { font-size: clamp(40px, 4vw, 72px); }
.dm-compare-section .dm-col-head { padding: 32px 48px; font-size: 14px; }
.dm-compare-section .dm-cell { padding: 32px 48px; font-size: 16px; }
}
/* ─── EXTRA-LARGE DESKTOP (1920px+) ─── */
@media (min-width: 1920px) {
.dm-compare-section {
max-width: 1920px;
padding: 72px 52px;
background: #1f1f1f;
border-radius: 20px;
}
.dm-compare-section::before {
background-size: 90px 90px;
}
.dm-compare-section .dm-section-header {
margin-bottom: 72px;
}
.dm-compare-section .dm-eyebrow {
font-size: 13px;
letter-spacing: 4px;
gap: 13px;
margin-bottom: 22px;
}
.dm-compare-section .dm-eyebrow::before,
.dm-compare-section .dm-eyebrow::after {
width: 36px;
}
.dm-compare-section .dm-section-title {
font-size: clamp(46px, 5vw, 76px);
letter-spacing: -1.3px;
}
.dm-compare-section .dm-section-sub {
font-size: 17px;
margin-top: 22px;
line-height: 1.75;
}
.dm-compare-section .dm-compare-wrap {
border-radius: 26px;
box-shadow: 0 10px 60px rgba(0,0,0,0.1);
}
.dm-compare-section .dm-col-head {
padding: 32px 52px;
font-size: 14px;
letter-spacing: 3px;
gap: 13px;
}
.dm-compare-section .dm-col-head-icon {
width: 32px;
height: 32px;
border-radius: 10px;
}
.dm-compare-section .dm-col-head-icon svg {
width: 16px;
height: 16px;
}
.dm-compare-section .dm-cell {
padding: 34px 52px;
gap: 20px;
font-size: 16px;
}
.dm-compare-section .dm-cell-icon {
width: 36px;
height: 36px;
}
.dm-compare-section .dm-cell-icon svg {
width: 17px;
height: 17px;
}
.dm-compare-section .dm-footer-cell {
padding: 26px 52px;
font-size: 13px;
letter-spacing: 2px;
}
}
/* ─── ULTRA-WIDE (2560px+) ─── */
@media (min-width: 2560px) {
.dm-compare-section {
max-width: 2560px;
padding: 80px 72px 50px;
background: #1f1f1f;
}
.dm-compare-section::before {
background-size: 100px 100px;
}
.dm-compare-section .dm-section-header {
margin-bottom: 84px;
}
.dm-compare-section .dm-eyebrow {
font-size: 14px;
letter-spacing: 4.5px;
gap: 14px;
margin-bottom: 26px;
}
.dm-compare-section .dm-eyebrow::before,
.dm-compare-section .dm-eyebrow::after {
width: 42px;
}
.dm-compare-section .dm-section-title {
font-size: clamp(52px, 5vw, 84px);
letter-spacing: -1.5px;
}
.dm-compare-section .dm-section-sub {
font-size: 18.5px;
margin-top: 26px;
line-height: 1.8;
}
.dm-compare-section .dm-compare-wrap {
border-radius: 28px;
box-shadow: 0 12px 70px rgba(0,0,0,0.1);
}
.dm-compare-section .dm-col-head {
padding: 36px 60px;
font-size: 15px;
letter-spacing: 3.5px;
gap: 14px;
}
.dm-compare-section .dm-col-head-icon {
width: 36px;
height: 36px;
border-radius: 11px;
}
.dm-compare-section .dm-col-head-icon svg {
width: 18px;
height: 18px;
}
.dm-compare-section .dm-cell {
padding: 38px 60px;
gap: 22px;
font-size: 17px;
line-height: 1.55;
}
.dm-compare-section .dm-cell-icon {
width: 40px;
height: 40px;
}
.dm-compare-section .dm-cell-icon svg {
width: 19px;
height: 19px;
}
.dm-compare-section .dm-footer-cell {
padding: 28px 60px;
font-size: 14px;
letter-spacing: 2.2px;
}
.dm-compare-section .dm-footer-cell .dm-dot {
width: 8px;
height: 8px;
}
}
/* ─── TABLET (768px to 1200px) ─── */
@media (max-width: 1200px) {
.dm-compare-section { padding: 60px 16px 70px;background: #1f1f1f; }
.dm-compare-section {
padding: 60px 24px;
/* background: #1f1f1f; Remove if already set globally or in parent */
}
.dm-compare-section .dm-section-title { font-size: clamp(32px, 6vw, 48px); }
.dm-compare-section .dm-col-head,
.dm-compare-section .dm-cell { padding: 20px 20px; }
.dm-compare-section .dm-footer-cell { padding: 18px 20px; }
.dm-compare-section .dm-col-head { font-size: 11px; letter-spacing: 1.5px; }
.dm-compare-section .dm-cell {
padding: 24px 30px;
font-size: 14px;
}
.dm-compare-section .dm-footer-cell { padding: 16px 30px; }
}
/* ── RESPONSIVE (MOBILE) ── */
@media (max-width: 680px) {
.dm-compare-section { padding: 60px 16px 70px;background: #1f1f1f; border-radius: 20px; }
.dm-compare-section .dm-col-head,
.dm-compare-section .dm-cell { padding: 20px 20px; }
.dm-compare-section .dm-footer-cell { padding: 18px 20px; }
.dm-compare-section .dm-col-head { font-size: 11px; letter-spacing: 1.5px; }
/* ─── MOBILE (Below 768px) ── */
@media (max-width: 767px) {
.dm-compare-section {
padding: 40px 16px;
border-radius: 0; /* Full width mobile feel */
}
.dm-compare-section .dm-section-header { margin-bottom: 32px; }
.dm-compare-section .dm-section-sub { font-size: 14px; padding: 0 10px; }
/* Stack the layout */
.dm-compare-section .dm-col-headers,
.dm-compare-section .dm-compare-row,
.dm-compare-section .dm-compare-footer {
grid-template-columns: 1fr;
}
/* Remove vertical divider */
.dm-compare-section .dm-col-headers::after { display: none; }
.dm-compare-section .dm-col-head {
justify-content: center;
text-align: center;
padding: 20px;
border-bottom: 1px solid var(--dm-border);
}
.dm-compare-section .dm-col-head.dm-doormile {
border-top: 1px solid var(--dm-red-border);
}
.dm-compare-section .dm-cell {
padding: 18px 20px;
border-left: none !important;
border-right: none !important;
}
/* Distinguish columns in stacked mode */
.dm-compare-section .dm-cell.dm-left {
background: #fafafa;
border-bottom: 1px dashed var(--dm-border);
}
.dm-compare-section .dm-cell.dm-right {
background: var(--dm-red-light);
border-bottom: 1px solid var(--dm-border);
}
.dm-compare-section .dm-compare-row:last-child .dm-cell.dm-right {
border-bottom: none;
}
/* Footer adjustments */
.dm-compare-section .dm-footer-cell {
text-align: center;
justify-content: center;
padding: 16px;
font-size: 10px;
}
.dm-compare-section .dm-footer-cell.dm-right {
border-left: none;
border-top: 1px solid var(--dm-red-border);
}
/* Fix Icon/Text scale for mobile */
.dm-compare-section .dm-cell-icon {
width: 28px;
height: 28px;
}
.dm-compare-section .dm-cell-text {
font-size: 14px;
}
}
</style>
<!-- ── SECTION HTML ── -->
@@ -607,7 +427,7 @@
<div class="dm-section-header">
<div class="dm-eyebrow">Why It Matters</div>
<h2 class="dm-section-title" style="color:white;">Two Approaches.<br><em>One Clear Winner.</em></h2>
<h2 class="dm-section-title" style="color:black;">Two Approaches.<br><em>One Clear Winner.</em></h2>
<p class="dm-section-sub">See how the Doormile way eliminates the friction that traditional logistics creates at every step.</p>
</div>

View File

@@ -313,273 +313,45 @@
}
/* ─── LARGE DESKTOP (1440px+) ─── */
@media (min-width: 1440px) {
.dm-compare-section {
max-width: 1260px;
padding: 60px 52px 0px;
}
.dm-compare-section::before {
background-size: 80px 80px;
}
.dm-compare-section .dm-section-header {
margin-bottom: 64px;
}
.dm-compare-section .dm-eyebrow {
font-size: 12px;
letter-spacing: 3.8px;
gap: 12px;
margin-bottom: 20px;
}
.dm-compare-section .dm-eyebrow::before,
.dm-compare-section .dm-eyebrow::after {
width: 32px;
}
.dm-compare-section .dm-section-title {
font-size: clamp(40px, 5vw, 68px);
letter-spacing: -1.1px;
}
.dm-compare-section .dm-section-sub {
font-size: 16px;
margin-top: 20px;
line-height: 1.72;
}
.dm-compare-section .dm-compare-wrap {
border-radius: 24px;
}
.dm-compare-section .dm-col-head {
padding: 30px 44px;
font-size: 13.5px;
letter-spacing: 2.8px;
gap: 12px;
}
.dm-compare-section .dm-col-head-icon {
width: 30px;
height: 30px;
border-radius: 9px;
}
.dm-compare-section .dm-col-head-icon svg {
width: 15px;
height: 15px;
}
.dm-compare-section .dm-cell {
padding: 30px 44px;
gap: 18px;
font-size: 15.5px;
}
.dm-compare-section .dm-cell-icon {
width: 34px;
height: 34px;
}
.dm-compare-section .dm-cell-icon svg {
width: 16px;
height: 16px;
}
.dm-compare-section .dm-footer-cell {
padding: 24px 44px;
font-size: 12.5px;
letter-spacing: 1.8px;
}
/* ─── DESKTOP (1200px) ─── */
@media (max-width: 1200px) {
.dm-compare-section { max-width: 960px; padding: 50px 30px 0; }
.dm-compare-section .dm-section-title { font-size: 52px; }
}
/* ─── EXTRA-LARGE DESKTOP (1920px+) ─── */
@media (min-width: 1920px) {
.dm-compare-section {
max-width: 1480px;
padding: 72px 64px 0px;
}
.dm-compare-section::before {
background-size: 90px 90px;
}
.dm-compare-section .dm-section-header {
margin-bottom: 72px;
}
.dm-compare-section .dm-eyebrow {
font-size: 13px;
letter-spacing: 4px;
gap: 13px;
margin-bottom: 22px;
}
.dm-compare-section .dm-eyebrow::before,
.dm-compare-section .dm-eyebrow::after {
width: 36px;
}
.dm-compare-section .dm-section-title {
font-size: clamp(46px, 5vw, 76px);
letter-spacing: -1.3px;
}
.dm-compare-section .dm-section-sub {
font-size: 17px;
margin-top: 22px;
line-height: 1.75;
}
.dm-compare-section .dm-compare-wrap {
border-radius: 26px;
box-shadow: 0 10px 60px rgba(0,0,0,0.1);
}
.dm-compare-section .dm-col-head {
padding: 32px 52px;
font-size: 14px;
letter-spacing: 3px;
gap: 13px;
}
.dm-compare-section .dm-col-head-icon {
width: 32px;
height: 32px;
border-radius: 10px;
}
.dm-compare-section .dm-col-head-icon svg {
width: 16px;
height: 16px;
}
.dm-compare-section .dm-cell {
padding: 34px 52px;
gap: 20px;
font-size: 16px;
}
.dm-compare-section .dm-cell-icon {
width: 36px;
height: 36px;
}
.dm-compare-section .dm-cell-icon svg {
width: 17px;
height: 17px;
}
.dm-compare-section .dm-footer-cell {
padding: 26px 52px;
font-size: 13px;
letter-spacing: 2px;
}
/* ─── TABLET (1024px) ─── */
@media (max-width: 1024px) {
.dm-compare-section { max-width: 100%; padding: 50px 40px; }
.dm-compare-section .dm-section-title { font-size: 46px; }
.dm-compare-section .dm-col-head,
.dm-compare-section .dm-cell { padding: 25px 30px; }
.dm-compare-section .dm-section-sub { font-size: 15px; }
}
/* ─── ULTRA-WIDE (2560px+) ─── */
@media (min-width: 2560px) {
.dm-compare-section {
max-width: 1760px;
padding: 80px 72px 0px;
}
.dm-compare-section::before {
background-size: 100px 100px;
}
.dm-compare-section .dm-section-header {
margin-bottom: 84px;
}
.dm-compare-section .dm-eyebrow {
font-size: 14px;
letter-spacing: 4.5px;
gap: 14px;
margin-bottom: 26px;
}
.dm-compare-section .dm-eyebrow::before,
.dm-compare-section .dm-eyebrow::after {
width: 42px;
}
.dm-compare-section .dm-section-title {
font-size: clamp(52px, 5vw, 84px);
letter-spacing: -1.5px;
}
.dm-compare-section .dm-section-sub {
font-size: 18.5px;
margin-top: 26px;
line-height: 1.8;
}
.dm-compare-section .dm-compare-wrap {
border-radius: 28px;
box-shadow: 0 12px 70px rgba(0,0,0,0.1);
}
.dm-compare-section .dm-col-head {
padding: 36px 60px;
font-size: 15px;
letter-spacing: 3.5px;
gap: 14px;
}
.dm-compare-section .dm-col-head-icon {
width: 36px;
height: 36px;
border-radius: 11px;
}
.dm-compare-section .dm-col-head-icon svg {
width: 18px;
height: 18px;
}
.dm-compare-section .dm-cell {
padding: 38px 60px;
gap: 22px;
font-size: 17px;
line-height: 1.55;
}
.dm-compare-section .dm-cell-icon {
width: 40px;
height: 40px;
}
.dm-compare-section .dm-cell-icon svg {
width: 19px;
height: 19px;
}
.dm-compare-section .dm-footer-cell {
padding: 28px 60px;
font-size: 14px;
letter-spacing: 2.2px;
}
.dm-compare-section .dm-footer-cell .dm-dot {
width: 8px;
height: 8px;
}
/* ─── MOBILE (768px) ─── */
@media (max-width: 768px) {
.dm-compare-section { padding: 60px 20px 80px; }
.dm-compare-section .dm-section-header { margin-bottom: 40px; }
.dm-compare-section .dm-section-title { font-size: 38px; }
.dm-compare-section .dm-section-sub { font-size: 14.5px; margin-top: 15px; }
.dm-compare-section .dm-col-head { padding: 20px 20px; font-size: 11.5px; letter-spacing: 2px; }
.dm-compare-section .dm-cell { padding: 22px 20px; font-size: 14px; gap: 12px; }
.dm-compare-section .dm-cell-icon { width: 28px; height: 28px; }
.dm-compare-section .dm-footer-cell { padding: 18px 20px; font-size: 11px; letter-spacing: 1px; }
}
/* ── RESPONSIVE (MOBILE) ── */
@media (max-width: 680px) {
.dm-compare-section { padding: 60px 16px 70px; }
.dm-compare-section .dm-col-head,
.dm-compare-section .dm-cell { padding: 20px 20px; }
.dm-compare-section .dm-footer-cell { padding: 18px 20px; }
.dm-compare-section .dm-col-head { font-size: 11px; letter-spacing: 1.5px; }
/* ─── SMALL PHONE (480px) ── */
@media (max-width: 480px) {
.dm-compare-section { padding: 50px 15px 60px; }
.dm-compare-section .dm-eyebrow { font-size: 10px; letter-spacing: 2.5px; }
.dm-compare-section::before { background-size: 50px 50px; }
.dm-compare-section .dm-section-title { font-size: 32px; letter-spacing: -0.5px; }
.dm-compare-section .dm-col-head { padding: 18px 15px; font-size: 10px; letter-spacing: 1px; gap: 8px; }
.dm-compare-section .dm-col-head-icon { width: 22px; height: 22px; }
.dm-compare-section .dm-cell { padding: 18px 12px; font-size: 13px; gap: 10px; }
.dm-compare-section .dm-cell-icon { width: 24px; height: 24px; }
.dm-compare-section .dm-footer-cell { padding: 15px 12px; font-size: 9px; letter-spacing: 0.5px; }
.dm-compare-section .dm-footer-cell.dm-right { gap: 6px; }
}
</style>

3632
includes/container.php Normal file

File diff suppressed because it is too large Load Diff

173
includes/ev-premium.php Normal file
View File

@@ -0,0 +1,173 @@
<link rel="stylesheet" href="assets/css/ev-premium.css">
<link href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap" rel="stylesheet">
<section class="evp-section">
<!-- Background Decor -->
<div class="evp-bg-aura aura-red"></div>
<div class="evp-bg-aura aura-blue"></div>
<div class="evp-grid-overlay"></div>
<div class="evp-container">
<div class="evp-layout">
<!-- LEFT: Strategic Content -->
<div class="evp-content">
<div class="evp-tag">
<span class="status-dot"></span>
EV-Native Intelligence
</div>
<h2 class="evp-title" style="color:#FFFFFF !important">
BUILT FOR ELECTRIC.
<span>NOT ADAPTED.</span>
</h2>
<p class="evp-desc">
Most logistics software treats EVs as diesel trucks with a battery. Doormile was built EV-first—understanding that electric fleets require fundamentally different intelligence.
</p>
<div class="evp-features">
<!-- Feature 1 -->
<div class="evp-feature-card">
<div class="evp-icon-box">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M2 12h20M4.93 4.93l14.14 14.14M4.93 19.07L19.07 4.93"/></svg>
</div>
<h4>Adaptive Routing</h4>
<p>Battery level, health, and degradation are primary inputs to our route optimization engine.</p>
</div>
<!-- Feature 2 -->
<div class="evp-feature-card">
<div class="evp-icon-box">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18.36 6.64A9 9 0 1 1 5.64 19.36m12.72-12.72L12 12M18.36 6.64L19.77 5.23"/></svg>
</div>
<h4>Charging Sync</h4>
<p>Seamlessly integrate charging stops into routes without compromising strict delivery windows.</p>
</div>
<!-- Feature 3 -->
<div class="evp-feature-card">
<div class="evp-icon-box">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"/></svg>
</div>
<h4>Energy Paths</h4>
<p>Advanced terrain and weather models predict energy consumption with 98% accuracy.</p>
</div>
<!-- Feature 4 -->
<div class="evp-feature-card">
<div class="evp-icon-box">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"/><line x1="12" y1="8" x2="12" y2="16"/><line x1="8" y1="12" x2="16" y2="12"/></svg>
</div>
<h4>Total Control</h4>
<p>Real-time telemetry gives you a god-view of every asset's health and performance.</p>
</div>
</div>
</div>
<!-- RIGHT: Interactive Dashboard Visual -->
<div class="evp-visual">
<div class="evp-dashboard">
<div class="evp-db-header">
<div>
<span class="evp-db-title">Fleet Status</span>
<h4 class="evp-db-id">DML-001</h4>
</div>
<div class="evp-live-tag">
Live Telemetry
</div>
</div>
<div class="evp-van-stage">
<!-- Floating HUD: Battery -->
<div class="evp-hud-card hud-battery" data-speed="1.2">
<div class="evp-progress-wrap">
<svg class="evp-progress-svg" viewBox="0 0 40 40">
<circle class="evp-progress-circle-bg" cx="20" cy="20" r="18"/>
<circle class="evp-progress-circle" cx="20" cy="20" r="18" style="stroke-dasharray: 113; stroke-dashoffset: 113;"/>
</svg>
</div>
<div>
<div class="hud-label-small">Battery Charge</div>
<div class="hud-val-large">82%</div>
</div>
</div>
<!-- Floating HUD: Location -->
<div class="evp-hud-card hud-location" data-speed="0.8">
<div class="hud-label-small">Current Location</div>
<div class="hud-val-large" style="font-size: 16px;">Downtown HQ</div>
<div style="font-size: 10px; color: #10B981; margin-top: 5px;">• On Schedule</div>
</div>
<!-- Floating HUD: Route -->
<div class="evp-hud-card hud-route" data-speed="1.5">
<div class="hud-label-small">Active Route</div>
<div class="hud-val-large" style="font-size: 16px;">Zone B delivery</div>
<div class="hud-route-path">
<div class="hud-route-line"></div>
</div>
</div>
<img src="assets/images/premium-ev-van.png" alt="Doormile Premium Electric Van" class="evp-van-image">
</div>
<!-- Metrics Row -->
<div class="evp-metrics">
<div class="m-item">
<div class="m-label">Fuel Saved</div>
<div class="m-value">40%</div>
</div>
<div class="m-item">
<div class="m-label">Emissions</div>
<div class="m-value">ZERO</div>
</div>
<div class="m-item">
<div class="m-label">Uptime</div>
<div class="m-value">98%</div>
</div>
<div class="m-item">
<div class="m-label">Efficiency</div>
<div class="m-value">3x</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<script>
document.addEventListener('DOMContentLoaded', () => {
// Animate Battery Progress
setTimeout(() => {
const circle = document.querySelector('.evp-progress-circle');
if (circle) {
circle.style.strokeDashoffset = '20.34'; // 82% of 113
}
}, 500);
// Subtle Mouse Parallax for HUD cards
const container = document.querySelector('.evp-visual');
const cards = document.querySelectorAll('.evp-hud-card');
container.addEventListener('mousemove', (e) => {
const rect = container.getBoundingClientRect();
const x = e.clientX - rect.left - rect.width / 2;
const y = e.clientY - rect.top - rect.height / 2;
cards.forEach(card => {
const speed = card.getAttribute('data-speed') || 1;
card.style.transform = `translate(${x * 0.02 * speed}px, ${y * 0.02 * speed}px)`;
});
});
container.addEventListener('mouseleave', () => {
cards.forEach(card => {
card.style.transform = `translate(0, 0)`;
});
});
});
</script>

371
includes/fleet.php Normal file
View File

@@ -0,0 +1,371 @@
<!-- Fleet Status - Senior UI/UX Redesign -->
<link rel="stylesheet" href="assets/css/ev-section.css">
<link rel="stylesheet" href="assets/css/ev-premium.css">
<link rel="stylesheet" href="assets/css/theme.css">
<link href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;600;700;800&display=swap" rel="stylesheet">
<style>
/* ─── BASE SECTION STYLES ─── */
.fleet-section {
padding: 100px 0;
background-color: #FDFDFD;
font-family: 'Public Sans', sans-serif;
overflow: hidden;
}
.fleet-container {
max-width: 1400px;
margin: 0 auto;
padding: 0 40px;
display: flex; /* Fix for stacking issues */
align-items: center;
justify-content: space-between;
gap: 60px; /* Precise gap as requested */
}
/* ─── LEFT CONTENT: Heading & Features ─── */
.fleet-content-left {
flex: 1;
max-width: 620px;
}
.fleet-badge {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 6px 14px;
background: #FEE2E2;
color: #B91C1C;
border-radius: 100px;
font-size: 13px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.5px;
margin-bottom: 24px;
}
.fleet-title {
font-size: clamp(36px, 4.5vw, 56px);
font-weight: 800;
line-height: 1.1;
color: #111827;
margin-bottom: 24px;
}
.fleet-title span {
color: #DC2626;
display: block;
}
.fleet-desc {
font-size: 18px;
color: #4B5563;
line-height: 1.6;
margin-bottom: 40px;
}
/* Feature Cards */
.fleet-feature-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
}
.fleet-feature-card {
padding: 24px;
background: #fff;
border: 1px solid #F1F5F9;
border-radius: 20px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
transition: transform 0.3s ease, border-color 0.3s ease;
}
.fleet-feature-card:hover {
transform: translateY(-5px);
border-color: #FECACA;
}
.fleet-feature-card h3 {
font-size: 16px;
font-weight: 700;
color: #111827;
margin-bottom: 10px;
}
.fleet-feature-card p {
font-size: 14px;
color: #6B7280;
line-height: 1.5;
margin: 0;
}
/* ─── RIGHT CONTENT: Fleet Status Dashboard ─── */
.fleet-status-right {
flex: 1;
display: flex;
justify-content: flex-end;
align-items: center;
}
.fleet-status-card {
width: 100%;
max-width: 580px;
background: #FFFFFF;
border-radius: 32px;
padding: 40px;
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.04), 0 1px 3px rgba(0, 0, 0, 0.02);
border: 1px solid #F1F5F9;
position: relative;
}
.fs-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 10px;
}
.fs-title {
font-size: 20px;
font-weight: 700;
color: #111827;
margin: 0;
}
.fs-indicator {
font-size: 12px;
font-weight: 600;
color: #64748B;
background: #F1F5F9;
padding: 6px 14px;
border-radius: 100px;
display: flex;
align-items: center;
gap: 6px;
}
.fs-indicator::before {
content: '';
width: 8px;
height: 8px;
background: #10B981;
border-radius: 50%;
}
/* Center Visual */
.fs-v-center {
position: relative;
padding: 20px 0;
background-image:
radial-gradient(#E2E8F0 1px, transparent 1px);
background-size: 24px 24px; /* Subtle grid texture */
border-radius: 24px;
margin-bottom: 30px;
}
.van-hero {
width: 100%;
height: auto;
display: block;
margin: 0 auto;
max-width: 420px;
filter: drop-shadow(0 10px 20px rgba(0,0,0,0.1));
}
/* ─── FLOATING OVERLAY CARDS ─── */
.fs-overlay {
position: absolute;
background: rgba(255, 255, 255, 0.85);
backdrop-filter: blur(8px);
padding: 12px 16px;
border-radius: 18px;
border: 1px solid rgba(255, 255, 255, 0.4);
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
display: flex;
align-items: center;
gap: 12px;
z-index: 5;
}
.fs-o-1 { top: 10%; right: -10px; }
.fs-o-2 { top: 40%; left: -20px; }
.fs-o-3 { bottom: 15%; right: -5px; }
/* Battery Progress Style */
.battery-circle {
width: 42px;
height: 42px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 10px;
font-weight: 700;
position: relative;
}
.circle-bg {
fill: none;
stroke: #F1F5F9;
stroke-width: 3;
}
.circle-progress {
fill: none;
stroke: #E31E24;
stroke-width: 3;
stroke-linecap: round;
transition: stroke-dashoffset 0.5s ease;
}
.fs-info h4 {
margin: 0;
font-size: 13px;
font-weight: 700;
color: #111827;
}
.fs-info p {
margin: 2px 0 0 0;
font-size: 11px;
color: #64748B;
font-weight: 500;
}
/* ─── RESPONSIVENESS ─── */
@media (max-width: 1200px) {
.fleet-container {
flex-direction: column; /* Stack on smaller screens */
padding: 0 30px;
gap: 80px;
}
.fleet-content-left, .fleet-status-right {
max-width: 100%;
text-align: center;
}
.fleet-status-right {
justify-content: center;
}
.fleet-feature-grid {
margin: 0 auto;
max-width: 700px;
}
}
@media (max-width: 640px) {
.fleet-feature-grid {
grid-template-columns: 1fr;
}
.fs-overlay {
display: none; /* Hide complex overlays on small mobile */
}
.fleet-status-card {
padding: 25px;
}
}
</style>
<section class="fleet-section">
<div class="fleet-container">
<!-- LEFT: Content & Features -->
<div class="fleet-content-left">
<div class="fleet-badge">Enterprise Fleet Dashboard</div>
<h2 class="fleet-title">
Built for Electric.<br>
<span>Not Adapted.</span>
</h2>
<p class="fleet-desc">
Deploy a high-performance logistics command center. Doormile orchestrates complex electric fleets with sub-second precision and predictive intelligence.
</p>
<div class="fleet-feature-grid">
<div class="fleet-feature-card">
<h4>Adaptive Routing</h4>
<p>Dynamic route recalibration based on real-time traffic and conditions.</p>
</div>
<div class="fleet-feature-card">
<h4>Live Telemetry</h4>
<p>Sub-second updates from every asset in your connected logistics network.</p>
</div>
<div class="fleet-feature-card">
<h4>Energy Oversight</h4>
<p>Centralized monitoring of battery health and charging station efficiency.</p>
</div>
<div class="fleet-feature-card">
<h4>Service Integrity</h4>
<p>Proactive delay detection ensuring 99.9% delivery window success.</p>
</div>
</div>
</div>
<!-- RIGHT: Fleet Status Dashboard -->
<div class="fleet-status-right">
<div class="fleet-status-card">
<div class="fs-header">
<h4 class="fs-title">Fleet Status</h4>
<div class="fs-indicator">12 vehicles active</div>
</div>
<div class="fs-v-center">
<img src="assets/images/fleet-van-light.png" alt="Doormile Electric Van" class="van-hero">
<!-- Floating Card 1 -->
<div class="fs-overlay fs-o-1">
<div class="battery-circle">
<svg viewBox="0 0 36 36" width="36" height="36">
<path class="circle-bg" d="M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831" />
<path class="circle-progress" stroke-dasharray="92, 100" d="M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831" />
</svg>
<span style="position:absolute;">92%</span>
</div>
<div class="fs-info">
<h4>EV-1024</h4>
<p>North Route Active</p>
</div>
</div>
<!-- Floating Card 2 -->
<div class="fs-overlay fs-o-2">
<div class="battery-circle">
<svg viewBox="0 0 36 36" width="36" height="36">
<path class="circle-bg" d="M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831" />
<path class="circle-progress" style="stroke:#10B981" stroke-dasharray="74, 100" d="M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831" />
</svg>
<span style="position:absolute;">74%</span>
</div>
<div class="fs-info">
<h4>EV-0892</h4>
<p>Express 12m left</p>
</div>
</div>
<!-- Floating Card 3 -->
<div class="fs-overlay fs-o-3">
<div class="battery-circle">
<svg viewBox="0 0 36 36" width="36" height="36">
<path class="circle-bg" d="M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831" />
<path class="circle-progress" style="stroke:#F59E0B" stroke-dasharray="21, 100" d="M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831" />
</svg>
<span style="position:absolute;">21%</span>
</div>
<div class="fs-info">
<h4>EV-1104</h4>
<p>Charging required</p>
</div>
</div>
</div>
<div style="text-align:center; font-size: 13px; color: #64748B; font-weight: 500;">
LIVE TELEMETRY ACTIVE
</div>
</div>
</div>
</div>
</section>

View File

@@ -46,7 +46,7 @@
<div class="button-widget">
<div class="button-container">
<a href="https://demo.artureanec.com/themes/logico-rounded/services-page/"
<a href="#"
target="_blank" class="logico-small-button">
Discover<svg viewBox="0 0 13 20">
<polyline points="0.5 19.5 3 19.5 12.5 10 3 0.5"></polyline>
@@ -83,7 +83,7 @@
<div class="button-widget">
<div class="button-container">
<a href="about-us.php" target="_blank" class="logico-small-button">
<a href="#" target="_blank" class="logico-small-button">
Discover<svg viewBox="0 0 13 20">
<polyline points="0.5 19.5 3 19.5 12.5 10 3 0.5"></polyline>
</svg> </a>
@@ -130,7 +130,7 @@
<div class="button-widget">
<div class="button-container">
<a href="https://demo.artureanec.com/themes/logico-rounded/contacts/"
<a href="#"
target="_blank" class="logico-alter-button">
Contact us </a>
</div>

View File

@@ -1759,10 +1759,7 @@
margin-block-end: 1.7em;
}
/* .elementor-kit-5 a {
color: #c01227;
text-decoration: underline;
} */
.elementor-kit-5 h1 {
color: #111111;
@@ -2687,7 +2684,7 @@
--gap: 0px 0px;
--row-gap: 0px;
--column-gap: 0px;
--margin-top: 150px;
--margin-top: 50px;
--margin-bottom: 0px;
--margin-left: 0px;
--margin-right: 0px;
@@ -2757,8 +2754,11 @@
}
.elementor-61 .elementor-element.elementor-element-99768ba img {
border-radius: 25px 25px 25px 25px;
height: 100%;
width: 100% !important;
height: auto !important;
/* FIX */
display: block;
border-radius: 25px;
}
body:not(.rtl) .elementor-61 .elementor-element.elementor-element-0031d81 {
@@ -4012,7 +4012,7 @@
}
.elementor-61 .elementor-element.elementor-element-fdb2e58 {
--width: 100%;
--width: 50%;
}
}
@@ -4745,7 +4745,7 @@
}
.elementor-61 .elementor-element.elementor-element-4358e8e {
font-size: 34px;
font-size: 16px;
}
.elementor-61 .elementor-element.elementor-element-d5b30d0 {
@@ -12170,13 +12170,7 @@
}
.elementor-63 .elementor-element.elementor-element-d6bdc87 .elementor-counter-number-wrapper {
text-align: {
{
VALUE
}
}
;
--counter-prefix-grow: 0;
--counter-suffix-grow: 1;
--counter-number-grow: 0;
@@ -12204,13 +12198,7 @@
}
.elementor-63 .elementor-element.elementor-element-1da88b5 .elementor-counter-number-wrapper {
text-align: {
{
VALUE
}
}
;
--counter-prefix-grow: 0;
--counter-suffix-grow: 1;
--counter-number-grow: 0;
@@ -12253,13 +12241,7 @@
}
.elementor-63 .elementor-element.elementor-element-18333ba .elementor-counter-number-wrapper {
text-align: {
{
VALUE
}
}
;
--counter-prefix-grow: 0;
--counter-suffix-grow: 1;
--counter-number-grow: 0;
@@ -12293,13 +12275,7 @@
}
.elementor-63 .elementor-element.elementor-element-a1cf3d4 .elementor-counter-number-wrapper {
text-align: {
{
VALUE
}
}
;
--counter-prefix-grow: 0;
--counter-suffix-grow: 1;
--counter-number-grow: 0;
@@ -16709,7 +16685,7 @@
.elementor-59 .elementor-element.elementor-element-1d8be46:not(.elementor-motion-effects-element-type-background),
.elementor-59 .elementor-element.elementor-element-1d8be46>.elementor-motion-effects-container>.elementor-motion-effects-layer {
background-image: url("/assets/images/bg-contacts.png");
background-image: url("assets/images/bg-contacts.png");
background-position: top right;
background-repeat: no-repeat;
}
@@ -16805,7 +16781,7 @@
}
.elementor-59 .elementor-element.elementor-element-ee4c12d>.elementor-widget-container {
padding: 38px 0px 0px 0px;
padding: 38px 40px 0px 0px;
}
.elementor-59 .elementor-element.elementor-element-ee4c12d .elementor-icon-box-wrapper {
@@ -16968,13 +16944,7 @@
}
.elementor-59 .elementor-element.elementor-element-a252a3b .elementor-counter-number-wrapper {
text-align: {
{
VALUE
}
}
;
--counter-prefix-grow: 0;
--counter-suffix-grow: 1;
--counter-number-grow: 0;
@@ -17055,6 +17025,7 @@
.elementor-59 .elementor-element.elementor-element-3c4a151:not(.elementor-motion-effects-element-type-background),
.elementor-59 .elementor-element.elementor-element-3c4a151>.elementor-motion-effects-container>.elementor-motion-effects-layer {
background-color: #1F1F1F;
border-radius: 25px;
}
.elementor-59 .elementor-element.elementor-element-abc44d7 {
@@ -17083,7 +17054,7 @@
background-image: url("assets/images/bg-header-5.png");
background-position: center right;
background-repeat: no-repeat;
/* background-size: 100% 100%; */
background-size: cover;
transform: none !important;
}
@@ -17389,6 +17360,7 @@
.elementor-59 .elementor-element.elementor-element-f35119c img {
width: 1050px;
max-width: 100%;
/* display: none; */
}
.elementor-59 .elementor-element.elementor-element-56ecbb3 {
@@ -17777,13 +17749,7 @@
}
.elementor-59 .elementor-element.elementor-element-eec16ae .elementor-counter-number-wrapper {
text-align: {
{
VALUE
}
}
;
--counter-prefix-grow: 0;
--counter-suffix-grow: 1;
--counter-number-grow: 0;
@@ -17890,13 +17856,7 @@
}
.elementor-59 .elementor-element.elementor-element-c95665b .elementor-counter-number-wrapper {
text-align: {
{
VALUE
}
}
;
--counter-prefix-grow: 0;
--counter-suffix-grow: 1;
--counter-number-grow: 0;
@@ -18003,13 +17963,7 @@
}
.elementor-59 .elementor-element.elementor-element-bcd0869 .elementor-counter-number-wrapper {
text-align: {
{
VALUE
}
}
;
--counter-prefix-grow: 0;
--counter-suffix-grow: 1;
--counter-number-grow: 0;
@@ -18862,8 +18816,9 @@
.elementor-59 .elementor-element.elementor-element-abc44d7>.elementor-motion-effects-container>.elementor-motion-effects-layer {
background-position: center center;
background-repeat: no-repeat;
background-size: 100% 100%;
background-size: cover;
transform: none !important;
align-items: flex-start;
}
.elementor-59 .elementor-element.elementor-element-e468228 {
@@ -18871,6 +18826,7 @@
--container-widget-flex-grow: 0;
width: var(--container-widget-width, 44%);
max-width: 44%;
}
.elementor-59 .elementor-element.elementor-element-e468228 .logico-title {
@@ -18901,6 +18857,7 @@
.elementor-59 .elementor-element.elementor-element-f35119c>.elementor-widget-container {
margin: 0px 0px 0px 0px;
}
.elementor-59 .elementor-element.elementor-element-56ecbb3 {
@@ -19335,6 +19292,7 @@
@media(max-width: 840px) {
.elementor-59 .elementor-element.elementor-element-cbfd9b2 .elementor-repeater-item-3264830 .slide-content-inner {
margin: 0px 0px 0px 0px;
}
.elementor-59 .elementor-element.elementor-element-cbfd9b2 .elementor-repeater-item-3264830 .content-slider-item-heading {
@@ -19408,6 +19366,9 @@
--margin-bottom: 0px;
--margin-left: 0px;
--margin-right: 0px;
align-items: center;
display: inline-flex;
}
.elementor-59 .elementor-element.elementor-element-9d0ee1a {
@@ -19465,7 +19426,7 @@
.elementor-59 .elementor-element.elementor-element-abc44d7>.elementor-motion-effects-container>.elementor-motion-effects-layer {
background-position: center center;
background-repeat: no-repeat;
background-size: 100% 100%;
background-size: cover;
transform: none !important;
}
@@ -19474,6 +19435,7 @@
--container-widget-flex-grow: 0;
width: var(--container-widget-width, 56%);
max-width: 56%;
margin: 0 auto;
}
.elementor-59 .elementor-element.elementor-element-e468228 .logico-title {
@@ -19550,7 +19512,7 @@
}
.elementor-59 .elementor-element.elementor-element-58a0dde {
font-size: 34px;
font-size: 18px;
}
.elementor-59 .elementor-element.elementor-element-59181c9 {
@@ -19723,7 +19685,7 @@
.elementor-59 .elementor-element.elementor-element-abc44d7>.elementor-motion-effects-container>.elementor-motion-effects-layer {
background-position: center center;
background-repeat: no-repeat;
background-size: 100% 100%;
background-size: cover;
transform: none !important;
}
@@ -19975,12 +19937,12 @@
font-size: 18px;
}
.elementor-59 .elementor-element.elementor-element-abc44d7:not(.elementor-motion-effects-element-type-background),
/* .elementor-59 .elementor-element.elementor-element-abc44d7:not(.elementor-motion-effects-element-type-background),
.elementor-59 .elementor-element.elementor-element-abc44d7>.elementor-motion-effects-container>.elementor-motion-effects-layer {
background-position: center center;
background-repeat: no-repeat;
background-size: 100% 100%;
transform: none !important;
background-size: cover;
transform: none !important; */
}
body:not(.rtl) .elementor-59 .elementor-element.elementor-element-dcf16f2 {
@@ -20026,11 +19988,11 @@
}
.elementor-59 .elementor-element.elementor-element-f35119c img {
max-width: 120%;
max-width: 100%;
}
.elementor-59 .elementor-element.elementor-element-47f8cbe {
--margin-top: 114%;
--margin-top: 0%;
--margin-bottom: 0%;
--margin-left: 0%;
--margin-right: 0%;
@@ -27150,13 +27112,7 @@
}
.elementor-element.elementor-element-e056676 .elementor-counter-number-wrapper {
text-align: {
{
VALUE
}
}
;
--counter-prefix-grow: 0;
--counter-suffix-grow: 1;
--counter-number-grow: 0;
@@ -27291,13 +27247,7 @@
}
.elementor-element.elementor-element-e8ee54e .elementor-counter-number-wrapper {
text-align: {
{
VALUE
}
}
;
--counter-prefix-grow: 0;
--counter-suffix-grow: 1;
--counter-number-grow: 0;
@@ -27324,13 +27274,7 @@
}
.elementor-element.elementor-element-1ea8a4b .elementor-counter-number-wrapper {
text-align: {
{
VALUE
}
}
;
--counter-prefix-grow: 0;
--counter-suffix-grow: 1;
--counter-number-grow: 0;
@@ -27371,13 +27315,7 @@
}
.elementor-element.elementor-element-09638df .elementor-counter-number-wrapper {
text-align: {
{
VALUE
}
}
;
--counter-prefix-grow: 0;
--counter-suffix-grow: 1;
--counter-number-grow: 0;
@@ -27410,13 +27348,7 @@
}
.elementor-element.elementor-element-59be3c9 .elementor-counter-number-wrapper {
text-align: {
{
VALUE
}
}
;
--counter-prefix-grow: 0;
--counter-suffix-grow: 1;
--counter-number-grow: 0;
@@ -28808,8 +28740,8 @@
--margin-right: 0px;
--padding-top: 0px;
--padding-bottom: 0px;
--padding-left: 10px;
--padding-right: 10px;
--padding-left: 0px;
--padding-right: 0px;
}
.elementor-element.elementor-element-e51a21a {

View File

@@ -33,7 +33,7 @@
<div class="dropdown-trigger" data-id="2f31137"><span
class="dropdown-trigger-icon"></span></div>
</div>
<div class="slide-sidebar-wrapper slide-sidebar-position-left"
<div style="z-index: 100000;" class="slide-sidebar-wrapper slide-sidebar-position-left"
id="side-panel-2f31137">
<div class="slide-sidebar-close"></div>
<div class="slide-sidebar">
@@ -209,7 +209,7 @@
<div class="elementor-widget-container">
<div class="hfe-site-logo">
<a data-elementor-open-lightbox="" class='elementor-clickable'
href="/logistic/index.php">
href="index.php">
<div class="hfe-site-logo-set">
<div class="hfe-site-logo-container">
<img width="400" height="76"
@@ -237,7 +237,7 @@
<nav>
<ul id="menu-main-menu" class="main-menu">
<li id="menu-item-10508" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10508<?php if (isset($current_page) && $current_page === 'home')
echo ' active'; ?>">
echo ' active'; ?>">
<a href="index.php">Home</a>
<!-- <ul class="sub-menu">
<li id="menu-item-10528" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-10528"><a href="https://demo.artureanec.com/themes/logico-rounded/">Transportation</a></li>
@@ -251,7 +251,7 @@
</ul> -->
</li>
<li id="menu-item-10509" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10509<?php if (isset($current_page) && $current_page === 'how-its-works')
echo ' active'; ?>">
echo ' active'; ?>">
<a href="how-it-works.php">How It Works</a>
<!-- <ul class="sub-menu"> -->
<!-- <li id="menu-item-10536" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10536"><a href="about-us.php">About Us</a></li>
@@ -285,7 +285,7 @@
<!-- </ul> -->
</li>
<li id="menu-item-10510" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10510<?php if (isset($current_page) && $current_page === 'miletruth')
echo ' active'; ?>">
echo ' active'; ?>">
<a href="miletruth.php">MileTruth<superscript>™</superscript>
AI</a>
<!-- <ul class="sub-menu"> -->
@@ -295,7 +295,7 @@
<!-- </ul> -->
</li>
<li id="menu-item-10511" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-10511<?php if (isset($current_page) && $current_page === 'solutions')
echo ' active'; ?>">
echo ' active'; ?>">
<a href="#">Solutions</a>
<ul class="sub-menu">
<li
@@ -312,7 +312,7 @@
</ul>
</li>
<li id="menu-item-10512" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-10512<?php if (isset($current_page) && ($current_page === 'about' || $current_page === 'women'))
echo ' active'; ?>">
echo ' active'; ?>">
<a href="">About</a>
<ul class="sub-menu">
<li id="menu-item-10558"
@@ -328,7 +328,7 @@
</ul>
</li>
<li id="menu-item-10535" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10535<?php if (isset($current_page) && $current_page === 'blogs')
echo ' active'; ?>">
echo ' active'; ?>">
<a href="blogs.php">Blogs</a>
</li>
</ul>
@@ -344,7 +344,7 @@
</span>
</div>
<div class="mobile-header-menu-container" id="mobile-header-0b7bf6f">
<div style="z-index: 100000;" class="mobile-header-menu-container" id="mobile-header-0b7bf6f">
<div class="mobile-header-row">
<!-- Icons Block -->
@@ -352,8 +352,8 @@
<div class="header-icon mini-cart"><a href="#"
class="mini-cart-trigger"><i
class="mini-cart-count"></i></a></div><a
class="header-icon search-link" href="#"><span
class="search-trigger-icon"></span></a>
class="header-icon search-link" href="#">
<span class="search-trigger-icon"></span></a>
<div class="header-icon login-logout"><a href="#"
title="Login/Register" class="link-login"></a></div>
<div class="header-icon menu-close"><span

View File

@@ -121,7 +121,7 @@
.section-subtitle {
margin-top: 22px;
font-size: 16px;
color: var(--muted);
color: #454545;
line-height: 1.75;
max-width: 520px;
margin-left: auto;

View File

@@ -19,13 +19,82 @@
</div>
</div>
<style>
.stats-inner1 {
max-width: 1100px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 0;
position: relative;
z-index: 2;
}
</style>
.stats-bar {
width: 100%;
padding: 50px 0;
position: relative;
}
.stats-inner1 {
max-width: 1100px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 30px;
position: relative;
z-index: 2;
}
.stat-item {
text-align: center;
transition: transform 0.3s ease;
}
.stat-num {
font-size: clamp(40px, 6vw, 70px);
font-weight: 900;
color: #111;
line-height: 1;
margin-bottom: 8px;
font-family: "Manrope", sans-serif;
letter-spacing: -2px;
}
.stat-num span {
font-size: 0.5em;
color: #E31E24;
margin-left: 5px;
vertical-align: middle;
}
.stat-lbl {
font-size: clamp(13px, 1.5vw, 16px);
font-weight: 700;
color: #64748B;
text-transform: uppercase;
letter-spacing: 1.5px;
}
/* Tablet Scale (1024px) */
@media (max-width: 1024px) {
.stats-inner1 {
max-width: 90%;
gap: 20px;
}
}
/* Mobile Stack (767px) */
@media (max-width: 767px) {
.stats-bar {
padding: 40px 0;
}
.stats-inner1 {
grid-template-columns: 1fr;
gap: 45px;
}
.stat-num {
font-size: 56px; /* Explicit size for mobile for clarity */
}
}
/* Small Phone Scaling (480px) */
@media (max-width: 480px) {
.stat-num {
font-size: 44px;
}
.stat-lbl {
font-size: 11px;
letter-spacing: 1px;
}
}
</style>

View File

@@ -229,7 +229,7 @@ include 'includes/header.php';
.elementor-element-c0a45e4 .logico-alter-button {
font-size: 15px;
padding: 16px 32px;
padding: 16px 70px;
}
}
@@ -427,9 +427,7 @@ include 'includes/header.php';
<?php include 'includes/connected-log.php'; ?>
<?php include 'includes/ev-design.php'; ?>
<?php include 'includes/ev-premium.php'; ?>

View File

@@ -1,23 +0,0 @@
const fs = require('fs');
const path = require('path');
function walk(dir) {
let results = [];
const list = fs.readdirSync(dir);
list.forEach(file => {
file = path.resolve(dir, file);
const stat = fs.statSync(file);
if (stat && stat.isDirectory()) {
results = results.concat(walk(file));
} else {
if (file.match(/\.(woff2?|ttf|eot|svg)$/i)) {
results.push(file);
}
}
});
return results;
}
const allFiles = walk('c:/xampp/htdocs/doormileweb');
allFiles.forEach(f => console.log(f));

View File

@@ -1146,7 +1146,7 @@ include 'includes/head.php'; ?>
</div>
<h5 class="post-title">
<a
href="https://demo.artureanec.com/themes/logico-rounded/transportation-services-in-los-angeles-region-4/">Transportation
href="#">Transportation
services in Los Angeles region</a>
</h5>
<div class="post-content">Link salmon cherry salmon

BIN
urls.txt

Binary file not shown.