*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Montserrat', sans-serif;
    scroll-behavior: smooth;
}
.container{
    width: 980px;
    margin: auto;
}


/* Header */
header{
    background-color: #000;
    color: #fff;
}
nav{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
}
#openMenu{
    color: #fff;
    font-size: 35px;
    cursor: pointer;
}
.navLogo{
    width: 125px;
}
.emptyNav{
    width: 30px;
}


/* Menu Display */
.menuDisplay{
    position: fixed;
    width: 0;
    height: 100%;
    overflow-x: hidden;
    background-color: #000000e3;
    z-index: 4;
    top: 0;
    left: 0;
    transition: 0.4s;
}
.menuDisplayOpen{
    position: fixed;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    background-color: #000000ee;
    z-index: 4;
    top: 0;
    left: 0;
    transition: 0.4s;
}
.menuContainer{
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.menuContainer i{
    color: #fff;
    font-size: 35px;
    position: absolute;
    top: 30px;
    right: 30px;
    cursor: pointer;
}
.menuLinks{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;    
}
.menuLink{
    display: block;
    text-decoration: none;
    color: #fff;
    font-size: 30px;
    font-weight: 500;
}
.menuLink:hover{
    color: #828282;
}





/* Hero Section */
.heroSection{
    background-color: #000;
    color: #fff;
}
.heroContainer{
    padding: 10px;
}
.heroGrid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-content: center;
    align-items: center;
    padding-bottom: 100px;
}
.heroText{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.heroTitle{
    font-size: 36px;
    font-weight: 800;
    text-align: center;
    margin-bottom: 20px;
}
.heroDescription{
    font-size: 20px;
    font-weight: 400;
    text-align: center;
    margin-bottom: 25px;
    text-transform: lowercase;
}
.heroBtnBox{
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.heroBtn{
    display: block;
    text-decoration: none;
    color: #000;
    background-color: #fff;
    width: fit-content;
    padding: 10px 15px;
    border: solid 2px #fff;
    border-radius: 30px;
    font-size: 15px;
    font-weight: 500;
    transition: 0.4s;
}
.heroBtn:hover{
    color: #fff;
    background-color: #000;
}
.heroImg{
    width: 100%;
}


/* Fox Banner */
.foxBanner{
    background-image: url('../img/fox-bg-blue.png');
    height: 200px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.foxBannerContainer{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 200px;
}
.foxBannerTitle{
    color: #fff;
    font-size: 36px;
    font-weight: 800;
    text-align: center;
    letter-spacing: -4px;
}
.foxBannerDescription{
    font-size: 18px;
    letter-spacing: 0;
    margin-top: 0px;
    display: block;
    font-weight: 700;
}


/* Services Section */
.servicesSection{
    background-color: #dedede;
    background-image: linear-gradient(180deg, #dedede 0%, #b3b3b3 100%);
}
.servicesContainer{
    padding: 10px;
}
.servicesGrid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 25px 5px;
    justify-content: center;
    align-items: center;
    place-items: center;
    background-color: transparent;
}
.servicesGridCard{
    width: 95%;
    height: 100%;
    background-color: #002d57;
    margin-top: -40px;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 40px;
    box-shadow: 7px 7px 1px #56626a;
    text-align: center;
}
.servicesGridCard:nth-child(3){
    background-color: #d67f06;
}
.servicesGridCard:nth-child(5){
    background-color: #009065;
}
.servicesGridCard i{
    font-size: 40px;
}
.servicesGridTitle{
    font-size: 25px;
    padding: 20px;
}
/* .servicesGridBtn{
    display: block;
    text-decoration: none;
    color: #fff;
    border: solid 2px transparent;
    border-bottom: solid 1px #fff;
    padding: 3px 3px;
    font-size: 16px;
    font-weight: 500;
}
.servicesGridBtn:hover{
    font-weight: 700;
} */
.servicesGridBtn{
    display: block;
    text-decoration: none;
    color: #fff;
    border: solid 1px #fff;
    padding: 10px 15px;
    font-size: 16px;
    font-weight: 500;
    transition: 0.3s;
}
.servicesGridBtn:hover{
    background-color: #fff;
    color: #000;
}
.servicesGridImg{
    width: 100%;
    height: 100%;
}


/* Details Section */
.detailsBlueSection{
    background-color: #002d57;
    color: #fff;
}
.detailsOrangeSection{
    background-color: #d67f06;
    color: #fff;
}
.detailsGreenSection{
    background-color: #009065;
    color: #fff;
}
.detailsGrid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-content: center;
    align-items: center;
}
.detailsText{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: start;
    padding: 30px 20px;
    gap: 15px;
}
.detailsTitle{
    font-size: 30px;
}
.detailsDescription{
    font-size: 18px;
    font-weight: 500;
    max-width: 395px;
    margin-bottom: 5px;    
}
.detailsBtn{
    display: block;
    text-decoration: none;
    color: #fff;
    border: solid 1px #fff;
    padding: 10px 15px;
    font-size: 16px;
    font-weight: 500;   
    transition: 0.3s;
}
.detailsBtn:hover{
    color: #000;
    background-color: #fff;
}
.detailsImg{
    width: 100%;
}



/* Projects Section */
.projectsSection{
    background-color: #002d57;
    color: #fff;
}
.projectsContainer{
    padding: 30px 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.projectsContainerTitle{
    font-size: 30px;
    text-align: center;
}
.projectsGrid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap:10px;
    width:100%;
    margin:auto;
    padding: 20px;
}
.projectsItem{
    background-color:#fff;
    color: #000;
    width:300px;
    height:300px;
    border-radius: 30px;
}
.project1{
    grid-column: 2/4;
}
.projectImg{
    width: 100%;
    height: 100%;
    border-radius: inherit;
}
.projectsClients{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}
.projectsLogos{
    width: 90%;
}
.moreProjects{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
}
.moreProjectsTitle{
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 15px;
}
.moreProjectsBtns{
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
.projectsBtn{
    margin-top: 10px;
}



/* About Section */
.aboutContainer{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
}
.aboutLogo{
    width: 250px;
    margin: 20px 0;
}
.aboutTitle{
    font-size: 30px;
    margin-bottom: 20px;
    text-align: center;
}
.aboutGrid{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    justify-content: center;
    align-items: center;
    gap: 10px;
}
.aboutText{
    font-size: 22px;
    font-weight: 500;
    padding-bottom: 20px;
    border-bottom: solid 5px #000;
}
.aboutImg{
    margin: auto;
}


/* Contact Section */
.contactSection{
    background-color: #b1b1b1;
    background-image: linear-gradient(146deg, #b1b1b1 0%, #dad6d6 25%, #828282 100%);
}
.contactContainer{
    padding: 20px;
}
.contactGrid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-content: center;
    align-items: center;
}
.contactInfos{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: auto;
}
.contactInfos>i {
    font-size: 40px;
}
.contactTitle{
    font-size: 30px;
    margin-bottom: 20px;
}
.contactContent{
    width: 100%;
    font-size: 20px;
    margin-bottom: 5px;
    font-weight: 500;
}
.iconsContainer{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
    gap: 15px;
}
.iconsContainer a{
    text-decoration: none;
    color: #000;
}
.iconsContainer i{
    font-size: 30px;
    border: solid 2px #000;
    padding: 10px;
    border-radius: 10px;
    cursor: pointer;
    transition: 0.3s;
}
.iconsContainer i:hover{
    background-color: #000;
    color: #fff;
}
.contactBtn{
    display: block;
    text-decoration: none;
    color: #fff;
    background-color: #000;
    font-weight: 500;
    border: solid 2px #000;
    padding: 10px 15px;
    border-radius: 10px;
    margin: 10px 0;
    transition: 0.3s;
}
.contactBtn:hover{
    background-color: transparent;
    color: #000;
    font-weight: 700;
}
.contactImg{
    width: 85%;
    margin: auto;
}


/* Footer */
footer{
    background-color: #002d57;
    color: #fff;
}
.footerContainer{
    padding: 20px;
}
.footerGrid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-content: center;
    align-items: center;
}
.footerInfos{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 10px;
}
.footerLogo{
    width: 215px;
}
.footerDescription{
    width: 300px;
}
.footerLinks{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px;
    width: 320px;
    margin: auto;
}
.footerLink{
    display: inline-block;
    text-decoration: none;
    color: #fff;
    border: solid 1px #fff;
    padding: 10px 15px;
    transition: 0.3s;
}
.footerLink:hover{
    background-color: #fff;
    color: #002d57;
    font-weight: 500;
}
.footerCopyright{
    text-align: center;
    padding: 15px 5px;
    background-color: #002547;
}


/* Cookies Box */
.cookiesBox{
    width: fit-content;
    background-color: #eeeeeec5;
    /* color: #fff; */
    position: fixed;
    bottom: 10px;
    left: 0;
    right: 0;
    margin: auto;
    border-radius: 10px;
    z-index: 2;
    display: none;
}
.cookiesBox.showCookies{
    display: block;
}
.cookiesInfo{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
    gap: 10px;
}
.cookiesText{
    font-size: 12px;
    font-weight: 500;
}
.cookiesBtn{
    cursor: pointer;
    padding: 5px 10px;
    background-color: #102347;
    border: none;
    color: #fff;
    border-radius: 5px;
    font-size: 12px;
}


@media (max-width:980px) {
    .container{
        width: 100%;
    }
    nav{
        padding: 10px 20px;
    }
    .heroGrid{
        grid-template-columns: 1fr;
        padding-bottom: 20px;
        padding-top: 30px;
    }
    .heroText{
        z-index: 2;
        margin-bottom: -90px;
    }
    .servicesGrid{
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(3, 1fr);
    }
    .detailsImg{
        padding: 15px;
    }
    .projectsGrid{
        grid-template-columns: 1fr 1fr;
        width: fit-content;
    }
    .project1{
        grid-column: unset;
    }
    /* .footerInfos{
        flex-direction: column;
        align-items: start;
        margin: auto;
    } */
    .footerLinks{
        width: 250px;
    }
    .footerDescription{
        width: 250px;
    }
    
}
@media (max-width:630px) {
    .navLogo{
        width: 110px;
    }
    .heroText{
        z-index: 2;
        margin-bottom: -10px;
    }
    .heroTitle{
        font-size: 25px;
    }
    .heroDescription{
        font-size: 15px;
    }
    .servicesGrid{
        grid-template-columns: 1fr;
        grid-template-rows: repeat(6, 1fr);
    }
    .detailsGrid{
        grid-template-columns: 1fr;
        
    }
    .detailsImg{
        padding: 0px;
    }
    .projectsGrid {
        grid-template-columns: 1fr;
        padding: 20px 5px;
        place-items: center;
    }
    .projectsClients{
        grid-template-columns: 1fr 1fr;
        gap: 10px 0;
    }
    .moreProjectsBtns{
        /* flex-direction: column; */
        text-align: center;
    }
    .aboutGrid{
        grid-template-columns: 1fr;
    }
    .aboutText{
        text-align: center;
        font-size: 18px;
    }
    .about1{
        order: 2;
    }
    .about2{
        order: 1;
    }
    .about3{
        order: 3;
    }
    .about4{
        order: 4;
    }
    .about5{
        order: 6;
    }
    .about6{
        order: 5;
        margin-top: 10px;
    }
    .contactGrid{
        grid-template-columns: 1fr;
    }
    .contactContent{
        text-align: center;
        font-size: 18px;
        font-weight: 500;
    }
    .contactImg{
        width: 100%;
    }
    .footerGrid{
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .footerInfos{
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .footerDescription{
        text-align: center;
    }
    .footerLinks{
        width: 300px;
    }
    .cookiesBox{
        margin: 0 10px;
    }
   
}
@media (max-width:320px) {
    .heroTitle{
        font-size: 24px;
    }
    .detailsTitle{
        font-size: 25px;
    }
    .projectsContainerTitle{
        font-size: 25px;
    }
    .projectsItem{
        width: 290px;
        height: 290px;
    }
    .projectsBtn{
        width: 200px;
    }
}