/* =====================================
   GWI PUSAT FINAL CSS
   Desktop + Mobile Responsive
===================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Inter',Arial,sans-serif;
    background:#f8fafc;
    color:#1e293b;
}


/* ===============================
   TOPBAR
================================ */

.topbar{
    background:#c90000;
    color:white;
    padding:12px 0;
}


.topbar-container{

    max-width:1300px;
    margin:auto;

    padding:0 30px;

    display:flex;
    align-items:center;
    justify-content:space-between;

}


.top-logo img{

    width:65px;
    height:65px;
    object-fit:contain;

}


.top-contact{

    display:flex;
    gap:45px;
}


.contact-item{

    display:flex;
    align-items:center;
    gap:12px;

}


.contact-icon{

    width:42px;
    height:42px;

    background:white;
    color:#c90000;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

}


.contact-text small{

    display:block;
    font-size:12px;
    color:#fecaca;

}


.contact-text strong{

    color:white;
    font-size:15px;

}


.top-social{

    display:flex;
    gap:12px;

}


.social-circle{

    width:40px;
    height:40px;

    background:#14532d;

    color:white;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    text-decoration:none;

}



/* ===============================
   NAVBAR
================================ */

.navbar{

    background:white;

    height:75px;

    box-shadow:
    0 5px 20px rgba(0,0,0,.08);

}


.nav-container{

    max-width:1300px;

    height:100%;

    margin:auto;

    padding:0 30px;

    display:flex;

    align-items:center;

}



.logo{

    font-size:32px;

    font-weight:800;

    color:#2563eb;

    margin-right:auto;

}


.logo span{

    color:#06b6d4;

}



.nav-menu{

    display:flex;

    gap:28px;

    list-style:none;

    align-items:center;

}



.nav-menu a{

    color:#334155;

    text-decoration:none;

    font-weight:600;

    font-size:15px;

}


.nav-menu a:hover{

    color:#c90000;

}



.nav-search input{

    margin-left:30px;

    width:170px;

    padding:10px 15px;

    border-radius:30px;

    border:1px solid #ddd;

}



.hamburger{

    display:none;

    font-size:28px;

    color:#c90000;

    cursor:pointer;

}



/* ===============================
   HERO
================================ */

.hero{

    min-height:520px;

    display:flex;

    align-items:center;

    padding:0 7%;

    color:white;


    background:

    linear-gradient(
    90deg,
    rgba(15,23,42,.85),
    rgba(37,99,235,.65)
    ),

    url('../img/hero.jpg');


    background-size:cover;

    background-position:center;

}



.hero label{

    font-size:14px;

    font-weight:bold;

}



.hero h1{

    font-size:55px;

    max-width:800px;

    margin:20px 0;

}



.hero p{

    font-size:18px;

}



.button{

    display:inline-block;

    margin-top:20px;

    background:white;

    color:#2563eb;

    padding:14px 30px;

    border-radius:30px;

    text-decoration:none;

    font-weight:bold;

}



/* ===============================
   CONTENT
================================ */


.layout{

    max-width:1200px;

    margin:60px auto;

    padding:0 25px;

    display:grid;

    grid-template-columns:
    2.5fr 1fr;

    gap:40px;

}



main{

    background:white;

    padding:35px;

    border-radius:25px;

}



.grid{

    margin-top:30px;

    display:grid;

    grid-template-columns:
    repeat(2,1fr);

    gap:30px;

}



.card{

    background:white;

    border-radius:20px;

    overflow:hidden;

    border:1px solid #e2e8f0;

    transition:.3s;

}



.card:hover{

    transform:translateY(-5px);

    box-shadow:
    0 15px 35px #0002;

}



.card img,
.placeholder{

    width:100%;

    height:220px;

    object-fit:cover;

}



.placeholder{

    background:#dbeafe;

    color:#2563eb;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:25px;

    font-weight:bold;

}



.card-body{

    padding:20px;

}


.card-body a{

    color:#2563eb;

    text-decoration:none;

    font-weight:bold;

}



aside{

    background:white;

    padding:25px;

    border-radius:25px;

}



.pop{

    padding:15px 0;

    border-bottom:1px solid #ddd;

}



/* ===============================
   FOOTER
================================ */

footer{

    background:#0f172a;

    color:white;

    text-align:center;

    padding:30px;

}



/* ===============================
   MOBILE
================================ */


@media(max-width:768px){


.topbar-container{

    flex-direction:column;

    gap:15px;

}


.top-contact{

    flex-direction:column;

    gap:15px;

}


.nav-container{

    padding:0 20px;

}


.logo{

    font-size:24px;

}



.hamburger{

    display:block;

}


.nav-menu{


    position:absolute;

    top:75px;

    left:0;

    width:100%;


    background:white;


    display:none;


    flex-direction:column;


    padding:25px;


    box-shadow:0 10px 30px #0003;


    z-index:999;


}



.nav-menu.active{

    display:flex;

}



.nav-menu li{

    list-style:none;

}



.nav-search{

    display:none;

}



.layout{

    grid-template-columns:1fr;

}



.grid{

    grid-template-columns:1fr;

}



.hero h1{

    font-size:35px;

}



}


.hamburger{

    display:none;

    position:relative;

    z-index:10000;

}


@media(max-width:768px){

.hamburger{

    display:block;

    cursor:pointer;

    font-size:28px;

    color:#c40000;

}


.nav-menu{

    z-index:9999;

}


}

/* =====================
   FOOTER
===================== */

.footer{

background:#050505;

color:white;

padding-top:70px;

}


.footer-container{

max-width:1300px;

margin:auto;

padding:0 30px;

display:grid;

grid-template-columns:
1.8fr 1fr 1.5fr 1.2fr;

gap:60px;

align-items:start;

}



.footer-container > div{

text-align:left;

}



.footer-logo{

width:90px;

margin-bottom:20px;

}



.footer-brand p{

color:#aaa;

line-height:1.8;

max-width:350px;

}



.footer h3{

font-size:20px;

margin-bottom:25px;

}



.footer-link a{

display:block;

color:#aaa;

text-decoration:none;

margin-bottom:15px;

}



.footer-link a:hover{

color:white;

}



.footer-contact p{

color:#aaa;

margin-bottom:18px;

}



.footer-contact i{

color:#dc2626;

margin-right:10px;

}



.footer-time div{

display:flex;

justify-content:space-between;

border-bottom:1px solid #222;

padding:15px 0;

color:#aaa;

}



.footer-time span{

color:white;

font-weight:bold;

}



.footer-social{

display:flex;

gap:12px;

margin-top:25px;

}


.footer-social a{

width:40px;

height:40px;

background:#1f2937;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

color:white;

text-decoration:none;

}



.footer-bottom{

border-top:1px solid #222;

margin-top:50px;

padding:25px 30px;

display:flex;

justify-content:space-between;

align-items:center;

color:#888;

}



.footer-bottom a{

margin-right:25px;

color:#aaa;

}



.scroll-top{

width:45px;

height:45px;

border-radius:50%;

border:0;

background:#84cc16;

color:white;

font-size:18px;

cursor:pointer;

}




@media(max-width:900px){


.footer-container{

grid-template-columns:1fr;

}


.footer-bottom{

flex-direction:column;

gap:20px;

text-align:center;

}


}

/* ======================
 NAVBAR DROPDOWN
====================== */


.nav-menu li{

position:relative;

}



/* DROPDOWN FIX */

.dropdown{
    position:relative;
}


.dropdown-menu{

    position:absolute;

    top:100%;

    left:0;

    background:white;

    width:200px;

    padding:10px 0;

    border-radius:12px;

    box-shadow:0 10px 30px rgba(0,0,0,.15);

    opacity:0;

    visibility:hidden;

    transform:translateY(10px);

    transition:.25s ease;

    z-index:9999;

}


/* jembatan supaya tidak hilang */

.dropdown-menu::before{

    content:"";

    position:absolute;

    top:-15px;

    left:0;

    width:100%;

    height:15px;

}



.dropdown:hover .dropdown-menu{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}



.dropdown-menu li{

    list-style:none;

}



.dropdown-menu a{

    display:block;

    padding:12px 20px;

    color:#334155;

    text-decoration:none;

}



.dropdown-menu a:hover{

    background:#f1f5f9;

    color:#dc2626;

}


.arrow{

font-size:10px;

margin-left:5px;

}

/* =========================
   FOOTER GWI
========================= */


.footer{

background:#050505;

color:white;

padding-top:70px;

}



.footer-container{

max-width:1300px;

margin:auto;

padding:0 30px;


display:grid;

grid-template-columns:

2fr 1fr 1.5fr 1.3fr;

gap:45px;

}



.footer-logo{

width:85px;

margin-bottom:15px;

}



.footer h3{

font-size:20px;

margin-bottom:20px;

}



.footer-brand p{

color:#a1a1aa;

line-height:1.8;

max-width:350px;

}



.footer-social{

display:flex;

gap:12px;

margin-top:25px;

}



.footer-social a{

width:40px;

height:40px;

background:#1f2937;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

color:white;

}



.footer-menu a{

display:block;

color:#a1a1aa;

text-decoration:none;

margin-bottom:15px;

}



.footer-menu a:hover{

color:white;

}



.footer-contact p{

color:#a1a1aa;

margin-bottom:15px;

}



.footer-contact i{

color:#dc2626;

width:25px;

}



.footer-time div{

display:flex;

justify-content:space-between;

padding:12px 0;

border-bottom:1px solid #222;

color:#a1a1aa;

}



.footer-time span{

color:white;

}



.footer-bottom{

margin-top:50px;

border-top:1px solid #222;

padding:25px 30px;


display:flex;

justify-content:space-between;

align-items:center;

color:#888;

}



.footer-link-bottom a{

color:#aaa;

margin-right:20px;

text-decoration:none;

}



.scroll-top{

width:45px;

height:45px;

border-radius:50%;

border:none;

background:#dc2626;

color:white;

cursor:pointer;

}




@media(max-width:768px){


.footer-container{

grid-template-columns:1fr;

}


.footer-bottom{

flex-direction:column;

gap:20px;

text-align:center;

}


}

.footer-menu a{

display:flex;

align-items:center;

gap:12px;

color:#a1a1aa;

text-decoration:none;

margin-bottom:15px;

transition:.3s;

}



.footer-menu a i{

width:20px;

color:#dc2626;

font-size:14px;

}



.footer-menu a:hover{

color:white;

transform:translateX(5px);

}



.footer-menu h3 i{

color:#dc2626;

font-size:16px;

}