*{
    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: #002547;
    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;
}




/* Design Section */
.designSection{
    background-color: #ccc;
    padding: 20px;
}
.designContainer{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 15px;
}
.sectionHeader{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.sectionBtn{
    display: block;
    text-decoration: none;
    color: #000;
    border: solid 1px #000;
    padding: 10px 15px;
    font-weight: 500;
    text-align: center;
}
.sectionBtn:hover{
    background-color: #002547;
    border: solid 1px #002547;
    color: #fff;
}
.sectionActive{
    background-color: #002547;
    border: solid 1px #002547;
    color: #fff;
}
.projectsTitle{
    text-align: center;
    font-size: 30px;
    padding-top: 20px;
}
.projectsSub{
    font-size: 24px;
    font-weight: 500;
    margin-top: -5px;
}
.projectsGrid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: 100%;
    gap: 10px;
}
.projectsCard{
    background-color: #fff;
    width: 100%;
    border-radius: 20px;
}
.projectsCardContainer{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

/* Sites Section */
.sitesSection{
    background-color: #ccc;
    padding: 20px;
}
.sitesContainer{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 15px;
}
.cardBtn{
    display: block;
    text-decoration: none;
    background-color: #002547;
    color: #fff;
    padding: 10px 15px;
    border-radius: 20px;
    margin-bottom: 20px;
}

/* Redação Section */
.redacaoSection{
    background-color: #ccc;
    padding: 20px;
}
.redacaoContainer{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 15px;
    text-align: center;
}


/*LightBox*/
.lightbox {
    /* Default to hidden */
    display: none;
    /* Overlay entire screen */
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    text-align:center;
    text-decoration:none;
    font-weight:bold;
    color: #fff;
    /* A bit of padding around image */
    padding: 10px;
    /* Translucent background */
    background: rgba(0, 0, 0, 0.8);
}
  /* Unhide the lightbox when it's the target */
  .lightbox:target {
    display: block;
}
.lightbox span {
    /* Full width and height */
    display: block;
    width: 100%;
    height: 100%;
    /* Size and position background image */
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
.closeLightbox{
      position: absolute;
      right: 25px;
      top: 15px;
      color: #fff;
      font-size: 25px;
      text-decoration: none;
}




/* Página de Redação */
.textImgContainer{
    background-color: #212121;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 15px;
}
.textImg{
    width: 300px;
}
.textCard .textInfo{
    padding: 10px;
}
.textContainer{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
}
.textBox{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.textTitle{
    font-size: 22px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 20px;
    margin-top: 20px;
}
.textInfo{
    font-weight: 500;
    margin-bottom: 20px;
    text-align: justify;
    hyphens: auto;
}
.textDescription{
    padding: 0 30px; 
    text-align: center; 
    font-weight: 500;
    hyphens: auto;
}

/* Página de Privacidade */
.privacidadeContainer{
    display: flex;
    flex-direction: column;
    max-width: 800px;
    margin: auto;
    padding: 30px 20px;
    gap: 15px;
}
.privacidadeContainer p{
    text-align: justify;
    hyphens: auto;
    font-weight: 500;
}




/* 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;
    }
    .textDescription{
        padding: 0;
    }




    .footerLinks{
        width: 250px;
    }
    .footerDescription{
        width: 250px;
    }
    
}
@media (max-width:630px) {
    .navLogo{
        width: 110px;
    }
    .projectsGrid{
        grid-template-columns: repeat(1, 1fr);
        width: 85%;
    }





    .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) {
    .sectionBtn{
        width: 180px;
    }
    .projectsGrid{
        width: 95%;
    }
}