/* =====================================================
   SAPA SEKOLAH
   ===================================================== */


/* =====================================================
   HERO
   ===================================================== */

.hero-card {
    position: relative;
    overflow: visible;
}

.hero-image {
    position: relative;
    min-height: 280px;
}

.hero-sapa-img {
    position: absolute;
    right: 45px;
    bottom: -10px;
    height: 320px;
    width: auto;
    transition: transform .3s ease;
}

.hero-card:hover .hero-sapa-img {
    transform: translateY(-8px);
}


/* =====================================================
   TIMELINE
===================================================== */

.timeline-pengaduan{
    position:relative;
}

.timeline-line{

    position:absolute;
    left:12%;
    right:12%;
    top:35px;

    height:4px;

    background:#ebe8ff;

    border-radius:20px;

    z-index:1;

}

.timeline-item{

    position:relative;

    z-index:2;

    text-align:center;

}

.timeline-icon{

    width:70px;
    height:70px;

    margin:0 auto 20px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#fff;

    font-size:28px;

    transition:.3s;

}

.timeline-item:hover .timeline-icon{

    transform:translateY(-6px);

}

.timeline-content h6{

    font-weight:700;

    margin-bottom:10px;

}

.timeline-content small{

    display:block;

    line-height:1.6;

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width:767.98px){

    .timeline-line{

        display:none;

    }

    .timeline-item{

        display:flex;

        align-items:flex-start;

        text-align:left;

        gap:20px;

        padding-bottom:35px;

        position:relative;

    }

    .timeline-item::before{

        content:"";

        position:absolute;

        left:30px;

        top:65px;

        width:3px;

        height:calc(100% - 40px);

        background:#ebe8ff;

    }

    .timeline-last::before{

        display:none;

    }

    .timeline-icon{

        width:60px;
        height:60px;

        margin:0;

        flex-shrink:0;

        font-size:24px;

    }

    .timeline-content{

        flex:1;

        padding-top:5px;

    }

    .timeline-content h6{

        margin-bottom:6px;

    }

}

/* =====================================================
   BUTTON
   ===================================================== */

.btn {
    transition: all .25s ease;
}

.btn:hover {
    transform: translateY(-2px);
}


/* =====================================================
   TABLET
   ===================================================== */

@media (max-width: 991.98px) {

    /* HERO */

    .hero-card {
        overflow: hidden;
    }

    .hero-card .row {
        flex-direction: column;
    }

    .hero-card .card-body {
        padding: 2rem;
        text-align: center;
    }

    .hero-card .d-flex {
        justify-content: center;
    }

    .hero-image {
        min-height: auto;
        text-align: center;
        margin-top: 1rem;
    }

    .hero-sapa-img {
        position: static;
        height: 240px;
        width: auto;
        max-width: 100%;
        transform: none !important;
    }

}


/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 767.98px) {

    /* HERO */

    .hero-card .card-body {
        padding: 1.5rem;
    }

    .hero-card h3 {
        font-size: 1.5rem;
    }

    .hero-card p {
        font-size: .95rem;
    }

    .hero-sapa-img {
        height: 210px;
    }

    /* TIMELINE */

    .timeline-line {
        display: none;
    }

    .timeline-item {
        margin-bottom: 35px;
    }

    .timeline-icon {
        width: 60px;
        height: 60px;
        margin-bottom: 15px;
        font-size: 24px;
    }

}

.stat-card{
    transition: .25s ease;
}

.stat-card:hover{
    transform: translateY(-5px);
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.12);
}

/* =====================================================
   MODAL SAPA SEKOLAH
===================================================== */

#modalLapor .modal-dialog{

    max-width:900px;

}

#modalLapor .modal-content{

    border:0;

    border-radius:16px;

    background:#fff;

    max-height:90vh;

    overflow:hidden;

}

#modalLapor .modal-header{

    position:sticky;

    top:0;

    z-index:10;

    background:var(--bs-primary);

    color:#fff;

    border-bottom:0;

    padding:1rem 1.5rem;

}

#modalLapor .modal-title{

    color:#fff;

    font-weight:600;

}

#modalLapor .btn-close{

    filter:invert(1);

    opacity:1;

}

#modalLapor .modal-body{

    max-height:calc(100vh - 180px);

    overflow-y:auto;

    padding:1.5rem;

}

#modalLapor .modal-footer{

    position:sticky;

    bottom:0;

    z-index:10;

    background:#fff;

    border-top:1px solid #ebeef5;

    padding:1rem 1.5rem;

}


/* model cek */
#modalCek .modal-dialog{

    max-width:900px;

}

#modalCek .modal-content{

    border:0;

    border-radius:16px;

    background:#fff;

    max-height:90vh;

    overflow:hidden;

}
#modalCek .modal-header{

    position:sticky;

    top:0;

    z-index:10;

    background:var(--bs-primary);

    color:#fff;

    border-bottom:0;

    padding:1rem 1.5rem;

}

#modalCek.modal-title{

    color:#fff;

    font-weight:600;

}

#modalCek .btn-close{

    filter:invert(1);

    opacity:1;

}

#modalCek .modal-body{

    max-height:calc(100vh - 180px);

    overflow-y:auto;

    padding:1.5rem;

}

#modalCek .modal-footer{

    position:sticky;

    bottom:0;

    z-index:10;

    background:#fff;

    border-top:1px solid #ebeef5;

    padding:1rem 1.5rem;

}


/* modal detail */
#modalDetail .modal-dialog{

    max-width:900px;

}

#modalDetail .modal-content{

    border:0;

    border-radius:16px;

    background:#fff;

    max-height:90vh;

    overflow:hidden;

}
#modalDetail .modal-header{

    position:sticky;

    top:0;

    z-index:10;

    background:var(--bs-primary);

    color:#fff;

    border-bottom:0;

    padding:1rem 1.5rem;

}

#modalDetail.modal-title{

    color:#fff;

    font-weight:600;

}

#modalDetail .btn-close{

    filter:invert(1);

    opacity:1;

}

#modalDetail .modal-body{

    max-height:calc(100vh - 180px);

    overflow-y:auto;

    padding:1.5rem;

}

#modalDetail .modal-footer{

    position:sticky;

    bottom:0;

    z-index:10;

    background:#fff;

    border-top:1px solid #ebeef5;

    padding:1rem 1.5rem;

}

/* timeline detail */
.timeline-item-custom .avatar{
    width:46px;
    height:46px;
}

.timeline-item-custom .avatar-initial{
    width:46px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
}



