/* ==========================================================
   NAVBAR
========================================================== */

.custom-navbar{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;

    background: rgba(2,78,132,.92);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);

    border-bottom: 1px solid rgba(255,255,255,.08);

    transition: all .35s ease;

    min-height: 80px;
}

/* ketika discroll */

.custom-navbar.scrolled{
    background:#024E84;
    box-shadow:0 8px 30px rgba(0,0,0,.20);
}


/* ==========================================================
   CONTAINER
========================================================== */

.custom-navbar .container{
    max-width:1400px;
}


/* ==========================================================
   LOGO
========================================================== */

.navbar-brand{
    display:flex;
    align-items:center;
}

.logo-bi{
    height:24px;
}

.logo-ojk{
    height:18px;
}

.logo-aspi{
    height:18px;
}

.logo-fintech{
    height:20px;
}

.logo-apuvindo{
    height:14px;
}

.logo-lppi{
    height:14px;
}


/* ==========================================================
   MENU
========================================================== */

.navbar-nav{

    align-items:center;

}

.nav-item{

    margin:0 3px;

}

.nav-link{

    color:#fff !important;

    font-size:15px;

    font-weight:600;

    padding:12px 16px !important;

    transition:.3s;

    position:relative;

}

.nav-link:hover{

    color:#D6ECFF !important;

}


/* underline */

.nav-link::after{

    content:"";

    position:absolute;

    left:16px;

    right:16px;

    bottom:8px;

    height:2px;

    background:#fff;

    transform:scaleX(0);

    transition:.25s;

}

.nav-link:hover::after{

    transform:scaleX(1);

}


/* ==========================================================
   BUTTON
========================================================== */

.navbar-buttons{

    display:flex;

    align-items:center;

}

.btn-gradient{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:110px;

    height:42px;

    padding:0 26px;

    border-radius:999px;

    color:white !important;

    font-weight:700;

    border:none;

    background:linear-gradient(90deg,#A83BC9,#6B59F7);

    transition:.25s;

}

.btn-gradient:hover{

    color:#fff !important;

    text-decoration:none;

    transform:translateY(-2px);

    box-shadow:0 12px 25px rgba(107,89,247,.35);

}


/* ==========================================================
   DROPDOWN
========================================================== */

.dropdown-menu{

    border:none;

    border-radius:15px;

    padding:10px;

    box-shadow:0 15px 35px rgba(0,0,0,.12);

}

.dropdown-item{

    border-radius:8px;

    transition:.25s;

    padding:10px 15px;

}

.dropdown-item:hover{

    background:#EEF5FF;

}


/* ==========================================================
   TOGGLER
========================================================== */

.navbar-toggler{

    border:none;

    outline:none !important;

    box-shadow:none !important;

}

.navbar-toggler:focus{

    outline:none;

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width:991px){
    .navbar-brand {
        margin: 0;
    }
.custom-navbar{

    min-height:70px;

}

.logo-bi{

    height:15px;

}

.logo-ojk{

    height:15px;

}

.logo-aspi{

    height:9px;

}

.logo-fintech{

    height:9px;

}

.logo-apuvindo{

    height:6px;

}

.logo-lppi{

    height:9px;

}

.navbar-collapse{

    background:#024E84;

    margin-top:15px;

    border-radius:15px;

    padding:20px;

}

.navbar-nav{

    text-align:left;

}

.nav-item{

    width:100%;

}

.nav-link{

    padding:14px !important;

}

.nav-link::after{

    display:none;

}

.navbar-buttons{

    margin-top: 20px;
    display: flex;
    flex-direction: flex;
    width: 100%;

    gap: 10px;

}

.btn-gradient{

    width:100%;

    margin:5px 0 !important;

}

}

/* ==========================
   HERO SECTION
========================== */

.hero-section {
    min-height: 700px;
    position: relative;
    overflow: hidden;
}

.hero-bg {
    z-index: 0;
    background-color: #016bb2;
}

.hero-bg-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;

    mask-image: linear-gradient(to bottom, black 10%, transparent);
    -webkit-mask-image: linear-gradient(to bottom, black 10%, transparent);
}

.hero-content {
    position: absolute;
    left: 90px;
    bottom: -158px;
    z-index: 10;
}

/* ==========================
   BUTTON
========================== */

.hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    height: 48px;
    padding: 0 42px;

    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.8);

    color: #fff;
    font-weight: 800;
    font-size: 16px;

    background: linear-gradient(
        135deg,
        #A144A2,
        #8F3390,
        #7E2D7F
    );

    box-shadow: 0 12px 28px rgba(143,51,144,.45);

    transition: .3s;
}

.hero-btn:hover {
    color: #fff;
    transform: translateY(-4px);
    box-shadow: 0 18px 36px rgba(143,51,144,.55);
}

/* ==========================
   TABLET
========================== */

@media (max-width: 991.98px) {

    .hero-section {
        min-height: 450px;
        padding: 80px 0;
    }

    .hero-bg {
        top: 0px;
    }

    .hero-content {
        left: 20px;
        bottom: 60px;
    }

    .hero-btn {
        height: 48px;
        padding: 0 38px;
        font-size: 15px;
    }
}

/* ==========================
   MOBILE
========================== */

@media (max-width: 767.98px) {

    .hero-section {
        min-height: 380px;
        padding: 0;
        align-items: flex-end;
    }

    .hero-bg {
        top: 0px;
    }

    .hero-bg-image {
        width: auto;
        height: 100%;
        object-fit: cover;
        object-position: 65% center;
    }

    .hero-content {
        left: 15px;
        bottom: 90px;
    }

    .hero-btn {
        height: 35px;
        width: 50% !important;
        padding: 0 36px;
        font-size: 15px;
    }

}

/* ==========================
   LANDSCAPE MOBILE
========================== */

@media (max-height: 500px) and (orientation: landscape) {

    .hero-content {
        left: 40px;
        bottom: 20px;
    }

}

/* ==========================
   SECTION
========================== */

.agenda-section{
    background-color: #016bb2;
    padding:40px 0 80px;
}

/* ==========================
   CARD 1
========================== */

.agenda-gradient{
    padding:2px;
    border-radius:28px;

    margin: 0;
    background:linear-gradient(90deg,#EC4899,#A855F7);
    
    box-shadow:0 0 40px rgba(220,80,255,.4);
}

.agenda-card{
    background:rgba(61,132,197,.95);
    backdrop-filter:blur(14px);

    border-radius:26px;
    padding:40px;
    height:100%;
}

.agenda-card .d-flex {
    gap: 20px;
}
/* ==========================
   CARD 2
========================== */

.border-card{
    border:2px solid rgba(29,78,216,.6);
}

/* ==========================
   ICON
========================== */

.agenda-icon{
    width:48px;
    height:48px;

    border-radius:50%;
    border:1px solid rgba(255,255,255,.3);

    display:flex;
    align-items:center;
    justify-content:center;

    color:#fff;
    font-size:22px;
}

.agenda-icon-purple{
    background:#795BAD;
}

.agenda-icon-blue{
    background:#286DBA;
}

/* ==========================
   TEXT
========================== */

.agenda-title{
    color:#fff;
    font-size:1rem;
    font-weight:700;
    line-height:1.7;
    margin-bottom:0;
}

.agenda-date{
    margin-top:32px;
    color:rgba(255,255,255,.6);
    font-size:.9rem;
    margin-bottom:0;
}

/* ==========================
   RESPONSIVE
========================== */

@media (max-width:991px){
    .agenda-gradient {
        margin-bottom: 20px;
    }
    .agenda-card{
        padding:32px;
    }

}

@media (max-width:767px){

    .agenda-card{
        padding:24px;
    }

    .agenda-title{
        font-size:.95rem;
    }

    .agenda-date{
        margin-top:24px;
        font-size:.85rem;
    }

    .agenda-icon{
        width:44px;
        height:44px;
        font-size:20px;
    }

}


/* ======================================
   SECTION
====================================== */

.about-section{
    background:linear-gradient(
        to bottom,
        #187CBC,
        #2F81C3,
        #3E88CB
    );

    padding:60px 0;
}

/* ======================================
   OUTER CARD
====================================== */

.about-wrapper{

    border-radius:34px;
    overflow:hidden;
    position:relative;
}

/* ======================================
   GLASS CARD
====================================== */

.about-card{

    position:relative;
    z-index:2;

}

/* ======================================
   CONTENT
====================================== */

.about-content{

    background:#17457B;

    border-radius:22px;

    padding:35px;
}

/* ======================================
   TITLE
====================================== */

.about-title{

    color:#fff;

    text-align:center;

    font-weight:700;

    font-size:2rem;

    margin-bottom:35px;

    line-height:1.4;
}

/* ======================================
   PARAGRAPH
====================================== */

.about-content p{

    color:#C6D4E6;

    font-size:1rem;

    line-height:2;

    font-weight:600;

    text-align:justify;

    margin-bottom:0;

}

/* ======================================
   FOOTER
====================================== */

.about-footer{

    text-align:right;

    color:rgba(255,255,255,.9);

    font-weight:700;

}

/* ======================================
   TABLET
====================================== */

@media (max-width:991px){

    .about-card{

        padding:0;
        margin:15px;

    }

    .about-title{

        font-size:1.7rem;

    }

    .about-content{

        padding:25px;

    }

}

/* ======================================
   MOBILE
====================================== */

@media (max-width:767px){

    .about-wrapper{

        border-radius:24px;

    }

    .about-card{

        margin:0;

        padding:0;

        border-radius:20px;

    }

    .about-content{

        padding:20px;

    }

    .about-title{

        font-size:1.35rem;

        margin-bottom:25px;

    }

    .about-content p{

        font-size:.95rem;

        line-height:1.9;

    }

    .about-footer{

        text-align:center;

        margin-top:30px;

    }

}

/* =====================================================
   PROBLEM STATEMENT
===================================================== */

.problem-section{
    background:#3E88CB;
    padding:70px 0;
}

.problem-title{
    color:#fff;
    font-size:38px;
    font-weight:800;
    letter-spacing:2px;
    margin-bottom:60px;
    text-align: center;
}

/* =====================================================
   CARD
===================================================== */

.problem-card{
    background:#285F9F;
    border-radius:28px;
    padding:35px 25px;

    box-shadow:
        0 15px 35px rgba(0,0,0,.18);

    height:100%;

    transition:.35s;
}

.problem-card:hover{

    transform:translateY(-8px);

    box-shadow:
        0 25px 45px rgba(0,0,0,.25);

}

.category-title{

    color:#fff;

    font-size:20px;

    font-weight:700;

    text-align:center;

    line-height:1.6;

    margin-bottom:35px;

    min-height:90px;

}

/* =====================================================
   ACCORDION
===================================================== */

.accordion-item{

    margin-bottom:16px;

}

.accordion-btn{

    width:100%;

    background:#3B78BE;

    border:none;

    border-radius:15px;

    color:#fff;

    font-size:15px;

    font-weight:700;

    text-align:left;

    padding:16px 50px 16px 18px;

    position:relative;

    cursor:pointer;

    transition:.3s;

    outline:none;

}

.accordion-btn:hover{

    background:#4A8AD6;

}

.accordion-btn:focus{

    outline:none;

    box-shadow:none;

}

/* Icon + */

.accordion-btn::after{

    content:"+";

    position:absolute;

    right:18px;

    top:50%;

    transform:translateY(-50%);

    width:28px;

    height:28px;

    border-radius:50%;

    background:#fff;

    color:#2D67A8;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:18px;

    font-weight:bold;

}

/* ketika terbuka */

.accordion-btn[aria-expanded="true"]{

    background:#4F93E8;

}

.accordion-btn[aria-expanded="true"]::after{

    content:"−";

}

/* =====================================================
   BODY
===================================================== */

.accordion-body{

    background:#ffffff;

    margin-top:8px;

    border-radius:15px;

    padding:18px;

    font-size:14px;

    line-height:1.8;

    color:#4d4d4d;

}

/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width:991px){

    .problem-section{

        padding:60px 0;

    }

    .problem-title{

        font-size:32px;

        margin-bottom:45px;

    }

    .category-title{

        min-height:auto;

        margin-bottom:25px;

    }

}

@media (max-width:767px){

    .problem-section{

        padding:45px 0;

    }

    .problem-title{

        font-size:26px;

        letter-spacing:1px;

    }

    .problem-card{

        padding:25px 18px;

        border-radius:20px;

    }

    .category-title{

        font-size:18px;

    }

    .accordion-btn{

        font-size:14px;

        padding:14px 45px 14px 15px;

    }

    .accordion-btn::after{

        width:24px;
        height:24px;
        font-size:16px;

    }

    .accordion-body{

        font-size:13px;

    }

}

/*==================================
TIMELINE
===================================*/

.timeline-section{

    background: linear-gradient(
        90deg,
        #98B7EA 0%,
        #7DA7DE 30%,
        #6298D5 65%,
        #4A8CCB 100%
    );
    padding:80px 0;

}

.timeline-title{

    color:#fff;

    text-align:center;

    font-size:38px;

    font-weight:700;

    margin-bottom:70px;

}

/* garis */

.timeline{

    position:relative;

}

.timeline::before{

    content:"";

    position:absolute;

    left:50%;

    top:0;

    bottom:0;

    width:3px;

    background:rgba(255,255,255,.35);

    transform:translateX(-50%);

}

/* item */

.timeline-item{

    position:relative;

    width:50%;

    padding:0 55px;

    margin-bottom:60px;

}

.timeline-item.left{

    left:0;

    text-align:right;

}

.timeline-item.right{

    left:50%;

}

/* card */

.timeline-content{

    background:#fff;

    border-radius:22px;

    padding:25px;

    box-shadow:0 15px 35px rgba(0,0,0,.15);

}

.timeline-date{

    display:inline-block;

    color:#4B84C7;

    font-weight:700;

    margin-bottom:10px;

}

.timeline-content h4{

    color:#204B87;

    font-size:20px;

    font-weight:700;

}

.timeline-content p{

    color:#333;

}

.timeline-content small{

    color:#777;

    line-height:1.8;

    display:block;

}

/* icon */

.timeline-icon{

    position:absolute;

    width:56px;

    height:56px;

    border-radius:50%;

    background:#5B93D6;

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:22px;

    top:20px;

    border:5px solid rgba(255,255,255,.3);

    z-index:20;

}

.timeline-item.left .timeline-icon{

    right:-28px;

}

.timeline-item.right .timeline-icon{

    left:-28px;

}

/*============================
RESPONSIVE
============================*/

@media(max-width:991px){

.timeline::before{

    left:28px;

}

.timeline-item{

    width:100%;

    left:0!important;

    padding-left:75px;

    padding-right:0;

    text-align:left!important;

}

.timeline-item .timeline-icon{

    left:0!important;

    right:auto;

}

.timeline-title{

    font-size:30px;

}

}

/*==========================================
SECTION
==========================================*/

.benefit-section{

    position:relative;

    overflow:hidden;

    padding:80px 0;

    background:linear-gradient(
        90deg,
        #B9C8F2,
        #75A9E0,
        #3C88CE
    );

}

/*==========================================
TITLE
==========================================*/

.benefit-title{

    color:#fff;

    font-size:42px;

    font-weight:900;

    text-align:center;

    margin-bottom:70px;

    letter-spacing:2px;

}

/*==========================================
LEFT CARD
==========================================*/

.prize-card{

    position:relative;

    border-radius:30px;

    overflow:hidden;

    padding:70px 40px;

    display:flex;

    justify-content:center;

    align-items:center;

    text-align:center;

    height:100%;

    background:linear-gradient(
        135deg,
        #642D8F 0%,
        #8B3DAF 20%,
        #0A6FB8 65%,
        #0CA3DB 100%
    );

}

/* Glow */

.prize-glow{

    position:absolute;

    width:320px;

    height:320px;

    background:rgba(255,80,180,.35);

    border-radius:50%;

    left:-120px;

    bottom:-60px;

    filter:blur(80px);

}

/* Prize */

.prize-content{

    position:relative;

    z-index:10;

}

.prize-content h3{

    color:#fff;

    font-size:38px;

    font-weight:700;

}

.prize-content h1{

    color:#fff;

    font-size:150px;

    line-height:1;

    font-weight:900;

    margin:15px 0;

    text-shadow:
        0 12px 25px rgba(0,0,0,.25);

}

/*==========================================
RIGHT CARD
==========================================*/

.benefit-card{

    background:rgba(42,109,174,.92);

    border-radius:30px;

    padding:45px;

    height:100%;

}

/*==========================================
HEADING
==========================================*/

.benefit-heading{

    color:#fff;

    text-align:center;

    font-size:34px;

    font-weight:700;

    margin-bottom:50px;

}

/*==========================================
ITEM
==========================================*/

.benefit-item{

    display:flex;

    flex-direction:column;

    align-items:center;

    text-align:center;

}

/*==========================================
ICON
==========================================*/

.benefit-icon{

    width:82px;

    height:82px;

    border-radius:18px;

    background:rgba(255,255,255,.12);

    backdrop-filter:blur(8px);

    display:flex;

    justify-content:center;

    align-items:center;

}

.benefit-icon i{

    color:#fff;

    font-size:38px;

}

/*==========================================
TEXT
==========================================*/

.benefit-item p{

    margin-top:22px;

    color:#fff;

    font-size:22px;

    font-weight:600;

    line-height:1.4;

}

/*==========================================
BOTTOM WAVE
==========================================*/

.wave{

    position:absolute;

    left:0;

    bottom:0;

    width:100%;

    line-height:0;

}

.wave svg{

    display:block;

    width:100%;

    height:80px;

}

/*==========================================
RESPONSIVE
==========================================*/

@media(max-width:991px){

    .benefit-title{

        font-size:34px;

        margin-bottom:45px;

    }

    .prize-content h1{

        font-size:110px;

    }

    .prize-content h3{

        font-size:30px;

    }

    .benefit-card{

        margin-top:30px;

    }

}

@media(max-width:767px){

    .benefit-section{

        padding:50px 0;

    }

    .benefit-title{

        font-size:28px;

    }

    .benefit-card{

        padding:30px 20px;

        border-radius:22px;

    }

    .prize-card{

        padding:45px 20px;

        border-radius:22px;

    }

    .prize-content h1{

        font-size:90px;

    }

    .prize-content h3{

        font-size:24px;

    }

    .benefit-heading{

        font-size:26px;

    }

    .benefit-icon{

        width:64px;

        height:64px;

    }

    .benefit-icon i{

        font-size:28px;

    }

    .benefit-item p{

        font-size:16px;

    }

}

/* =====================================================
   FAQ SECTION
===================================================== */

.faq-section{
    background:#0E71B8;
    padding:70px 0;
    position:relative;
}

.faq-title{
    color:#fff;
    font-size:38px;
    font-weight:700;
    text-align:center;
    margin-bottom:45px;
}

/* =====================================================
   SEARCH
===================================================== */

.faq-search{

    position:relative;

    margin-bottom:35px;

}

.faq-search input{

    width:100%;

    height:64px;

    border:none;

    border-radius:10px;

    padding:0 25px 0 60px;

    font-size:16px;

    color:#444;

    outline:none;

    transition:.3s;

    box-shadow:0 6px 18px rgba(0,0,0,.08);

}

.faq-search input:focus{

    box-shadow:
        0 0 0 4px rgba(0,123,255,.15);

}

.faq-search i{

    position:absolute;

    left:22px;

    top:50%;

    transform:translateY(-50%);

    color:#999;

    font-size:18px;

}

/* =====================================================
   TAB
===================================================== */

.faq-tabs{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    background:#fff;

    border-radius:60px;

    padding:8px;

    margin-bottom:35px;

    box-shadow:
        0 10px 25px rgba(0,0,0,.10);

}

.faq-tab{

    flex:1;

    height:48px;

    border:none;

    border-radius:40px;

    background:transparent;

    color:#222;

    font-weight:600;

    transition:.3s;

    cursor:pointer;

}

.faq-tab:hover{

    background:#ececec;

}

.faq-tab.active{

    background:#96369C;

    color:#fff;
    padding: 5px;

    box-shadow:
        0 8px 18px rgba(150,54,156,.35);

}

/* =====================================================
   CONTENT
===================================================== */

.faq-content{

    display:none;

}

.faq-content.active{

    display:block;

}

/* =====================================================
   ITEM
===================================================== */

.faq-item{

    background:#fff;

    border-radius:10px;

    margin-bottom:15px;

    overflow:hidden;

    box-shadow:
        0 4px 12px rgba(0,0,0,.05);

}

/* =====================================================
   QUESTION
===================================================== */

.faq-question{

    cursor:pointer;

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:22px 25px;

    transition:.3s;

}

.faq-question:hover{

    background:#fafafa;

}

.faq-question span{

    color:#222;

    font-size:15px;

    font-weight:500;

    padding-right:20px;

    line-height:1.7;

}

/* =====================================================
   ICON
===================================================== */

.faq-question i{

    color:#1673B8;

    font-size:16px;

    transition:.25s;

    flex-shrink:0;

}

/* ketika accordion terbuka */

.faq-question[aria-expanded="true"] i{
    transform:rotate(2deg);
    color:#E53935;
    -webkit-transform:rotate(2deg);
    -moz-transform:rotate(2deg);
    -ms-transform:rotate(2deg);
    -o-transform:rotate(2deg);
}

/* =====================================================
   ANSWER
===================================================== */

.faq-answer{

    background:#F5F5F5;

    color:#444;

    padding:20px 25px;

    font-size:15px;

    line-height:1.9;

}

/* =====================================================
   COLLAPSE ANIMATION
===================================================== */

.collapse{

    transition:.25s;

}

/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width:991px){

    .faq-title{

        font-size:32px;

    }

}

@media(max-width:767px){

    .faq-section{

        padding:45px 0;

    }

    .faq-title{

        font-size:28px;

        margin-bottom:30px;

    }

    .faq-search input{

        height:54px;

        padding-left:52px;

        font-size:14px;

    }

    .faq-search i{

        left:18px;

        font-size:16px;

    }

    .faq-tabs{

        border-radius:20px;

        flex-direction:column;

        gap:8px;

        padding:10px;

    }

    .faq-tab{

        width:100%;

        border-radius:12px;

        height:46px;

    }

    .faq-question{

        padding:18px;

    }

    .faq-question span{

        font-size:14px;

    }

    .faq-answer{

        padding:18px;

        font-size:14px;

        line-height:1.8;

    }

}

/* =====================================================
   SCROLLBAR (Opsional)
===================================================== */

::-webkit-scrollbar{

    width:8px;

}

::-webkit-scrollbar-thumb{

    background:#0A5FA2;

    border-radius:20px;

}

::-webkit-scrollbar-track{

    background:#0E71B8;

}

.row {
    margin: 0 !important;
}
