/* ===============================
   GLOBAL
=================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Segoe UI',sans-serif;
    background:#f5f8fc;
    color:#333;
    overflow-x:hidden;
}

/* ===============================
TOP HEADER
=================================*/

.top-header{
    background:#002b7f;
    color:#fff;
    font-size:14px;
    padding:8px 0;
}

.top-header a{
    color:#fff;
    text-decoration:none;
    transition:.3s;
}

.top-header a:hover{
    color:#FFD700;
}

/* ===============================
NAVBAR
=================================*/

.navbar{
    background:#fff;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
    transition:.4s;
    z-index:999;
}

.navbar-brand img{
    height:70px;
}

.brand-title{
    font-weight:800;
    color:#003DA5;
    line-height:1.3;
}

.nav-link{

    font-weight:600;

    color:#003DA5!important;

    transition:.3s;

}

.nav-link:hover{

    color:#198754!important;

}

.btn-member{

    background:#198754;

    color:#fff;

    border-radius:40px;

    padding:10px 24px;

    font-weight:bold;

}

.btn-member:hover{

    background:#0d6d41;

    color:#fff;

}

/* ===============================
HERO
=================================*/

.hero{
    position: relative;
    background:
        linear-gradient(rgba(0,55,160,0.80), rgba(0,55,160,0.80)),
        url("assets/images/hero-bg.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color:#fff;
    padding:90px 0;
    overflow:hidden;
}

/* Optional dark overlay */
.hero::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.15);
}

.hero .container{
    position:relative;
    z-index:1000;
}

.hero h1,
.hero h2,
.hero h3,
.hero p,
.hero .btn{
    color:#fff !important;
    opacity:1 !important;
    visibility:visible !important;
    position:relative;
    z-index:1001;
}


/* ===============================
SERVICE
=================================*/

.service-section{

    margin-top:-70px;

    position:relative;

    z-index:100;

}

.service-card{

    background:#fff;

    border-radius:18px;

    padding:30px;

    text-align:center;

    box-shadow:0 8px 25px rgba(0,0,0,.12);

    transition:.35s;

    height:100%;

}

.service-card:hover{

    transform:translateY(-10px);

}

.service-card i{

    font-size:45px;

    color:#003DA5;

    margin-bottom:20px;

}

.service-card h5{

    color:#003DA5;

    font-weight:700;

}

/* ===============================
CARDS
=================================*/

.card{

    transition:.35s;

}

.card:hover{

    transform:translateY(-8px);

}

.card img{

    transition:.4s;

}

.card:hover img{

    transform:scale(1.05);

}

/* ===============================
BUTTONS
=================================*/

.btn{

    transition:.35s;

}

.btn:hover{

    transform:translateY(-3px);

}

/* ===============================
SECTION TITLE
=================================*/

section h2{

    font-weight:800;

}

.badge{

    font-size:14px;

    letter-spacing:1px;

}

/* ===============================
FOOTER
=================================*/

footer{

    background:#001c4d;

    color:#fff;

}

footer h3,
footer h4{

    margin-bottom:20px;

}

footer a{

    color:#fff;

    text-decoration:none;

    transition:.3s;

}

footer a:hover{

    color:#FFD700;

}

/* ===============================
GALLERY
=================================*/

.gallery img{

    transition:.4s;

}

.gallery img:hover{

    transform:scale(1.08);

}

/* ===============================
COUNTER
=================================*/

.counter{

    font-size:55px;

    font-weight:bold;

}

/* ===============================
SCROLLBAR
=================================*/

::-webkit-scrollbar{

    width:8px;

}

::-webkit-scrollbar-track{

    background:#eee;

}

::-webkit-scrollbar-thumb{

    background:#003DA5;

    border-radius:20px;

}

/* ===============================
BACK TO TOP
=================================*/

#topBtn{

    position:fixed;

    right:25px;

    bottom:25px;

    width:50px;

    height:50px;

    border:none;

    background:#198754;

    color:#fff;

    border-radius:50%;

    display:none;

    z-index:9999;

    cursor:pointer;

}

/* ===============================
RESPONSIVE
=================================*/

@media(max-width:991px){

.hero{

text-align:center;

padding:70px 0;

}

.hero h1{

font-size:42px;

}

.hero-logo{

margin-bottom:30px;

}

.brand-title{

font-size:14px;

}

}

@media(max-width:576px){

.hero h1{

font-size:34px;

}

.hero h2{

font-size:22px;

}

.service-card{

padding:20px;

}

.counter{

font-size:40px;

}

}