body {
  font-family: "Poppins";
}


/* HERO */

.hero {
  height: 91vh; /* penuh layar */
  background: url('../img/hero.jpeg') no-repeat center center;
  background-attachment: fixed;
  position: relative;
  background-size: cover;
  overflow: hidden;
}

.hero2 {
  height: 91vh; /* penuh layar */
  background: url('../img/layanan/hero.png') no-repeat center center;
  background-attachment: fixed;
  position: relative;
  background-size: cover;
  overflow: hidden;
}

/* Overlay biar teks tetap jelas */
.hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0,0.6); /* hitam transparan */
  z-index: 1;
}

.hero .container {
  position: relative;
  z-index: 2; /* teks di atas overlay */
}

/* nabar */
/* Default link navbar */
.navbar .nav-link {
  color: #111 !important;      /* hitam */
  font-weight: 550;
  transition: color 0.3s ease; /* biar smooth saat hover */
}

/* Hover link navbar */
.navbar .nav-link:hover {
  color: #fb6422 !important;   /* abu-abu */
}

/* Aktif menu (saat diklik/halaman aktif) */
.navbar .nav-link.active {
  color: #000 !important; 
  font-weight: 600;            /* lebih tebal biar kelihatan aktif */
}

/* about */
.carousel-item img {
  width: 100%;              /* biar full lebar carousel */
  height: 350px !important;            /* atur tinggi sama rata */
  object-fit: cover;        /* zoom & crop otomatis agar proporsional */
  object-position: center;  /* fokus di tengah gambar */
}
.carousel-inner {
  color: rgb(0, 0, 0) !important;
}
.footer-title{
  font-size: 17px;

}

.footer-link {
  font-size: 14px;
  color: #8e8080;
  text-decoration: none;
}

.footer-link:hover{
  color: #ada5a5;
}

.copyr {
  font-size: 12px;
}

/* .aktif {
  display: inline-block;
  border-bottom: 2px solid rgb(0, 0, 0); 
  padding-bottom: 0.5px;
} */

/* laya */

.carousel-item img {
  width: 100%;
  height: 250px; /* atau sesuaikan dengan kebutuhan */
  object-fit: cover;
  border-radius: 8px; /* mirip efek 'rounded' */

}

.navbar .dropdown-toggle::after {
  display: none !important;
  background-color: red;
}

.text-logo {
  margin-top: 200px !important;
}

.wa-float {
  position: fixed;
  width: 60px;
  height: 60px;
  bottom: 20px;       /* jarak dari bawah */
  right: 20px;        /* jarak dari kanan */
  background-color: #25d366;
  color: #fff;
  border-radius: 50%;
  text-align: center;
  box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
  z-index: 1000;
}

.wa-icon {
  width: 35px;
  margin-top: 12px;
}


/* Load */
/* PRELOADER */
#preloader {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  transition: opacity 0.5s ease;
}

.loader {
  text-align: center;
}

.loader .circle {
  display: inline-block;
  width: 15px; height: 15px;
  margin: 0 5px;
  border-radius: 50%;
  background: #ff6600; /* bisa diganti sesuai branding */
  animation: bounce 0.6s infinite alternate;
}

.loader .circle:nth-child(2) { animation-delay: 0.2s; }
.loader .circle:nth-child(3) { animation-delay: 0.4s; }

.loader span {
  display: block;
  margin-top: 15px;
  font-size: 16px;
  color: #444;
  font-weight: 500;
  letter-spacing: 1px;
}

@keyframes bounce {
  from { transform: translateY(0); opacity: 0.6; }
  to   { transform: translateY(-15px); opacity: 1; }
}

/* Load */

/* .......................................................................................................... */

/* nav COLLAPSE */
@media (max-width: 991px) {
  .navbar-collapse {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: rgba(253, 253, 253, 0.7); /* putih transparan */
    padding: 1rem;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    z-index: 1000;
    font-weight: 600;
  }
  
  .dropdown-menu {
    background: rgba(255, 255, 255, 0.4);
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    font-size: 15px;    
  }

.hero {
  height: 90vh; /* penuh layar */
  background: url('../img/hero.jpeg') no-repeat center center;
  background-attachment: fixed;
  position: relative;
  background-size: cover;
  overflow: hidden;
}

.hero2 {
  height: 90vh; /* penuh layar */
  background: url('../img/layanan/hero.png') no-repeat center center;
  background-attachment: fixed;
  position: relative;
  background-size: cover;
  overflow: hidden;
}

.fs2 {
  font-size: x-large !important;
}
.fs6 {
  font-size: 1rem !important;
}

.text-logo {
  font-size: medium !important;  
}

.copyr {
  font-size: 10px;
}

.bg-2-services {
  background-color: rgb(255, 251, 251);
}

    /* scroll landing page */
    #sewaalat {
      scroll-margin-top: 80px !important;
    }
    
    #cutandfill {
      scroll-margin-top: 92px !important;
    }

    #konstruksi {
      scroll-margin-top: 90px !important;
    }
    /* end */

}

 @media (min-width: 992px) {
    .navbar .dropdown:hover .dropdown-menu {
      display: block;
      margin-top: 0;
      background: #f4f0f0;
      /* background: rgba(255, 255, 255, 0.4); */
      box-shadow: 0 4px 6px rgba(0,0,0,0.1);
      color: white;
      font-size: 15px;
    }

    .figure-img {
      height: 480px;
    }

    .mt5pc {
      margin-top: 2rem;
    }
    /* scroll landing page */
    #sewaalat {
      scroll-margin-top: 80px !important;
    }
    
    #cutandfill {
      scroll-margin-top: 92px !important;
    }

    #konstruksi {
      scroll-margin-top: 90px !important;
    }
    /* end */

}

.masonry {
  column-count: 4;     /* jumlah kolom di desktop */
  column-gap: 2px;     /* jarak antar kolom */
}

.masonry img {
  width: 100%;
  margin-bottom: 2px;  /* jarak bawah */
  display: block;
  border-radius: 6px;
}

/* Responsive */
@media (max-width: 992px) {
  .masonry {
    column-count: 3;
  }
}
@media (max-width: 768px) {
  .masonry {
    column-count: 2;
  }
}
@media (max-width: 576px) {
  .masonry {
    column-count: 1;
  }
}


