/*=========================================================
PKB KOTA BOGOR
Responsive Framework v1.0
=========================================================*/

/* =====================================================
1400px
===================================================== */

@media (max-width:1400px){

.container-custom{
    max-width:1200px;
}

.hero-title{
    font-size:58px;
}

}

/* =====================================================
1200px
===================================================== */

@media (max-width:1200px){

.container-custom{
    max-width:100%;
    padding:0 25px;
}

.hero-title{
    font-size:50px;
}

.hero-image{
    max-width:500px;
}

.grid-4{
    grid-template-columns:repeat(2,1fr);
}

.section-title{
    font-size:38px;
}

}

/* =====================================================
992px
===================================================== */

@media (max-width:992px){

.topbar{
    display:none;
}

.navbar-wrapper{

    height:80px;

}

.navbar-menu{

    display:none;

}

.mobile-toggle{

    display:flex !important;

}

.search-btn{

    display:none;

}

.hero{

    padding:120px 0 80px;

}

.hero .row{

    flex-direction:column-reverse;

}

.hero-content{

    text-align:center;

    margin-top:40px;

}

.hero-title{

    font-size:42px;

}

.hero-description{

    margin:auto;

}

.hero-buttons{

    justify-content:center;

}

.hero-stats{

    justify-content:center;

}

.grid-2,
.grid-3,
.grid-4{

    grid-template-columns:1fr;

}

.section{

    padding:80px 0;

}

.section-title{

    font-size:34px;

}

.news-item{

    margin-top:25px;

}

}

/* =====================================================
768px
===================================================== */

@media (max-width:768px){

.container-custom{

    padding:0 18px;

}

.hero{

    padding:100px 0 70px;

}

.hero-title{

    font-size:34px;

    line-height:1.2;

}

.hero-description{

    font-size:16px;

}

.hero-buttons{

    flex-direction:column;

    gap:15px;

}

.hero-buttons .btn{

    width:100%;

}

.hero-stats{

    flex-wrap:wrap;

    gap:15px;

}

.section{

    padding:70px 0;

}

.section-title{

    font-size:30px;

}

.section-subtitle{

    font-size:16px;

}

.card-modern{

    padding:25px;

}

.service-card{

    margin-bottom:20px;

}

.stat-card{

    margin-bottom:20px;

}

.headline-card{

    margin-bottom:30px;

}

.footer-column{

    margin-bottom:35px;

}

}

/* =====================================================
576px
===================================================== */

@media (max-width:576px){

body{

    font-size:15px;

}

.container-custom{

    padding:0 15px;

}

.hero{

    padding:90px 0 60px;

}

.hero-title{

    font-size:28px;

}

.hero-description{

    font-size:15px;

}

.section-title{

    font-size:26px;

}

.section-subtitle{

    font-size:15px;

}

.btn{

    width:100%;

    justify-content:center;

}

.hero-stats{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:15px;

}

.stat-card h3{

    font-size:36px;

}

.news-item{

    flex-direction:column;

}

.news-item img{

    width:100%;

    height:200px;

    object-fit:cover;

    margin-bottom:15px;

}

.footer-bottom{

    text-align:center;

}

.footer-bottom .row{

    flex-direction:column;

    gap:15px;

}

}

/* =====================================================
MOBILE MENU
===================================================== */

.mobile-menu{

    position:fixed;

    top:0;

    right:-100%;

    width:300px;

    max-width:85%;

    height:100vh;

    background:#fff;

    box-shadow:-5px 0 30px rgba(0,0,0,.15);

    transition:.35s;

    z-index:9999;

    overflow-y:auto;

}

.mobile-menu.active{

    right:0;

}

.mobile-menu ul{

    list-style:none;

    margin:0;

    padding:25px;

}

.mobile-menu li{

    border-bottom:1px solid #eee;

}

.mobile-menu a{

    display:block;

    padding:15px 0;

    color:#222;

    font-weight:600;

}

.mobile-overlay{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.45);

    opacity:0;

    visibility:hidden;

    transition:.3s;

    z-index:9998;

}

.mobile-overlay.active{

    opacity:1;

    visibility:visible;

}

/* =====================================================
BACK TO TOP
===================================================== */

.back-to-top{

    position:fixed;

    right:25px;

    bottom:25px;

    width:48px;

    height:48px;

    border-radius:50%;

    background:#0B6B35;

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    box-shadow:0 10px 25px rgba(0,0,0,.2);

    opacity:0;

    visibility:hidden;

    transition:.3s;

    z-index:999;

}

.back-to-top.show{

    opacity:1;

    visibility:visible;

}

.back-to-top:hover{

    transform:translateY(-5px);

}