/* ================================ */
/* Responsive */
/* ================================ */

/* 01. Table Responsive */
@media screen and (max-width: 1025px) {
    html, body {
        overflow-x: hidden;
        max-width: 100vw;
    }
    h1{
        font-size: 3.5rem;
    }
    h2{
        font-size: 2.5rem;
    }
    h3{
        font-size: 2rem;
    }
    h4{
        font-size: 1.5rem;
    }
    h5{
        font-size: 1.25rem;
    }
    h6{
        font-size: 1.125rem;
    }
    .navbar-cta-container{
        display: none;
    }
    .logo-container.header-logo{
        max-width: 80px;
    }
    .logo-container.header-logo img {
        max-width: 100%;
    }
    .nav-btn{
        display: block;
    }
    .navbar-collapse{
        display: none;
    }
    .navbar {
        padding: 0;
    }
    .navbar > .container-fluid {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        padding: 0;
    }
    .nav-link-wrapper {
        display: flex;
        align-items: center;
    }
    .nav-btn {
        margin: 0;
    }
    .header-fixed {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 100;
        background-color: var(--secondary) !important;
        padding: 10px 15px;
    }
    .header-fixed.scrolled {
        background-color: var(--secondary) !important;
    }
    .navbar-container {
        overflow: hidden;
        max-width: 100%;
    }
    .about-banner{
        background-position: center left;
    }
    .banner-home{
        padding: 10em 1.5em 5em 1.5em;
        min-height: auto;
    }
    .banner-hero-grid{
        grid-template-columns: 1fr;
        gap: 40px 40px;
        text-align: center;
    }
    .banner-hero-main{
        align-items: center;
        text-align: center;
    }
    .hero-cta{
        justify-content: center;
    }
    .hero-highlights{
        justify-content: center;
    }
    .about-detail{
        padding: 0;
    }
    .service-content-wrapper{
        grid-template-columns: repeat(2, 1fr);
        gap: 30px 30px
    }
    .card-service-wrapper{
        width: 100%;
    }
    .whychooseus-wrapper{
        flex-direction: column-reverse;
    }
    .card-chooseus .chooseus-icon{
        width: 15%;
    }
    .chooseus-details{
        width: 100%;
        padding-right: 0px;
    }
    .chooseus-image-layout{
        width: 100%;
    }
    .card-featured.creative-solution{
        min-height: 300px;
    }
    .card-featured.client-rating .rating{
        font-size: 2.75rem;
    }
    .card-testimonial{
        width: 100%;
        max-width: 466px;
    }
    .portfolio-layout {
        padding: 18px;
    }
    .contactus-content {
        padding: 50px 35px;
    }
    .app-section {
        padding-bottom: 6em;
    }
    .app-mockup {
        margin-top: 40px;
    }
    .achievement-icon{
        max-width: 40%;
    }
    .achievement-stat{
        font-size: 2.75rem;
    }
    .team-content-description{
        padding: 0px;
    }
    .our-team-container .team-layout.offset-small{
        margin: 0;
    }
    .blog-post-container{
        padding-right: 0px;
    }
    .post-image{
        width: 25%;
    }   
    .footer-header p{
        max-width: 70%;
    }
}

/* 02. Mobile Responsive */

@media screen and (max-width: 767px) {
    html, body {
        overflow-x: hidden;
        max-width: 100vw;
    }
    h1{
    font-size: 2.5rem;
    }
    h2{
        font-size: 2.5rem;
    }
    h3{
        font-size: 1.75rem;
    }
    .achievement-stat{
        font-size: 2rem;
    }
    .logo-container{
        max-width: 70%;
    }
    .logo-container.header-logo {
        max-width: 60px;
    }
    .logo-container.header-logo img {
        max-width: 100%;
    }
    .navbar {
        padding: 0;
    }
    .navbar > .container-fluid {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        padding: 0;
    }
    .nav-link-wrapper {
        display: flex;
        align-items: center;
    }
    .header-fixed {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 100;
        background-color: var(--secondary) !important;
        padding: 8px 12px;
    }
    .header-fixed.scrolled {
        background-color: var(--secondary) !important;
    }
    .logo-container.footer{
        max-width: 25%;
    }
    .about-banner{
        background-position: center center;
    }
    .banner-home{
        padding: 9em 1em 4em 1em;
    }
    .hero-card{
        padding: 24px;
    }
    .achievement-icon{
        max-width: 50%;
    }
    .card-about{
        width: 65%;
    }
    .about-img{
        width: 100%;
    }
    .card-chooseus{
        flex-direction: column;
    }
    .card-chooseus .chooseus-icon{
        width: 25%;
    }
    .contactus-content{
        width: 100%;
        padding: 40px 25px;
        margin: 0 15px;
    }
    .contactus-content h3 {
        font-size: 1.5rem;
    }
    .contactus-content p {
        font-size: 1rem;
    }
    .app-section {
        padding-bottom: 4em;
    }
    .app-feature-card {
        padding: 1.2em;
    }
    .app-feature-card:hover {
        transform: translateX(5px);
    }
    .app-mockup {
        margin-top: 30px;
        padding: 15px;
    }
    .portfolio-layout {
        padding: 15px;
    }
    .portfolio-header .number {
        font-size: 1.5rem;
        top: 10px;
        right: 15px;
    }
    .card-testimonial {
        width: 100%;
        padding: 25px;
    }
    .about-stats-card {
        position: relative;
        bottom: auto;
        right: auto;
        margin-top: 20px;
        justify-content: center;
    }
    .portfolio-details-layout{
        padding-right: 0px;
    }
    .card-featured.client-rating .rating{
        font-size: 2rem;
    }
    .card-featured.solid-development{
        width: 100%;
    }
    .card-featured.bussines-avaliable{
        min-height: 300px;
    }
    .service-content-wrapper{
        grid-template-columns: 1fr;
        margin: 0px;
    }
    .card-service-wrapper{
        width: 100%;
    }
    .service-details-layout{
        padding-right: 0px;
    }
    .team-layout.offset-large,
    .team-layout.offset-small{
        margin: 0;
    }
    .footer-header p{
        max-width: 100%;
    }
    .copyright-container{
        flex-direction: column;
        justify-content: center;
        text-align: center;
        align-items: center;
        gap: 20px;
    }
    .card-pricing.featured{
        transform: none;
    }
    .card-pricing .pricing-badge{
        font-size: 0.6rem;
        padding: 4px 35px;
        top: 12px;
        right: -38px;
    }
    .card-feature{
        padding: 1.5em;
    }
}

/* 03. Mobile Spacing Responsive */

@media screen and (min-width: 767px){

    /* Flex spacing (gap) */

    .gspace-md-0 { 
        gap: 0px 0px; 
    }
    .gspace-md-1 { 
        gap: 10px 10px; 
    }
    .gspace-md-2 { 
        gap: 20px 20px; 
    }
    .gspace-md-3 { 
        gap: 30px 30px; 
    }
    .gspace-md-4 { 
        gap: 40px 40px; 
    }
    .gspace-md-5 { 
        gap: 50px 50px; 
    }
    .gspace-md-100 { 
        gap: 100px 100px; 
    }

    /* Grid spacing (column-gap) */

    .gspace-x-md-0 { 
        column-gap: 0px; 
    }
    .gspace-x-md-0 { 
        column-gap: 0px; 
    }
    .gspace-x-md-1 { 
        column-gap: 10px; 
    }
    .gspace-x-md-2 { 
        column-gap: 20px; 
    }
    .gspace-x-md-3 { 
        column-gap: 30px; 
    }
    .gspace-x-md-4 { 
        column-gap: 40px; 
    }
    .gspace-x-md-5 { 
        column-gap: 50px; 
    }
    .gspace-x-md-100 { 
        column-gap: 100px; 
    }

    /* Grid spacing (row-gap) */

    .gspace-y-md-0 { 
        row-gap: 0px; 
    }
    .gspace-y-md-1 { 
        row-gap: 10px; 
    }
    .gspace-y-md-2 { 
        row-gap: 20px; 
    }
    .gspace-y-md-3 { 
        row-gap: 30px; 
    }
    .gspace-y-md-4 { 
        row-gap: 40px; 
    }
    .gspace-y-md-5 { 
        row-gap: 50px; 
    }
    .gspace-y-md-100 { 
        row-gap: 100px; 
    }

    /* Grid spacing (row-gap & column-gap) */

    .grid-spacer-md-1 { 
        --bs-gutter-x: 10px; 
        --bs-gutter-y: 10px; 
    }
    .grid-spacer-md-2 { 
        --bs-gutter-x: 20px; 
        --bs-gutter-y: 20px; 
    }
    .grid-spacer-md-3 { 
        --bs-gutter-x: 30px; 
        --bs-gutter-y: 30px; 
    }
    .grid-spacer-md-4 { 
        --bs-gutter-x: 40px; 
        --bs-gutter-y: 40px; 
    }
    .grid-spacer-md-5 { 
        --bs-gutter-x: 50px; 
        --bs-gutter-y: 50px; 
    }
    .grid-spacer-md-100 { 
        --bs-gutter-x: 100px; 
        --bs-gutter-y: 100px; 
    }

    /* Grid spacing (column-gap) */

    .grid-spacer-x-md-0 { 
        --bs-gutter-x: 0px; 
    }
    .grid-spacer-x-md-1 { 
        --bs-gutter-x: 10px; 
    }
    .grid-spacer-x-md-2 { 
        --bs-gutter-x: 20px; 
    }
    .grid-spacer-x-md-3 { 
        --bs-gutter-x: 30px; 
    }
    .grid-spacer-x-md-4 { 
        --bs-gutter-x: 40px; 
    }
    .grid-spacer-x-md-5 { 
        --bs-gutter-x: 50px; 
    }
    .grid-spacer-x-md-100 { 
        --bs-gutter-x: 100px; 
    }

    /* Grid spacing (row-gap) */

    .grid-spacer-y-md-0 { 
        --bs-gutter-y: 0px; 
    }
    .grid-spacer-y-md-1 { 
        --bs-gutter-y: 10px; 
    }
    .grid-spacer-y-md-2 { 
        --bs-gutter-y: 20px; 
    }
    .grid-spacer-y-md-3 { 
        --bs-gutter-y: 30px; 
    }
    .grid-spacer-y-md-4 { 
        --bs-gutter-y: 40px; 
    }
    .grid-spacer-y-md-5 { 
        --bs-gutter-y: 50px; 
    }
    .grid-spacer-y-md-100 { 
        --bs-gutter-y: 100px; 
    }
}

/* 03b. Large Screen Navbar Fix */
@media screen and (min-width: 1200px) and (max-width: 1400px) {
    .nav-link {
        font-size: 0.7rem !important;
        padding: 10px 8px !important;
    }
    .logo-container.header-logo {
        max-width: 12%;
    }
    .logo-container.header-logo img {
        max-width: 80%;
    }
    .navbar-cta-container {
        width: 12%;
    }
    .btn-accent-outline {
        font-size: 0.75rem;
        padding: 10px 15px;
    }
}

/* 03c. Medium-Large Screen Navbar Fix */
@media screen and (min-width: 1025px) and (max-width: 1199px) {
    .nav-link {
        font-size: 0.65rem !important;
        padding: 8px 5px !important;
    }
    .logo-container.header-logo {
        max-width: 10%;
    }
    .logo-container.header-logo img {
        max-width: 70%;
    }
    .navbar-cta-container {
        width: 10%;
    }
    .btn-accent-outline {
        font-size: 0.7rem;
        padding: 8px 12px;
    }
    .navbar-container {
        gap: 10px;
    }
}

/* 04. Tablet Spacing Responsive */

@media screen and (min-width: 1025px){
    /* Flex spacing (gap) */
    .gspace-xl-0 { 
        gap: 0px 0px; 
    }
    .gspace-xl-1 { 
        gap: 10px 10px; 
    }
    .gspace-xl-2 { 
        gap: 20px 20px; 
    }
    .gspace-xl-3 { 
        gap: 30px 30px; 
    }
    .gspace-xl-4 { 
        gap: 40px 40px; 
    }
    .gspace-xl-5 { 
        gap: 50px 50px; 
    }
    .gspace-xl-100{
        gap: 100px 100px;
    }

    /* Grid spacing (column-gap) */

    .gspace-x-xl-0 { 
        column-gap: 0px;
    }
    .gspace-x-xl-1 { 
        column-gap: 10px; 
    }
    .gspace-x-xl-2 {
         column-gap: 20px; 
    }
    .gspace-x-xl-3 { 
        column-gap: 30px; 
    }
    .gspace-x-xl-4 { 
        column-gap: 40px; 
    }
    .gspace-x-xl-5 { 
        column-gap: 50px; 
    }
    .gspace-x-xl-100{
        column-gap: 100px;
    }

    /* Grid spacing (row-gap) */

    .gspace-y-xl-0 { 
        row-gap: 0px; 
    }
    .gspace-y-xl-1 { 
        row-gap: 10px; 
    }
    .gspace-y-xl-2 { 
        row-gap: 20px; 
    }
    .gspace-y-xl-3 { 
        row-gap: 30px; 
    }
    .gspace-y-xl-4 { 
        row-gap: 40px; 
    }
    .gspace-y-xl-5 { 
        row-gap: 50px; 
    }
    .gspace-y-xl-100 {
        row-gap: 100px;
    }

    /* Grid spacing (row-gap & column-gap) */

    .grid-spacer-xl-0 { 
        --bs-gutter-x: 0px; 
        --bs-gutter-y: 0px; 
    }
    .grid-spacer-xl-1 { 
        --bs-gutter-x: 10px; 
        --bs-gutter-y: 10px; 
    }
    .grid-spacer-xl-2 { 
        --bs-gutter-x: 20px; 
        --bs-gutter-y: 20px; 
    }
    .grid-spacer-xl-3 { 
        --bs-gutter-x: 30px; 
        --bs-gutter-y: 30px; 
    }
    .grid-spacer-xl-4 { 
        --bs-gutter-x: 40px; 
        --bs-gutter-y: 40px; 
    }
    .grid-spacer-xl-5 { 
        --bs-gutter-x: 50px; 
        --bs-gutter-y: 50px; 
    }
    .grid-spacer-xl-100 { 
        --bs-gutter-x: 100px; 
        --bs-gutter-y: 100px; 
    }

    /* Grid spacing (column-gap) */

    .grid-spacer-x-xl-0 { 
        --bs-gutter-x: 0px; 
    }
    .grid-spacer-x-xl-1 { 
        --bs-gutter-x: 10px; 
    }
    .grid-spacer-x-xl-1 { 
        --bs-gutter-x: 10px; 
    }
    .grid-spacer-x-xl-2 { 
        --bs-gutter-x: 20px;
    }
    .grid-spacer-x-xl-3 { 
        --bs-gutter-x: 30px; 
    }
    .grid-spacer-x-xl-4 { 
        --bs-gutter-x: 40px; 
    }
    .grid-spacer-x-xl-5 { 
        --bs-gutter-x: 50px; 
    }
    .grid-spacer-x-xl-100 { 
        --bs-gutter-x: 100px; 
    }

    /* Grid spacing (row-gap) */

    .grid-spacer-y-xl-0 { 
        --bs-gutter-y: 0px; 
    }
    .grid-spacer-y-xl-1 { 
        --bs-gutter-y: 10px; 
    }
    .grid-spacer-y-xl-1 { 
        --bs-gutter-y: 10px; 
    }
    .grid-spacer-y-xl-2 { 
        --bs-gutter-y: 20px; 
    }
    .grid-spacer-y-xl-3 { 
        --bs-gutter-y: 30px; 
    }
    .grid-spacer-y-xl-4 { 
        --bs-gutter-y: 40px; 
    }
    .grid-spacer-y-xl-5 { 
        --bs-gutter-y: 50px; 
    }
    .grid-spacer-y-xl-100 { 
        --bs-gutter-y: 100px; 
    }
}
