﻿/*body {
    padding-top: 70px;
    padding-bottom: 20px;
}

Set padding to keep content from hitting the edges .body-content {
    padding-left: 15px;
    padding-right: 15px;
}*/

/*body {
    padding-top: 70px;
    padding-bottom: 20px;
}

Set padding to keep content from hitting the edges .body-content {
    padding-left: 15px;
    padding-right: 15px;
}*/

/* Set width on the form input elements since they're 100% wide by default */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
input[type="datetime"],
textarea {
    max-width: 300px;
}

/* ============================================================
   HOME PAGE — Modern Redesign
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

/* --- Root tokens --- */
:root {
    --hp-primary:   #1a56db;
    --hp-primary-d: #1541a8;
    --hp-accent:    #0ea5e9;
    --hp-gold:      #f59e0b;
    --hp-success:   #10b981;
    --hp-danger:    #ef4444;
    --hp-dark:      #0f172a;
    --hp-text:      #1e293b;
    --hp-muted:     #64748b;
    --hp-border:    #e2e8f0;
    --hp-bg:        #f8fafc;
    --hp-surface:   #ffffff;
    --hp-radius:    16px;
    --hp-shadow:    0 4px 24px rgba(0,0,0,.08);
    --hp-shadow-lg: 0 12px 48px rgba(0,0,0,.14);
}

/* --- Global resets for home page --- */
.hp-page * { box-sizing: border-box; }
.hp-page { font-family: 'Inter', 'Open Sans', sans-serif; color: var(--hp-text); }
.hp-page h1, .hp-page h2, .hp-page h3,
.hp-page h4, .hp-page h5 { font-family: 'Inter', 'Open Sans', sans-serif; font-weight: 700; }

/* ── HERO ───────────────────────────────────────────────────── */
.hp-hero {
    min-height: 92vh;
    background: linear-gradient(135deg, #0f172a 0%, #1a56db 50%, #0ea5e9 100%);
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    padding: 80px 0 60px;
}
.hp-hero::before {
    content: '';
    position: absolute; inset: 0;
    background:
        radial-gradient(ellipse 60% 80% at 70% 50%, rgba(14,165,233,.25) 0%, transparent 70%),
        radial-gradient(ellipse 40% 60% at 20% 80%, rgba(99,102,241,.20) 0%, transparent 60%);
}
/* Decorative floating blobs */
.hp-hero-blob {
    position: absolute; border-radius: 50%;
    background: rgba(255,255,255,.06); animation: blobFloat 8s ease-in-out infinite;
}
.hp-hero-blob-1 { width:380px; height:380px; top:-80px; right:-60px; animation-delay:0s; }
.hp-hero-blob-2 { width:260px; height:260px; bottom:-60px; left:10%; animation-delay:3s; }
.hp-hero-blob-3 { width:160px; height:160px; top:30%; left:38%; animation-delay:5s; }
@keyframes blobFloat {
    0%,100% { transform: translateY(0) scale(1); }
    50%      { transform: translateY(-24px) scale(1.06); }
}
.hp-hero-inner { position: relative; z-index: 1; }
.hp-hero-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25);
    backdrop-filter: blur(8px); border-radius: 50px;
    padding: 6px 16px; font-size: 13px; font-weight: 600;
    color: rgba(255,255,255,.9); letter-spacing: .05em;
    margin-bottom: 22px;
}
.hp-hero-eyebrow span { width:8px; height:8px; background:#10b981; border-radius:50%; display:inline-block; }
.hp-hero-title {
    font-size: clamp(34px, 5vw, 64px);
    font-weight: 900; line-height: 1.1;
    color: #fff; margin-bottom: 22px;
    text-shadow: 0 2px 20px rgba(0,0,0,.2);
}
.hp-hero-title .hp-highlight {
    background: linear-gradient(90deg, #f59e0b, #fbbf24);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    background-clip: text;
}
.hp-hero-sub {
    font-size: 18px; color: rgba(255,255,255,.8);
    line-height: 1.7; margin-bottom: 36px; max-width: 520px;
}
.hp-hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 50px; }
.hp-btn-primary {
    display: inline-flex; align-items: center; gap: 8px;
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #fff; font-weight: 700; font-size: 15px;
    padding: 14px 30px; border-radius: 50px; border: none;
    text-decoration: none; cursor: pointer;
    box-shadow: 0 8px 24px rgba(245,158,11,.4);
    transition: transform .2s, box-shadow .2s;
}
.hp-btn-primary:hover { transform: translateY(-3px); box-shadow: 0 12px 32px rgba(245,158,11,.5); color: #fff; text-decoration: none; }
.hp-btn-outline {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(255,255,255,.12); border: 2px solid rgba(255,255,255,.4);
    color: #fff; font-weight: 600; font-size: 15px;
    padding: 12px 28px; border-radius: 50px;
    text-decoration: none; cursor: pointer;
    backdrop-filter: blur(6px);
    transition: background .2s, border-color .2s, transform .2s;
}
.hp-btn-outline:hover { background: rgba(255,255,255,.22); border-color: rgba(255,255,255,.7); transform: translateY(-3px); color: #fff; text-decoration: none; }

/* Hero trust badges */
.hp-trust-strip { display: flex; gap: 24px; flex-wrap: wrap; }
.hp-trust-item { display: flex; align-items: center; gap: 8px; color: rgba(255,255,255,.7); font-size: 13px; font-weight: 500; }
.hp-trust-item i { color: #10b981; font-size: 16px; }

/* Hero login card */
.hp-login-card {
    background: rgba(255,255,255,.1);
    backdrop-filter: blur(16px) saturate(180%);
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 24px;
    padding: 36px 32px;
    box-shadow: 0 20px 60px rgba(0,0,0,.25);
}
.hp-login-card h3 { color:#fff; font-size:22px; margin-bottom:6px; }
.hp-login-card p  { color:rgba(255,255,255,.7); font-size:13px; margin-bottom:24px; }
.hp-login-field {
    width: 100%; padding: 12px 16px;
    background: rgba(255,255,255,.15);
    border: 1px solid rgba(255,255,255,.3);
    border-radius: 10px; color: #fff;
    font-size: 14px; margin-bottom: 14px;
    transition: border-color .2s, background .2s;
    max-width: 100%;
}
.hp-login-field::placeholder { color: rgba(255,255,255,.55); }
.hp-login-field:focus { outline: none; border-color: rgba(255,255,255,.7); background: rgba(255,255,255,.2); }
.hp-login-remember { display:flex; align-items:center; gap:8px; color:rgba(255,255,255,.75); font-size:13px; margin-bottom:18px; }
.hp-login-remember input { accent-color: #f59e0b; }
.hp-login-btn {
    width:100%; padding:13px; background:linear-gradient(135deg,#f59e0b,#d97706);
    border:none; border-radius:10px; color:#fff; font-size:15px; font-weight:700;
    cursor:pointer; transition:transform .2s, box-shadow .2s;
    box-shadow: 0 6px 20px rgba(245,158,11,.4);
}
.hp-login-btn:hover { transform:translateY(-2px); box-shadow:0 10px 28px rgba(245,158,11,.5); }
.hp-login-error { color: #fca5a5; font-size: 12px; margin-top: -8px; margin-bottom: 10px; }

/* ── SECTION SHARED ─────────────────────────────────────────── */
.hp-section { padding: 90px 0; }
.hp-section-alt { background: var(--hp-bg); }
.hp-section-dark { background: var(--hp-dark); color: #fff; }
.hp-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    color: var(--hp-primary); font-size: 12px; font-weight: 700;
    text-transform: uppercase; letter-spacing: .12em;
    margin-bottom: 12px;
}
.hp-eyebrow::before {
    content: ''; width: 28px; height: 3px;
    background: linear-gradient(90deg, var(--hp-primary), var(--hp-accent));
    border-radius: 2px; display: inline-block;
}
.hp-section-title {
    font-size: clamp(26px, 3.5vw, 40px);
    font-weight: 800; line-height: 1.2;
    margin-bottom: 16px; color: var(--hp-dark);
}
.hp-section-title.light { color: #fff; }
.hp-section-sub {
    font-size: 16px; color: var(--hp-muted);
    line-height: 1.7; max-width: 560px;
}
.hp-section-sub.light { color: rgba(255,255,255,.7); }

/* ── FEATURES STRIP ─────────────────────────────────────────── */
/* No negative margin — ticker sits between hero and features, so overlap is removed */
.hp-features { padding: 40px 0; position: relative; z-index: 1; }
.hp-feature-card {
    background: var(--hp-surface);
    border-radius: var(--hp-radius);
    box-shadow: var(--hp-shadow-lg);
    padding: 32px 28px;
    display: flex; gap: 18px;
    align-items: flex-start;
    height: 100%;
    border-bottom: 4px solid transparent;
    transition: border-color .2s, transform .2s;
}
.hp-feature-card:hover { border-color: var(--hp-primary); transform: translateY(-4px); }
.hp-feature-icon {
    width: 56px; height: 56px; border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    font-size: 22px; flex-shrink: 0;
}
.hp-feature-icon.blue   { background:#dbeafe; color:#1d4ed8; }
.hp-feature-icon.green  { background:#d1fae5; color:#065f46; }
.hp-feature-icon.amber  { background:#fef3c7; color:#92400e; }
.hp-feature-icon.violet { background:#ede9fe; color:#6d28d9; }
.hp-feature-text h4 { font-size:16px; font-weight:700; margin:0 0 6px; color:var(--hp-dark); }
.hp-feature-text p  { font-size:13px; color:var(--hp-muted); line-height:1.6; margin:0; }

/* ── SERVICE CARDS ───────────────────────────────────────────── */
.hp-service-card {
    background: var(--hp-surface);
    border-radius: var(--hp-radius);
    box-shadow: var(--hp-shadow);
    border: 1px solid var(--hp-border);
    padding: 36px 28px 28px;
    text-align: center;
    height: 100%;
    position: relative; overflow: hidden;
    transition: transform .25s, box-shadow .25s;
}
.hp-service-card:hover { transform: translateY(-6px); box-shadow: var(--hp-shadow-lg); }
.hp-service-card::before {
    content: ''; position: absolute; top:0; left:0; right:0; height:4px;
    background: linear-gradient(90deg, var(--hp-primary), var(--hp-accent));
    transform: scaleX(0); transform-origin: left;
    transition: transform .3s;
}
.hp-service-card:hover::before { transform: scaleX(1); }
.hp-service-icon-wrap {
    width: 72px; height: 72px; border-radius: 20px;
    display: flex; align-items: center; justify-content: center;
    font-size: 28px; margin: 0 auto 20px;
    transition: transform .2s;
}
.hp-service-card:hover .hp-service-icon-wrap { transform: scale(1.1) rotate(-4deg); }
.hp-service-card h4 { font-size:17px; font-weight:700; margin-bottom:12px; color:var(--hp-dark); }
.hp-service-card p  { font-size:13px; color:var(--hp-muted); line-height:1.7; margin:0; }
.hp-service-card .hp-service-link {
    display: inline-flex; align-items: center; gap: 4px;
    color: var(--hp-primary); font-size: 13px; font-weight: 600;
    margin-top: 16px; text-decoration: none;
    transition: gap .2s;
}
.hp-service-card:hover .hp-service-link { gap: 8px; }

/* service icon color variants */
.si-blue   { background:#dbeafe; color:#1d4ed8; }
.si-sky    { background:#e0f2fe; color:#0369a1; }
.si-green  { background:#d1fae5; color:#065f46; }
.si-red    { background:#fee2e2; color:#991b1b; }
.si-amber  { background:#fef3c7; color:#92400e; }
.si-violet { background:#ede9fe; color:#6d28d9; }

/* ── STATS STRIP ─────────────────────────────────────────────── */
.hp-stats-strip {
    background: linear-gradient(135deg, #1a56db 0%, #0ea5e9 100%);
    padding: 70px 0;
}
.hp-stat-item { text-align: center; padding: 20px; }
.hp-stat-number {
    font-size: clamp(36px, 5vw, 56px);
    font-weight: 900; color: #fff;
    line-height: 1; margin-bottom: 8px;
    font-family: 'Inter', sans-serif;
}
.hp-stat-number span { color: #fbbf24; }
.hp-stat-label { font-size: 14px; color: rgba(255,255,255,.8); font-weight: 500; }
.hp-stat-divider { border-left: 1px solid rgba(255,255,255,.2); }

/* ── TEAM CARDS ──────────────────────────────────────────────── */
.hp-team-group-label {
    font-size: 11px; font-weight: 700;
    text-transform: uppercase; letter-spacing: .1em;
    color: #64748b; margin-bottom: 16px;
}
.hp-team-card {
    background: var(--hp-surface);
    border-radius: var(--hp-radius);
    box-shadow: var(--hp-shadow);
    border: 1px solid var(--hp-border);
    overflow: hidden;
    text-align: center;
    transition: transform .28s, box-shadow .28s;
}
.hp-team-card:hover {
    transform: translateY(-7px);
    box-shadow: var(--hp-shadow-lg), 0 0 0 1px rgba(26,86,219,.1);
}
.hp-team-card-leader .hp-team-img-wrap img { height: 280px; }
.hp-team-img-wrap { position: relative; overflow: hidden; }
.hp-team-img-wrap img {
    width: 100%; height: 220px; object-fit: cover; object-position: top;
    transition: transform .45s;
}
.hp-team-card:hover .hp-team-img-wrap img { transform: scale(1.07); }
.hp-team-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, transparent 40%, rgba(15,23,42,.88) 100%);
    opacity: 0; transition: opacity .3s;
    display: flex; align-items: flex-end; justify-content: center;
    padding-bottom: 18px; gap: 10px;
}
.hp-team-card:hover .hp-team-overlay { opacity: 1; }
.hp-team-social-btn {
    width: 36px; height: 36px; border-radius: 10px;
    background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.3);
    color: #fff; display: flex; align-items: center; justify-content: center;
    font-size: 14px; text-decoration: none;
    transition: background .2s, transform .2s;
    backdrop-filter: blur(4px);
}
.hp-team-social-btn:hover {
    background: var(--hp-primary); color: #fff;
    transform: translateY(-2px);
}
.hp-team-social-btn.wa:hover { background: #25d366; color: #fff; }
.hp-team-body { padding: 20px 18px 22px; }
.hp-team-body h4 {
    font-size: 16px; font-weight: 700; color: var(--hp-dark);
    margin-bottom: 8px;
}
.hp-team-badge {
    display: inline-block;
    font-size: 11px; font-weight: 700;
    text-transform: uppercase; letter-spacing: .06em;
    padding: 3px 10px; border-radius: 20px;
    margin-bottom: 10px;
}
.hp-team-bio {
    font-size: 12.5px; color: var(--hp-muted);
    line-height: 1.65; margin: 0;
}

/* ── CTA BANNER ──────────────────────────────────────────────── */
.hp-cta {
    background: linear-gradient(135deg, #0f172a 0%, #1a56db 60%, #0ea5e9 100%);
    position: relative; overflow: hidden; padding: 80px 0;
}
.hp-cta::before {
    content:''; position:absolute; inset:0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.hp-cta-inner { position:relative; z-index:1; text-align:center; }
.hp-cta-inner h2 { font-size:clamp(28px,4vw,48px); font-weight:900; color:#fff; margin-bottom:16px; }
.hp-cta-inner p  { font-size:18px; color:rgba(255,255,255,.8); margin-bottom:32px; }
.hp-cta-btn {
    display: inline-flex; align-items: center; gap: 10px;
    background: #fff; color: var(--hp-primary);
    font-weight: 700; font-size: 16px;
    padding: 15px 36px; border-radius: 50px;
    text-decoration: none; border: none; cursor: pointer;
    box-shadow: 0 8px 24px rgba(0,0,0,.2);
    transition: transform .2s, box-shadow .2s;
}
.hp-cta-btn:hover { transform: translateY(-3px); box-shadow: 0 14px 36px rgba(0,0,0,.3); color: var(--hp-primary-d); text-decoration: none; }
.hp-cta-phone {
    display: inline-flex; align-items: center; gap: 10px;
    color: rgba(255,255,255,.85); font-size: 16px; font-weight: 600;
    margin-left: 20px; text-decoration: none;
}
.hp-cta-phone:hover { color: #fff; text-decoration: none; }
.hp-cta-phone i { font-size: 20px; color: #fbbf24; }

/* ── CONTACT FORM ────────────────────────────────────────────── */
.hp-contact-card {
    background: var(--hp-surface);
    border-radius: var(--hp-radius);
    box-shadow: var(--hp-shadow-lg);
    padding: 40px;
    border: 1px solid var(--hp-border);
}
.hp-contact-card h3 { font-size:22px; font-weight:700; margin-bottom:6px; color:var(--hp-dark); }
.hp-contact-card p  { color:var(--hp-muted); font-size:14px; margin-bottom:24px; }
.hp-form-row { display:flex; gap:14px; flex-wrap:wrap; }
.hp-form-group { flex:1; min-width:180px; margin-bottom:16px; }
.hp-form-group label { display:block; font-size:12px; font-weight:600; color:var(--hp-muted); text-transform:uppercase; letter-spacing:.06em; margin-bottom:6px; }
.hp-form-ctrl {
    width:100%; padding:11px 14px; border:1px solid var(--hp-border);
    border-radius:10px; font-size:14px; color:var(--hp-text);
    background:var(--hp-bg); transition:border-color .2s, box-shadow .2s;
    max-width:100%;
}
.hp-form-ctrl:focus { outline:none; border-color:var(--hp-primary); box-shadow:0 0 0 3px rgba(26,86,219,.12); }
.hp-form-submit {
    display:inline-flex; align-items:center; gap:8px;
    background:linear-gradient(135deg,var(--hp-primary),var(--hp-accent));
    color:#fff; font-weight:700; font-size:15px;
    padding:13px 32px; border-radius:50px; border:none;
    cursor:pointer; transition:transform .2s, box-shadow .2s;
    box-shadow:0 6px 20px rgba(26,86,219,.35);
}
.hp-form-submit:hover { transform:translateY(-2px); box-shadow:0 10px 28px rgba(26,86,219,.45); }
.hp-info-item {
    display:flex; align-items:flex-start; gap:16px;
    padding:20px 0; border-bottom:1px solid var(--hp-border);
}
.hp-info-item:last-child { border-bottom:none; }
.hp-info-icon {
    width:46px; height:46px; border-radius:12px; flex-shrink:0;
    display:flex; align-items:center; justify-content:center; font-size:18px;
}
.hp-info-label  { font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--hp-muted); font-weight:600; margin-bottom:3px; }
.hp-info-value  { font-size:14px; font-weight:600; color:var(--hp-dark); }

/* ── WHY US CARDS ─────────────────────────────────────────────── */
.hp-why-card {
    background:var(--hp-surface);
    border:1px solid var(--hp-border);
    border-radius:var(--hp-radius);
    box-shadow:var(--hp-shadow);
    padding:32px 24px;
    text-align:center;
    height:100%;
    transition:transform .2s, box-shadow .2s, border-color .2s;
    position:relative; overflow:hidden;
}
.hp-why-card::after {
    content:''; position:absolute;
    bottom:0; left:0; right:0; height:3px;
    background:linear-gradient(90deg,var(--hp-primary),var(--hp-accent));
    transform:scaleX(0); transition:transform .3s;
}
.hp-why-card:hover { transform:translateY(-5px); box-shadow:var(--hp-shadow-lg); border-color:rgba(26,86,219,.3); }
.hp-why-card:hover::after { transform:scaleX(1); }
.hp-why-icon {
    width:68px; height:68px; border-radius:18px;
    display:flex; align-items:center; justify-content:center;
    font-size:26px; margin:0 auto 18px;
}
.hp-why-card h4 { font-size:16px; font-weight:700; margin-bottom:10px; color:var(--hp-dark); }
.hp-why-card p  { font-size:13px; color:var(--hp-muted); line-height:1.7; margin:0; }

/* ============================================================
   ENHANCEMENT PASS — animations, new sections, polish
   ============================================================ */

/* ── SCROLL-REVEAL ANIMATIONS ────────────────────────────────── */
.hp-reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1);
}
.hp-reveal.hp-reveal-left  { transform: translateX(-40px); }
.hp-reveal.hp-reveal-right { transform: translateX(40px); }
.hp-reveal.hp-reveal-scale { transform: scale(.92); }
.hp-reveal.visible {
    opacity: 1 !important;
    transform: none !important;
}
.hp-reveal-delay-1 { transition-delay: .1s; }
.hp-reveal-delay-2 { transition-delay: .2s; }
.hp-reveal-delay-3 { transition-delay: .3s; }
.hp-reveal-delay-4 { transition-delay: .4s; }

/* ── HERO ENHANCEMENTS ────────────────────────────────────────── */
/* Animated mesh grid overlay */
.hp-hero::after {
    content: '';
    position: absolute; inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 60px 60px;
    pointer-events: none;
}
/* Shimmer sweep across hero */
.hp-hero-shimmer {
    position: absolute; inset: 0;
    background: linear-gradient(105deg,
        transparent 40%,
        rgba(255,255,255,.06) 50%,
        transparent 60%);
    background-size: 200% 100%;
    animation: heroShimmer 6s ease-in-out infinite;
    pointer-events: none; z-index: 0;
}
@keyframes heroShimmer {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
/* Pulse ring on eyebrow dot */
.hp-hero-eyebrow span {
    position: relative;
}
.hp-hero-eyebrow span::after {
    content: '';
    position: absolute; inset: -4px;
    border-radius: 50%;
    border: 2px solid #10b981;
    animation: pulseRing 2s ease-out infinite;
}
@keyframes pulseRing {
    0%   { opacity: .8; transform: scale(1); }
    100% { opacity: 0;  transform: scale(2.4); }
}
/* Gradient text animation on highlight */
.hp-highlight {
    background: linear-gradient(90deg, #f59e0b, #fbbf24, #f97316, #f59e0b);
    background-size: 300% 100%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: gradShift 4s linear infinite;
}
@keyframes gradShift {
    0%   { background-position: 0% 50%; }
    100% { background-position: 300% 50%; }
}
/* Login card shimmer border */
.hp-login-card {
    position: relative;
}
.hp-login-card::before {
    content: '';
    position: absolute; inset: -1px;
    border-radius: 25px;
    background: linear-gradient(135deg,
        rgba(255,255,255,.5) 0%,
        rgba(255,255,255,.05) 40%,
        rgba(14,165,233,.4) 70%,
        rgba(255,255,255,.5) 100%);
    background-size: 300% 300%;
    animation: borderShimmer 4s linear infinite;
    z-index: -1;
}
@keyframes borderShimmer {
    0%   { background-position: 0% 0%; }
    100% { background-position: 300% 300%; }
}
/* Floating label style on login inputs */
.hp-login-input-wrap { position: relative; margin-bottom: 14px; }
.hp-login-input-wrap .hp-login-field { margin-bottom: 0; padding-left: 42px; }
.hp-login-input-wrap .hp-input-icon {
    position: absolute; left: 14px; top: 50%; transform: translateY(-50%);
    color: rgba(255,255,255,.5); font-size: 14px; pointer-events: none;
}

/* ── WAVE DIVIDERS ───────────────────────────────────────────── */
.hp-wave-top, .hp-wave-bottom {
    position: relative; overflow: hidden;
}
.hp-wave-top::before, .hp-wave-bottom::after {
    content: '';
    display: block;
    position: absolute; left: 0; right: 0;
    height: 60px;
    background: inherit;
}
/* SVG wave between features and services */
.hp-wave-divider {
    line-height: 0;
    overflow: hidden;
    margin: 0;
}
.hp-wave-divider svg {
    display: block;
    width: 100%; height: 60px;
}

/* ── TICKER STRIP ─────────────────────────────────────────────── */
.hp-ticker {
    background: var(--hp-dark);
    padding: 14px 0;
    overflow: hidden;
    position: relative;
    z-index: 2;
    border-top: 1px solid rgba(255,255,255,.06);
    border-bottom: 1px solid rgba(255,255,255,.06);
}
.hp-ticker-track {
    display: flex;
    align-items: center;
    gap: 0;
    animation: tickerScroll 28s linear infinite;
    width: max-content;
}
.hp-ticker:hover .hp-ticker-track { animation-play-state: paused; }
@keyframes tickerScroll {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
.hp-ticker-item {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 0 36px;
    color: rgba(255,255,255,.55);
    font-size: 13px; font-weight: 600;
    letter-spacing: .04em;
    white-space: nowrap;
    border-right: 1px solid rgba(255,255,255,.08);
}
.hp-ticker-item i { color: #f59e0b; font-size: 14px; }
.hp-ticker-item strong { color: rgba(255,255,255,.85); }

/* ── PROCESS / HOW IT WORKS ──────────────────────────────────── */
.hp-process-section {
    background: var(--hp-dark);
    padding: 90px 0;
    position: relative;
    overflow: hidden;
}
.hp-process-section::before {
    content: '';
    position: absolute; inset: 0;
    background-image:
        radial-gradient(circle at 20% 50%, rgba(26,86,219,.18) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(14,165,233,.12) 0%, transparent 45%);
}
.hp-process-inner { position: relative; z-index: 1; }
.hp-process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    position: relative;
    margin-top: 56px;
}
.hp-process-grid::before {
    content: '';
    position: absolute;
    top: 36px; left: 12.5%; right: 12.5%;
    height: 2px;
    background: linear-gradient(90deg,
        transparent, rgba(26,86,219,.6) 20%,
        rgba(14,165,233,.8) 50%,
        rgba(26,86,219,.6) 80%, transparent);
    z-index: 0;
}
.hp-process-step {
    text-align: center;
    padding: 0 16px;
    position: relative;
    z-index: 1;
}
.hp-process-num {
    width: 72px; height: 72px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--hp-primary), var(--hp-accent));
    color: #fff; font-size: 22px; font-weight: 900;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 20px;
    box-shadow: 0 0 0 6px rgba(26,86,219,.15), 0 8px 24px rgba(26,86,219,.4);
    transition: transform .3s, box-shadow .3s;
}
.hp-process-step:hover .hp-process-num {
    transform: scale(1.1);
    box-shadow: 0 0 0 10px rgba(26,86,219,.12), 0 12px 32px rgba(26,86,219,.5);
}
.hp-process-icon {
    width: 44px; height: 44px; border-radius: 12px;
    background: rgba(255,255,255,.08);
    display: flex; align-items: center; justify-content: center;
    font-size: 18px; color: #fff;
    margin: 0 auto 14px;
}
.hp-process-step h4 {
    font-size: 15px; font-weight: 700;
    color: #fff; margin-bottom: 8px;
}
.hp-process-step p {
    font-size: 13px; color: rgba(255,255,255,.55);
    line-height: 1.6; margin: 0;
}

/* ── TESTIMONIALS ─────────────────────────────────────────────── */
.hp-testimonials-section {
    background: var(--hp-bg);
    padding: 90px 0;
}
.hp-testimonial-card {
    background: var(--hp-surface);
    border-radius: var(--hp-radius);
    box-shadow: var(--hp-shadow);
    border: 1px solid var(--hp-border);
    padding: 32px 28px;
    height: 100%;
    position: relative;
    overflow: hidden;
    transition: transform .25s, box-shadow .25s;
}
.hp-testimonial-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--hp-shadow-lg);
}
.hp-testimonial-card::before {
    content: '\201C';
    position: absolute;
    top: -10px; right: 20px;
    font-size: 120px; line-height: 1;
    color: var(--hp-primary);
    opacity: .07;
    font-family: Georgia, serif;
    font-weight: 900;
}
.hp-testimonial-accent {
    height: 4px; border-radius: 2px;
    margin-bottom: 20px;
}
.hp-stars { color: #f59e0b; font-size: 13px; margin-bottom: 14px; letter-spacing: 2px; }
.hp-testimonial-text {
    font-size: 14px; color: var(--hp-muted);
    line-height: 1.8; margin-bottom: 22px;
    font-style: italic;
}
.hp-testimonial-author {
    display: flex; align-items: center; gap: 12px;
}
.hp-testimonial-avatar {
    width: 44px; height: 44px; border-radius: 50%;
    background: linear-gradient(135deg, var(--hp-primary), var(--hp-accent));
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 16px; font-weight: 700;
    flex-shrink: 0;
}
.hp-testimonial-name  { font-size: 14px; font-weight: 700; color: var(--hp-dark); }
.hp-testimonial-role  { font-size: 12px; color: var(--hp-muted); }

/* ── SCROLL-TO-TOP ────────────────────────────────────────────── */
.hp-scroll-top {
    position: fixed;
    bottom: 32px; right: 32px;
    width: 46px; height: 46px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--hp-primary), var(--hp-accent));
    color: #fff; border: none; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-size: 16px;
    box-shadow: 0 6px 20px rgba(26,86,219,.45);
    opacity: 0; transform: translateY(16px);
    transition: opacity .3s, transform .3s;
    z-index: 9999;
    text-decoration: none;
}
.hp-scroll-top.visible {
    opacity: 1; transform: translateY(0);
}
.hp-scroll-top:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(26,86,219,.55);
    color: #fff; text-decoration: none;
}

/* ── ENHANCED SERVICE CARD GLOW ──────────────────────────────── */
.hp-service-card:hover {
    box-shadow:
        var(--hp-shadow-lg),
        0 0 0 1px rgba(26,86,219,.12),
        0 0 30px rgba(26,86,219,.08);
}

/* ── STATS STRIP ENHANCEMENTS ────────────────────────────────── */
.hp-stats-strip {
    position: relative; overflow: hidden;
}
.hp-stats-strip::before {
    content: '';
    position: absolute; inset: 0;
    background:
        radial-gradient(circle at 10% 50%, rgba(255,255,255,.08) 0%, transparent 40%),
        radial-gradient(circle at 90% 50%, rgba(255,255,255,.06) 0%, transparent 40%);
    pointer-events: none;
}
.hp-stat-icon {
    width: 52px; height: 52px; border-radius: 14px;
    background: rgba(255,255,255,.12);
    display: flex; align-items: center; justify-content: center;
    font-size: 20px; margin: 0 auto 14px;
    transition: transform .3s;
}
.hp-stat-item:hover .hp-stat-icon { transform: scale(1.12) rotate(-5deg); }

/* ── FEATURE CARD NUMBER BADGE ───────────────────────────────── */
.hp-feature-num {
    position: absolute;
    top: 14px; right: 16px;
    font-size: 52px; font-weight: 900;
    color: var(--hp-border);
    line-height: 1;
    font-family: 'Inter', sans-serif;
    pointer-events: none;
    transition: color .3s;
}
.hp-feature-card { position: relative; }
.hp-feature-card:hover .hp-feature-num { color: rgba(26,86,219,.08); }

/* ── WHY CARD ICON ANIMATION ─────────────────────────────────── */
.hp-why-icon { transition: transform .3s, box-shadow .3s; }
.hp-why-card:hover .hp-why-icon {
    transform: scale(1.12) rotate(-6deg);
    box-shadow: 0 8px 20px rgba(0,0,0,.1);
}

/* ── SECTION LABEL DIVIDER ───────────────────────────────────── */
.hp-section-label-divider {
    display: flex; align-items: center; gap: 12px;
    margin-bottom: 48px;
}
.hp-section-label-divider span {
    display: block; height: 2px; flex: 1;
    background: linear-gradient(90deg, var(--hp-border), transparent);
    border-radius: 2px;
}
.hp-section-label-divider span:first-child {
    background: linear-gradient(90deg, transparent, var(--hp-border));
}

/* ── CTA ENHANCEMENT — floating orbs ────────────────────────── */
.hp-cta-orb {
    position: absolute; border-radius: 50%;
    background: rgba(255,255,255,.05);
    animation: blobFloat 10s ease-in-out infinite;
}
.hp-cta-orb-1 { width:300px; height:300px; top:-100px; right:5%; animation-delay:0s; }
.hp-cta-orb-2 { width:200px; height:200px; bottom:-60px; left:8%; animation-delay:4s; }

/* ── WHATSAPP FLOATING BUTTON ────────────────────────────────── */
.hp-wa-btn {
    position: fixed;
    bottom: 90px; right: 32px;
    width: 54px; height: 54px;
    border-radius: 50%;
    background: linear-gradient(135deg, #25d366, #128c7e);
    color: #fff; font-size: 26px;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 6px 22px rgba(37,211,102,.5);
    text-decoration: none;
    z-index: 9998;
    transition: transform .28s, box-shadow .28s;
}
.hp-wa-btn:hover {
    transform: scale(1.1) translateY(-2px);
    box-shadow: 0 10px 32px rgba(37,211,102,.65);
    color: #fff; text-decoration: none;
}
/* Pulse ring */
.hp-wa-pulse {
    position: absolute;
    width: 100%; height: 100%;
    border-radius: 50%;
    background: rgba(37,211,102,.35);
    animation: waPulse 2.4s ease-out infinite;
    pointer-events: none;
}
@keyframes waPulse {
    0%   { transform: scale(1);   opacity: .8; }
    70%  { transform: scale(1.55); opacity: 0; }
    100% { transform: scale(1.55); opacity: 0; }
}
/* Tooltip */
.hp-wa-tooltip {
    position: absolute;
    right: calc(100% + 10px);
    top: 50%; transform: translateY(-50%);
    background: #1a1a2e; color: #fff;
    font-size: 12px; font-weight: 600;
    white-space: nowrap;
    padding: 5px 12px; border-radius: 8px;
    pointer-events: none;
    opacity: 0; transition: opacity .2s;
}
.hp-wa-tooltip::after {
    content: '';
    position: absolute; left: 100%; top: 50%; transform: translateY(-50%);
    border: 5px solid transparent;
    border-left-color: #1a1a2e;
}
.hp-wa-btn:hover .hp-wa-tooltip { opacity: 1; }

/* ── RESPONSIVE ──────────────────────────────────────────────── */
@media (max-width:991px) {
    .hp-process-grid { grid-template-columns: repeat(2,1fr); gap:32px; }
    .hp-process-grid::before { display:none; }
    .hp-scroll-top { bottom:20px; right:20px; }
    .hp-wa-btn { bottom:76px; right:20px; }
    .hp-hero   { min-height:auto; padding:80px 0 50px; }
    .hp-hero-title { font-size:36px; }
    .hp-login-card { margin-top:36px; }
    .hp-stat-divider { border-left:none; border-top:1px solid rgba(255,255,255,.2); }
    .hp-cta-phone { display:block; margin-left:0; margin-top:16px; }
    .hp-contact-card { padding:24px; }
}
@media (max-width:575px) {
    .hp-section { padding:60px 0; }
    .hp-hero-actions { flex-direction:column; align-items:flex-start; }
    .hp-btn-primary, .hp-btn-outline { width:100%; justify-content:center; }
    .hp-stats-strip { padding:50px 0; }
    .hp-cta { padding:60px 0; }
}


    input[type="text"]:focus,
    input[type="password"]:focus,
    input[type="email"]:focus,
    input[type="number"]:focus,
    input[type="datetime"]:focus,
    textarea:focus {
        outline: none !important;
        border-color: #1AB394;
        box-shadow: 0 0 10px #1AB394;
    }

textarea {
    width: 100%;
    height: 70px;
    border-color: #DCDCDC;
    border-width: 1px;
    border-style: solid;
}

input[type="checkbox"] {
    margin-right: 10px;
}
/*button[type="button"],
button[type="submit"] {
    min-width: 103px;
}
.btn-white {
    min-width: 103px;
}*/

.chosen-select {
    max-width: 300px;
}

.chosen-select-deselect {
    max-width: 300px;
}

.chosen-container-single .chosen-single {
    padding: 0px 12px;
}

.chosen-container-active .chosen-single,
.chosen-container-active.chosen-with-drop .chosen-single {
    outline: none !important;
    border-color: #1AB394;
    box-shadow: 0 0 10px #1AB394;
}

/*.chosen-container-single .chosen-single {
    padding: 5px 10px;
}*/

/*.chosen-container-active .chosen-select-deselect div {
    outline: none !important;
    border-color: #1AB394;
    box-shadow: 0 0 10px #1AB394;
}*/

.input-group {
    max-width: 300px;
}

.select2-container--bootstrap .select2-results__option--highlighted[aria-selected] {
    background-color: #1AB394 !important;
    color: #fff;
}

.select2-container--bootstrap .select2-selection--single,
.select2-container--bootstrap .select2-selection--multiple {
    -webkit-box-shadow: none !important;
    border-radius: 0px !important;
    border: 1px solid #dde6e9;
}

.select2-container--bootstrap.select2-container--focus .select2-selection,
.select2-container--bootstrap.select2-container--open .select2-selection {
    -webkit-box-shadow: none !important;
    outline: none !important;
    box-shadow: 0 0 1px #1AB394;
    -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
    border-color: #1AB394;
    border-radius: 0px !important;
}

.select2-container--bootstrap .select2-dropdown--above {
    outline: none !important;
    border-color: #1AB394;
    box-shadow: 0 0 1px #1AB394;
}

.select2-container--bootstrap .select2-dropdown {
    outline: none !important;
    border-color: #1AB394;
    box-shadow: 0 0 1px #1AB394;
}

/* Responsive: Portrait tablets and up */
@media screen and (min-width: 768px) {
    .jumbotron {
        margin-top: 20px;
    }

    .body-content {
        padding: 0;
    }
}

.panel-heading span:after {
    font-family: 'Glyphicons Halflings';
    content: "\e114";
    float: right;
    color: grey;
    margin-top: -20px;
}

.panel-heading span.collapsed:after {
    content: "\e080";
}

/*paging button default state, same as JUI default state*/
/*.dataTables_wrapper .dataTables_paginate .paginate_button {
    background: url("images/ui-bg_glass_45_0078ae_1x400.png") repeat-x scroll 50% 50% #0078AE;
    border: 1px solid #77D5F7;
    color: #FFFFFF;
    font-weight:normal;
}*/

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: url("images/ui-bg_glass_75_79c9ec_1x400.png") repeat-x scroll 50% 50% #1AB394;
    border: 1px solid #1AB394;
    color: #fff;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:active {
    background: url("images/ui-bg_gloss-wave_50_6eac2c_500x100.png") repeat-x scroll 50% 50% #1AB394;
    border: 1px solid #1AB394;
    color: #fff;
}

.ui-paginator-page {
    border-color: #1AB394 !important;
    background-color: #1AB394 !important;
}

.ui-paginator {
    /*for navigation bar*/
    border-color: #1AB394 !important;
    background-color: #1AB394 !important;
}

.square-corner .modal-dialog {
    border-radius: 0 !important;
    -webkit-border-radius: 0 !important;
    -moz-border-radius: 0 !important;
    border-radius: 0 !important;
}

.panel-heading span:after {
    font-family: 'Glyphicons Halflings';
    content: "\e114";
    float: right;
    /*color: grey;*/
    margin-top: -20px;
}

.panel-heading span.collapsed:after {
    content: "\e080";
}

.form-group {
    margin-bottom: 7px;
}

dd, dt {
    margin-bottom: 7px;
}

#html5GridContainer {
    height: auto;
    width: 100%;
}

.apply-filter-option {
    position: absolute;
    z-index: 1;
    vertical-align: middle;
}

    .apply-filter-option > span {
        position: relative;
        top: 2px;
        margin-right: 10px;
    }

    .apply-filter-option > .dx-widget {
        display: inline-block;
        vertical-align: middle;
    }

/*.options .dx-checkbox {
    margin-bottom: 5px;
}*/

.dx-datagrid .dx-row > td {
    margin-top: 0px;
    margin-bottom: 0px;
    padding-top: 3px;
    padding-bottom: 3px;
}

/*.dx-datagrid-rowsview .dx-row:nth-child(odd) 
{
        color: black;
}

.dx-datagrid-rowsview .dx-row:nth-child(odd) 
{
        color: black;
}*/
.dx-datagrid-headers .dx-row:first-child {
    /*background-color: #1ab394;
    color: white;*/
    font-weight: 700;
}

.dx-datagrid-content .dx-datagrid-table .dx-row .dx-command-select {
    width: 47px;
    min-width: 47px;
}

.dx-dropdowneditor.dx-dropdowneditor-field-clickable {
    max-width: 300px;
}

.icheckbox_square-green, .iradio_square-green {
    /*margin-top: 5px !important;*/
    margin-right: 7px;
}

div.required label.control-label:after {
    content: " *";
    font-weight: bold;
    color: red;
}

div.required label:after {
    content: " *";
    font-weight: bold;
    color: red;
}

.required:after {
    content: " *";
    font-weight: bold;
    color: red;
}

/*.label-required label:after {
    content: " *";
    font-weight: bold;
    color: red;
}*/

    .required .control-label:after {
        font-family: 'FontAwesome';
        font-weight: normal;
        font-size: 14px;
        content: "\f069";
        color: red;
    }

/*.alertify .ajs-header {
    margin: -24px;
    margin-bottom: 0;
    padding: 16px 24px;
    color: #1ab394;
    font-size: 20px;
    font-weight: 600;
    font-family: "open sans","Helvetica Neue",Helvetica,Arial,sans-serif;
    line-height:20px;
}
.alertify .ajs-body .ajs-content {
    margin-top: 15px;
    padding: 16px 24px 16px 16px;
}
.alertify .ajs-footer .ajs-buttons.ajs-primary .ajs-button {
    margin: 4px;
    background-color: #1ab394;
    color:white;
}*/

.view-content .simulators.Web {
    border: 1px solid #e9e9e9;
}

.view-content .simulators {
    min-height: 440px;
}

    .view-content .simulators.Web .demo-device {
        border: 8px solid #f5f5f5;
    }

    .view-content .simulators .demo-device {
        min-height: 440px;
    }

    .view-content .simulators.Web .demo-device .demo-display {
        border: 1px solid #e9e9e9;
        padding: 20px 20px;
    }

    .view-content .simulators.light .demo-device .demo-display, .view-content .simulators.light-compact .demo-device .demo-display, .view-content .simulators.material-blue-light .demo-device .demo-display, .view-content .simulators.material-orange-light .demo-device .demo-display, .view-content .simulators.material-lime-light .demo-device .demo-display, .view-content .simulators.material-teal-light .demo-device .demo-display, .view-content .simulators.material-purple-light .demo-device .demo-display {
        background-color: #fff;
    }

    .view-content .simulators .demo-device .demo-display {
        min-height: 440px;
        background: inherit;
        position: relative;
    }

.right-side {
    position: absolute;
    right: 370px;
    top: 19px;
    z-index:99999;
}

.chzn-container-single .chzn-single {
    height: 26px;
    line-height: 26px;
}

table th, table td {
    padding: 3px 8px;
}

td {
    white-space: nowrap;
}

.table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {
    padding: 3px 8px;
}

.table > tbody > tr > td, .table > tbody > tr > th, .table > tfoot > tr > td, .table > tfoot > tr > th, .table > thead > tr > td, .table > thead > tr > th {
    padding: 3px 8px;
}

label {
    font-weight:400;
}