/* =====================================
   GLOBAL CUSTOMS SERVICE AGENCY
   MAIN STYLESHEET
===================================== */

:root{
    --primary:#003366;
    --secondary:#0056b3;
    --accent:#f8b400;
    --light:#f8f9fa;
    --dark:#212529;
    --white:#ffffff;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; 
    margin:0; 
    padding:0; 
    color:#333; 
    background:#fff; 
    overflow-x:hidden;
}

/* TOP BAR */

.top-bar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1040;
    background:var(--primary);
    color: #fff;
    padding: 8px 0;
    font-size: 14px;
}

/* NAVBAR */

.custom-navbar {
    background:var(--secondary); 
    transition:.3s; 
    top:40px; 
    z-index:999;
}

.navbar-brand{
    font-size:1.5rem;
    font-weight:700;
}

.logo-icon-float{
    animation:float 2s infinite ease-in-out;
}

@keyframes float{

    0%{transform:translateY(0);}
    50%{transform:translateY(-12px);}
    100%{transform:translateY(0);}

}

.navbar-dark .navbar-nav .nav-link{
    color:#fff;
    font-weight:500;
    padding-left:15px;
    padding-right:15px;
}

.navbar-dark .navbar-nav .nav-link:hover{
    color:var(--accent);
}

/* Active Navigation Item */

.navbar-nav .nav-item.active .nav-link {
    background-color: var(--dark);
    color: #ffffff !important;
    border: 1px solid #ffffff;
    border-radius: 4px;
    font-weight: 600;
    box-shadow: 0 0 8px rgba(255,255,255,0.2);
}

/* HERO */

.hero-section{
    background:
        linear-gradient(
            rgba(0,51,102,.85),
            rgba(0,86,179,.85)
        ),
        url('../img/hero-section_bg.avif');

    background-size:cover;
    background-position:center;

    color:#fff;

    min-height:90vh;

    display:flex;
    align-items:center;

    padding-top:140px;
    padding-bottom:80px;
}

.hero-section h1{
    font-size:3.2rem;
    font-weight:700;
    margin-bottom:20px;
}

.hero-section p{
    font-size:1.2rem;
    margin-bottom:30px;
}

.hero-buttons .btn{
    margin-right:10px;
    margin-bottom:10px;
}

.hero-card{
    background:rgba(255,255,255,.15);
    backdrop-filter:blur(6px);
    padding:30px;
    border-radius:10px;
    border:1px solid rgba(255,255,255,.2);
}

.hero-card h3{
    font-weight:700;
}

/* SECTIONS */

.section-padding{
    padding:80px 0;
}

.dark_bg{
  background:
    linear-gradient(
        rgba(0,51,102,.95),
        rgba(0,51,102,.95)
    );
}

.section-title{
    text-align:center;
    margin-bottom:50px;
}

.section-title h2{
    color:var(--primary);
    font-weight:700;
    margin-bottom:15px;
}

.section-title p{
    color:#666;
}

/* SERVICES */

.service-card{
    background:#fff;
    padding:35px;
    border-radius:10px;
    text-align:center;
    box-shadow:0 2px 15px rgba(0,0,0,.08);
    transition:.3s;
    height:100%;
}

.service-card:hover{
    transform:translateY(-8px);
    box-shadow:0 15px 35px rgba(0,0,0,.15);
}

.service-card i{
    font-size:50px;
    color:var(--secondary);
    margin-bottom:20px;
}

.service-card h4{
    font-weight:600;
    margin-bottom:15px;
}

/* COUNTRY CARDS */ 

.scrollable-div{
    max-width:100%;
    overflow-y:auto;
}

/* Chrome, Edge, Safari */
.scrollable-div::-webkit-scrollbar{
    width:8px;
}

.scrollable-div::-webkit-scrollbar-track{
    background:#f1f1f1;
}

.scrollable-div::-webkit-scrollbar-thumb{
    background:#003366;
    border-radius:10px;
}

.scrollable-div::-webkit-scrollbar-thumb:hover{
    background:#00509e;
}

.country-card{
    background:#fff;
    border-radius:10px;
    padding:25px;
    text-align:center;
    height:100%;
    box-shadow:0 2px 12px rgba(0,0,0,.08);
    transition:.3s;
}

.country-card:hover{
    transform:translateY(-5px);
}

.country-card h5{
    color:var(--primary);
    font-weight:700;
}

/* CALCULATOR */

.calculator-box{
    background:#fff;
    border-radius:10px;
    padding:35px;
    box-shadow:0 2px 15px rgba(0,0,0,.1);
}

.result-box{
    min-height:60px;
    background:#f1f5f9;
    border-left:5px solid var(--accent);
    padding:15px;
    font-weight:600;
    border-radius:4px;
}

/* NEWS */

.news-card{
    background:#fff;
    padding:25px;
    margin-bottom:20px;
    border-radius:10px;
    box-shadow:0 2px 12px rgba(0,0,0,.08);
    transition:.3s;
    height:100%;
}

.news-card:hover{
    transform:translateY(-5px);
}

.news-card h5{
    color:var(--primary);
    font-weight:700;
}

/* RESOURCES */

.resource-btn{
    display:block;
    padding:18px;
    background:var(--primary);
    color:#fff;
    border-radius:8px;
    text-decoration:none !important;
    font-weight:600;
    transition:.3s;
}

.resource-btn:hover{
    background:var(--secondary);
    color:#fff;
}

/* CONTACT */

.contact-section{
    background:
        linear-gradient(
            rgba(0,51,102,.95),
            rgba(0,51,102,.95)
        );
    padding:80px 0;
}

.contact-section .form-control{
    border:none;
    border-radius:5px;
    min-height:50px;
}

.contact-section textarea{
    min-height:160px;
}

/* FOOTER */

footer{
    background:#111;
    color:#ddd;
    padding:60px 0 25px;
}

footer h5{
    color:#fff;
    margin-bottom:20px;
}

.footer-links{
    list-style:none;
    padding:0;
}

.footer-links li{
    margin-bottom:10px;
}

.footer-links a{
    color:#ddd;
    text-decoration:none;
}

.footer-links a:hover{
    color:var(--accent);
}

footer hr{
    border-color:rgba(255,255,255,.1);
}

/* BUTTONS */

.btn-primary{
    background:var(--secondary);
    border-color:var(--secondary);
}

.btn-primary:hover{
    background:var(--primary);
    border-color:var(--primary);
}

.btn-warning{
    color:#fff;
    font-weight:600;
}

/* RESPONSIVE */

@media(max-width:991.98px){

  .top-bar {
        display: none;
    }

    .custom-navbar {
        top: 0;
    }

    body {
        padding-top: 70px;
    }
    
    .hero-section{
        text-align:center;
    }

    .hero-card{
        margin-top:40px;
    }

    .hero-section h1{
        font-size:2.3rem;
    }

}

@media(max-width:768px){

    .section-padding{
        padding:60px 0;
    }

    .hero-section{
        min-height:auto;
        padding-top:120px;
    }

    .hero-section h1{
        font-size:2rem;
    }

    .hero-section p{
        font-size:1rem;
    }

}

@media(max-width:576px){

    .hero-section h1{
        font-size:1.8rem;
    }

    .section-title h2{
        font-size:1.8rem;
    }

}
