/* Author: Glory Mulopo
Author: Axara Software (Pty)Ltd
Email: infor@geolayers.co.za
website: www.geolayers.co.za
License: All rights reserved; no part of this website, software, 
or its contents may be copied, 
reproduced, modified, distributed,
or reverse-engineered in any form.*/

:root {
  --bs-primary: #0ea5e9;
  --bs-primary-rgb: 14,165,233;
}
.bg-gradient-primary { background: linear-gradient(90deg, #0ea5e9, #1197d8); }
.card img { object-fit: cover; height: 200px; }
.modal-body img { width: 100%; height: auto; }

.blog img {
  height: 450px !important; 
}

.hero-about { 
      background: radial-gradient(1200px 600px at 15% -10%, rgba(255,255,255,.4), rgba(255,255,255,0)),
                  linear-gradient(90deg, #0ea5e9, #1197d8);
      color: #fff;
    }
    .hero-kpis .kpi { border-radius: .75rem; background: rgba(255,255,255,.12); }
    .icon-pill { width: 44px; height: 44px; border-radius: 12px; display:inline-flex; align-items:center; justify-content:center; background: rgba(14,165,233,.15); }
    .step { position: relative; padding-left: 2.25rem; }
    .step::before { content:""; position:absolute; left: 0.75rem; top:.3rem; bottom:-.3rem; width:2px; background: rgba(0,0,0,.075); }
    .step:last-child::before { bottom: .6rem; }
    .step .dot { position:absolute; left: .4rem; top:.35rem; width:.9rem; height:.9rem; border-radius:50%; background: var(--bs-primary); box-shadow:0 0 0 4px rgba(14,165,233,.15); }
    .values .card { border: 1px solid rgba(0,0,0,.06); }
    .client-pill { border:1px dashed rgba(0,0,0,.2); border-radius:999px; padding:.35rem .75rem; }


    .card {
      margin-left: 20px;
    }

    /* Navbar active/focus state */
.navbar .nav-link.active { 
  font-weight: 600; 
  background: rgba(255,255,255,.15); 
  border-radius: .5rem; 
}
.navbar .nav-link:focus-visible { outline: 2px solid #fff; outline-offset: 2px; border-radius: .5rem; }



footer {
  position: relative;
}


/* --- Ad slots --- */
.ad-slot { display:block; width:100%; min-height: 90px; margin: 1rem 0; }
.ad-slot.ad-leaderboard { min-height: 90px; }
.ad-slot.ad-rectangle { min-height: 250px; max-width: 336px; }
.ad-slot.ad-in-article { min-height: 200px; }
.ad-slot.ad-rail { min-height: 600px; }
.ad-placeholder {
  border: 2px dashed rgba(0,0,0,.15);
  border-radius: .5rem;
  height: 100%;
  width: 100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  background: repeating-linear-gradient(45deg, rgba(0,0,0,.02), rgba(0,0,0,.02) 10px, rgba(0,0,0,.04) 10px, rgba(0,0,0,.04) 20px);
  color: rgba(0,0,0,.5);
  font-weight: 600;
}
.ad-placeholder > div { opacity:.6; font-size:.9rem; }
/* sticky ad rail on wide screens */
@media (min-width: 992px){
  .sticky-rail { position: sticky; top: 6rem; }
}
