@font-face {
    font-family: nohemi;
    src: url(fonts/Nohemi-Medium.ttf);
    font-weight: medium;
}
@font-face {
    font-family: nohemi-light;
    src: url(fonts/Nohemi-Light.ttf);
    font-weight: light;
}
@font-face {
    font-family: nohemi-thin;
    src: url(fonts/Nohemi-Thin.ttf);
    font-weight: thin;
}
@font-face {
    font-family: nohemi-regular;
    src: url(fonts/Nohemi-Regular.ttf);
    font-weight: normal;
}

html {
    scroll-behavior: smooth;
  }
  


body{  
    background-color: white;
    margin: 0;
    padding: 0;
}
nav{
    margin-left: 40px;
    margin-right: 40px;
}
a{
    text-decoration: none;
    color: black;
}
.button{
    width: 155px;
    height: 50px;
    background-color: #F0E3A6;
    border-radius: 36px;
    border: 0 solid #F0E3A6;
    transition: 0.3s ease-in;
    position: relative;
}
.button:hover{
    background-color: #e8dba0;
}
.arrow{
    padding-left: 8px;
    transition: 0.5s;
}
.button:hover .arrow{
    transform: rotate(25deg);
}
.button a{
    font-family: nohemi-light;
    font-size: 15px;
    text-transform: uppercase;
    position: relative;
    line-height: 0;
}


/* Homepage */



/* menu */
#navigation{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 95%;
    margin-top: 30px;
}
.page_title{
    width: 20%;
}
.dot{
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background-color: #F0E3A6;
    opacity: 0;
    transition: 0.2s ease-in;
    margin-left: 5px;
}
.link_page{
    display: flex;
    align-items: center;
    justify-content: end;
}
.link_page:hover  .dot{
    opacity: 100%;
}
.page_title a{
    font-family: nohemi;
    text-transform: uppercase;
    font-size: 40px;
    line-height: 79%;
    
}

.menu{
    display: none;
    position: fixed;
    top: 30px;
    right: 40px;
    z-index: 99;
}
.menu p{
    text-align: end;
    line-height: 0;
    
}



/* burger Menu */


.burger-menu {
    position: fixed;
    right: 40px;
    display: flex;
    align-items: center;
    gap: 5px;
    border: none;
    cursor: pointer;
    padding: 12px 15px;
    border-radius: 10px;
    background: transparent;
    z-index: 10;
    transition: 0.3s ease-in-out;
}

/* background separado */
.menu-bg {
    position: absolute;
    inset: 0;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(6px);
    z-index: -1; /* atrás do conteúdo */
    transition: 0.3s ease-in-out;
}

.burger-menu:hover .menu-bg {
    background: #F0E3A6;
}

/* texto sempre visível */
.menu-text {
    font-family: nohemi-light;
    font-size: 17px;
    color: black; /* mantém-se */
}

.burger-line {
    
    display: block;
    width: 25px;
    height: 1.5px;
    background-color: black;
    transition: all 0.3s ease-in-out;
}
.burger-line:nth-child(1){
    margin-bottom: 5px;
}

.menu-text {
    font-family: nohemi-light;
    font-size: 17px;
    color: black;
    margin-top: 5px;
    line-height: 0;
}



.mobile-menu {
    position: fixed; /* Or absolute, depending on your layout */
    top: 0;
    right: 0;
    width: 100%; /* Adjust width as needed */
    height: 100%;
    background-color: white; /* Light pink background */
    transform: translateX(100%); /* Initially hidden off-screen */
    transition: transform 0.3s ease-in-out;
    z-index: 1000; /* Ensure it's on top of other content */
    display: flex;
    flex-direction: column;
  }
  
  .mobile-menu.open {
    transform: translateX(0); /* Slide in when open class is present */
  }
  
  .mobile-menu-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
    padding: 20px;
  }
  
  .language-button,
  .close-button {
    font-family: nohemi-light;
    background: #F0E3A6; /* Light yellow/beige */
    border: none;
    border-radius: 10px;
    padding: 10px 15px;
    cursor: pointer;
    font-size: 1em;
  }
  
  .close-button {
    /* Adjust styling for the close button with the dash */
  }
  
  .mobile-menu-nav {
    padding: 20px;
    flex-grow: 1; /* Take up remaining vertical space */
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  
  .mobile-menu-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  
  .mobile-menu-nav li {
    margin-bottom: 15px;
  }
  
  .mobile-menu-nav a {
    font-family: nohemi-light;
    text-decoration: none;
    color: #333;
    font-size: 25px;
    display: block; /* Make the whole area clickable */
    padding: 5px 0;
  }
  .mobile-menu-nav a:hover {
    text-decoration: underline;
  }
  
  .mobile-menu-footer {
    padding: 20px;
    font-size: 0.9em;
    color: #555;
  }

  .mobile-menu-footer p{
    font-family: nohemi-thin;
    font-size: 16px;
    color: black;
  }

/* BANNER COM O MESMO EFEITO DO MENU */
.cookie-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 20px;
    z-index: 9999;
    display: none;
    animation: slideUp 0.4s ease-out;
}

/* O FUNDO É IGUAL AO FUNDO DO TEU MENU MOBILE */
.cookie-bg {
    position: absolute;
    inset: 0;
    border-radius: 25px 25px 0 0;
    background: rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    z-index: -1;
    transition: 0.3s ease-in-out;
}

@keyframes slideUp {
    from { transform: translateY(100%); opacity: 0; }
    to   { transform: translateY(0); opacity: 1; }
}

.cookie-content {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    font-family: nohemi-light;
}

.cookie-content p {
    margin: 0;
    font-size: 15px;
    color: black;
    width: 70%;
}

/* Botões iguais ao teu estilo */
.cookie-btn {
    font-family: nohemi-light;
    font-size: 15px;
    padding: 12px 25px;
    border-radius: 36px;
    border: none;
    cursor: pointer;
    transition: 0.3s;
}

.cookie-btn.accept {
    background-color: #F0E3A6;
}

.cookie-btn.accept:hover {
    background-color: #e8dba0;
}

.cookie-btn.decline {
    background-color: rgba(0,0,0,0.15);
}

.cookie-btn.decline:hover {
    background-color: rgba(0,0,0,0.25);
}

/* Mobile */
@media (max-width: 600px) {
    .cookie-content {
        flex-direction: column;
        align-items: flex-start;
    }
    .cookie-buttons {
        width: 100%;
        display: flex;
        gap: 10px;
    }
    .cookie-btn {
        flex: 1;
        text-align: center;
    }
}








/* homepage Real */
.page_name{
    font-family: nohemi-light;
    text-transform: uppercase;
    font-size: 17px;
    
}

#intro_main{
    margin-left: 40px;
    margin-right: 40px;
}
.first_section{
    display: flex;
    justify-content: space-between;
    align-items: end;
    width: 100%;
}
.first_section div > h1{
    width: 90%;
    font-family: nohemi-regular;
    font-size: 80px;
    line-height: 90px;
    margin-bottom: 0;
}
.first_section div > p{
    width: 40%;
    font-family: nohemi-light;
    font-size: 17px;
    line-height: 20px;
}
.main_image img{
    margin-top: 30px;
    width: 100%;
    height: 70vh;
    border-radius: 50px;
    object-fit: cover;
}


#our_areas_container{
    margin-left: 40px;
    margin-right: 40px;
    margin-top: 150px;
}

.areas_title{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.areas_title h2,
.areas_title p{
    font-family: nohemi-regular;
    font-size: 40px;
}

.areas_container{
    display: flex;
    width: 100%;
}
.area{
    width: 20%;
    height: 230px;
    background-color: #F9F3E6;
    margin: 5px;
    border-radius: 36px;
    padding: 20px;
    transition: 0.3s ease-in-out;
    display: flex;
    flex-direction: column;
    justify-content:flex-start;
    align-items: left;
}
.area:hover{
    width: 30%;
    border-radius: 20px;
    
}
.second_part{
    margin-top: 20px;
    height: 50%;
}
.number_area{
    font-family: nohemi-light;
    font-size: 14px;
}
.title_area{
    font-family: nohemi-regular;
    font-size: 20px;  
}

.area_description{
    font-family: nohemi-light;
    font-size: 15px;
    opacity: 0;
    transition: 0.2s ease-in-out;
    padding-top: 0px;
    height: 33%;
}
.area:hover .area_description{
    opacity: 100%;
    
}

#our_areas_container_mobile{
    display: none;
}
#our_total_areas_container{
    display: none;
}


#team_main_page{
    margin-left: 40px;
    margin-right: 40px;
    margin-top: 150px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}
.team_introduction{
    width: 40%;
}
.team_picture_introduction{
    width: 100%;
}
.team_introduction p{
    width: 70%;
    font-family: nohemi-light;
    font-size: 17px;
    padding-bottom: 30px;
}
.team_picture_introduction img{
    width: 100% ;
    border-radius: 49px;
    height: 70vh;
    object-fit: cover;
}


#contact_main_page{
    margin-top: 150px;
    width: 100%;
}
.contact_paragraph{
    width: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
}
.contact_paragraph p{
    font-family: nohemi;
    font-size: 40px;
    text-align: center;
}

/* footer */

.footer_container{
    margin-top: 150px;
    display: flex;
    flex-direction: column;
    background-color: #F9F3E6;
    border-radius: 36px 36px 0px 0px;
    width: 100vw;
}
.first_footer_container{
    display: flex;
    justify-content: space-between;
}
.contact_footer_info{
    padding: 40px;
    width: 33%;
}
.contact_footer_info p{
    color: black;
    font-family: nohemi-light;
    font-size: 15px;
    transition: 0.5s;
    padding-bottom: 10px;
}
.contact_footer_info p:hover{
    text-decoration: underline;
}
.menu_footer_container{
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: end;
    padding: 40px;
    width: 33%;
}
.menu_footer p{
    font-family: nohemi-light;
    font-family: 15px;
    text-transform: uppercase;
    text-align: end;
}
.menu_footer p:hover{
    text-decoration: underline;
}
.policy_footer p{
    font-family: nohemi-light;
    font-family: 15px;
    text-decoration: underline;
    text-align: right;
}
.go_up{
    display: flex;
    justify-content: end;
    font-family: nohemi-light;
    font-size: 15px;
    padding: 40px;
    width: 33%;
    text-transform: uppercase;
}
.top:hover
{
    text-decoration: underline;
}
.footer_title{
    font-family: nohemi;
    font-size: 12vw;
    text-align: center;
    line-height: 0;
    margin-bottom: 60px;
}
.data_info
{
    display: flex;
}
.author_credits{
    width: 50%;
    font-family: nohemi-light;
    font-size: 15px;
    text-align: right;
    margin-top: 5px;
}
.author_credits:nth-child(1){
    text-align: left;
    margin-left: 40px;
}
.author_credits:nth-child(2){
    text-align: right;
    margin-right: 40px;
}




/* areas de atuação */


.first_section_pages{
    margin-top: 100px;
    display: flex;
    align-items: end;
    width: 100%;
}
.first_section_pages div > h1{
    width: 81%;
    font-family: nohemi-regular;
    font-size: 50px;
    margin-bottom: 0;
}
.first_section_pages div > p{
    width: 40%;
    font-family: nohemi-light;
    font-size: 17px;
    line-height: 20px;
}

#all_areas{
    margin-top: 100px;
    max-width: 100%;
    margin-left: 40px;
    margin-right: 40px;
}
.all_areas_container{
    display: flex;
    justify-content: center;
    margin-bottom: 10px;
}

.full_area{
    width: 25%;
    height: 260px;
    background-color: #F9F3E6;
    margin: 5px;
    border-radius: 36px;
    padding: 20px;
    transition: width 0.5s;
    display: flex;
    flex-direction: column;
    justify-content:flex-start;
    align-items: left;
}
.full_area:hover{
    width: 45%;
    
    
}
.hide_arrow{
    display: none;
}

.full_area:hover .area_description{
    opacity: 100%;
    
}

#intro_team{
    margin-top: 150px;
    display: flex;
    width: 100%;
    margin-left: 40px;
    margin-right: 40px;
    gap: 50px;
}
.team_picture_intro{
    width: 50%;
}
.team_picture_intro img{
    border-radius: 36px;
    width: 100%;
}


.intro_team_container{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: end;
    width: 40%;
}

.sub_title{
    font-family: nohemi;
    font-size: 50px;
}
.team_sub_title{
    text-align: right;
}
.paragraph{
    font-family: nohemi-light;
    font-size: 17px;
    line-height: 20px;
}

.team_paragraph{
    word-wrap: break-word;
    text-align: right;
}



#team_container{
    margin-top: 100px;
    margin-left: 40px;
    margin-right: 40px;
    max-width: 100%;
    margin-bottom: 150px;
}

.all_member_container{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
}
.member{
    position: relative;
    width: 31%;
    height: 50vh;
}
.member:nth-child(4){
    margin-top: 80px;
}
.member:nth-child(5){
    margin-top: 80px;
}
.member:nth-child(6){
    margin-top: 80px;
}
.member:nth-child(7){
    margin-top: 80px;
}
.member:nth-child(8){
    margin-top: 80px;
}


.member_picture{
    width: 100%;
    border-radius: 36px;
    height: 45vh;
    object-fit: cover;
}
.member_name{
    font-family: nohemi;
    font-size: 17px;
    text-transform: capitalize;
}
.member_position{
    font-family: nohemi-light;
    font-size: 15px;
    text-transform: capitalize;
}

.plus_button{
    position: absolute;
    bottom: 15%;
    right: 5%;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background-color: #F0E3A6;
    border: none;
    font-family: nohemi;
    font-size: 30px;
    line-height: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: 0.3s ease-in-out;
}
.plus_button:hover{
    background-color: #e8dba0;
}
.member:hover .plus_button{
    opacity: 1;
}



#overlay_member_1,
#overlay_member_2,
#overlay_member_3,
#overlay_member_4,
#overlay_member_5,
#overlay_member_6,
#overlay_member_7, /* Note: You are missing overlay_member_7 and overlay_member_8 in the HTML provided */
#overlay_member_8{
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: #F9F3E6;
    top: -100%;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99;
    flex-direction: column;
    transition: top 0.5s ease-in, opacity 0.3s ease;
    opacity: 0;
    overflow-y: scroll;
}
#overlay_member_1.show,
#overlay_member_2.show,
#overlay_member_3.show,
#overlay_member_4.show,
#overlay_member_5.show,
#overlay_member_6.show,
#overlay_member_7.show,
#overlay_member_8.show{
    top: 0;
    opacity: 1;
}

.container_member_titles{
    margin-left: 40px;
    margin-right: 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: sticky;
    top: 0;
}
.title_member{
    font-family: nohemi;
    font-size: 40px;
    text-transform: capitalize;
    margin-bottom: 10px;
}
.title_position{
    font-family: nohemi-light;
    font-size: 17px;
    text-transform: capitalize;
}


.button_close{
    width: 54px;
    height: 54px;
    border-radius:50%;
    border: 0;
    background-color: #F0E3A6;
    font-size: 20px;
    transition: 0,5s ease-in-out;
}
.button_close:hover{
    background-color: #e8dba0;
}





.container_member_info{
    margin-left: 40px;
    margin-right: 40px;
    display: flex;
    gap: 50px;
}
.member_picture_overlay_container{
    width: 50%;
    position: sticky;
    top: 130px;
    align-self: flex-start;
    height: fit-content;
}
.member_picture_overlay{
    width: 100%;
    height: 80vh;
    object-fit: cover;
    border-radius: 36px;
}
.info_container_overlay{
    width: 50%;
}
.titles_info{
    font-family: nohemi;
    font-size: 25px;
    text-transform: capitalize;
}
.description_member{
    font-family: nohemi-light;
    font-size: 17px;
    line-height: 22px;
}



/* grupo */


.full_picture{
    object-fit: cover;
    margin-top: 50px;
    width: 100%;
    height: 70vh;
    border-radius: 36px;
}

#history{
    margin-left: 40px;
    margin-right: 40px;
}
.paragraph_history{
    margin-top: 50px;
    width: 70%;
}

#rules_of_conduct{
    margin-top: 100px;
    margin-left: 40px;
    margin-right: 40px;
}

.title_rules{
    font-size: 25px;
    width: 50%;
}

.rule{
    background-color: #F9F3E6;
    border-radius: 36px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px;
    height: auto;
    max-height: 50px; /* Set an initial height */
    transition: max-height 0.5s ease-in;
    overflow: hidden;
    margin-bottom: 20px;
}
.rule.show{
    max-height: 300px;
}

.rule.show .description_rule{
    opacity: 1;
}
.main_info{
    display: flex;
    align-items: center;
    width: 100%;
}
.number_rule{
    font-family: nohemi-light;
    font-size: 15px;
}
.title_rule{
   margin-left: auto;
   margin-right: auto;
   font-family: nohemi;
   font-size: 17px;
}
.arrow_rule{
    transition: 0.5s ease-in-out;
}
.arrow_rule:hover{
    transform: rotate(45deg);
}
.rule.show .arrow_rule{
    transform: rotate(45deg);
}
.description_rule{
    opacity: 0; /* Initially hide the element */
    transition: 0.5s ease-in;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    width: 80%;
    font-family: nohemi-light;
    font-size: 17px;
    margin-bottom: 20px;
}






/* contactos */


.contact_headline{
    text-transform: lowercase !important;
    line-height: 0;
    padding-bottom: 20px;
}
#form_section{
    margin-top: 100px;
    margin-left: 40px;
    margin-right: 40px;
}
.title_form{
    font-family: nohemi;
    font-size: 30px;
}
.form_container{
    display: flex;
    flex-direction: column;
    width: 100%;
}
.form_group{
    width: 100%;
}
.form_group div{
    display: flex;
    gap: 10px;
}
.form_label{
    width: 50%;
    background-color: #F9F3E6;
    height: 70px;
    border-radius: 36px;
    border: 0;
    margin-bottom: 20px;
    padding-left: 30px;
    font-family: nohemi-light;
    font-size: 15px;
}
.form_label:focus{
    outline: 1.5px solid #F0E3A6;
}
.form_group:nth-child(3){
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.form_label::placeholder{
    font-family: nohemi-light;
    font-size: 15px;
    color: black;
}
#subject{
    width: 100%;
}
#message{
    width: 100%;
    resize: none;
    height: 160px;
    padding-top: 30px;
}


.location_container{
    display: flex;
    flex-direction: column;
    align-items: end;
}
#successMessage{
    display: none;
}
#successMessage p{
    font-family: nohemi;
    font-size: 17px;
}



@media only screen and (max-width: 1024px) {
    body{  
        background-color: white;
        margin: 0;
        padding: 0;
    }
    nav{
        margin-left: 40px;
        margin-right: 40px;
    }
    a{
        text-decoration: none;
        color: black;
    }
    .button{
        width: 155px;
        height: 50px;
        background-color: #F0E3A6;
        border-radius: 36px;
        border: 0 solid #F0E3A6;
        transition: 0.3s ease-in;
        position: relative;
    }
    .button:hover{
        background-color: white;
        border-top: 2px solid #F0E3A6;
        border-bottom: 5.5px solid #F0E3A6;
        border-left: 2px solid #F0E3A6;
        border-right: 2px solid #F0E3A6;
    }
    .arrow{
        padding-left: 8px;
        transition: 0.5s;
    }
    .button:hover .arrow{
        transform: rotate(25deg);
    }
    .button a{
        font-family: nohemi-light;
        font-size: 15px;
        text-transform: uppercase;
        position: relative;
        line-height: 0;
    }
    
    
    /* Homepage */
    
    
    
    /* menu */
    #navigation{
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        width: 95%;
        margin-top: 30px;
    }
    .page_title{
        width: 20%;
    }
    .dot{
        width: 14px;
        height: 14px;
        border-radius: 50%;
        background-color: #F0E3A6;
        opacity: 0;
        transition: 0.2s ease-in;
        margin-left: 5px;
    }
    .link_page{
        display: flex;
        align-items: center;
        justify-content: end;
    }
    .link_page:hover  .dot{
        opacity: 100%;
    }
    .page_title a{
        font-family: nohemi;
        text-transform: uppercase;
        font-size: 40px;
        line-height: 79%;
        
    }
    
    .menu{
        display: none;
        position: fixed;
        top: 30px;
        right: 40px;
        z-index: 99;
    }
    .menu p{
        text-align: end;
        line-height: 0;
        
    }
    
    
    
    /* burger Menu */
    
    
    .burger-menu {
        position: fixed;
        right: 40px;
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        gap: 5px;
        background: transparent;
        transition: 0.3s ease-in-out;
        border: none;
        border-radius: 10px;
        cursor: pointer;
        padding: 10px;
        z-index: 1;
    }
    
    .burger-line {
        
        display: block;
        width: 25px;
        height: 1.5px;
        background-color: black;
        transition: all 0.3s ease-in-out;
    }
    .burger-line:nth-child(1){
        margin-bottom: 5px;
    }
    
    .menu-text {
        font-family: nohemi-light;
        font-size: 17px;
        color: black;
        margin-top: 5px;
        line-height: 0;
    }
    
    
    
    .mobile-menu {
        position: fixed;
        top: 0;
        right: 0;
        width: 100%; 
        height: 100%; 
        transform: translateX(100%);
        transition: transform 0.3s ease-in-out;
        z-index: 1000;
        display: flex;
        flex-direction: column;
      }
      
      .mobile-menu.open {
        transform: translateX(0);
      }
      
      .mobile-menu-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: 10px;
        padding: 20px;
      }
      
      .language-button,
      .close-button {
        font-family: nohemi-light;
        background: #F0E3A6; /* Light yellow/beige */
        border: none;
        border-radius: 10px;
        padding: 10px 15px;
        cursor: pointer;
        font-size: 1em;
      }
      
      .close-button {
        /* Adjust styling for the close button with the dash */
      }
      
      .mobile-menu-nav {
        padding: 20px;
        flex-grow: 1; /* Take up remaining vertical space */
        display: flex;
        flex-direction: column;
        justify-content: center;
      }
      
      .mobile-menu-nav ul {
        list-style: none;
        padding: 0;
        margin: 0;
      }
      
      .mobile-menu-nav li {
        margin-bottom: 15px;
      }
      
      .mobile-menu-nav a {
        font-family: nohemi-light;
        text-decoration: none;
        color: #333;
        font-size: 25px;
        display: block; /* Make the whole area clickable */
        padding: 5px 0;
      }
      
      .mobile-menu-footer {
        padding: 20px;
        font-size: 0.9em;
        color: #555;
      }
    
      .mobile-menu-footer p{
        font-family: nohemi-thin;
        font-size: 16px;
        color: black;
      }
    
    
    
    
    
    
    
    
    /* homepage Real */
    .page_name{
        font-family: nohemi-light;
        text-transform: uppercase;
        font-size: 17px;
        
    }
    
    #intro_main{
        margin-left: 40px;
        margin-right: 40px;
    }
    .first_section{
        display: flex;
        align-items: end;
        width: 100%;
    }
    .first_section div > h1{
        width: 100%;
        font-family: nohemi;
        font-size: 80px;
        margin-bottom: 0;
    }
    .first_section div > p{
        width: 50%;
        font-family: nohemi-light;
        font-size: 17px;
    }
    .main_image img{
        margin-top: 30px;
        width: 100%;
        height: 50vh;
        border-radius: 50px;
        object-fit: cover;
    }
    
    
    #our_areas_container{
        margin-left: 40px;
        margin-right: 40px;
        margin-top: 150px;
    }
    
    .areas_title{
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .areas_title p{
        font-family: nohemi;
        font-size: 40px;
    }
    
    .areas_container{
        display: none;
        width: 100%;
    }
    .area{
        width: 20%;
        height: 230px;
        background-color: #F9F3E6;
        margin: 5px;
        border-radius: 36px;
        padding: 20px;
        transition: 0.3s ease-in-out;
        display: flex;
        flex-direction: column;
        justify-content:flex-start;
        align-items: left;
    }
    .area:hover{
        width: 30%;
        border-radius: 20px;
        
    }
    .second_part{
        margin-top: 40px;
        height: 50%;
    }
    .number_area{
        font-family: nohemi-light;
        font-size: 14px;
    }
    .title_area{
        font-family: nohemi-regular;
        font-size: 20px;  
    }
    
    .area_description{
        font-family: nohemi-light;
        font-size: 15px;
        opacity: 0;
        transition: 0.2s ease-in-out;
        padding-top: 10px;
        height: 33%;
    }
    .area:hover .area_description{
        opacity: 100%;
        
    }
    
    #our_areas_container_mobile{
        display: block;
    }
    
    .rule{
        width: 90%;
        margin-left: auto;
        margin-right: auto;
    }
    
    #team_main_page{
        margin-left: 40px;
        margin-right: 40px;
        margin-top: 150px;
        display: flex;
        align-items: flex-start;
        justify-content: center;
    }
    .team_introduction{
        width: 40%;
    }
    .team_picture_introduction{
        width: 100%;
    }
    .team_introduction p{
        width: 70%;
        font-family: nohemi-light;
        font-size: 17px;
        padding-bottom: 30px;
    }
    .team_picture_introduction img{
        width: 100% ;
        border-radius: 49px;
        height: 70vh;
        object-fit: cover;
    }
    
    
    #contact_main_page{
        margin-top: 150px;
        width: 100%;
    }
    .contact_paragraph{
        width: 100%;
        display: flex;
        align-items: center;
        flex-direction: column;
    }
    .contact_paragraph p{
        font-family: nohemi;
        font-size: 40px;
        text-align: center;
    }
    
    /* footer */
    
    .footer_container{
        margin-top: 150px;
        display: flex;
        flex-direction: column;
        background-color: #F9F3E6;
        border-radius: 36px 36px 0px 0px;
        width: 100vw;
    }
    .first_footer_container{
        display: flex;
        justify-content: space-between;
    }
    .contact_footer_info{
        padding: 40px;
        width: 33%;
    }
    .contact_footer_info p{
        color: black;
        font-family: nohemi-light;
        font-size: 15px;
        transition: 0.5s;
        padding-bottom: 10px;
    }
    .contact_footer_info p:hover{
        text-decoration: underline;
    }
    .menu_footer_container{
        display: flex;
        flex-direction: column;
        justify-content: end;
        align-items: end;
        padding: 40px;
        width: 33%;
    }
    .menu_footer p{
        font-family: nohemi-light;
        font-family: 15px;
        text-transform: uppercase;
        text-align: end;
    }
    .menu_footer p:hover{
        text-decoration: underline;
    }
    .policy_footer p{
        font-family: nohemi-light;
        font-family: 15px;
        text-decoration: underline;
        text-align: right;
    }
    .go_up{
        display: flex;
        justify-content: end;
        font-family: nohemi-light;
        font-size: 15px;
        padding: 40px;
        width: 33%;
        text-transform: uppercase;
    }
    .go_up p:hover{
        text-decoration: underline;
    }
    .footer_title{
        font-family: nohemi;
        font-size: 12vw;
        text-align: center;
        line-height: 0;
        margin-bottom: 60px;
    }
    .author_credits{
        font-family: nohemi-light;
        font-size: 15px;
        text-align: right;
        margin-right: 40px;
        margin-top: 5px;
    }
    
    
    
    /* areas de atuação */
    
    
    .first_section_pages{
        margin-top: 100px;
        display: flex;
        align-items: end;
        width: 100%;
    }
    .first_section_pages div > h1{
        width: 90%;
        font-family: nohemi;
        font-size: 50px;
        margin-bottom: 0;
    }
    .first_section_pages div > p{
        width: 50%;
        font-family: nohemi-light;
        font-size: 17px;
    }
    
    #all_areas{
        margin-top: 100px;
        max-width: 100%;
        margin-left: 40px;
        margin-right: 40px;
    }
    .all_areas_container{
        display: flex;
        justify-content: center;
        margin-bottom: 10px;
    }
    
    .full_area{
        width: 25%;
        height: 230px;
        background-color: #F9F3E6;
        margin: 5px;
        border-radius: 36px;
        padding: 20px;
        transition: width 0.5s;
        display: flex;
        flex-direction: column;
        justify-content:flex-start;
        align-items: left;
    }
    .full_area:hover{
        width: 35%;
        
    }

    .first_part{
        display: flex;
        justify-content: space-between;
    }
    .hide_arrow{
        display: block;
    }
    .expanded .arrow_rule{
        transform: rotate(45deg);
    }
    
    .full_area:hover .area_description{
        opacity: 100%;
        
    }

    .hide_tablet{
        display: none;
    }




    /* Equipa!!! */
    
    #intro_team{
        margin-top: 150px;
        display: flex;
        width: 100%;
        margin-left: 0px;
        margin-right: 0px;
        gap: 50px;
    }
    .team_picture_intro{
        margin-left: 40px;
        width: 50%;
    }
    .team_picture_intro img{
        border-radius: 36px;
        width: 100%;
        height: 30vh;
        object-fit: cover;
    }
    
    
    .intro_team_container{
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: end;
        width: 50%;
        margin-right: 40px;
    }
    
    .sub_title{
        font-family: nohemi-regular;
        font-size: 30px;
    }
    .team_sub_title{
        text-align: right;
    }
    .paragraph{
        font-family: nohemi-light;
        font-size: 17px;
    }
    
    .team_paragraph{
        word-wrap: break-word;
        text-align: right;
    }
    
    
    
    #team_container{
        margin-top: 100px;
        margin-left: 40px;
        margin-right: 40px;
        max-width: 100%;
        margin-bottom: 150px;
    }
    
    .all_member_container{
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .member{
        position: relative;
        width: 31%;
        height: 35vh;
    }
    
    
    .member_picture{
        width: 100%;
        border-radius: 36px;
        height: 30vh;
        object-fit: cover;
    }
    .member_name{
        font-family: nohemi;
        font-size: 17px;
        text-transform: capitalize;
    }
    .member_position{
        font-family: nohemi-light;
        font-size: 15px;
    }
    
    .plus_button{
        position: absolute;
        bottom: 18%;
        right: 5%;
        width: 45px;
        height: 45px;
        border-radius: 50%;
        background-color: #F0E3A6;
        border: none;
        font-family: nohemi;
        font-size: 30px;
        line-height: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        opacity: 1;
        transition: 0.3s ease-in-out;
    }
    .plus_button:hover{
        background-color: white;
        border-top: 2px solid #F0E3A6;
        border-left: 2px solid #F0E3A6;
        border-right: 2px solid #F0E3A6;
        border-bottom: 5px solid #F0E3A6;
    }
    .member:hover .plus_button{
        opacity: 1;
    }
    
    
    
    #overlay_member{
        position: fixed;
        width: 100%;
        height: 100%;
        background-color: #F9F3E6;
        top: -100%;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 99;
        flex-direction: column;
        transition: top 0.5s ease-in, opacity 0.3s ease;
        opacity: 0;
    }
    #overlay_member.show{
        top: 0;
        opacity: 1;
        overflow: scroll;
    }
    
    .container_member_titles{
        margin-left: 40px;
        margin-right: 40px;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .title_member{
        font-family: nohemi;
        font-size: 40px;
        text-transform: capitalize;
        margin-bottom: 10px;
    }
    .title_position{
        font-family: nohemi-light;
        font-size: 17px;
        text-transform: capitalize;
    }
    
    
    .button_close{
        width: 54px;
        height: 54px;
        border-radius:50%;
        border: 0;
        background-color: #F0E3A6;
        font-size: 20px;
        transition: 0,5s ease-in-out;
    }
    .button_close:hover{
        border-top: 2px solid #F0E3A6;
        border-left: 2px solid #F0E3A6;
        border-right: 2px solid #F0E3A6;
        border-bottom: 5px solid #F0E3A6;
        background-color: white;
    }
    
    
    
    
    
    .container_member_info{
        margin-left: 40px;
        margin-right: 40px;
        display: flex;
        flex-direction: column;
        gap: 50px;
    }
    .member_picture_overlay_container{
        width: 100%;
    }
    .member_picture_overlay{
        width: 100%;
        height: 50vh;
        object-fit: cover;
        border-radius: 36px;
        object-position: 50% 15%;
    }
    .info_container_overlay{
        width: 100%;
    }
    .titles_info{
        font-family: nohemi;
        font-size: 25px;
        text-transform: capitalize;
    }
    .description_member{
        font-family: nohemi-light;
        font-size: 17px;
    }
    
    
    
    /* grupo */
    
    
    .full_picture{
        margin-top: 50px;
        width: 100%;
        height: 50vh;
        border-radius: 36px;
    }
    
    #history{
        margin-left: 40px;
        margin-right: 40px;
    }
    .paragraph_history{
        margin-top: 50px;
        width: 70%;
    }
    
    #rules_of_conduct{
        margin-top: 100px;
        margin-left: 40px;
        margin-right: 40px;
    }
    
    .title_rules{
        width: 50%;
    }
    
    .rule{
        background-color: #F9F3E6;
        border-radius: 36px;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 20px;
        height: auto;
        max-height: 50px; /* Set an initial height */
        transition: max-height 0.5s ease-in;
        overflow: hidden;
        margin-bottom: 20px;
    }
    .rule.show{
        max-height: 370px;
    }
    
    .rule.show .description_rule{
        opacity: 1;
    }
    .main_info{
        display: flex;
        width: 100%;
    }
    .number_rule{
        font-family: nohemi-light;
        font-size: 15px;
    }
    .title_rule{
       margin-left: auto;
       margin-right: auto;
       font-family: nohemi;
       font-size: 17px;
       text-transform: capitalize;
    }
    .arrow_rule{
        transition: 0.5s ease-in-out;
    }
    .rule.show .arrow_rule{
        transform: rotate(45deg);
    }
    .description_rule{
        opacity: 0; /* Initially hide the element */
        transition: 0.5s ease-in;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
        width: 80%;
        font-family: nohemi-light;
        font-size: 17px;
        margin-bottom: 20px;
    }
    
    
    
    
    
    
    /* contactos */
    
    
    .contact_headline{
        text-transform: lowercase !important;
        line-height: 0;
        padding-bottom: 20px;
    }
    #form_section{
        margin-top: 100px;
        margin-left: 40px;
        margin-right: 40px;
    }
    .title_form{
        font-family: nohemi;
        font-size: 30px;
    }
    .form_container{
        display: flex;
        flex-direction: column;
        width: 100%;
    }
    .form_group{
        width: 100%;
    }
    .form_group div{
        display: flex;
        gap: 10px;
    }
    .form_label{
        width: 50%;
        background-color: #F9F3E6;
        height: 70px;
        border-radius: 36px;
        border: 0;
        margin-bottom: 20px;
        padding-left: 30px;
        font-family: nohemi-light;
        font-size: 15px;
    }
    .form_label:focus{
        outline: 1px solid black;
    }
    .form_group:nth-child(3){
        display: flex;
        gap: 10px;
    }
    .form_label::placeholder{
        font-family: nohemi-light;
        font-size: 15px;
        color: black;
    }
    #message{
        resize: none;
        height: 160px;
        padding-top: 30px;
    }
    
    .location_container{
        display: flex;
        flex-direction: column;
        align-items: end;
    }
    #successMessage{
        display: none;
    }
    #successMessage p{
        font-family: nohemi;
        font-size: 17px;
    }
}





/* TABLET!!!!!!!!!!!! */


/* Homepage */











/* Mobile!!!!! */

@media only screen and (max-width: 600px){



    /* Navigation */

    #navigation{
        margin-left: 20px;
        width: 90%;
    }

    .page_title a{
        font-size: 25px;
    }

    .menu{
        display: none;
    }

    nav{
        margin-left: 0;
    }

    .burger-menu{
        right: 20px;
    }



    
    /* Homepage */

    #intro_main{
        margin-left: 20px;
        margin-right: 20px;
    }
    
    .first_section{
        flex-direction: column;
        align-items: flex-start;
    }

    .first_section div > h1{
        font-size: 40px;
        line-height: 50px;
        width: 100%;
    }

    .first_section div > p{
        width: 100%;
        font-size: 16px;
    }

    .button a{
        font-size: 14px;
    }

    #our_areas_container{
        margin-left: 20px;
        margin-top: 100px;
    }

    .areas_container{
        display: none;
    }
    .areas_title{
        flex-direction: column;
        align-items: flex-start;
    }

    .areas_title p{
        font-size: 25px;
    }

    #our_areas_container_mobile{
        margin-top: 50px;
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-top: 50px;
    }

    #our_total_areas_container{
        margin-top: 50px;
        display: block;
    }

    .rule{
        width: 80%;
    }

    .number_rule{
        font-size: 14px;
    }

    .title_rule{
        font-size: 16px;
        text-align: center;
    }

    .description_rule{
        font-size: 16px;
    }


    #team_main_page{
        margin-top: 100px;
        align-items: center;
        position: relative;
    }

    .team_introduction{
        width: 90%;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        z-index: 1;
        color: white;
        display: flex;
        flex-direction: column;
        align-items: center;
    }


    .team_introduction p{
        width: 90%;
        text-align: center;
        font-size: 16px;
    }
    .team_picture_introduction
    {
        width: 90vw;
    }
    .team_picture_introduction img{
        width: 90vw;
        filter: brightness(50%);
    }

    .contact_paragraph{
        width: 90%;
        margin-left: auto;
        margin-right: auto;
    }

    .contact_paragraph p{
        font-size: 25px;
    }


    .first_footer_container{
        flex-direction: column;
    }

    .contact_footer_info{
        width: 80%;
        padding: 0px;
        margin-left: 20px;
        margin-top: 40px;
    }

    .menu_footer_container{
        align-items: flex-start;
        width: 80%;
        padding: 20px;
    }

    .menu_footer p{
        text-align: left;
    }

    .policy_footer p{
        text-align: left;
    }


    .go_up{
        display: none;
    }


    .footer_title{
        margin-bottom: 15px;
    }


    .author_credits{
        margin-left: 10px;
        text-align: left;
    }
    .author_credits:nth-child(1){
        margin-left: 10px;
        font-size: 12px;
        text-align: left;
    }
    .author_credits:nth-child(2){
        margin-right: 10px;
        font-size: 12px;
        text-align: right;
    }




    /* areas de atuação */


    .first_section_pages{
        margin-top: 50px;
    }

    .first_section_pages div > h1{
        width: 95%;
        font-size: 30px;
    }

    .first_section_pages div > p{
        font-size: 16px;
        width: 70%;
    }

    #all_areas{
        display: none;
    }



    #intro_team{
        margin-left: auto;
        margin-right: auto;
        flex-direction: column;
        position: relative;
        width: 90vw;
    }


    .team_picture_intro{
        margin-left: 0;
        width: 100%;
        height: 50vh;
    }

    .team_picture_intro img{
        height: 50vh;
        object-fit: cover;
        filter: brightness(50%);
    }

    .intro_team_container{
        position: absolute;
        width: 80%;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        align-items: center;
    }

    .team_sub_title{
        font-size: 25px;
        text-align: center;
        color: white;
    }

    .team_paragraph{
        font-size: 16px;
        text-align: center;
        color: white;
    }

    .hide_tablet{
        display: block;
    }





    /* grupo!! */


    #rules_of_conduct{
        margin-left: 0px;
        margin-right: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
    }


    .title_rules{
        margin-left: 20px;
        width: 90%;
    }

    #history{
        margin-left: 20px;
    }

    .paragraph_history{
        width: 90%;
        margin-left: 20px;
    }




    /* Equipa!!!!! */


    #team_container{
        margin-top: 0;
        margin-left: 20px;
        margin-right: 20px;
    }


    .member{
        margin-top: 80px;
        height: 40vh;
        width: 49%;
        gap: 20px;
    }

    .member_picture{
        height: 35vh;
        border-radius: 15px;
    }

    .plus_button{
        height: 40px;
        width: 40px;
        font-size: 25px;
    }


    #overlay_member{
        overflow: scroll;
        bottom: -100%;
        top: auto;
        transition: bottom 0.3s ease-in-out, opacity 0.3s ease;
    
    }

    #overlay_member.show{
        bottom: 0;
        opacity: 1;
    }

    .container_member_titles{
        position: relative;
        margin-left: 20px;
        margin-right: 20px;
        z-index: 1;
    }

    .title_member{
        width: 70%;
        font-size: 25px;
        color: white;
    }

    .title_position{
        font-size: 16px;
        color: white;
    }

    .button_close{
        height: 40px;
        width: 40px;
    }

    .member_picture_overlay_container{
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        
    }


    .member_picture_overlay{
        border-radius: 0px 0px 36px 36px;
        filter: brightness(80%);
        height: 60vh;
    }

    .info_container_overlay{
        margin-top: 50vh;
        width: 100%;
    }




    /* contactos */



    .contact_info{
        display: none;
    }

    #form_section{
        margin-top: 50px;
        margin-left: 20px;
    }

    .form_group div{
        flex-direction: column;
        gap: 0;
    }

    .title_form{
        font-size: 20px;
    }

    .form_label{
        width: 100%;
        height: 60px;
        margin-bottom: 20px;
        font-size: 14px;
    }

    .form_group:nth-child(3){
        flex-direction: column;
        gap: 0;
    }
}





/* Animações */


/* Initially, you might want elements to be invisible or slightly off-screen */
.scroll-animated {
    opacity: 0;
    transform: translateY(20px);
}

.animate__animated.animate-on-scroll {
    opacity: 1;
    transform: translateY(0);
}



/* Imac */

@media (min-width: 1800px) {

    /* ====== TUDO O QUE TEM < 18PX ====== */

    /* 14px → 18px */
    .number_area,
    .number_rule {
        font-size: 18px;
        line-height: 1.2;
    }

    /* 15px → 18px */
    .button a,
    .cookie-btn,
    .cookie-content p,
    .area_description,
    .contact_footer_info p,
    .policy_footer p,
    .menu_footer p,
    .member_position,
    .form_label,
    .form_label::placeholder,
    .go_up,
    .author_credits {
        font-size: 18px;
        line-height: 1.2;
    }

    /* 16px → 18px */
    .mobile-menu-footer p {
        font-size: 18px;
        line-height: 1.2;
    }

    /* 17px → 18px */
    .page_name,
    .first_section div > p,
    .first_section_pages div > p,
    .team_introduction p,
    .team_paragraph,
    .title_position,
    .description_member,
    .description_rule,
    .member_name {
        font-size: 18px;
        line-height: 1.2;
    }

    .title_area {
        font-size: 25px;
    }

    .main_image img,
    .team_picture_introduction img,
    .team_picture_intro img {
        height: 40vh;
        object-fit: cover;
    }

    .full_picture {
        height: 40vh;
        object-position: 50% 35%;
    }

    .member {
        height: 40vh;
    }

    .member_picture {
        height: 35vh;
    }

    .button { width: 180px; }
    .form_label { font-size: 18px !important; }

    .cookie-banner { padding: 100px; }
    .cookie-bg { background: rgba(255,255,255,0.5); }

    .mobile-menu-nav a { font-size: 35px !important; }

    .plus_button {
        width: 75px;
        height: 75px;
        right: 2%;
    }

    .footer_title { font-size: 12vw !important; }
    .data_info { margin-top: 150px; }

    #intro_team{
        margin-left: 0;
        margin-right: 0;
        gap: 0;
        justify-content: space-between;
    }
    .team_picture_intro{
        margin-left: 40px;
    }
    .intro_team_container{
        width: 50%;
        margin-right: 40px;
    }
     .intro_team_container div{
        display: flex;
        flex-direction: column;
        align-items: end;
    }
}







