/*==================================================
RESPONSIVE CSS
NEXSIT INNOVATIONS
==================================================*/


/*==================================================
1920px+
==================================================*/

@media(min-width:1920px){

.container{

max-width:1600px;

}

.hero-title{

font-size:86px;

}

.section-title{

font-size:62px;

}

.hero-image img{

max-height:820px;

object-fit:cover;

}

}


/*==================================================
1600px
==================================================*/

@media(max-width:1600px){

.container{

max-width:1400px;

}

.hero{

padding:170px 0 110px;

}

}


/*==================================================
1440px
==================================================*/

@media(max-width:1440px){

.container{

max-width:1280px;

}

.hero-title{

font-size:64px;

}

.section{

padding:110px 0;

}

}


/*==================================================
1366px
==================================================*/

@media(max-width:1366px){

.hero-title{

font-size:60px;

}

.hero-desc{

font-size:18px;

}

.program-grid,

.project-grid,

.tech-grid,

.why-grid{

gap:28px;

}

}


/*==================================================
1280px
==================================================*/

@media(max-width:1280px){

.container{

padding-left:24px;

padding-right:24px;

}

.logo img{

width:95px;

}

.logo-title{

font-size:42px;

}

}


/*==================================================
1200px
==================================================*/

@media(max-width:1200px){

.hero{

padding-top:160px;

}

.hero-title{

font-size:54px;

}

.hero-stats{

gap:25px;

}

.program-grid,

.project-grid,

.tech-grid,

.why-grid{

grid-template-columns:repeat(2,1fr);

}

.gallery-grid{

grid-template-columns:repeat(3,1fr);

}

.footer-grid{

grid-template-columns:repeat(2,1fr);

}

}


/*==================================================
992px
==================================================*/

@media(max-width:992px){

section{

padding:80px 0;

}

.hero{

text-align:center;

padding-top:140px;

}

.hero-content{

margin-bottom:60px;

}

.hero-buttons{

justify-content:center;

}

.hero-stats{

justify-content:center;

}

.hero-image{

margin-top:30px;

}
    .navbar-collapse {
        background-color: #ffffff; /* Or whatever matches your theme background */
        padding: 1.5rem;
        border-radius: 8px;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
        margin-top: 10px;
        position: relative;
        z-index: 999; /* Keeps the menu on top of the hero section */
    }

    /* Force the navigation items to have comfortable spacing */
    .navbar-nav .nav-item {
        margin-bottom: 12px;
    }

    /* Style the apply button inside the mobile menu drawer */
    .navbar-nav .apply-btn {
        margin: 10px 0 0 0;
        text-align: center;
        display: block;
    }
.about-content{

padding-left:0;

margin-top:50px;

text-align:center;

}

.contact-wrapper,

.faq-wrapper{

grid-template-columns:1fr;

}

.newsletter{

flex-direction:column;

text-align:center;

}

.gallery-grid{

grid-template-columns:repeat(2,1fr);

}

}


/*==================================================
768px
==================================================*/

@media(max-width:768px){

.container{

padding-left:22px;

padding-right:22px;

}

P{
line-height:1.8;
font-size:17px;
}

section{

padding:60px 0;

}
.mb5{
margin-bottom:2em!important;
}
.section-title{
margin-bottom:18px;
}
.section-subtitle{
margin-bottom:40px;
}

.choose-box{
height:auto !importent;
min-height:auto!importent;
padding: 30px 20px !importent;
display: dlock;
overflow: visible;

}

.choose::before{
width:220px;
height:220px;
top:-60px;
right:-60px;
opacity:.0.8;
}

.glass-card.three{

bottom:20px;

left:125px;

}

.about,
.gallery,
.course-section{

height:auto;
min-height:auto;

}

.about::before,
.about::after,
.programs::before,
.programs::after,
.courses::before,
.courses::after,
{
display:none;
}

.section::before{
tranform:scale(.45);
opacity:.15;
}

.course-card{
width:100%;
margin:auto;
}
.course-card img{
height:220px;
object-fit:cover;
}


.timeline-icon{

width:80px;

height:50px;



}

.timeline-item h4{
font-size:18px;
}

.timeline-item p{
font-size:14px;
}
.hero{

min-height:auto;

padding:130px 0 70px;

}

.hero-title{

font-size:38px;

line-height:1.15;

}
.hero-subtitle{
font-size:17px;
}
.hero-desc{

font-size:17px;

}

.hero-buttons{

flex-direction:column;

}

.hero-buttons .btn{

width:100%;

}

.program-grid,

.project-grid,

.tech-grid,

.why-grid,

.testimonial-grid{

grid-template-columns:1fr;
 gap:20px;
}

.gallery-grid{

grid-template-columns:1fr;

}

.company-slider{

grid-template-columns:repeat(2,1fr);

}

.footer-grid{

grid-template-columns:1fr;

}

.newsletter form{

display:flex;
flex-direction:column;
gap:15px;

}

.newsletter input,
.newsletter button{

width:100%;

}

.company-item{

height:85px;
width:18%;
}
.company-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:16px;

}

.company-card{

height:80px;

padding:15px;

}

.company-card img{

max-width:90px;

max-height:36px;

}
.gallery{

grid-template-columns:1fr;

}

.gallery img{

height:220px;

}
.card{

padding:28px;

border-radius:24px;

margin-bottom:20px;

}

.program-section{
    position:relative;
    z-index:1;
    padding:100px 0;
}

.program-card{
    position:relative;
    height:100%;
}

.program-img img{
    width:100%;
    height:240px;
    object-fit:cover;
    display:block;
}
.programs-section::before{

    display:none;

}
/* Force the feature boxes to stack vertically */
    .ai-feature {
        flex-direction: column !important;
        text-align: center !important;
        align-items: center !important;
        padding: 15px 10px !important;
    }

    /* Adjust spacing on the icon so it stays centered on top */
    .ai-feature i, 
    .ai-feature .icon-box {
        margin-right: 0 !important;
        margin-bottom: 12px !important;
        font-size: 1.8rem !important; /* Makes icon a bit cleaner on small screens */
    }
    
    /* Ensure text wrapping doesn't break header styles */
    .ai-feature h5 {
        font-size: 1rem !important;
        word-break: break-word;
    }
    
    .ai-feature p {
        font-size: 0.85rem !important;
    }
	/* 1. Force the parent column layout to be 100% full width */
    .choose-section .col-6 {
        width: 100% !important;
    }

    /* 2. Turn the box into a vertical column layout */
    .choose-box {
        flex-direction: column !important;
        text-align: center !important;
        align-items: center !important;
        padding: 20px 15px !important;
    }

    /* 3. Center the icon on top and add space underneath it */
    .choose-icon {
        margin-right: 0 !important;
        margin-bottom: 15px !important;
        display: inline-flex;
        justify-content: center;
        align-items: center;
    }

    /* 4. Adjust the typography to fit mobile screens elegantly */
    .choose-box h5 {
        font-size: 1.1rem !important;
        margin-bottom: 8px !important;
    }

    .choose-box p {
        font-size: 0.9rem !important;
        margin-bottom: 0 !important;
    }
	/* 1. Keep them at 2 per row, but ensure they don't break design boundaries */
    .ecosystem-section .col-6 {
        width: 50% !important;
        padding: 6px !important; /* Slightly tightens up outer card gaps */
    }

    /* 2. Stack icon on top of text vertically */
    .eco-item {
        flex-direction: column !important;
        text-align: center !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 15px 8px !important; /* Compact interior space */
        display: flex !important;
        min-height: 120px !important; /* Keeps all matching cards uniform in height */
    }

    /* 3. Center the icon on top and add space underneath it */
    .eco-item i {
        margin-right: 0 !important;
        margin-bottom: 10px !important;
        font-size: 1.8rem !important; /* Scale down icon slightly for mobile grids */
    }

    /* 4. Fix typography so text wraps cleanly inside the half-width card */
    .eco-item h5 {
        font-size: 0.95rem !important;
        line-height: 1.3 !important;
        margin-bottom: 0 !important;
        word-break: break-word;
    }
	/* Break the inline input-group layout into a vertical column on mobile */
    .newsletter-form .input-group {
        flex-direction: column !important;
        background: transparent !important; /* Removes default grouping background if any */
    }

    /* Make the email input field take full width and add space below it */
    .newsletter-form .input-group .form-control {
        width: 100% !important;
        border-radius: 30px !important; /* Gives it smooth rounded edges on its own */
        margin-bottom: 12px !important;
        padding: 12px 20px !important;
    }

    /* Make the button full width and round its corners to match */
    .newsletter-form .input-group .btn {
        width: 100% !important;
        border-radius: 30px !important; 
        padding: 12px 0 !important;
    }
}


/*==================================================
576px
==================================================*/

@media(max-width:576px){

.logo img{

width:60px;

}

.logo-title{

font-size:28px;

}

.logo-tag{

font-size:10px;

}

.hero-title{

font-size:34px;

}

.section-title{

font-size:30px;

}

.section-subtitle{

font-size:16px;

}

.card-premium{

padding:25px;

}

}


/*==================================================
480px
==================================================*/

@media(max-width:480px){

.hero-title{

font-size:30px;

}

.hero-desc{

font-size:16px;

}
.ai-section .btn{
margin:1% 20%;
}


.btn{

padding:15px 25px;

font-size:15px;

}

.hero-stat h2{

font-size:30px;

}

.logo-card{

padding:0;

}

.company-item{

height:85px;

}

.company-item img{

max-width:80px;

}

.contact-item{

flex-direction:column;

text-align:center;

}

.contact-item i{

margin:auto;

}

}


/*==================================================
375px
==================================================*/

@media(max-width:375px){

.container{

padding-left:15px;

padding-right:15px;

}

.hero-title{

font-size:28px;

}

.section-title{

font-size:28px;

}

.hero-buttons{

gap:12px;

}

.btn{

padding:14px 18px;

}

}


/*==================================================
320px
==================================================*/

@media(max-width:320px){

.hero-title{

font-size:24px;

}

.logo-title{

font-size:22px;

}

.logo img{

width:48px;

}

.btn{

font-size:14px;

padding:12px 16px;

}

.hero-stat h2{

font-size:26px;

}

}


/*==================================================
LANDSCAPE MOBILE
==================================================*/

@media(max-height:500px) and (orientation:landscape){

.hero{

min-height:auto;

padding:120px 0 60px;

}

}


/*==================================================
PRINT
==================================================*/

@media print{

.navbar,

.footer,

.back-top,

.loader{

display:none!important;

}

body{

background:#fff;

}

section{

padding:30px 0;

}

}