/*==================================================
                RESET
==================================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:'Poppins',sans-serif;
    background:#f4f7fb;
    color:#333;

}

.container{
    width:95%;
    max-width:1400px;
    margin:auto;
}   

/*==================================================
                HEADER
==================================================*/

header{

    width:100%;
    background:#ffffff;
    box-shadow:0 3px 12px rgba(0,0,0,.08);

    position:sticky;
    top:0;
    z-index:999;

}

/*==================================================
                NAVBAR
==================================================*/

.navbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    height:90px;
}

/*==================================================
                LOGO
==================================================*/

.logo{
    display:flex;
    align-items:center;
    text-decoration:none;
    flex-shrink:0;
}

.logo img{
    width:55px;
    height:55px;
    object-fit:contain;
    margin-right:12px;
}

.logo-text h2{
    font-size:20px;
    color:#004AAD;
    font-weight:700;
    line-height:1.2;
}

.logo-text span{
    font-size:13px;
    color:#777;
}

/*==================================================
                MENU
==================================================*/

.menu{
    list-style:none;
    display:flex;
    align-items:center;
    gap:8px;
}

.menu li{

    position:relative;

}

.menu li a{
    position:relative;
    display:block;
    padding:10px 14px;
    text-decoration:none;
    color:#222;
    font-size:15px;
    font-weight:600;
    transition:.3s;
}

.menu li a.active{

    color:#0056d2;

}

.menu li a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:0;

    width:0;

    height:3px;

    background:#0B5ED7;

    transition:.3s;

}

.menu li a:hover::after,
.menu li a.active::after{

    width:100%;

}

.menu li a:hover{

    color:#0B5ED7;

}

/*==================================================
            DROPDOWN
==================================================*/

.dropdown-content{

    position:absolute;

    left:0;

    top:100%;

    min-width:220px;

    background:#fff;

    border-radius:10px;

    overflow:hidden;

    opacity:0;

    visibility:hidden;

    transition:.3s;

    transform:translateY(10px);

    box-shadow:0 10px 25px rgba(0,0,0,.12);

}

.dropdown:hover .dropdown-content{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}

.dropdown-content li{

    width:100%;

}

.dropdown-content li a{

    padding:15px;

    color:#333;

}

.dropdown-content li a:hover{

    background:#0056d2;

    color:#fff;

}

.dropdown i{

    font-size:12px;
    margin-left:6px;

}

/*==================================================
                HERO
==================================================*/

.hero{

    position:relative;

    width:100%;

    height:340px;

    background:url("../img/gedung.jpeg");

    background-size:cover;

    background-position:center bottom;

    background-repeat:no-repeat;

    display:flex;

    align-items:center;

}

/*==================================================
                OVERLAY
==================================================*/

.overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.45);

}

/*==================================================
                HERO CONTENT
==================================================*/

.hero-content{

    position:relative;

    z-index:2;

    max-width:650px;

    color:#fff;

}

.hero-subtitle{

    display:inline-block;

    background:#FFD54F;

    color:#222;

    padding:10px 22px;

    border-radius:30px;

    font-size:14px;

    font-weight:600;

    margin-bottom:20px;

}

.hero-content h1{

    font-size:40px;

    font-weight:700;

    margin-bottom:15px;

}

.hero-content p{

    font-size:16px;

    line-height:28px;

    margin-bottom:25px;

}

/*==================================================
                BUTTON
==================================================*/

.hero-button{

    display:flex;

    gap:15px;

}

.btn-primary{

    display:inline-block;

    text-decoration:none;

    padding:15px 35px;

    border-radius:50px;

    background:#0B5ED7;

    color:#fff;

    font-weight:600;

    transition:.3s;

}

.btn-primary:hover{

    background:#084298;

    transform:translateY(-3px);

}

.btn-outline{

    display:inline-block;

    text-decoration:none;

    padding:15px 35px;

    border-radius:50px;

    border:2px solid #fff;

    color:#fff;

    font-weight:600;

    transition:.3s;

}

.btn-outline:hover{

    background:#fff;

    color:#0B5ED7;

}
/*=========================================
        STATISTIK
=========================================*/

.statistik{

    padding:50px 0 60px;

    background:#ffffff;

}

.section-title{

    text-align:center;

    margin-bottom:50px;

}

.section-title h2{

    font-size:36px;

    font-weight:700;

    color:#0f172a;

}

.section-title p{

    color:#666;

    font-size:16px;

}

.statistik-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.stat-card{

    background:#fff;

    border-radius:15px;

    padding:35px 20px;

    text-align:center;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

    transition:.3s;

}

.stat-card:hover{

    transform:translateY(-8px);

}

.stat-card i{

    font-size:45px;

    color:#004aad;

    margin-bottom:20px;

}

.stat-card h3{

    font-size:36px;

    color:#222;

    margin-bottom:10px;

}

.stat-card span{

    color:#666;

    font-size:15px;

}

/*====================================
            ABOUT
====================================*/

.about{

    padding:70px 0 40px;

    background:#ffffff;

}

.about-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:60px;

    align-items:center;

}

.about-image img{

    width:100%;

    border-radius:18px;

    box-shadow:0 12px 30px rgba(0,0,0,.15);

}

.sub-title{

    display:inline-block;

    background:#0056d2 !important;

    color:#fff !important;

    padding:8px 18px !important;

    border-radius:30px;

    margin-bottom:18px;

    font-size:14px;

}

.about-content h2{

    font-size:38px;

    color:#004aad;

    margin-bottom:20px;

}

.about-content p{

    color:#555;

    line-height:32px;

    margin-bottom:20px;

    text-align:justify;

}

.about-slider{

    position:relative;

    width:100%;

    height:450px;

    overflow:hidden;

    border-radius:20px;

}

.about-slide{

    position:absolute;

    width:100%;

    height:100%;

    object-fit:cover;

    opacity:0;

    transition:opacity 1s ease-in-out;

}

.about-slide.active{

    opacity:1;

}@media(max-width:992px){

    .about-grid{
    
    grid-template-columns:1fr;
    
    }
    
    .about-content{
    
    text-align:center;
    
    }
    
    .about-content p{
    
    text-align:center;
    
    }
    
    }

    /* =============================
        GALERI
============================= */


.galeri {

    padding: 70px 0;
    background:#f8f9fa;

}



.galeri-grid {

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:25px;

}



.galeri-item {

    overflow:hidden;

    border-radius:15px;

    height:250px;

    box-shadow:0 8px 20px rgba(0,0,0,0.1);

}



.galeri-item img {

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.4s;

}



.galeri-item:hover img {

    transform:scale(1.1);

}



.galeri-button {

    text-align:center;

    margin-top:40px;

}



@media(max-width:992px){

    .galeri-grid{

        grid-template-columns:repeat(2,1fr);

    }

}



@media(max-width:576px){

    .galeri-grid{

        grid-template-columns:1fr;

    }

}

/* =====================================================
   GALERI
===================================================== */

.page-banner{
    background: linear-gradient(rgba(13,110,253,.75),
                rgba(13,110,253,.75)),
                url('../img/gedung.jpeg') center center/cover no-repeat;
    padding: 120px 0;
    text-align: center;
    color: #fff;
    position: relative;
}

.banner-content h1{
    font-size: 48px;
    font-weight: 700;
    margin-bottom: 15px;
}

.banner-content p{
    margin:0;
    font-size:17px;
}

.banner-content a{
    color:#fff;
    text-decoration:none;
    transition:.3s;
}

.banner-content a:hover{
    color:#ffd43b;
}

.banner-content span{
    margin:0 8px;
    color:#ffd43b;
}

.gallery-section{
    background:#f8f9fa;
}

.section-title h2{
    font-size:34px;
    font-weight:700;
    color:#0d6efd;
}

.section-title p{
    color:#666;
    max-width:700px;
    margin:15px auto 0;
    line-height:1.8;
}

/* ==========================================
   GALLERY ITEM
========================================== */

.gallery-item{
    position: relative;
    overflow: hidden;
    border-radius: 15px;
    box-shadow: 0 8px 20px rgba(0,0,0,.12);
    cursor: pointer;
    background: #fff;
    transition: all .4s ease;
}

.gallery-item:hover{
    transform: translateY(-8px);
    box-shadow: 0 15px 35px rgba(0,0,0,.20);
}

.gallery-item img{
    width: 100%;
    height: 260px;
    object-fit: cover;
    transition: transform .5s ease;
    display: block;
}

.gallery-item:hover img{
    transform: scale(1.1);
}

/* Overlay */

.gallery-overlay{
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    padding: 20px;
    background: linear-gradient(to top,
                rgba(0,0,0,.85),
                rgba(0,0,0,.15),
                transparent);
    color: #fff;
    transition: .4s;
}

.gallery-overlay h5{
    margin: 0;
    font-size: 20px;
    font-weight: 600;
}

/* Efek Hover */

.gallery-item::before{
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(13,110,253,.15);
    opacity: 0;
    transition: .4s;
    z-index: 1;
}

.gallery-item:hover::before{
    opacity: 1;
}

.gallery-overlay{
    z-index: 2;
}

/* Responsive */

@media (max-width:768px){

    .page-banner{
        padding:90px 20px;
    }

    .banner-content h1{
        font-size:34px;
    }

    .section-title h2{
        font-size:28px;
    }

    .gallery-item img{
        height:220px;
    }

}

/* =============================
        FOOTER
============================= */


.footer {

    background:#0b1d33;

    color:white;

    padding:45px 0 0;

}




.footer-grid {

    display:grid;

    grid-template-columns:1.2fr 1fr 300px;

    gap:40px;

    align-items:start;

}




.footer-box h3 {

    font-size:18px;

    margin-bottom:18px;

    color:white;

}



.footer-box p {

    color:#d5dce5;

    font-size:14px;

    line-height:1.8;

    margin:8px 0;

}



.footer-box i {

    color:#4da3ff;

    margin-right:8px;

}



/* =============================
        KONTAK FOOTER
============================= */

.footer-info .contact-item{

    display:flex;

    align-items:flex-start;

    gap:12px;

    margin-bottom:16px;

}

.footer-info .contact-item i{

    width:20px;

    margin-top:4px;

    color:#4da3ff;

    flex-shrink:0;

}

.footer-info .contact-item span{

    color:#d5dce5;

    font-size:14px;

    line-height:1.7;

}

/*=========================
    SOCIAL MEDIA
==========================*/

.social-container{
    display:flex;
    gap:18px;
    margin-top:20px;
}

.social-icon{
    width:60px;
    height:60px;

    border-radius:18px;

    display:flex;
    justify-content:center;
    align-items:center;

    font-size:28px;
    color:#fff;
    text-decoration:none;

    transition:.35s ease;

    box-shadow:0 10px 20px rgba(0,0,0,.25);
}

.social-icon:hover{

    transform:translateY(-8px) scale(1.08);

    box-shadow:0 18px 30px rgba(0,0,0,.35);

    color:#fff;
}

/* Facebook */

.facebook{
    background:#1877F2;
}

/* Instagram */

.instagram{
    background:linear-gradient(
        135deg,
        #FEDA75,
        #FA7E1E,
        #D62976,
        #962FBF,
        #4F5BD5
    );
}

/* TikTok */

.tiktok{
    background:#000;
}
/* =============================
        STATISTIK CARD
============================= */


.stat-card{

    background:rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.15);

    border-radius:12px;

    overflow:hidden;

    width:100%;

    max-width:290px;

}



.stat-header{

    background:#132b49;

    padding:12px;

    text-align:center;

}



.stat-header h4{

    margin:0;

    color:#fff;

    font-size:15px;

}



.stat-time{

    display:block;

    margin-top:4px;

    font-size:11px;

    color:#b8c3d1;

}



.stat-table{

    width:100%;

    border-collapse:collapse;

    font-size:13px;

}



.stat-table tr{

    border-bottom:1px solid rgba(255,255,255,.08);

}



.stat-table td{

    padding:9px 12px;

}



.stat-table td:first-child{

    color:#d5dce5;

}



.stat-table td:nth-child(2){

    width:10px;

    text-align:center;

}



.stat-table td:last-child{

    text-align:right;

    font-weight:600;

}



.today{

    color:#ff9800;

}



.total{

    color:#22c55e;

}



.browser{

    color:#3b82f6;

    font-size:12px;

}



.stat-table b {

    color:#00ffe0;

}





/* =============================
        MAPS
============================= */


.footer-map iframe {

    width:300px;

    height:180px;

    border:0;

    border-radius:12px;

}





/* COPYRIGHT */


.copyright {

    margin-top:35px;

    padding:15px;

    text-align:center;

    background:#061222;

    color:#ccc;

    font-size:13px;

}




/* RESPONSIVE */


@media(max-width:992px){


    .footer-grid{

        grid-template-columns:1fr 1fr;

    }


    .footer-map{

        grid-column:1/-1;

    }


}



@media(max-width:576px){


    .footer-grid{

        grid-template-columns:1fr;

    }


    .stat-card{

        width:100%;

    }


    .footer-map iframe{

        width:100%;

    }


}

/* =============================
        BACK TO TOP
============================= */

html{

    scroll-behavior:smooth;

}

#backToTop{

    position:fixed;

    right:25px;

    bottom:25px;

    width:50px;

    height:50px;

    border:none;

    border-radius:50%;

    background:#0d6efd;

    color:#fff;

    cursor:pointer;

    font-size:18px;

    display:flex;

    justify-content:center;

    align-items:center;

    box-shadow:0 8px 20px rgba(0,0,0,.25);

    opacity:0;

    visibility:hidden;

    transition:.3s;

    z-index:9999;

}

#backToTop.show{

    opacity:1;

    visibility:visible;

}

#backToTop:hover{

    background:#0b5ed7;

    transform:translateY(-4px);

}

/* =============================
        DATA POKOK SEKOLAH
============================= */

.school-info{

    padding:40px 0 50px;

    background:#f8fafc;

}

.section-title{

    text-align:center;

    margin-bottom:50px;

}

.section-title span{

    color:#0d6efd;

    font-size:15px;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

}

.section-title h2{

    margin:12px 0;

    font-size:34px;

    color:#0f172a;

}

.section-title p{

    color:#64748b;

    max-width:600px;

    margin:auto;

    line-height:1.8;

}

.info-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:25px;

}

.info-card{

    background:#fff;

    border-radius:16px;

    border:1px solid #e5e7eb;

    box-shadow:0 8px 20px rgba(0,0,0,.06);

    transition:.35s;

}

.info-card:hover{

    transform:translateY(-8px);

    box-shadow:0 15px 30px rgba(13,110,253,.12);

}

.info-card i{

    width:70px;

    height:70px;

    line-height:70px;

    border-radius:50%;

    background:#eaf3ff;

    color:#0d6efd;

    font-size:28px;

    margin-bottom:18px;

}

.info-card h4{

    margin-bottom:10px;

    color:#0f172a;

}

.info-card p{

    color:#475569;

    font-weight:600;

}


/* Responsive */

@media(max-width:992px){

.info-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:576px){

.info-grid{

grid-template-columns:1fr;

}

}

/* =====================================================
   BANNER HALAMAN
===================================================== */

.page-banner{
    position: relative;
    background:
        linear-gradient(rgba(13,76,150,.70), rgba(13,76,150,.70)),
        url('../img/gedung.jpeg');
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;

    height: 350px;

    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;

    color:#fff;
}

.page-banner{
    position:relative;
}

.page-banner::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-1px;
    width:100%;
    height:70px;
    background:#fff;
    border-radius:100% 100% 0 0;
}

.page-banner h1{
    font-size:58px;
    font-weight:800;
    margin-bottom:10px;
    text-shadow:0 3px 10px rgba(0,0,0,.35);
}

.page-banner p{
    font-size:20px;
    text-shadow:0 2px 8px rgba(0,0,0,.3);
}

.banner-content h1{
    font-size:42px;
    font-weight:700;
    margin-bottom:10px;
}

.banner-content p{
    font-size:16px;
    margin:0;
}

.banner-content span{
    color:#ffc107;
}

/* =====================================================
   SECTION TITLE
===================================================== */

.sub-title{
    display:inline-block;
    color:#0d6efd;
    font-weight:600;
    margin-bottom:10px;
    letter-spacing:1px;
    text-transform:uppercase;
}

.section-title h2{
    font-weight:700;
    color:#222;
}

/* =====================================================
   FOTO SEJARAH
===================================================== */
.history-image{
    text-align:center;
}

.history-image img{
    width:100%;
    max-width:420px;
    height:300px;
    object-fit:cover;
    border-radius:20px;
    box-shadow:0 10px 25px rgba(0,0,0,.15);
    transition:.4s;
}

.history-image img:hover{
    transform:scale(1.03);
}

.history-section p{
    text-align: justify;
    line-height: 1.9;
    color: #555;
    margin-bottom: 18px;
}

/* =====================================================
   TIMELINE
===================================================== */

.timeline{
    position:relative;
    max-width:1000px;
    margin:auto;
}

.timeline::before{
    content:'';
    position:absolute;
    width:4px;
    background:#0d6efd;
    top:0;
    bottom:0;
    left:50%;
    transform:translateX(-50%);
}

.timeline-item{
    position:relative;
    width:50%;
    padding:20px 40px;
}

.timeline-item.left{
    left:0;
}

.timeline-item.right{
    left:50%;
}

.timeline-content{
    background:#fff;
    padding:25px;
    border-radius:15px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.3s;
}

.timeline-content:hover{
    transform:translateY(-8px);
}

.timeline-content h4{
    font-weight:700;
    margin:10px 0;
}

.timeline-content p{
    color:#666;
    margin:0;
    line-height:1.8;
}

.timeline-content .year{
    color:#0d6efd;
    font-weight:700;
}

.timeline-item::after{
    content:'';
    position:absolute;
    width:22px;
    height:22px;
    background:#fff;
    border:5px solid #0d6efd;
    border-radius:50%;
    top:35px;
    right:-11px;
    z-index:10;
}

.timeline-item.right::after{
    left:-11px;
}

/* =====================================================
   RESPONSIVE
===================================================== */

@media(max-width:991px){

.timeline::before{
    left:20px;
}

.timeline-item{
    width:100%;
    padding-left:60px;
    padding-right:20px;
    left:0 !important;
}

.timeline-item::after{
    left:9px;
}

.banner-content h1{
    font-size:32px;
}

}

/*==================================================
        VISI & MISI
==================================================*/

/* Card Visi */
.vision-card{
    background:#fff;
    padding:45px 35px;
    border-radius:20px;
    text-align:center;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.3s;
    border-top:5px solid #0d6efd;
}

.vision-card:hover{
    transform:translateY(-8px);
}

.vision-icon{
    width:90px;
    height:90px;
    margin:0 auto 25px;
    border-radius:50%;
    background:#0d6efd;
    display:flex;
    justify-content:center;
    align-items:center;
}

.vision-icon i{
    color:#fff;
    font-size:38px;
}

.vision-card h3{
    font-size:30px;
    font-weight:700;
    margin-bottom:20px;
    color:#222;
}

.vision-card p{
    font-size:17px;
    color:#555;
    line-height:1.9;
    margin:0;
    text-align:justify;
}

/* Card Misi */

.mission-card{
    background:#fff;
    border-radius:18px;
    padding:25px;
    display:flex;
    align-items:flex-start;
    gap:18px;
    box-shadow:0 8px 25px rgba(0,0,0,.08);
    transition:.3s;
    height:100%;
}

.mission-card:hover{
    transform:translateY(-6px);
}

.mission-icon{
    width:55px;
    height:55px;
    border-radius:50%;
    background:#0d6efd;
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-shrink:0;
}

.mission-icon i{
    font-size:22px;
}

.mission-content h5{
    font-size:20px;
    font-weight:700;
    margin-bottom:10px;
    color:#222;
}

.mission-content p{
    margin:0;
    color:#666;
    line-height:1.8;
    text-align:justify;
}

/* Responsive */

@media(max-width:768px){

    .vision-card{
        padding:30px 20px;
    }

    .vision-card h3{
        font-size:24px;
    }

    .vision-card p{
        font-size:16px;
    }

    .mission-card{
        flex-direction:column;
        text-align:center;
    }

    .mission-icon{
        margin:0 auto;
    }

    .mission-content p{
        text-align:center;
    }

}

/*=================================================
        PROGRAM KEAHLIAN
=================================================*/

.major-section{
    background:#f8f9fc;
    position:relative;
    overflow:hidden;
    padding:80px 0;
}

.major-section .sub-title{
    color:#0d6efd;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:2px;
    font-size:14px;
}

.major-section h2{
    font-size:42px;
    font-weight:800;
    color:#222;
    margin-top:10px;
}

.major-section h2 span{
    color:#0d6efd;
}

.major-desc{
    max-width:750px;
    margin:auto;
    color:#6c757d;
    font-size:17px;
    line-height:1.9;
}

/*=========================
        CARD
=========================*/

.major-box{

    background:#fff;

    border-radius:22px;

    padding:35px;

    position:relative;

    overflow:hidden;

    transition:.4s;

    height:100%;

    box-shadow:0 15px 35px rgba(0,0,0,.07);

    border:1px solid #eee;

}

.major-box:hover{

    transform:translateY(-12px);

    box-shadow:0 25px 50px rgba(0,0,0,.15);

}

/*=========================
        HEADER ICON
=========================*/

.major-header{
    display:flex;
    align-items:center;
    gap:18px;
    margin-bottom:25px;
}

.major-icon{
    width:90px;
    height:90px;
    border-radius:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:38px;
    transition:.4s;
    flex-shrink:0;
}

.major-code{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:70px;
    height:48px;
    background:#eef4ff;
    color:#0d6efd;
    border-radius:12px;
    font-size:24px;
    font-weight:700;
    letter-spacing:2px;
}

.major-box:hover .major-icon{

    transform:rotate(8deg) scale(1.08);

}

.blue .major-code{
    background:#eaf2ff;
    color:#2563eb;
}

.orange .major-code{
    background:#fff4e8;
    color:#ff7b00;
}

.green .major-code{
    background:#ecfdf3;
    color:#16a34a;
}

.red .major-code{
    background:#ffeaea;
    color:#dc2626;
}

/*=========================
      WARNA JURUSAN
=========================*/

.blue .major-icon{

    background:linear-gradient(135deg,#2563eb,#4f8cff);

}

.orange .major-icon{

    background:linear-gradient(135deg,#ff7b00,#ffb347);

}

.green .major-icon{

    background:linear-gradient(135deg,#16a34a,#4ade80);

}

.red .major-icon{

    background:linear-gradient(135deg,#dc2626,#f87171);

}

.blue{

    border-top:5px solid #2563eb;

}

.orange{

    border-top:5px solid #ff7b00;

}

.green{

    border-top:5px solid #16a34a;

}

.red{

    border-top:5px solid #dc2626;

}



/*=========================
        JUDUL
=========================*/

.major-box h3{

    font-size:26px;

    font-weight:700;

    margin-bottom:15px;

    color:#222;

    transition:.3s;

}

.major-box:hover h3{

    color:#0d6efd;

}

.major-box p{

    color:#666;

    line-height:1.9;

    text-align:justify;

    margin-bottom:25px;

}

/*=========================
      RESPONSIVE
=========================*/

@media(max-width:992px){

.major-box{

text-align:center;

}

.major-header{
    justify-content:center;
}

.major-icon{
    margin:0;
}

.major-section h2{

font-size:34px;

}

}

@media(max-width:768px){

.major-section{

padding:60px 0;

}

.major-box{

padding:28px;

}

.major-section h2{

font-size:30px;

}

.major-info{

padding:35px;

text-align:center;

}

.major-info h3{

font-size:28px;

}

}

/* siswa */

.student-login{

    background:#f8f9fc;

}

.student-card{

    background:#fff;

    padding:45px;

    border-radius:20px;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.student-icon{

    width:90px;

    height:90px;

    margin:auto;

    margin-bottom:20px;

    border-radius:50%;

    background:#0d6efd;

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:38px;

}

.student-card h2{

    text-align:center;

    font-weight:700;

    margin-bottom:10px;

}

.student-card p{

    text-align:center;

    color:#666;

    margin-bottom:30px;

}

.student-card .form-control{

    height:55px;

    border-radius:10px;

}

.student-card .btn{

    border-radius:10px;

    font-weight:600;

}

/*====================================================
                FASILITAS SEKOLAH
====================================================*/

.facility-section{
    background:#f8f9fc;
    padding:80px 0;
}

.facility-section .sub-title{
    display:inline-block;
    color:#0d6efd;
    font-size:14px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:15px;
}

.facility-section h2{
    font-size:42px;
    font-weight:800;
    color:#222;
    margin-bottom:15px;
}

.facility-section h2 span{
    color:#0d6efd;
}

.facility-desc{
    max-width:760px;
    margin:0 auto;
    color:#666;
    line-height:1.9;
    font-size:17px;
}

/*================ CARD =================*/

.facility-card{
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 12px 35px rgba(0,0,0,.08);
    transition:.35s;
    height:100%;
    border:1px solid #eee;
}

.facility-card:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 45px rgba(0,0,0,.15);
}

/*================ FOTO =================*/

.facility-card img{
    width:100%;
    height:240px;
    object-fit:cover;
    transition:.5s;
}

.facility-card:hover img{
    transform:scale(1.08);
}

/*================ BODY =================*/

.facility-body{
    padding:28px;
    position:relative;
}

.facility-icon{
    width:65px;
    height:65px;
    border-radius:18px;
    background:linear-gradient(135deg,#0d6efd,#3b82f6);
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:28px;
    margin-top:-58px;
    margin-bottom:18px;
    box-shadow:0 10px 25px rgba(13,110,253,.25);
    transition:.35s;
}

.facility-card:hover .facility-icon{
    transform:rotate(8deg) scale(1.1);
}

.facility-body h4{
    font-size:22px;
    font-weight:700;
    color:#222;
    margin-bottom:12px;
    transition:.3s;
}

.facility-card:hover h4{
    color:#0d6efd;
}

.facility-body p{
    color:#666;
    font-size:15px;
    line-height:1.8;
    margin:0;
    text-align:justify;
}

/*================ RESPONSIVE =================*/

@media(max-width:992px){

.facility-section h2{
    font-size:34px;
}

.facility-card img{
    height:220px;
}

}

@media(max-width:768px){

.facility-section{
    padding:60px 0;
}

.facility-section h2{
    font-size:30px;
}

.facility-desc{
    font-size:15px;
}

.facility-card img{
    height:210px;
}

.facility-body{
    padding:22px;
}

.facility-body h4{
    font-size:20px;
}

.facility-icon{
    width:58px;
    height:58px;
    font-size:24px;
}

}

/* =====================================
        PENDAFTARAN
===================================== */

.registration-section{
    background:#f8f9fc;
}


.register-desc{

    max-width:750px;
    margin:auto;
    color:#666;
    line-height:1.8;

}


/* INFO CARD */

.register-info{

    background:#fff;
    padding:30px 20px;
    text-align:center;
    border-radius:18px;
    height:100%;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.3s;

}


.register-info:hover{

    transform:translateY(-8px);

}


.register-info i{

    width:65px;
    height:65px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:auto;
    margin-bottom:15px;
    border-radius:50%;
    background:#eaf2ff;
    color:#0d6efd;
    font-size:28px;

}


.register-info h5{

    font-weight:700;
    margin-bottom:10px;

}


.register-info p{

    color:#666;
    font-size:14px;

}



/* FORM CARD */

.registration-form-card{

    background:#fff;
    margin-top:50px;
    padding:35px;
    border-radius:22px;
    box-shadow:0 15px 35px rgba(0,0,0,.08);

}



.form-section{

    border:1px solid #e5e7eb;
    border-radius:18px;
    overflow:hidden;
    margin-bottom:30px;

}



.form-section-title{

    background:linear-gradient(135deg,#0d6efd,#2563eb);
    color:white;
    padding:18px 25px;
    font-size:18px;
    font-weight:700;

}



.form-section-title i{

    margin-right:10px;

}



.form-section label{

    font-weight:600;
    margin-bottom:8px;
    display:block;
    color:#334155;

}



.form-control{

    border-radius:10px !important;
    padding:13px 15px !important;
    border:1px solid #dbeafe !important;

}



.form-control:focus{

    border-color:#0d6efd !important;
    box-shadow:0 0 0 4px rgba(13,110,253,.12) !important;

}




/* BUTTON */

.register-button{

    display:flex;
    gap:15px;
    margin-top:20px;

}



.btn-reset,
.btn-register{

    padding:13px 30px;
    border:none;
    border-radius:10px;
    font-weight:600;
    cursor:pointer;
    transition:.3s;

}



.btn-reset{

    background:#64748b;
    color:white;

}



.btn-register{

    background:#0d6efd;
    color:white;

}



.btn-reset:hover,
.btn-register:hover{

    transform:translateY(-3px);

}




/* NOTE */

.register-note{

    background:white;
    margin-top:30px;
    padding:30px;
    border-radius:20px;
    box-shadow:0 10px 25px rgba(0,0,0,.06);

}



.note-title{

    display:flex;
    align-items:center;
    gap:15px;
    margin-bottom:20px;

}



.note-title i{

    font-size:30px;
    color:#0d6efd;

}



.note-title h3{

    margin:0;
    font-weight:700;

}



.note-item{

    background:#f8fafc;
    border:1px solid #dbeafe;
    padding:15px;
    border-radius:12px;
    color:#475569;

}



.note-item i{

    color:#0d6efd;
    margin-right:8px;

}



/* MOBILE */

@media(max-width:768px){

.registration-form-card{

    padding:20px;

}


.register-button{

    flex-direction:column;

}


.btn-reset,
.btn-register{

    width:100%;

}

}

/* ==========================
        BUKU TAMU
========================== */


.guest-section{

    background:#f8f9fc;

}



.guest-form-card{

    max-width:900px;

    margin:auto;

    background:white;

    padding:40px;

    border-radius:22px;

    box-shadow:0 15px 35px rgba(0,0,0,.08);
transition:.3s;

}

.guest-form-card:hover{

    transform:translateY(-5px);

    box-shadow:0 25px 50px rgba(0,0,0,.12);

}


.guest-form-card label{

    font-weight:600;

    color:#334155;

    margin-bottom:8px;

    display:block;

}



.guest-form-card .form-control{

    width:100%;

    padding:14px 15px;

    border-radius:12px;

    border:1px solid #dbeafe;

}



.guest-form-card .form-control:focus{

    outline:none;

    border-color:#0d6efd;

    box-shadow:0 0 0 4px rgba(13,110,253,.12);

}




.guest-button{

    display:flex;

    gap:15px;

    margin-top:25px;

}



.btn-guest-submit,
.btn-guest-reset{

    border:none;

    padding:13px 30px;

    border-radius:10px;

    font-weight:600;

    cursor:pointer;

    transition:.3s;

}



.btn-guest-submit{

    background:#0d6efd;

    color:white;

}



.btn-guest-reset{

    background:#64748b;

    color:white;

}



.btn-guest-submit:hover,
.btn-guest-reset:hover{

    transform:translateY(-3px);

}



/* PESAN BAWAH */


.guest-message{

    max-width:900px;

    margin:35px auto 0;

    background:white;

    border-radius:20px;

    padding:30px;

    display:flex;

    align-items:center;

    gap:20px;

    border-left:6px solid #0d6efd;

    box-shadow:0 10px 25px rgba(0,0,0,.06);

}



.message-icon{

    width:65px;

    height:65px;

    border-radius:50%;

    background:#eaf2ff;

    color:#0d6efd;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:30px;

}



.guest-message h3{

    margin-bottom:8px;

    color:#0d6efd;

    font-weight:700;

}



.guest-message p{

    margin:0;

    color:#64748b;

    line-height:1.8;

}



@media(max-width:768px){


.guest-form-card{

    padding:25px;

}


.guest-button{

    flex-direction:column;

}



.guest-message{

    flex-direction:column;

    text-align:center;

}


}

/* ==========================
      HEADER FORM BUKU TAMU
========================== */


.form-header{

    display:flex;

    align-items:center;

    gap:20px;

    margin-bottom:35px;

    padding-bottom:25px;

    border-bottom:1px solid #e2e8f0;

}



.form-icon{

    width:65px;

    height:65px;

    border-radius:18px;

    background:linear-gradient(135deg,#0044cc,#3b82f6);

    color:white;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:28px;

    box-shadow:0 8px 20px rgba(0,68,204,.25);

}



.form-header h3{

    margin:0;

    font-size:26px;

    font-weight:800;

    color:#1e293b;

}



.form-header p{

    margin:6px 0 0;

    color:#64748b;

    font-size:15px;

}

/* FIX BULAT DROPDOWN PROFIL */

.dropdown-content,
.dropdown-content ul{

    list-style:none !important;
    padding:0 !important;
    margin:0 !important;

}


.dropdown-content li{

    list-style:none !important;
    padding:0;
    margin:0;

}


.dropdown-content li::marker{

    display:none;

}

/* =====================================================
   HALAMAN PENDAFTARAN BERHASIL
===================================================== */

.success-card{
    border: none;
    border-radius:20px;
    overflow:hidden;
    animation:fadeIn .8s ease;
}

.success-card .card-body{
    padding:60px 40px;
}

.success-icon{
    width:120px;
    height:120px;
    border-radius:50%;
    background:#d1fae5;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:auto;
    animation:zoom .8s;
}

.success-icon i{
    font-size:70px;
    color:#16a34a;
}

.nomor-card{
    background:#f8f9fa;
    border:2px dashed #0d6efd;
    border-radius:15px;
    padding:25px;
    margin-top:25px;
    margin-bottom:25px;
}

.nomor-card h5{
    color:#666;
    margin-bottom:15px;
}

.nomor-pendaftaran{
    font-size:38px;
    font-weight:bold;
    color:#0d6efd;
    letter-spacing:3px;
}

.info-card{
    border-left:5px solid #ffc107;
    background:#fff8e1;
    padding:20px;
    border-radius:10px;
}

.info-card ul{
    margin:0;
    padding-left:20px;
}

.info-card li{
    margin-bottom:10px;
}

.btn-cetak{
    background:#198754;
    color:#fff;
    font-weight:bold;
    padding:14px;
    border-radius:10px;
    transition:.3s;
}

.btn-cetak:hover{
    background:#157347;
    color:#fff;
    transform:translateY(-2px);
}

.btn-home{
    border-radius:10px;
    padding:14px;
    font-weight:bold;
}

@keyframes fadeIn{

    from{
        opacity:0;
        transform:translateY(20px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

@keyframes zoom{

    from{
        transform:scale(.5);
    }

    to{
        transform:scale(1);
    }

}

/*==========================
DATA GURU
==========================*/

.guru-section{
    padding:70px 0;
    background:#f8f9fa;
}

.guru-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}

.guru-card{
    background:#fff;
    border-radius:15px;
    padding:30px 20px;
    text-align:center;
    transition:.3s;
    box-shadow:0 8px 20px rgba(0,0,0,.08);
}

.guru-card:hover{
    transform:translateY(-8px);
}

.guru-foto{
    width:140px;
    height:140px;
    border-radius:50%;
    object-fit:cover;
    border:5px solid #0d6efd;
    margin-bottom:20px;
}

.guru-card h3{
    font-size:20px;
    font-weight:700;
    margin-bottom:10px;
    color:#222;
}

.guru-nuptk{
    display:block;
    color:#666;
    font-size:15px;
}

.guru-nuptk i{
    color:#0d6efd;
    margin-right:6px;
}

@media(max-width:992px){

.guru-grid{

grid-template-columns:repeat(3,1fr);

}

}

@media(max-width:768px){

.guru-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:576px){

.guru-grid{

grid-template-columns:1fr;

}

}