*,
*::before,
*::after {
  box-sizing: border-box;
}

html, body {
  overflow-x: hidden;
  scroll-behavior: smooth;
}

body {
  font-family: 'Montserrat', sans-serif;
  position: relative;
  background-color: #fff;
  color: #1e293b;
} 

@keyframes marquee {
0% {
    transform: translateX(0);
}
100% {
    transform: translateX(-33.333%);
}
}

.animate-marquee {
animation: marquee 40s linear infinite;
}

.scrollbar-hide::-webkit-scrollbar { display: none; }

.scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }
#modal-sertifikat {
    transform: scale(0.95);
    opacity: 0;
    transition: all 0.3s ease;
}

#modal-body {
    -webkit-overflow-scrolling: touch;
}

#image-viewer {
  overflow-x: hidden !important;
}

/* hide scrollbar clean */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* ensure modal image doesn't overflow on very small screens */
#modalSertifikatImg { max-height: 75vh; }