:root{
    --yamsu-navy:#12304a;
    --yamsu-blue:#1f5f8b;
    --yamsu-blue-soft:#eaf3f8;
    --yamsu-gold:#d4a72c;
    --yamsu-green:#2f7d5b;
    --yamsu-text:#263746;
    --yamsu-muted:#6d7a86;
    --yamsu-bg:#f5f7f9;
    --yamsu-white:#fff;
    --yamsu-border:#e1e7ec;
    --yamsu-shadow:0 10px 30px rgba(18,48,74,.08);
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
    background:var(--yamsu-bg);
    color:var(--yamsu-text);
    line-height:1.7;
}

body a{
    color:var(--yamsu-navy);
    transition:all .2s ease;
}

body a:hover{
    color:var(--yamsu-blue);
    text-decoration:none;
}

/* =========================================================
   BRAND / HEADER
   ========================================================= */

.brand-bar{
    background:#fff;
    border-bottom:1px solid var(--yamsu-border);
}

.brand-wrap{
    min-height:112px;
    display:flex;
    align-items:center;
    gap:18px;
}

.brand-logo img{
    width:72px;
    height:72px;
    object-fit:contain;
}

.brand-title{
    font-size:24px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:.02em;
    color:var(--yamsu-navy);
}

.brand-tagline{
    margin-top:5px;
    color:var(--yamsu-muted);
    font-size:14px;
}

/* =========================================================
   MENU BAR
   ========================================================= */

.menu-bar{
    background:var(--yamsu-blue);
    box-shadow:0 4px 16px rgba(18,48,74,.12);
    margin-bottom:0!important;
}

.sticky.is-sticky{
    position:fixed;
    left:0;
    right:0;
    top:0;
    z-index:1000;
    width:100%;
}

.menu-bar .navbar{
    min-height:50px;
}

.menu-bar .navbar-collapse{
    display:flex!important;
    align-items:center;
}

#main-menu{
    flex:1 1 auto;
    min-width:0;
}

.sm-clean{
    background:var(--yamsu-blue);
}

.sm-clean ul{
    background:var(--yamsu-navy);
}

.sm-clean ul a,
.sm-clean a{
    color:#fff;
}

.sm-clean a:hover,
.sm-clean a:focus,
.sm-clean a:active,
.sm-clean a.highlighted,
.sm-clean ul a:hover,
.sm-clean ul a:focus,
.sm-clean ul a:active,
.sm-clean ul a.highlighted{
    background:var(--yamsu-navy);
    color:#fff;
}

.sm-clean > li > a{
    font-size:12px;
    font-weight:700;
}

.sm-clean > li:first-child > a{
    padding-left:10px;
    padding-right:10px;
}

/* =========================================================
   MENU TOOLS - EMAIL / WHATSAPP / PENCARIAN
   ========================================================= */

.menu-bar .menu-tools {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 4px !important;
    margin-left: auto !important;
}

.menu-bar .menu-tools .menu-tool,
.menu-bar .menu-tools .menu-tool:visited,
.menu-bar .menu-tools .menu-tool:link,
.menu-bar .menu-tools a.menu-tool,
.menu-bar .menu-tools button.menu-tool {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;

    color: #ffffff !important;
    background: transparent !important;
    -webkit-text-fill-color: #ffffff !important;

    font-size: 11px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;

    padding: 10px 8px !important;
    margin: 0 !important;

    border: 0 !important;
    border-radius: 3px !important;

    text-decoration: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

.menu-bar .menu-tools .menu-tool span,
.menu-bar .menu-tools .menu-tool strong,
.menu-bar .menu-tools .menu-tool b,
.menu-bar .menu-tools .menu-tool i {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

.menu-bar .menu-tools .menu-tool i {
    font-size: 14px !important;
}

.menu-bar .menu-tools .menu-tool:hover,
.menu-bar .menu-tools .menu-tool:focus,
.menu-bar .menu-tools .menu-tool:active,
.menu-bar .menu-tools .menu-tool:hover span,
.menu-bar .menu-tools .menu-tool:hover strong,
.menu-bar .menu-tools .menu-tool:hover b,
.menu-bar .menu-tools .menu-tool:hover i,
.menu-bar .menu-tools .menu-tool:focus span,
.menu-bar .menu-tools .menu-tool:focus i {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: transparent !important;
    text-decoration: none !important;
}

/* =========================================================
   HERO / CAROUSEL
   ========================================================= */

.hero-slider{
    margin-top:20px;
}

#yamsu-slider{
    border-radius:18px;
    overflow:hidden;
    box-shadow:var(--yamsu-shadow);
    background:#0f2234;
}

#yamsu-slider .carousel-item img{
    width:100%;
    min-height:310px;
    max-height:520px;
    object-fit:cover;
}

.yamsu-caption{
    right:0;
    left:0;
    bottom:0;
    padding:0;
    text-align:left;
    background:linear-gradient(
        to top,
        rgba(10,28,43,.88),
        rgba(10,28,43,0)
    );
}

.hero-caption-inner{
    padding:70px 34px 28px;
    font-size:23px;
    font-weight:700;
}

.carousel-indicators li{
    background:#fff;
}

.carousel-indicators .active{
    background:var(--yamsu-gold);
}

/* =========================================================
   QUOTE
   ========================================================= */

.quote-wrap{
    margin-top:16px;
}

.yamsu-quote{
    background:#fff;
    border:1px solid var(--yamsu-border);
    border-left:5px solid var(--yamsu-gold);
    border-radius:10px;
    display:flex;
    align-items:center;
    min-height:52px;
    overflow:hidden;
    box-shadow:0 6px 18px rgba(18,48,74,.04);
}

.quote-label{
    flex:0 0 auto;
    background:var(--yamsu-gold);
    color:#fff;
    height:52px;
    padding:15px 17px;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
}

.quote-list{
    display:block;
    padding:0 15px;
    margin:0;
    list-style:none;
    line-height:1.3;
    position:relative;
    overflow:hidden;
    height:52px;
    flex:1;
}

.quote-list li{
    color:var(--yamsu-text);
    position:absolute;
    top:-950em;
    left:0;
    display:block;
    white-space:nowrap;
    font-size:14px;
    padding:16px 10px;
}

.quote-list li span{
    color:var(--yamsu-blue);
    font-weight:700;
}

/* =========================================================
   CONTENT
   ========================================================= */

.content{
    padding:28px 0 50px;
}

.section-block{
    margin-bottom:38px;
}

.section-heading{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:20px;
    margin-bottom:18px;
}

.section-eyebrow,
.sidebar-kicker{
    display:block;
    margin-bottom:4px;
    color:var(--yamsu-gold);
    font-size:11px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.section-heading h2{
    margin:0;
    font-size:26px;
    font-weight:800;
    color:var(--yamsu-navy);
}

.section-link{
    color:var(--yamsu-blue);
    font-size:13px;
    font-weight:700;
    white-space:nowrap;
}

.section-link i{
    margin-left:5px;
}

/* =========================================================
   BERITA
   ========================================================= */

.news-card{
    background:#fff;
    border:1px solid var(--yamsu-border);
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 6px 20px rgba(18,48,74,.05);
}

.news-image{
    display:block;
    background:#e8edf2;
    overflow:hidden;
}

.news-image img{
    width:100%;
    height:205px;
    object-fit:cover;
    display:block;
    transition:transform .35s ease;
}

.news-card:hover .news-image img{
    transform:scale(1.03);
}

.news-body{
    padding:18px;
}

.news-meta{
    color:var(--yamsu-gold);
    font-size:11px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.news-body h3{
    margin:7px 0 8px;
    font-size:18px;
    line-height:1.35;
    font-weight:800;
}

.news-body p{
    color:var(--yamsu-muted);
    font-size:13px;
    margin-bottom:11px;
}

.read-more{
    font-size:12px;
    font-weight:800;
    color:var(--yamsu-blue);
    text-transform:uppercase;
}

.read-more i{
    margin-left:4px;
}

/* =========================================================
   TENTANG YAYASAN
   ========================================================= */

.intro-card{
    display:flex;
    gap:20px;
    background:#fff;
    border:1px solid var(--yamsu-border);
    border-radius:14px;
    padding:23px;
    box-shadow:0 6px 20px rgba(18,48,74,.04);
}

.intro-icon{
    width:58px;
    height:58px;
    border-radius:14px;
    flex:0 0 58px;
    background:var(--yamsu-blue-soft);
    color:var(--yamsu-blue);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
}

.intro-card p{
    margin:0 0 8px;
}

.intro-card p:last-child{
    margin-bottom:0;
    color:var(--yamsu-muted);
    font-size:13px;
}

.intro-lead{
    font-weight:600;
}

/* =========================================================
   SEKOLAH NAUNGAN
   ========================================================= */

.unit-card{
    display:block;
    min-height:190px;
    background:#fff;
    border:1px solid var(--yamsu-border);
    border-radius:14px;
    padding:22px;
    box-shadow:0 6px 20px rgba(18,48,74,.04);
    position:relative;
    overflow:hidden;
    transition:all .2s ease;
}

.unit-card:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 28px rgba(18,48,74,.1);
}

.unit-icon{
    width:52px;
    height:52px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:16px;
    color:#fff;
    font-size:22px;
}

.unit-tk .unit-icon{
    background:#c48b2c;
}

.unit-sd .unit-icon{
    background:#2e7a5b;
}

.unit-smp .unit-icon{
    background:#2d638e;
}

.unit-name{
    color:var(--yamsu-navy);
    font-weight:800;
    font-size:18px;
}

.unit-desc{
    color:var(--yamsu-muted);
    font-size:13px;
    margin-top:3px;
}

.unit-link{
    display:block;
    margin-top:18px;
    color:var(--yamsu-blue);
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
}

/* =========================================================
   GALERI
   ========================================================= */

.album-card{
    position:relative;
    border-radius:14px;
    overflow:hidden;
    min-height:220px;
    background:#122f49;
    box-shadow:0 6px 20px rgba(18,48,74,.06);
}

.album-card img{
    width:100%;
    height:220px;
    object-fit:cover;
    display:block;
}

.album-overlay{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    min-height:110px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:15px;
    padding:44px 18px 16px;
    background:linear-gradient(
        to top,
        rgba(8,24,38,.92),
        rgba(8,24,38,0)
    );
    color:#fff;
}

.album-overlay h3{
    margin:0;
    font-size:16px;
    font-weight:800;
}

.album-overlay p{
    margin:4px 0 0;
    font-size:12px;
    opacity:.86;
}

.album-button{
    width:40px;
    height:40px;
    border:0;
    border-radius:50%;
    background:var(--yamsu-gold);
    color:#fff;
    flex:0 0 40px;
}

.video-card{
    background:#000;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 6px 20px rgba(18,48,74,.06);
}

/* =========================================================
   SIDEBAR
   ========================================================= */

.sidebar{
    padding-top:0;
}

.sidebar-card{
    background:#fff;
    border:1px solid var(--yamsu-border);
    border-radius:14px;
    margin-bottom:18px;
    box-shadow:0 6px 20px rgba(18,48,74,.04);
    overflow:hidden;
}

.sidebar-card-title{
    padding:14px 17px;
    border-bottom:1px solid var(--yamsu-border);
    color:var(--yamsu-navy);
    font-size:14px;
    font-weight:800;
}

.leader-image-wrap{
    background:var(--yamsu-blue-soft);
}

.leader-image{
    width:100%;
    height:250px;
    object-fit:cover;
    display:block;
}

.leader-content{
    padding:18px;
}

.leader-content h2{
    margin:0;
    color:var(--yamsu-navy);
    font-size:20px;
    line-height:1.3;
    font-weight:800;
}

.leader-role{
    color:var(--yamsu-blue);
    font-size:13px;
    font-weight:700;
    margin:4px 0 10px;
}

.leader-content p{
    color:var(--yamsu-muted);
    font-size:13px;
    margin-bottom:15px;
}

.sidebar-button{
    display:inline-block;
    padding:9px 13px;
    border-radius:8px;
    background:var(--yamsu-blue);
    color:#fff;
    font-size:12px;
    font-weight:800;
    border:0;
}

.sidebar-button:hover{
    color:#fff;
    background:var(--yamsu-navy);
}

.sidebar-button.secondary{
    background:var(--yamsu-gold);
}

/* =========================================================
   SIDEBAR - SEKOLAH NAUNGAN
   ========================================================= */

.unit-side-link{
    display:flex;
    align-items:center;
    gap:11px;
    padding:13px 15px;
    border-bottom:1px solid var(--yamsu-border);
}

.unit-side-link:last-child{
    border-bottom:0;
}

.unit-side-icon{
    width:38px;
    height:38px;
    border-radius:10px;
    flex:0 0 38px;
    background:var(--yamsu-blue-soft);
    color:var(--yamsu-blue);
    display:flex;
    justify-content:center;
    align-items:center;
}

.unit-side-link span:nth-child(2){
    flex:1;
}

.unit-side-link strong{
    display:block;
    color:var(--yamsu-navy);
    font-size:13px;
}

.unit-side-link small{
    display:block;
    color:var(--yamsu-muted);
    font-size:11px;
}

.unit-side-link>i{
    color:#9aa8b4;
}

/* =========================================================
   QUICK LINKS
   ========================================================= */

.quick-link,
.archive-item,
.popular-item{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:12px 15px;
    border-bottom:1px solid var(--yamsu-border);
}

.quick-link:last-child,
.archive-item:last-child,
.popular-item:last-child{
    border-bottom:0;
}

.quick-link{
    font-weight:600;
    font-size:13px;
}

.archive-item{
    align-items:center;
    font-size:13px;
}

.archive-item small{
    min-width:31px;
    padding:3px 7px;
    text-align:center;
    border-radius:999px;
    background:var(--yamsu-blue-soft);
    color:var(--yamsu-blue);
}

.popular-item{
    display:block;
}

.popular-item strong{
    display:block;
    color:var(--yamsu-navy);
    font-size:13px;
    line-height:1.45;
}

.popular-item small{
    display:block;
    margin-top:5px;
    color:var(--yamsu-muted);
    font-size:10px;
}

/* =========================================================
   POLLING / SUBSCRIBE
   ========================================================= */

.poll-content,
.subscribe-card>p{
    padding:15px 17px;
}

.poll-content p,
.subscribe-card p{
    color:var(--yamsu-muted);
    font-size:13px;
    margin-bottom:12px;
}

.poll-actions{
    padding:0 17px 17px;
    display:flex;
    gap:8px;
}

.subscribe-card{
    padding-bottom:15px;
}

.subscribe-card .input-group{
    padding:0 15px;
}

.subscribe-button{
    background:var(--yamsu-gold);
    color:#fff;
    border:0;
}

.subscribe-button:hover{
    color:#fff;
    background:#b98f1f;
}

/* =========================================================
   FOOTER
   ========================================================= */

.site-footer{
    color:#fff;
}

.footer-main{
    background:var(--yamsu-navy);
    padding:42px 0 28px;
}

.footer-bottom{
    background:#0a2236;
    border-top:1px solid rgba(255,255,255,.1);
}

.footer-title{
    color:#fff;
    font-size:15px;
    font-weight:800;
    margin-bottom:12px;
}

.footer-text{
    color:rgba(255,255,255,.75);
    font-size:13px;
}

.footer-contact{
    list-style:none;
    padding:0;
    margin:0;
}

.footer-contact li{
    display:flex;
    gap:10px;
    margin-bottom:8px;
    color:rgba(255,255,255,.8);
    font-size:13px;
}

.footer-contact i{
    color:var(--yamsu-gold);
    width:16px;
    margin-top:3px;
}

.social-links{
    display:flex;
    gap:9px;
}

.social-links a{
    width:40px;
    height:40px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.1);
    color:#fff;
}

.social-links a:hover{
    background:var(--yamsu-gold);
    color:#fff;
}

.footer-bottom-inner{
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    color:rgba(255,255,255,.65);
    font-size:11px;
}

/* =========================================================
   SEARCH
   ========================================================= */

#search_form{
    z-index:999999;
    position:fixed;
    inset:0;
    width:100%;
    height:100%;
    background-color:rgba(7,20,32,.95);
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    visibility:hidden;
    transform:translateY(-20px);
    transition:all .25s ease;
}

#search_form.open{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

#search_form form{
    width:min(900px,92vw);
    text-align:center;
}

#search_form input[type="search"]{
    width:100%;
    color:#fff;
    background:transparent;
    font-size:clamp(28px,5vw,56px);
    font-weight:300;
    text-align:center;
    border:0;
    border-bottom:1px solid rgba(255,255,255,.35);
    padding:12px 15px;
    outline:none;
}

#search_form input[type="search"]::placeholder{
    color:rgba(255,255,255,.55);
}

#search_form .btn{
    margin-top:26px;
}

/* =========================================================
   GENERAL BUTTON
   ========================================================= */

.action-button{
    background:var(--yamsu-blue);
    color:#fff;
    border:0;
}

.action-button:hover{
    background:var(--yamsu-navy);
    color:#fff;
}

/* =========================================================
   TOASTR
   ========================================================= */

.toast{
    background-color:#030303;
}

.toast-success{
    background-color:#00a86b;
}

.toast-error{
    background-color:#d9534f;
}

.toast-info{
    background-color:#3578a8;
}

.toast-warning{
    background-color:#d39e2d;
}

.toast-title,
.toast-message{
    text-align:left;
}

/* =========================================================
   RETURN TO TOP
   ========================================================= */

#return-to-top{
    opacity:.9;
    z-index:10000;
    position:fixed;
    bottom:18px;
    right:18px;
    background:var(--yamsu-gold);
    width:38px;
    height:38px;
    display:none;
    text-decoration:none;
    border-radius:50%;
    box-shadow:0 8px 20px rgba(18,48,74,.18);
}

#return-to-top i{
    color:#fff;
    margin:0;
    position:relative;
    left:11px;
    top:7px;
    font-size:19px;
}

#return-to-top:hover{
    background:var(--yamsu-navy);
}

/* =========================================================
   RESPONSIVE - TABLET
   ========================================================= */

@media (max-width:991.98px){

    .brand-wrap{
        min-height:95px;
    }

    .brand-title{
        font-size:20px;
    }

    .menu-bar .navbar-collapse{
        display:block!important;
    }

    .menu-tools{
        border-top:1px solid rgba(255,255,255,.15);
        padding:6px 0;
        margin-top:5px;
        justify-content:flex-end;
        flex-wrap:wrap;
    }

    .menu-tool{
        font-size:11px;
        padding:8px 10px;
    }

    #main-menu{
        width:100%;
    }

    .hero-slider{
        margin-top:14px;
    }
}

/* =========================================================
   RESPONSIVE - MOBILE
   ========================================================= */

@media (max-width:767.98px){

    .brand-wrap{
        min-height:88px;
    }

    .brand-logo img{
        width:58px;
        height:58px;
    }

    .brand-title{
        font-size:17px;
    }

    .brand-tagline{
        font-size:12px;
    }

    #yamsu-slider .carousel-item img{
        min-height:210px;
    }

    .hero-caption-inner{
        padding:45px 18px 18px;
        font-size:16px;
    }

    .quote-label{
        padding-left:11px;
        padding-right:11px;
        font-size:10px;
    }

    .quote-list li{
        font-size:12px;
    }

    .section-heading{
        align-items:flex-start;
        flex-direction:column;
        gap:6px;
    }

    .section-heading h2{
        font-size:22px;
    }

    .intro-card{
        gap:13px;
        padding:17px;
    }

    .intro-icon{
        width:45px;
        height:45px;
        flex-basis:45px;
        font-size:18px;
    }

    .leader-image{
        height:230px;
    }

    .footer-bottom-inner{
        padding:11px 0;
        flex-direction:column;
        align-items:flex-start;
    }

    .news-image img{
        height:180px;
    }
}

/* =========================================================
   RESPONSIVE - HP KECIL
   ========================================================= */

@media (max-width:575.98px){

    .container{
        width:94%;
    }

    .brand-tagline{
        max-width:270px;
    }

    .menu-tools{
        justify-content:space-between;
    }

    .menu-tool{
        flex:1;
        justify-content:center;
        padding-left:5px;
        padding-right:5px;
    }

    .menu-tool span{
        display:none;
    }

    .menu-tool i{
        font-size:16px;
        margin:0;
    }

    #main-menu{
        font-size:12px;
    }

    .quote-list li{
        white-space:normal;
        width:100%;
    }

    .news-image img{
        height:180px;
    }

    .section-heading h2{
        font-size:20px;
    }
}