/* ==========================================================
   SKYWARD AVIATION ACADEMY
   ========================================================== */

:root{
    --primary:#0b1f3a;
    --secondary:#d4a24c;
    --dark:#101828;
    --light:#f8fafc;
    --white:#ffffff;
    --gray:#667085;
    --border:#e4e7ec;
    --transition:.35s ease;
    --radius:16px;
    --shadow:0 15px 40px rgba(0,0,0,.12);
}

/* ==========================================================
   RESET
   ========================================================== */

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

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Inter',sans-serif;
    color:var(--dark);
    background:#fff;
    overflow-x:hidden;
    line-height:1.7;
}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
    transition:var(--transition);
}

section{
    padding:100px 0;
}

.container{
    max-width:1200px;
}

/* ==========================================================
   TYPOGRAPHY
   ========================================================== */

h1{
    font-size:64px;
    font-weight:800;
    line-height:1.1;
}

h2{
    font-size:42px;
    font-weight:700;
    margin-bottom:20px;
}

h3{
    font-size:24px;
    font-weight:700;
}

p{
    color:var(--gray);
    margin-bottom:18px;
}

/* ==========================================================
   BUTTONS
   ========================================================== */

.btn-gold{
    background:var(--secondary);
    color:#fff;
    padding:14px 34px;
    border-radius:999px;
    border:none;
    font-weight:700;
    transition:var(--transition);
}

.btn-gold:hover{
    background:#c08f39;
    transform:translateY(-3px);
    color:#fff;
}

.btn-outline-light{
    border-radius:999px;
    padding:14px 34px;
}

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

.navbar{
    transition:var(--transition);
    padding:20px 0;
}

.navbar-brand{
    font-size:28px;
    font-weight:800;
    color:#fff;
}

.navbar .nav-link{
    color:#fff;
    margin-left:20px;
    font-weight:600;
}

.navbar .nav-link:hover{
    color:var(--secondary);
}

.navbar-scrolled{
    background:rgba(11,31,58,.95);
    backdrop-filter:blur(10px);
    padding:10px 0;
    box-shadow:0 10px 25px rgba(0,0,0,.15);
}

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

.hero{
    min-height:100vh;
    display:flex;
    align-items:center;
    position:relative;
    color:#fff;
    background-size:cover;
    background-position:center;
}

.hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.55);
}

.hero .container{
    position:relative;
    z-index:2;
}

.hero p{
    color:#f2f2f2;
    font-size:20px;
    max-width:650px;
}

.hero-buttons{
    margin-top:40px;
    display:flex;
    gap:15px;
    flex-wrap:wrap;
}

/* ==========================================================
   TITLES
   ========================================================== */

.section-title{
    text-align:center;
    margin-bottom:12px;
}

.section-subtitle{
    text-align:center;
    max-width:720px;
    margin:0 auto 60px;
}

/* ==========================================================
   CARDS
   ========================================================== */

.info-card{
    background:#fff;
    padding:35px;
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    height:100%;
    transition:var(--transition);
}

.info-card:hover{
    transform:translateY(-10px);
}

.info-card i{
    font-size:42px;
    color:var(--secondary);
    margin-bottom:20px;
}

/* ==========================================================
   PROGRAM
   ========================================================== */

.program-step{
    padding:30px;
    background:#fff;
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    margin-bottom:20px;
}

/* ==========================================================
   FLEET
   ========================================================== */

.fleet-card{
    
   
    overflow:hidden;
    border-radius:18px;
    box-shadow:var(--shadow);
    background:#fff;
    
}

.fleet-card img{
    transition:.5s;
}

.fleet-card:hover img{
    
    transform:scale(1.08);
}

.fleet-content{
    
    padding:25px;
}

/* ==========================================================
   ABOUT
   ========================================================== */

.about img{
    
    
    border-radius:20px;
    box-shadow:var(--shadow);
}

/* ==========================================================
   GALLERY
   ========================================================== */

.gallery img{
     width: 100%;          /* Fills the width of its parent container */
     height: 240px;
    border-radius:14px;
    cursor:pointer;
    transition:.4s;
    margin-bottom:24px;
}

.gallery img:hover{
    transform:scale(1.04);
}

/* ==========================================================
   COUNTERS
   ========================================================== */

.stats{
    background:var(--primary);
    color:#fff;
}

.stats p{
    color:#d0d5dd;
}

.counter{
    font-size:54px;
    font-weight:800;
}

/* ==========================================================
   TESTIMONIALS
   ========================================================== */

.testimonial{
    background:#fff;
    border-radius:18px;
    padding:35px;
    box-shadow:var(--shadow);
    height:100%;
}

.testimonial img{
    width:70px;
    height:70px;
    object-fit:cover;
    border-radius:50%;
    margin-bottom:20px;
}

/* ==========================================================
   CONTACT
   ========================================================== */

.contact{
    background:#f8fafc;
}

.form-control{
    border-radius:12px;
    padding:15px;
    border:1px solid var(--border);
}


.form-control:focus{
    border-color:var(--secondary);
    box-shadow:none;
}

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

footer{
    background:var(--primary);
    color:#fff;
    padding:70px 0 30px;
}

footer p,
footer a{
    color:#d0d5dd;
}

footer a:hover{
    color:#fff;
}

.social a{
    width:44px;
    height:44px;
    border-radius:50%;
    background:rgba(255,255,255,.1);
    display:inline-flex;
    justify-content:center;
    align-items:center;
    margin-right:10px;
    font-size:20px;
}

/* ==========================================================
   BACK TO TOP
   ========================================================== */

#backToTop{
    position:fixed;
    right:25px;
    bottom:25px;
    width:52px;
    height:52px;
    border:none;
    border-radius:50%;
    background:var(--secondary);
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    cursor:pointer;
    opacity:0;
    visibility:hidden;
    transition:.3s;
    z-index:999;
}

#backToTop.show{
    opacity:1;
    visibility:visible;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width:991px){

    h1{
        font-size:48px;
    }

    h2{
        font-size:34px;
    }

    .hero{
        text-align:center;
    }

    .hero p{
        margin:auto;
    }

    .hero-buttons{
        justify-content:center;
    }

}

@media (max-width:767px){

    section{
        padding:70px 0;
    }

    h1{
        font-size:38px;
    }

    h2{
        font-size:30px;
    }

    .navbar-brand{
        font-size:24px;
    }

    /* Keep the mobile navbar aligned with the rest of the site */
    .navbar > .container{
        width:100%;
        padding-left:12px;
        padding-right:12px;
    }

    .navbar-toggler{
        margin-right:0;
    }

    .navbar-collapse{
        width:100%;
    }

    .navbar-nav{
        width:100%;
    }

    .navbar .nav-link{
        margin-left:0;
    }

    .navbar .btn-gold{
        margin-left:0 !important;
        width:100%;
    }

}
/* ==========================================================
   GALLERY MOBILE
   ========================================================== */

@media (max-width: 767px){
    .gallery .col-6{
        width: 100%;
    }

    .gallery img{
        width: 100%;
        height: auto;
        max-height: none;
        object-fit: cover;
        margin-bottom: 20px;
    }
}


/* ==========================================================
   MOBILE OVERFLOW FIX
   Prevent any element from creating horizontal scrolling
   ========================================================== */
html,
body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
}

@media (max-width:767px){

    .navbar,
    .navbar > .container,
    section,
    footer,
    .hero{
        max-width:100vw;
        overflow-x:hidden;
    }

    .container{
        width:100%;
        max-width:100%;
        padding-left:15px;
        padding-right:15px;
        margin-left:auto;
        margin-right:auto;
    }

    .row{
        --bs-gutter-x:1.5rem;
        margin-left:0;
        margin-right:0;
    }

    .navbar .container{
        padding-left:15px;
        padding-right:15px;
    }

    .navbar-collapse{
        max-width:100%;
        overflow:hidden;
    }

    .navbar-nav{
        max-width:100%;
    }
}
