
:root{

    --primary:#0D6EFD;
    --primary-dark:#0A58CA;
    --secondary:#00B4D8;

    --success:#20C997;
    --warning:#FFC107;
    --danger:#DC3545;

    --white:#FFFFFF;
    --black:#111827;

    --text:#4B5563;
    --text-light:#6B7280;

    --bg:#F5F8FD;
    --bg2:#EEF5FF;

    --border:#E5E7EB;

    --shadow-sm:0 10px 25px rgba(0,0,0,.05);
    --shadow:0 15px 40px rgba(0,0,0,.08);
    --shadow-lg:0 25px 60px rgba(0,0,0,.15);

    --radius:18px;
    --radius-lg:28px;

    --transition:.35s ease;

}

/*==============================
RESET
==============================*/

*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:'Poppins',sans-serif;
    background:var(--bg);
    color:var(--black);
    overflow-x:hidden;

}

img{

    max-width:100%;
    display:block;

}

a{

    text-decoration:none;
    transition:var(--transition);

}

ul{

    list-style:none;
    padding:0;
    margin:0;

}

section{

    position:relative;

}

.container{

    max-width:1280px;

}

/*==============================
SCROLLBAR
==============================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#EDF2F7;

}

::-webkit-scrollbar-thumb{

    background:linear-gradient(180deg,#0D6EFD,#00B4D8);
    border-radius:50px;

}

::-webkit-scrollbar-thumb:hover{

    background:#0A58CA;

}

/*==============================
PRELOADER
==============================*/

#preloader{

    position:fixed;
    inset:0;

    background:#ffffff;

    display:flex;
    justify-content:center;
    align-items:center;

    z-index:99999;

}

.loader{

    text-align:center;

}

.loader h5{

    font-weight:600;
    color:var(--primary);

}

/*==============================
TOP HEADER
==============================*/

.top-header{

    background:linear-gradient(90deg,#065675,#0a5a78);
    color:#fff;

    padding:10px 0;

    font-size:14px;

}

.top-left{

    display:flex;
    align-items:center;
    gap:30px;

}

.top-left span{

    display:flex;
    align-items:center;
    gap:8px;

}

.top-right a{

    color:#fff;
    margin-left:16px;
    font-size:14px;

}

.top-right a:hover{

    opacity:.75;

}

/*==============================
NAVBAR
==============================*/

/*==============================
NAVBAR
==============================*/

.navbar{
    padding:18px 0;
    background:linear-gradient(135deg, rgb(2 19 36 / 95%), rgb(3 45 88 / 90%)) !important;
    transition:.4s;
}

.navbar-brand{
    display:flex;
    align-items:center;
}

.logo{
    width:72px;
}

.navbar-brand h4{
    margin:0;
    font-size:25px;
    font-weight:700;
    color:#ffffff !important;
}

.navbar-brand small{
    display:block;
    color:#e0e0e0 !important;
    font-size:13px;
}

.navbar-nav{
    gap:8px;
}

/* MEMAKSA TEKS MENU ATAS TETAP PUTIH DI DESKTOP */
@media (min-width: 992px) {
    .navbar .nav-link,
    .navbar .nav-link:hover,
    .navbar .nav-link:focus,
    .navbar .nav-link.active {
        color: #ffffff !important;
    }
}

.dropdown-menu{
    border:none;
    border-radius:16px;
    padding:12px;
    box-shadow:var(--shadow);
}

.dropdown-item{
    padding:12px 16px;
    border-radius:10px;
    font-size:14px;
}

.dropdown-item:hover{
    background:#F1F5F9;
    color:#0D6EFD;
}

.btn-primary{

    border-radius:50px;
    padding:12px 28px;
    font-weight:600;
    box-shadow:0 15px 35px rgba(13,110,253,.20);

}

.btn-primary:hover{

    transform:translateY(-3px);

}

.btn-outline-primary{

    border-radius:50px;
    padding:12px 28px;
    font-weight:600;

}

/*==============================
HERO
==============================*/

/* .hero-section{ */

    /* padding:90px 0 80px; */
    /* overflow:hidden; */

    /* background: */

    /* radial-gradient(circle at top right, */
    /* rgba(13,110,253,.10), */
    /* transparent 35%), */

    /* linear-gradient(180deg, */
    /* #F7FBFF, */
    /* #EEF6FF); */

/* } */


.hero-section {
    padding: 90px 0 80px;
    overflow: hidden;
    background-image: linear-gradient(135deg, rgb(1 21 44 / 92%) 0%, rgb(4 45 92 / 75%) 50%, rgb(2 35 74 / 55%) 100%), url(https://pupr.lampungselatankab.go.id/sijaklamsel/asli.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

.hero-label{

    display:inline-block;

    padding:10px 18px;

    background:#EAF4FF;

    color:#0D6EFD;

    border-radius:50px;

    font-size:13px;
    font-weight:700;
    letter-spacing:1px;
    margin-bottom:24px;

}

.hero-section h1{

    font-size:66px;
    line-height:1.1;
    font-weight:800;
    margin-bottom:18px;

}

.hero-section h1 span{

    color:#0D6EFD;

}

.hero-section h5{

    color:#1E3A8A;
    margin-bottom:22px;
    font-weight: 900;
    font-size: 35px !important;

}

.hero-section p{

    color:#6B7280;
    font-size:17px;
    line-height:1.9;
    margin-bottom:40px;
    max-width:650px;

}

.hero-button{

    display:flex;
    gap:18px;
    flex-wrap:wrap;

}

/* HERO SLIDER DILANJUTKAN DI PART 2 */


/*PART 2*/
/*====================================================
    STYLE.CSS
    PART 2
====================================================*/

/*==============================
HERO SLIDER
==============================*/

.hero-slider{

    position:relative;

}

.hero-card{

    background:#ffffff;

    border-radius:28px;

    overflow:hidden;

    box-shadow:var(--shadow-lg);

    transition:all .35s ease;

}

.hero-card:hover{

    transform:translateY(-8px);

}

.hero-card img{

    width:100%;
    height:260px;
    object-fit:cover;

}

.hero-card-body{

    padding:30px;

}

.hero-card-body .badge{

    font-size:12px;
    font-weight:600;

    padding:9px 16px;

    border-radius:30px;

    margin-bottom:18px;

}

.hero-card-body h3{

    font-size:19px;
    font-weight:700;

    line-height:1.4;

    margin-bottom:18px;

}

.hero-card-body p{

    font-size:15px;

    color:var(--text);

    line-height:1.8;

    margin-bottom:22px;

}

.hero-card-body .btn{

    border-radius:40px;

    font-weight:600;

    padding:12px 22px;

}

.carousel-indicators{

    margin-bottom:-48px;

}

.carousel-indicators button{

    width:13px!important;
    height:13px!important;

    border-radius:50%!important;

    background:#0D6EFD!important;

}

/*==============================
SECTION TITLE
==============================*/

.section-title{

    margin-bottom:55px;

}

.section-title span{

    display:inline-block;

    padding:10px 18px;

    border-radius:40px;

    background:#EAF4FF;

    color:#0D6EFD;

    font-size:13px;

    font-weight:700;

    letter-spacing:1px;

    margin-bottom:18px;

}

.section-title h2{

    font-size:42px;

    font-weight:700;

    margin-bottom:18px;

}

.section-title p{

    max-width:650px;

    margin:auto;

    color:#6B7280;

    line-height:1.9;

}

/*==============================
SERVICE
==============================*/

.quick-service{

    padding:90px 0;

    background:#fff;

}

.service-card{

    background:#fff;

    border-radius:24px;

    padding:40px 28px;

    text-align:center;

    transition:.35s;

    border:1px solid #EEF2F7;

    box-shadow:0 15px 40px rgba(0,0,0,.05);

    height:100%;

}

.service-card:hover{

    transform:translateY(-10px);

    border-color:#0D6EFD;

    box-shadow:0 20px 50px rgba(13,110,253,.18);

}

.service-icon{

    width:85px;
    height:85px;

    margin:auto;

    border-radius:24px;

    background:linear-gradient(135deg,#0D6EFD,#00B4D8);

    display:flex;

    justify-content:center;

    align-items:center;

    color:#fff;

    font-size:34px;

    margin-bottom:25px;

}

.service-card h5{

    font-size:22px;

    font-weight:700;

    margin-bottom:15px;

}

.service-card p{

    color:#6B7280;

    line-height:1.8;

    font-size:15px;

}

/*==============================
VIDEO SECTION
==============================*/

.video-section{

    padding:100px 0;

    background:#F7FBFF;

}

.video-wrapper{

    position:relative;

}

.video-thumbnail{

    position:relative;

    overflow:hidden;

    border-radius:28px;

    box-shadow:var(--shadow-lg);

    /* Mengatur Aspect Ratio 16:9 secara modern */
    aspect-ratio: 16 / 9;

    width: 100%;

}

.video-thumbnail img{

    width:100%;

    height:100%; /* Mengisi penuh kontainer 16:9 */

    object-fit:cover; /* Memastikan gambar terisi rapi tanpa terdistorsi */

}

.video-play{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:90px;
    height:90px;
    border-radius:50%;
    background:#0D6EFD;
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:38px;
    transition:.35s;
    box-shadow:0 15px 40px rgba(13,110,253,.35);
}

.video-play:hover{
    transform:translate(-50%,-50%) scale(1.08);
    color:#fff;
}

.video-content{
    padding-left:30px;
}

.section-mini{

    display:inline-block;

    margin-bottom:20px;

    color:#0D6EFD;

    font-weight:700;

    letter-spacing:1px;

}

.video-content h2{

    font-size:42px;

    font-weight:700;

    margin-bottom:25px;

}

.video-content p{

    color:#6B7280;

    line-height:1.9;

    margin-bottom:30px;

}

.video-list li{

    display:flex;

    align-items:center;

    gap:12px;

    margin-bottom:18px;

    font-weight:500;

}

.video-list i{

    color:#20C997;

    font-size:20px;

}

/* VIDEO SECTION DILANJUTKAN DI PART 3 */



/*PART 3*/
/*====================================================
    STYLE.CSS
    PART 3
====================================================*/

/*==============================
STATISTIK
==============================*/

.statistik-section{

    padding:90px 0;

    background:
    linear-gradient(135deg,#0D6EFD,#0099FF);

    position:relative;

    overflow:hidden;

}

.statistik-section::before{

    content:"";

    position:absolute;

    width:500px;
    height:500px;

    border-radius:50%;

    background:rgba(255,255,255,.05);

    top:-250px;
    right:-200px;

}

.statistik-section::after{

    content:"";

    position:absolute;

    width:350px;
    height:350px;

    border-radius:50%;

    background:rgba(255,255,255,.04);

    bottom:-170px;
    left:-120px;

}

.stat-card{

    position:relative;

    background:rgba(255,255,255,.10);

    backdrop-filter:blur(14px);

    border:1px solid rgba(255,255,255,.18);

    border-radius:24px;

    padding:40px 25px;

    text-align:center;

    color:#fff;

    transition:.35s;

}

.stat-card:hover{

    transform:translateY(-10px);

    background:rgba(255,255,255,.15);

}

.stat-card i{

    font-size:55px;

    margin-bottom:20px;

}

.stat-card h2{

    font-size:48px;

    font-weight:700;

    margin-bottom:10px;

}

.stat-card p{

    margin:0;

    font-size:18px;

    opacity:.95;

}

/*==============================
NEWS
==============================*/

.news-section{

    padding:100px 0;

    background:#ffffff;

}

.news-card{

    background:#fff;

    border-radius:24px;

    overflow:hidden;

    transition:.35s;

    box-shadow:0 18px 45px rgba(0,0,0,.06);

    border:1px solid #EDF2F7;

    height:100%;

}

.news-card:hover{

    transform:translateY(-10px);

    box-shadow:0 30px 65px rgba(0,0,0,.10);

}

.news-image{

    overflow:hidden;

}

.news-image img{

    width:100%;

    height:240px;

    object-fit:cover;

    transition:.5s;

}

.news-card:hover img{

    transform:scale(1.08);

}

.news-content{

    padding:28px;

}

.news-date{

    display:inline-flex;

    align-items:center;

    gap:8px;

    font-size:14px;

    color:#0D6EFD;

    margin-bottom:15px;

    font-weight:600;

}

.news-content h4{

    font-size:23px;

    line-height:1.5;

    margin-bottom:16px;

    font-weight:700;

}

.news-content p{

    color:#6B7280;

    line-height:1.9;

    margin-bottom:22px;

}

.news-content a{

    color:#0D6EFD;

    font-weight:600;

}

.news-content a:hover{

    padding-left:6px;

}

/*==============================
AGENDA
==============================*/

.agenda-section{

    padding:100px 0;

    background:#F7FBFF;

}

.timeline{

    position:relative;

    margin-top:20px;

}

.timeline::before{

    content:"";

    position:absolute;

    left:42px;

    top:0;

    bottom:0;

    width:4px;

    background:#0D6EFD;

    border-radius:30px;

}

.timeline-item{

    display:flex;

    gap:30px;

    position:relative;

    margin-bottom:35px;

}

.timeline-date{

    width:85px;
    min-width:85px;

    height:85px;

    border-radius:20px;

    background:#0D6EFD;

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-weight:700;

    text-align:center;

    z-index:2;

    box-shadow:0 15px 35px rgba(13,110,253,.25);

}

.timeline-content{

    background:#fff;

    flex:1;

    padding:28px;

    border-radius:20px;

    box-shadow:0 15px 35px rgba(0,0,0,.05);

}

.timeline-content h5{

    margin-bottom:12px;

    font-size:22px;

    font-weight:700;

}

.timeline-content p{

    margin:0;

    color:#6B7280;

    line-height:1.8;

}

/* GALERI DILANJUTKAN DI PART 4 */




/*PART 4*/
/*====================================================
    STYLE.CSS
    PART 4
====================================================*/

/*==============================
GALLERY
==============================*/

.gallery-section{

    padding:100px 0;

    background:#ffffff;

}

.gallery-card{

    position:relative;

    overflow:hidden;

    border-radius:24px;

    cursor:pointer;

    box-shadow:0 20px 45px rgba(0,0,0,.08);

    transition:.35s;

}

.gallery-card:hover{

    transform:translateY(-10px);

}

.gallery-card img{

    width:100%;

    height:280px;

    object-fit:cover;

    transition:.55s;

}

.gallery-card:hover img{

    transform:scale(1.12);

}

.gallery-overlay{

    position:absolute;

    inset:0;

    display:flex;

    justify-content:center;

    align-items:center;

    flex-direction:column;

    background:linear-gradient(
        rgba(13,110,253,.15),
        rgba(13,110,253,.85)
    );

    opacity:0;

    transition:.35s;

}

.gallery-card:hover .gallery-overlay{

    opacity:1;

}

.gallery-overlay i{

    width:75px;

    height:75px;

    border-radius:50%;

    background:#fff;

    color:#0D6EFD;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:32px;

    margin-bottom:18px;

}

.gallery-overlay h5{

    color:#fff;

    font-size:22px;

    font-weight:600;

}

/*==============================
PARTNER
==============================*/

.partner-section{

    padding:90px 0;

    background:#F8FBFF;

}

.partner-item{

    background:#ffffff;

    border-radius:20px;

    padding:35px;

    display:flex;

    justify-content:center;

    align-items:center;

    min-height:150px;

    border:1px solid #EEF2F7;

    transition:.35s;

    box-shadow:0 10px 25px rgba(0,0,0,.04);

}

.partner-item:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 45px rgba(0,0,0,.08);

}

.partner-item img{

    max-height:75px;

    width:auto;



    transition:.35s;

}

.partner-item:hover img{

    filter:none;

    transform:scale(1.08);

}

/*==============================
FOOTER
==============================*/

.footer{

    background:#0F172A;

    color:#E5E7EB;

    padding-top:90px;

}

.footer-logo{

    width:90px;

    margin-bottom:20px;

}

.footer h4{

    color:#fff;

    margin-bottom:20px;

    font-weight:700;

}

.footer h5{

    color:#fff;

    margin-bottom:25px;

    font-size:20px;

}

.footer p{

    color:#CBD5E1;

    line-height:1.9;

}

.footer-menu li{

    margin-bottom:14px;

}

.footer-menu a{

    color:#CBD5E1;

    transition:.30s;

}

.footer-menu a:hover{

    color:#ffffff;

    padding-left:8px;

}

.footer hr{

    border-color:rgba(255,255,255,.10);

    margin:50px 0 30px;

}

.footer .bi{

    color:#60A5FA;

    margin-right:10px;

}

/*==============================
BACK TO TOP
==============================*/

.back-to-top{

    position:fixed;

    right:30px;

    bottom:30px;

    width:55px;

    height:55px;

    border-radius:50%;

    background:#0D6EFD;

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:22px;

    box-shadow:0 20px 45px rgba(13,110,253,.30);

    z-index:999;

    opacity:0;

    visibility:hidden;

    transition:.35s;

}

.back-to-top.show{

    opacity:1;

    visibility:visible;

}

.back-to-top:hover{

    color:#fff;

    transform:translateY(-5px);

    background:#0A58CA;

}

/* RESPONSIVE DILANJUTKAN DI PART 5 */


/*PART 5*/
/*====================================================
    STYLE.CSS
    PART 5
====================================================*/

/*==============================
RESPONSIVE 1200
==============================*/

@media(max-width:1200px){

    .hero-section h1{

        font-size:54px;

    }

    .hero-section h5{

        font-size:22px;

    }

    .hero-card img{

        height:220px;

    }

    .video-thumbnail img{

        height:420px;

    }

}

/*==============================
RESPONSIVE 992
==============================*/

@media(max-width:991px){


@media(max-width:991px){

    /* ... kode di atasnya ... */

    .navbar-collapse{

        background:#ffffff;

        margin-top:20px;

        border-radius:18px;

        padding:20px;

        box-shadow:0 20px 45px rgba(0,0,0,.08);

    }

    /* TAMBAHKAN BLOK INI */
    .navbar-collapse .nav-link,
    .navbar-collapse .nav-link:hover,
    .navbar-collapse .nav-link.active {
        color: #111827 !important;
    }

    .nav-link{

        padding:14px!important;

    }

    .top-header{

        display:none;

    }

    .navbar{

        padding:15px 0;

    }

    .logo{

        width:58px;

    }

    .navbar-brand h4{

        font-size:22px;

    }

    .navbar-collapse{

        background:#ffffff;

        margin-top:20px;

        border-radius:18px;

        padding:20px;

        box-shadow:0 20px 45px rgba(0,0,0,.08);

    }

    .nav-link{

        padding:14px!important;

    }

    .hero-section{

        padding:70px 0;

        text-align:center;

    }

    .hero-section h1{

        font-size:46px;

    }

    .hero-section h5{

        font-size:22px;

    }

    .hero-section p{

        margin:auto auto 35px;

    }

    .hero-button{

        justify-content:center;

        margin-bottom:45px;

    }

    .video-content{

        padding-left:0;

        margin-top:40px;

    }

    .section-title h2{

        font-size:36px;

    }

    .timeline::before{

        display:none;

    }

    .timeline-item{

        flex-direction:column;

    }

    .timeline-date{

        width:90px;

    }

}

/*==============================
RESPONSIVE 768
==============================*/

@media(max-width:768px){

    .hero-section{

        padding:60px 0;

    }

    .hero-section h1{

        font-size:38px;

    }

    .hero-section h5{

        font-size:20px;

    }

    .hero-section p{

        font-size:15px;

    }

    .section-title h2{

        font-size:30px;

    }

    .hero-card img{

        height:200px;

    }

    .hero-card-body{

        padding:22px;

    }

    .hero-card-body h3{

        font-size:22px;

    }

    .service-card{

        padding:30px 22px;

    }

    .video-thumbnail img{

        height:280px;

    }

    .video-play{

        width:75px;

        height:75px;

        font-size:30px;

    }

    .stat-card{

        padding:35px 20px;

    }

    .stat-card h2{

        font-size:38px;

    }

    .news-image img{

        height:220px;

    }

    .gallery-card img{

        height:220px;

    }

    .partner-item{

        min-height:120px;

        padding:25px;

    }

}

/*==============================
RESPONSIVE 576
==============================*/

@media(max-width:576px){

    .logo{

        width:50px;

    }

    .navbar-brand h4{

        font-size:18px;

    }

    .navbar-brand small{

        font-size:11px;

    }

    .hero-section h1{

        font-size:32px;

    }

    .hero-button{

        flex-direction:column;

    }

    .hero-button .btn{

        width:100%;

    }

    .section-title{

        margin-bottom:35px;

    }

    .section-title h2{

        font-size:27px;

    }

    .section-title p{

        font-size:15px;

    }

    .service-icon{

        width:70px;

        height:70px;

        font-size:28px;

    }

    .service-card h5{

        font-size:20px;

    }

    .news-content{

        padding:22px;

    }

    .news-content h4{

        font-size:21px;

    }

    .timeline-content{

        padding:22px;

    }

    .timeline-content h5{

        font-size:20px;

    }

    .footer{

        text-align:center;

    }

    .footer-logo{

        margin:auto auto 20px;

    }

    .back-to-top{

        right:20px;

        bottom:20px;

    }

}

/*==============================
ANIMATION
==============================*/

.fade-up{

    opacity:0;

    transform:translateY(40px);

    transition:all .8s ease;

}

.fade-up.show{

    opacity:1;

    transform:translateY(0);

}

.zoom-in{

    opacity:0;

    transform:scale(.9);

    transition:all .7s ease;

}

.zoom-in.show{

    opacity:1;

    transform:scale(1);

}

/*==============================
KEYFRAMES
==============================*/

@keyframes float{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-10px);

    }

    100%{

        transform:translateY(0);

    }

}

@keyframes pulse{

    0%{

        transform:scale(1);

    }

    50%{

        transform:scale(1.08);

    }

    100%{

        transform:scale(1);

    }

}

@keyframes rotate{

    from{

        transform:rotate(0deg);

    }

    to{

        transform:rotate(360deg);

    }

}

/*==============================
UTILITY
==============================*/

.shadow-hover{

    transition:.35s;

}

.shadow-hover:hover{

    transform:translateY(-8px);

    box-shadow:0 25px 60px rgba(0,0,0,.12);

}

.rounded-xl{

    border-radius:24px;

}

.rounded-2xl{

    border-radius:30px;

}

.text-primary{

    color:#0D6EFD!important;

}

.bg-primary-soft{

    background:#EEF6FF;

}


/* Penyesuaian Modal Video */
#profl .modal-content {
    background-color: #000 !important;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5);
}

#profl .ratio-16x9 {
    border-radius: 16px;
    overflow: hidden;
}

#profl .btn-close-white {
    filter: invert(1) grayscale(100%) brightness(200%);
    opacity: 0.8;
}

#profl .btn-close-white:hover {
    opacity: 1;
}