body {
    margin: 0;
    padding-top: 80px;
    font-family: Arial, sans-serif;
    text-align: center;
}

/* header */

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.8);
    color: black;
    padding: 0px 20px;
    z-index: 9999;
    display: flex;
    align-items: center;
    padding: 0 40px;
    box-sizing: border-box;
    height: 80px;
    
   }

header h1 {
    margin: 0;
    font-size: 22px;
}

.logo-area {
    display: flex;
    align-items: center;
    gap: 15px; 
}

.logo-area img {
    width: 70px;
    height: 70px;
    object-fit: contain;
    left:10px;
    
}
.logo-area h1 {
    font-family: 'Merriweather', serif;
    font-size: 28px;
    margin: 0;
    white-space: nowrap;
    color:#1F2937; 
}





/* Navigation bar */

.navbar {

    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding:20px 40px;
    background-color: rgba(255, 255, 255, 0.01);
    margin-left: auto;
    
}

.navbar a {
    display: inline-block;
    text-decoration:none;
    color: #2F5D87;
    font-size:15px;   
    font-family:'Poppins',sans-serif;


    font-weight:bold;
    padding: 10px 20px;
    margin: 5px;
    border-radius: 22px;
    transition: all 0.3s ease;
}


/* Hover effect */
.navbar a:hover {
    background-color:  #2F5D87; /* box background */
    color: #FFD700 ; /* inverted text color */
    transform: translateY(-5px);
    box-shadow: 0 8px 15px rgba(0,0,0,0.2);
}

#1e3a8a
#273F87

.index-welcome {
    position: absolute;
    left: -100px;
    top: 10%;
    z-index: 3;
}

.index-welcome h1{
    transform: translate(-240px, 30px);
    margin:0;
    font-family:'Poppins',sans-serif;
    font-size:clamp(20px,18vw,100px);
    font-weight:580;
    color:#fff;
    line-height:0.9;
    letter-spacing:-10px;
}

.index-welcome p{
    margin-top:20px;
    margin-left:10px;      /* adjust if you want it more left/right */
    font-family:'Poppins', sans-serif;
    font-size:30px;        /* much smaller than h1 */
    font-weight:580;
    color:#fff;
    letter-spacing:1px;
    line-height:1.6;
    max-width:600px;
}

.welcome-text {
    font-family: 'Montserrat', serif;
    font-size: 20px;
    color: white;
    margin-top: 240px;
}
.bubble-section {
    position: relative;
    width: 1000px;
    height: 650px;
    margin: auto;
}

/* Base Bubble Style */
.bubble {
  position: absolute;
  width: 150px;
  height: 150px;
  border-radius: 50%;

  background: rgba(255,255,255,0.7);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(10px);

  border: 0px solid rgba(46,186,195,0.6);

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  box-shadow: 0 10px 25px rgba(0,0,0,.15);
  transition: transform 0.3s ease;

  /* Separate properties to prevent shorthand parser errors */
  animation-name: bubblePop;
  animation-timing-function: linear;
  animation-fill-mode: both;
  animation-timeline: view();
  animation-range: entry 10% entry 60%;
}

/* Hover effect continues to work */
.bubble:hover {
  transform: scale(0.85);

}



.bubble i{
    font-size:40px;
    color:#2F5D87;
}

.bubble span{
    margin-top:10px;
    font-size:15px;
    font-weight:600;
    color:#333;
}

/* Different Sizes */

.large{
    width:170px;
    height:170px;
}

.small{
    width:120px;
    height:120px;
}

/* Bubble Positions */

.bubble1{
    left:635px;
    top:230px;
}

.bubble2{
    left:750px;
    top:20px;
}

.bubble3{
    left:790px;
    top:140px;
}

.bubble4{
    left:970px;
    top:70px;
}

.bubble5{
    left:960px;
    top:250px;
}

.bubble6{
    left:1120px;
    top:200px;
}

.index-sk{
     transform:translateY(80px);
    top:75%;
    font-family:'Poppins',sans-serif;
    font-size:180px;
    font-weight:900;
    line-height:.9;

    letter-spacing:-8px;

    
    color:transparent;

    opacity:.35;
}
.heroo-text {
    white-space: nowrap;
      font-size: 2.8rem;
      font-weight: 800;
      line-height: 1.15;
      color: #0b0b0b;
      letter-spacing: -1px;
    }
.heroo-text span{
     font-size: 3.5rem;
}
    .highlight {
        display: inline-block;
      background-color: #2F5D87; /* Light cyan highlight */
      color: #ffffff;             /* White text inside highlight */
      padding: 0 10px;
      display: inline-block;
      border-radius: 2px;
    }

.index-text h2 {
    margin-top: 25px;
    font-size:55px;
    line-height:1.1;
    color: #2F5D87;
}

.index-text h1 {
    font-size:55px;
    line-height:1.1;
    color: #2F5D87;
}


.index-text h1 span {
    color:#FFD700;
    font-family: Georgia, "Times New Roman", serif;
}

.bg3-index {
    width:100%;
    height:500px;
    padding:40px;
    box-sizing:border-box;

    background-image: white;

    background-size:cover;
    background-position:center;
}



.card-container3{
    display:grid;
    grid-template-columns: 0.8fr 0.8fr 1fr;
    grid-auto-rows:240px;
    gap:15px;
}

.item2{
    overflow:hidden;
    border-radius:0px;
}

.item2 img{
    width:100%;
    height:100%;
    filter: brightness(80%);
    object-fit:cover;
    transition:.4s;
}

.item2:hover img{
    transform:scale(1.02);
}



.tall2{
    grid-row:span 2;
    grid-column:span 1;
}


.wide2{
    grid-column:span 1;
}
 
 .kata-icon{
    color:#E8B63C;
    font-size:40px;
}

.title-header-kata{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:20px;
}


.title-header-kata h1{
    font-size:30px;
    color: #2F5D87;
    margin:10px 0;
    font-weight:700;
    letter-spacing:2px;
}

.ucapan-container {
    width: 2000px;
    max-width: 100%;
    margin: auto;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 50px;
}


/* LEFT TEXT */
.ucapan-text {
    width: 70%;
}

.ucapan-text p {
    font-family: Arial, sans-serif;
    font-size: 14px;
    line-height: 1.6;
    color: black;

    margin-bottom: 22px;
}


/* RIGHT IMAGE */
.ucapan-images {
    width: 30%;
     transform: translateY(-40px);

}

.ucapan-images img {
    width: 80%;
    height: 500px;

    object-fit: cover;

    border-radius: 8px;
    display: block;
 -webkit-mask-image: linear-gradient(
        to bottom,
        black 0%,
        black 75%,
        rgba(0,0,0,0.8) 85%,
        rgba(0,0,0,0.4) 93%,
        transparent 100%
    );

    mask-image: linear-gradient(
        to bottom,
        black 0%,
        black 75%,
        rgba(0,0,0,0.8) 85%,
        rgba(0,0,0,0.4) 93%,
        transparent 100%
    );
}


 .services{
    width:100%;
    padding:80px 10%;
    text-align:center;
}

.services h2{
    font-size:42px;
    font-weight:700;
    color:white;
    margin-bottom:60px;
}

.info-icon{
    font-size:30px;
    color:#E8B63C;
}



.card-container5{
     margin-top: 100px;
    display:flex;
    justify-content:center;
    gap:30px;
    flex-wrap:wrap;
}

.service-card{
    cursor:pointer;
    width:200px;
    height:180px;
    background:#E6F2FF;
    padding:40px 30px;
    border-radius:18px;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
    transition:.4s;
}

.service-card:hover{
    transform:translateY(-10px);
    box-shadow:0 22px 35px rgba(0,0,0,.16);
}

.icon-circle{
    width:75px;
    height:75px;
    background:#EAF7EA;
    border-radius:50%;

    display:flex;
    justify-content:center;
    align-items:center;

    margin:0 auto 25px;
}

.icon-circle i{
    font-size:30px;
    color:#E8B63C;
}

.service-card h3{
    font-size:22px;
    margin-bottom:15px;
    color:#2F5D87;
}

.service-card p{
    font-size:15px;
    color:#777;
    line-height:1.8;
}
.popup{
    display:none;
    position:fixed;
    left:0;
    top:40px;
    width:100%;
    height:100%;
    background:rgba(0,0,0,.6);

    justify-content:center;
    align-items:center;

    z-index:999;
}

.popup-content{
    background:#fff;
    width:80%;
    max-width:800px;
    border-radius:15px;
    padding:20px;
    position:relative;
}


.close{
    position:fixed;
    right: 120px;
    top:80px;
    font-size:50px;
    cursor:pointer;
       z-index:1000;
}

.contact-box{
    max-width:600px;
}

.school-logo{
    text-align:center;
    margin-bottom:10px;
}


.school-logo img{

    width:80px;
    height:80px;

    object-fit:contain;

    border-radius:50%;

}

.contact-title{
    text-align:center;
    color:#17375E;
    margin-bottom:25px;
}


.contact-title i{
    font-size:45px;
    color:#D8A12B;
}


.contact-item{

    display:flex;
    align-items:center;

    gap:20px;

    background:#F5F8FC;

    padding:15px;

    margin:15px 0;

    border-radius:15px;

}


.contact-item i{

    width:45px;
    height:45px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#17375E;

    color:white;

    border-radius:50%;

    font-size:20px;

}


.contact-item h4{
    margin:0;
    color:#17375E;
    text-align: left;
}


.contact-item p{
    margin:5px 0;
    color:#555;
     text-align: left;

}


.pelawat-box{
    max-width:600px;
    height: 520px;
}

#guestForm{
    
    display:flex;
    flex-direction:column;
    gap:15px;

}

#guestForm h2{
    text-align:center;
    color:#17375E;
    font-size:30px;
    font-weight:700;
    margin:0 0 20px 0;
}

.contact-title{
    text-align:center;
    color:#17375E;
    margin-bottom:25px;
}

#guestForm input,
#guestForm textarea{
    width:100%;
    box-sizing:border-box;
    padding:12px;
    border:1px solid #ccc;
    border-radius:8px;
    font-size:16px;

}

#guestForm textarea{

    resize:none;
    height:100px;

}

#guestForm button{
    width:100%;
    background:#17375E;
    color:white;
    border:none;
    padding:12px;
    border-radius:8px;
    cursor:pointer;
    font-size:16px;

}

#guestForm button:hover{

    background:#29568b;

}




/*tentang kami*/


.sejarah {
    height:500px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:50px 100px;
}

.bg2-sejarah h2{
    font-family: 'Nunito', serif;
    font-size: 30px;
    }

.sejarah-icon{
    color:#E8B63C;
    font-size:40px;
}

/* Left text */
.hero-text {
    width:45%;
}
.title-header-sej {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:20px;
}


.title-header-sej h1{
    font-size:30px;
    color: white;
    margin:10px 0;
    font-weight:700;
    letter-spacing:2px;
}


.hero-text h1 {
    font-size:55px;
    line-height:1.1;
    color:#222;
}


.hero-text h1 span {
    color:#E8B63C;
    font-family: Georgia, "Times New Roman", serif;
}


.hero-text p {
    color:white;
    font-size:14px;
    line-height:1.6;
    width:400px;
}
/* Ensure main section splits text (left) and images (right) */

/* Right image container - constrained to the red area */
.hero-images {
    width: 45%; /* Limits total width of the image area on the right */
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* Arranges 4 images into a 2x2 grid */
    gap: 20px; /* Gap between the framed photos */
    margin-left: auto; /* Keeps container strictly aligned to the right */
}

/* Photo Styling */
.hero-images img {
    width: 100%; /* Fits each image into its grid column */
    height: 180px; /* Gives images a uniform height */
    object-fit: cover; /* Prevents images from stretching/distorting */
    
    /* White Frame & Shadow */
    background-color: #ffffff;
    padding: 8px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
    box-sizing: border-box;
    transition: transform 0.3s ease;
}

.hero-images img:hover {
    transform: scale(1.08);
    z-index: 10;
}


.img1 {
    width: 250px;
    height: 200px;
    left: -40px;
    top: -40px;
}

.img2 {
    width: 250px;
    height: 200px;
    top: -40px;
    right: -70px;
}

.img3 {
    width: 250px;
    height: 200px;
    bottom: -10px;
    right: -70px;
}

.img4 {
    width: 250px;
    height: 200px;
    bottom: -10px;
    left: -40px;
}

/* Read More Button */
.btn-read-more {
  background-color: #2F5D87;
  color: #ffffff;
  border: none;
  padding: 10px 20px;
  font-size: 1rem;
  border-radius: 15px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.btn-read-more:hover {
  background-color: #2F5D87;
  color: #FFD700;
}
.modal-wrapper {
  position: relative;
  max-width: 600px;
  width: 90%;
}
/* Modal Background Overlay */
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  z-index: 1000;
}

.modal-overlay.active {
  opacity: 1;
  visibility: visible;
}

/* Modal Window */
.modal-content {
  background-color: #ffffff;
  padding: 30px;
  border-radius: 8px;
  max-width: 800px;
  width: 100%;
  max-height: 75vh;
  overflow-y: auto;
  position: relative;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
  transform: translateY(50px) !important;
  transition: transform 0.3s ease;

}

.modal-content h2{
 color: #2F5D87;
 }
.modal-overlay.active .modal-content {
  transform: translateY(0);
}

/* Close Button (X) */
.modal-close {
  position: absolute;
  top: 40px; /* Elevates button above the box */
  right: -210px;
  background-color: white;
  border: none;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  font-size: 20px;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  
}

.modal-close:hover {
  color: #000;
}

.modal-body p {
  line-height: 1.6;
  color: #333;
  margin-top: 15px;
}
.gallery-container {
    display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: repeat(3, auto);
  gap: 30px;
  padding: 40px;
  background: transparent;
  border-radius: 25px;
}

.portrait-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 180px;
}
.portrait-frame {
    width: 130px;
    height: 170px;
    border-radius: 0px;
    border: 8px solid #F5E6D3; /* Light caramel brown */
    box-shadow: 
        0 0 0 4px #F5E6D3, /* Soft sand beige outer ring */
        inset 0 0 10px rgba(0, 0, 0, 0.2);
    overflow: hidden;
    background-color: #FAF5EF; /* Warm light background */
}

.portrait-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: sepia(0.3) contrast(1.1);
}

/* Vintage Label Tag */
.name-tag {
  margin-top: 20px;
  background-color: #F5E6D3;
  color: #4E342E;
  padding: 6px 20px;
  font-size: 14px;
  letter-spacing: 1px;
  text-transform: uppercase;
  clip-path: polygon(10px 0%, calc(100% - 10px) 0%, 100% 50%, calc(100% - 10px) 100%, 10px 100%, 0% 50%);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.card-container {
  display: flex;          /* makes cards side by side */
  justify-content: center;
  gap: 30px;              /* space between cards */
  margin-top: 5px;
     

}


.lagu-icon{
    color:#E8B63C;
    font-size:40px;
}

.card-lagu1{
  width: 700px;
  height: 400px;
  background: white;
  padding: 20px;
  border-radius: 15px;
  background-color: #2F5D87;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  text-align: center;
  
}

.lyrics{
    height: 350px;          /* Scroll area */
    overflow-y: auto;       /* Vertical scrollbar */
    padding-right: 10px;
      scroll-behavior: smooth;
}

.lyrics::-webkit-scrollbar{
    display: none;
}

/* Individual line interactivity */
.lyrics p[data-time] {
    cursor: pointer;
    user-select: none;
    opacity: 0.5;
    padding: 6px 10px;
    margin: 4px 0;
    border-radius: 6px;
    transition: all 0.3s ease;
}

.lyrics p[data-time]:hover {
    opacity: 0.85;
    background: rgba(255, 255, 255, 0.08);
}

/* Active line highlight */
.lyrics p.active {
    opacity: 1;
    color: #ffcc00;
    font-weight: bold;
    transform: scale(1.03);
    background: rgba(255, 204, 0, 0.12);
}

/* Vinyl record animation */
.vinyl {
    transition: transform 0.5s ease;
}

.vinyl.playing {
    animation: spinVinyl 3s linear infinite;
}

@keyframes spinVinyl {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.card-lagu2{
    width:350px;
    height:400px;
    background:rgba(255,255,255,0.9);
    background-image: url("pic45.jpeg");
    background-size: cover;
    padding:20px;
    border-radius:15px;
    box-shadow:0 4px 8px rgba(0,0,0,.1);

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:20px;
}

.vinyl{
    width:300px;
    height:300px;
    border-radius:50%;

    animation: spin 3s linear infinite;
    animation-play-state: paused;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

audio::-webkit-media-controls-panel {
  background-color: #E6F2FF;
}

#playBtn {
  background-color: #7ce0ee; /* Change button color */
  color: #000;              /* Change text color */
  border: none;
  padding: 8px 16px;
  border-radius: 12px;
  font-weight: bold;
  cursor: pointer;
}

#playBtn:hover {
  background-color: #5bc0ce;
}
.card-container1 {
  display: flex;          /* makes cards side by side */
  flex-direction: column; 
  align-items: center;
  gap: 55px;              /* space between cards */
  margin-top: 5px;
}

.card-visi,
.card-misi {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease-out, transform 0.10s ease-out;
  will-change: opacity, transform;
}

.card-visi{
  width: 800px;
  height: 150px;
  background: white;
  padding: 20px;
  border-radius: 15px;
  background-color: rgba(255, 255, 255, 0.6);
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  text-align: center;
  transition: transform 0.3s ease; /* smooth animation */
  transform: translateX(-90px);
}


.card-visi:hover {
    transform: scale(1.05); /* makes card 5% bigger */
    background-color:  #2F5D87; /* box background */
    color: #FFD700; /* inverted text color */
    transform: translateY(-5px);
    box-shadow: 0 8px 15px rgba(0,0,0,0.2);

}

.card-misi{
  width: 800px;
  height: 150px;
  background: white;
  padding: 20px;
  border-radius: 15px;
  background-color: rgba(255, 255, 255, 0.6);
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  text-align: center;
  transition: transform 0.3s ease; /* smooth animation */
  transform: translateX(90px);
  /* Slight delay so Misi animates right after Visi */
  transition-delay: 0.2s;
}

.card-misi:hover {
    transform: scale(1.05); /* makes card 5% bigger */
    background-color:  #2F5D87; /* box background */
    color: #FFD700; /* inverted text color */
    transform: translateY(-5px);
    box-shadow: 0 8px 15px rgba(0,0,0,0.2);
}

.card-visi.show,
.card-misi.show {
  opacity: 1;
  transform: translate(0);

}

.h2 {
    font-family: 'Merriweather', serif;
    font-size: 20px;
    white-space: nowrap;
    color: #1F2937; 

}


.title{
     text-align:center;
    margin-bottom:60px;
}

.title .icon{
    font-size:40px;
}

.warga-icon{
    color:#E8B63C;
    font-size:40px;
}

.title-header{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:20px;
}

.line{
    width:80px;
    height:3px;
    background:#D8A12B;
    border-radius:5px;
    display:block;
}

.title-header h1{
    font-size:30px;
    color:#2F5D87;
    margin:10px 0;
    font-weight:700;
    letter-spacing:2px;
}

.title p{
    color:#666;
    font-size:18px;
}

.image-grid {
  display: grid;
  grid-template-columns: repeat(8, 1fr); /* 8 equal columns */
  gap: 18px; /* Spacing between circles */
  justify-content: center;
  max-width: 1400px;
  width: 100%;
   margin: 0 auto;
}

.warga-card{
    display:flex;
    flex-direction:column;
    width:110px;      /* Change card width */
    height:150px;     /* Change card height */

    background:white;

    padding:10px;

    border-radius:20px;

    box-shadow:0 15px 35px rgba(0,0,0,0.3);

    transition:0.4s ease;

    overflow:hidden;
    align-items:center;
   
}

#hidden-card {
     visibility: hidden;
}

.warga-info{
    margin:10px;
    width: 125px;
    display:inline-block;
    background:#17375E;
    color:white;
    padding:9px 10px;
    border-radius:0px;
    text-align:center;
}

.warga-info h3{
    margin:0;
    color:white;
    font-size:9px;
    display:block;
    padding:0px;
    line-height: 1.0; /* Controls line spacing inside multi-line headings */
    margin-bottom: 1px;
}

.warga-info span{
    display:block;
    background:none;
    color:#FFD700;
    padding:0;
    font-size:10px;
    line-height: 1.2;
}

/* Container for each circle to maintain square aspect ratio */
.circle-item {
  width: 100%;
  aspect-ratio: 1 / 1; /* Keeps width and height equal */
  border-radius: 50%; /* Makes container circular */
  border: 2px solid #2F5D87; /* blue outline color */
  overflow: hidden; /* Clips image within circle */
  background-color: #ffffff;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
    flex-shrink:0;
}

/* Styles for images inside circles */
.circle-item img {
  width: 100%;
  height: 120%;
  object-fit: cover; /* Prevents image distortion */
  display: block;
}

/* Responsive adjustments for smaller screens */
@media (max-width: 1024px) {
  .image-grid {
    grid-template-columns: repeat(4, 1fr); /* 4 columns on tablets */
  }
}

@media (max-width: 600px) {
  .image-grid {
    grid-template-columns: repeat(2, 1fr); /* 2 columns on mobile */
  }
}

.motto {
    position: relative;
    width: 330px;
    height: 48px;
    top: 50px;
    background: #123d70;
    border-radius: 30px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 20px auto;

    color: white;
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 400;

    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
}

/* Left yellow triangle */
.motto::before {
    content: "";
    position: absolute;

    left: -8px;
    top: 50%;
    transform: translateY(-50%);

    width: 0;
    height: 0;

    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
    border-right: 10px solid #F2B632;
}

/* Right yellow triangle */
.motto::after {
    content: "";
    position: absolute;

    right: -8px;
    top: 50%;
    transform: translateY(-50%);

    width: 0;
    height: 0;

    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
    border-left: 10px solid #F2B632;
}

/* Quotation marks */
.motto-left,
.motto-right {
    color: #F2B632;
    font-size: 28px;
    font-weight: bold;
    line-height: 1;
}

.motto-left {
    margin-right: 15px;
}

.motto-right {
    margin-left: 15px;
}




/* Galeri */

  .video-background {
        position: relative;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 300px;
        object-fit: cover;
}

.gallery {
    width:100%;
    background-image: url("pic32.jpg");
    overflow:hidden;
    padding:40px 0;
}

.slider {
    display:flex;
    gap:40px;
    width:max-content;
    animation: scroll 25s linear infinite;
    white-space: nowrap;
    position: relative;
    z-index: 0;
}

.card {

    width:300px;
    height:380px;

    background:white;

    padding:20px;
    border-radius: 5px;
    box-sizing:border-box;
    box-shadow: 0 8px 20px rgba(0,0,0,0.2);
}

.card img {

    width:100%;
    height:280px;
    filter: brightness(80%);
    object-fit:cover;

}


h3 {

  color: #000000;
}


.card-container2{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    grid-auto-rows:240px;
    gap:15px;
    animation: slideDown 1s ease;

}

.aktiviti-icon{
    color:#E8B63C;
    font-size:40px;
}

.item{
    overflow:hidden;
    border-radius:20px;
}

.item img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.4s;
}

.item:hover img{
    transform:scale(1.08);
}

.tall{
    grid-row:span 2;
}

.wide{
    grid-column:span 2;
}



@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-50px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}




/* Infinite movement */

@keyframes scroll {

    from {

        transform:translateX(0);

    }


    to {

        transform:translateX(-40%);

    }

}


/* PENCAPAIAN */
.container4 {
  background-color: #E6F2FF; /* Light soft blue inner background */
  border-radius: 24px;
  padding: 40px 30px;
  max-width: 1045px;
  height:800px;
  width: 100%;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
 
  margin: 0 auto;
}

/* Main Section Title */
.section-title {
  color: #2b5122;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 30px;
}

.pen-icon{
    color:#E8B63C;
    font-size:40px;
}

/* Cards Grid Container */
.cards-pen-grid {
  display: flex;
  gap: 20px;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  width:max-content;
}

.cards-slider{
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;

    scroll-behavior:smooth;
      scroll-snap-type:x mandatory;

    scrollbar-width:none;      /* Firefox */

    padding:10px 5px;
}

.cards-slider::-webkit-scrollbar{
    display:none;
}
/* Card Item */
.card-pen {
  background-color: #ffffff;
  border-radius: 18px;
  overflow: hidden;
  flex: 0 0 300px;
   scroll-snap-align:start;
  width: 340px;
  height: 500px;
  text-align: left;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
   transition: transform .4s ease,
               box-shadow .4s ease;
}

.card-pen:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 40px rgba(0,0,0,0.15);
}

.card-pen-image {
  width: 100%;
  height: 280px;
  object-fit: cover;
  display: block;
}

.card-pen-content {
  padding: 20px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.card-pen-title {
  font-size: 1.1rem;
  font-weight: 700;
  color: #1c2b18;
  margin-bottom: 8px;
}

.card-pen-description {
  font-size: 0.45rem;
  color: #6d7d6b;
  line-height: 1.4;
  margin-bottom: 20px;
  flex-grow: 1;
}

.pen-button {
    display: inline-block;
    height: 25px;
    padding: 15px 20px;
    background-color:#2F5D87;
    color: white;
    text-decoration: none;
    font-size: 16px;
    font-weight: bold;
    border-radius: 20px;
    transition: all 0.3s ease;
    margin-top: 30px;
}

/* Hover effect */
.pen-button:hover {
    background-color: #2F5D87;
    color: #FFD700;
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.2);
}

.container4 h3{
color:#2F5D87;
}

.container4 h4{
color:#2F5D87;
margin-top: 45px;
}

.container4 p {
  font-size: 0.9rem;
} 

.image-popup{
    display:none;
    position:fixed;

    top:0;
    left:0;

    width:100%;
    height:100%;

    background:rgba(0,0,0,0.85);

    justify-content:center;
    align-items:center;

    z-index:9999;
}


.image-popup img{
    max-width:90%;
    max-height:90%;

    border-radius:20px;

    animation:zoom .3s ease;
}


.close-btn{
    position:absolute;

    top:30px;
    right:50px;

    color:white;
    font-size:50px;

    cursor:pointer;
}


@keyframes zoom{
    from{
        transform:scale(.7);
        opacity:0;
    }

    to{
        transform:scale(1);
        opacity:1;
    }
}



/* Each menu */

.menu-item {

    position: relative;
    cursor: pointer;

}


/* Arrow */

.arrow {

    font-size: 14px;
    margin-left: 2px;

}

.dropdown {

    position:relative;

}

/* Dropdown box */

.dropdown-menu {

    display:none;

    position:absolute;

    top:100%;
    left:0;


    width:160 px;

    background:white;

    box-shadow:0px 5px 15px rgba(0,0,0,0.6);
    border-radius: 12px;
    

    padding:10px 0;
    z-index:9999;
}

.dropdown:hover .dropdown-menu {

    display:block;

}

/* Dropdown links */

.dropdown-menu a {

    display:block;

    font-size:12px;

    margin-bottom:20px;
    font-family: Poppins, sans-serif;
    font-weight: 300;
}



/* Hover effect */

.dropdown:hover .dropdown-menu {

    display:block;

}

nav a {
    color: black;
    text-decoration: none;
    margin: 15px;
    font-weight: bold;
}

nav a:hover {
    color: gray;
}

.hero {
    background-color: #e6f0ff;
    padding: 60px;
}

section {
    position: relative;
    z-index: 0;
    height: 500px;
    background-size: cover;
    background-position: center;
    padding: 40px;
    color: white;
    scroll-margin-top: 150px;
    
}

html {
  scroll-behavior: smooth;
}





/* BACKGROUND */

/*first section bg */ 
.bg1 {
    position: relative;
    height: 300px;
    overflow: hidden;
    color: white;
    padding: 5px;
}

/* Second section bg */
.bg1-index{
      background-image:
       linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.8)),url("pic42.png");
        

    background-size: cover;
    background-position: center;

    .custom-shape-divider-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    z-index: 2;
}

.custom-shape-divider-bottom svg {
    position: relative;
    display: block;
    width: calc(100% + 1.3px);
    height: 90px; /* Adjust height to make the curve deeper or shallower */
}


.custom-shape-divider-bottom .shape-fill {
    fill: #FFFFFF; 
}
}    

.bg2-index {
  align-items: center;
        color: white;
    padding: 120px 10%;
    height: 100px;
}

.bg2-sejarah {
    position: relative;
    background-image:linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.5)),url("pic63.jpg");
    height: 1700px;
     background-size: cover;
    background-position: center;
    overflow:hidden;

}

.brush-bottom{
    position:absolute;
    bottom:-2px;
    left:0;
    width:100%;
    height:180px;
    z-index: 9999;
    background:url("border4.png") no-repeat bottom;
    background-size:100% 100%;

}
.bg2-lagu {
    background-image: white;
    height: 600px;
}



/* third section bg*/
.bg3 {
    background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)),url("pic3.jpg");
}

.bg3-index {
    background-image: white;
    height: 600px;

}

.bg3-galeri {
    background-image: white;
    height: 1100px;
}

.bg3-visimisi {
    background-image: url("pic32.jpg");
    background-size: cover;
}


/* forth section bg*/
.bg4-galeri {
    background-image: white;
    height: 900px;
}


.bg4-index{
    background-image:
    linear-gradient(rgba(255,255,255,0.80), rgba(255,255,255,0.80)),
    url("pic63.jpg");
       height: 900px;
}

.bg4-wargasekolah {
    background-color: #E6F2FF;
    height: 1670px;
}

/* fifth section bg*/
.bg5-index {
    background-image: white;
    height: 600px;
}

footer {
    background-color: #1F2937;
    color: white;
    padding: 20px;
}