* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: Arial, sans-serif;
    background: #f5f5f5;
}

/* =========================
   SLIDER
========================= */

.slider {
    position: relative;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 12px;
    background: #ffffff;
}


.slides {
    position: relative;
    width: 100%;
    aspect-ratio: 1750 / 656; /* sesuaikan rasio banner */
    overflow: hidden;
}


.slide {
    position: absolute;
    top:0;
    left:100%;
    width:100%;
    height:100%;
    transition:transform 0.8s ease-in-out;
}

.slide.active {
    transform:translateX(-100%);
}

.slide.prev {
    transform:translateX(-200%);
}

.slide.next {
    transform:translateX(0);
}


.slide img {
    width: 100%;
    height: 100%;
    display: block;
    image-rendering: auto;
    object-fit: contain;
}

/* =========================
   TOMBOL
========================= */

.prev,
.next {
    position: absolute;

    top: 50%;
    transform: translateY(-50%);

    width: 45px;
    height: 45px;

    border: none;
    border-radius: 50%;

    background: rgba(0, 0, 0, 0.45);
    color: white;

    font-size: 22px;

    cursor: pointer;

    z-index: 10;

    transition: 0.3s;
}

.prev:hover,
.next:hover {
    background: rgba(0, 0, 0, 0.75);
}

.prev {
    left: 20px;
}

.next {
    right: 20px;
}

/* =========================
   DOT
========================= */

.dots {
    position: absolute;

    bottom: 15px;
    left: 50%;

    transform: translateX(-50%);

    display: flex;
    gap: 8px;

    z-index: 10;
}

.dot {
    width: 10px;
    height: 10px;

    background: rgba(255, 255, 255, 0.6);

    border-radius: 50%;

    cursor: pointer;

    transition: 0.3s;
}

.dot.active {
    width: 25px;

    border-radius: 10px;

    background: white;
}

/* =========================
   TABLET
========================= */

@media (max-width: 768px) {

    .slider {
        border-radius: 0;
    }


    .prev,
    .next {
        width: 38px;
        height: 38px;

        font-size: 18px;
    }

    .prev {
        left: 10px;
    }

    .next {
        right: 10px;
    }

    .dots {
        bottom: 10px;
    }
}

/* =========================
   HP
========================= */

@media (max-width: 480px) {

    .slides {
        aspect-ratio: 1750 / 656;
    }

    .prev,
    .next {
        width: 34px;
        height: 34px;

        font-size: 16px;
    }

    .prev {
        left: 8px;
    }

    .next {
        right: 8px;
    }

    .dot {
        width: 8px;
        height: 8px;
    }

    .dot.active {
        width: 20px;
    }
    .slider {
        width: 100%;
        border-radius: 0;
    }
}

/* =====================
   PRESTASI SECTION
===================== */

.prestasi-section{
    padding:80px 0;
    background:#fff;
}


.prestasi-wrapper{
    display:flex;
    gap:40px;
    align-items:center;
}


/* KIRI */

.prestasi-info{
    width:30%;
}


.prestasi-info h2{

    font-size:40px;
    font-weight:700;
    color:#111;
    margin-bottom:25px;

}


.prestasi-info p{

    font-size:17px;
    line-height:1.7;
    color:#555;

}


.btn-prestasi{

    display:inline-block;
    margin-top:25px;

    background:#022970;
    color:white;

    padding:15px 40px;

    border-radius:35px;

    text-decoration:none;
    font-weight:600;

}


.btn-prestasi:hover{

    background:#032160;
    color:white;

}


/* CAROUSEL */

.prestasi-carousel{

    width:70%;
    overflow:hidden;
    position:relative;

}


.prestasi-track{

    display:flex;
    gap:25px;

    transition:.5s ease;

}


.prestasi-card{

    min-width:350px;

    background:white;

}


.prestasi-card img{

    width:100%;
    height:230px;

    object-fit:cover;

}


.prestasi-card h3{

    font-size:20px;

    color:#07378a;

    line-height:1.5;

    padding:20px 15px;

}



/* BUTTON */

.prestasi-prev,
.prestasi-next{

    position:absolute;

    top:45%;

    width:40px;
    height:40px;

    border:none;

    background:#043072;

    color:white;

    border-radius:50%;

    cursor:pointer;

}


.prestasi-prev{

    left:10px;

}


.prestasi-next{

    right:10px;

}


/* RESPONSIVE */

@media(max-width:768px){

.prestasi-wrapper{

    flex-direction:column;

}


.prestasi-info,
.prestasi-carousel{

    width:100%;

}


.prestasi-card{

    min-width:280px;

}

}

/* =========================
   NAVBAR WHITE
========================= */

#ftco-navbar {
    background-color: white !important;
}


#ftco-navbar .nav-link {
    color: #111 !important;
}


#ftco-navbar .nav-link:hover {
    color: #1f5ca9 !important;
}


.navbar-toggler {
    color: #111 !important;
    border-color: transparent !important;
}

.navbar-toggler span {
    color: #000 !important;
}
.navbar-toggler .oi-menu {
    color: #111 !important;
}
#ftco-navbar .navbar-toggler {
    color: #000 !important;
}


#ftco-navbar .navbar-toggler::after {
    color: #000 !important;
}
