/*
Theme Name:         GFA
Description:        GFA Theme
Version:            1.0
Author:             wevolved

Text Domain:        GFA
*/

/* Configurações BASE */

* {
    box-sizing: border-box;
}



img {
    max-width: 100%;
}

/********* Alterar o scroll bar **********/
html {
    scrollbar-width: thin; /* Adjust the width of the scrollbar */
    scrollbar-color: #888 transparent; /* Adjust the color of the scrollbar */
}

/* Define the style for the scrollbar track */
html::-webkit-scrollbar {
    width: 4px; /* Adjust the width of the scrollbar */
}

/* Define the style for the scrollbar thumb */
html::-webkit-scrollbar-thumb {
    background-color: #888; /* Adjust the color of the scrollbar thumb */
    border-radius: 4px; /* Adjust the border radius of the scrollbar thumb */
}

/* Style for scrollbar track (background) */
html::-webkit-scrollbar-track {
    background-color: var(--white); /* Background color of the scrollbar track */
}
/********* FIM DE Alterar o scroll bar **********/

/* Reset comportamento de links */
a,
a:hover,
a:focus,
a:active {
    text-decoration: none;
    color: var(--black);
    cursor: pointer;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
label,
input {
    margin: 0px;
    /* para que as fonts fiquem com linha mais fina */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

a,
span {
    /* para que as fonts fiquem com linha mais fina */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
a {
    overflow-wrap: anywhere;
}

/**************** COMPONENTES DE FORMULARIOS **************/
/* Colocar os placeholders dos inputs com cor normal, remover o cinzento */
input::placeholder {
    color: var(--white);
    opacity: 1; /* Firefox */
}

/* Change the white to any color */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus,
select:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px var(--black) inset !important;
    -webkit-text-fill-color: var(--white) !important;
}

/* Change the white to any color */
.white input:-webkit-autofill,
.white input:-webkit-autofill:hover,
.white input:-webkit-autofill:focus,
.white input:-webkit-autofill:active,
.white select:-webkit-autofill,
.white select:-webkit-autofill:hover,
.white select:-webkit-autofill:focus,
.white select:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px var(--white) inset !important;
    -webkit-text-fill-color: var(--black) !important;
}

input:focus,
select:focus {
    outline: none !important;
}

/* Remover incremento de número - Chrome, Safari, Edge, Opera  */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* remover espaçamentos */
.wpb_button,
.wpb_content_element,
ul.wpb_thumbnails-fluid > li,
.vc_btn3-container {
    margin-bottom: 0px !important;
}

ul {
    list-style: none;
    padding: 0px;
    margin: 0px;
}



/*fontes*/
@font-face{
    font-family: 'Archivo';
    src: url('assets/fonts/static/Archivo-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}
  
@font-face{
    font-family: 'Archivo';
    src: url('assets/fonts/static/Archivo-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}
  
@font-face{
    font-family: 'Archivo';
    src: url('assets/fonts/static/Archivo-Italic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
}
  

body {
    max-width: 100%;
    overflow-x: hidden;
}
/*MENU*/
.menu-nav {
    width: 100%;
    height: auto;
    background-color: #FAFCFF;
    display: flex;
    align-items: self-start;
    justify-content: space-between;
    padding: 20px;
    z-index: 9999;
    position: relative;
}

.main-navigation{
    max-width: 690px;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
}
.main-navigation a{
    text-decoration: none;
    color: #05013B;
}
#menu-item-20:hover{
    opacity: 0.6;
}
#menu-item-20{
    padding: 15px;
    background-color: #05013B;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}
#menu-item-20 a{
    color: #FAFCFF;
}

.menu-main-menu-container{
    width: 100%;
}
#main-menu{
    display: flex;
    list-style: none;
    justify-content: space-between;
    align-items: center;
}
.site-branding{
    width: 100%;
    height: auto;
}
#main-menu a{
    font-family: 'Archivo';
    font-weight: 400;
    font-size: 16px;
    line-height: 20px;
}
/*MENU MOBILE*/
.menu-toggle {
  display: none;
}




/*MAIN PAGE*/

/*hero 01*/
.hero-2-button img{
    width: 24px;
    height: 24px;
    margin-left: 15px;
}
.hero-1{
    width: 100%;
    height: auto;
    background-color: #FAFCFF;
    display: flex;
    padding: 0px;
    margin: 0px;
}
/* page title */
.main-page-title-container{
    max-width: 900px;
    width: 100%;
    margin: 0px;
    padding-top: 80px;
    padding-bottom: 40px;
    padding-left: 20px;
    padding-right: 20px;

}
.main-page-title{
    height: auto;
    width: 100%;
    margin-bottom: 0 !important;
    padding-bottom: 0;
}
.main-page-title h1{
    font-size: 100px;
    font-family: 'Archivo';
    font-weight: 400;
    line-height: 108px;
    color: #050238;
}
/*hero 1 img and "button"*/
.hero-1-img-button-container{
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap:20px;
}
.vc_custom_1750175094086{
    padding: 0px!important;
}
a.btn-ajuda {
    height: 100%;
    background-color: #050238;
    display: block;
    border-radius: 20px;
}
a.btn-ajuda:hover {
    opacity: 0.6;
}
a.btn-ajuda p, a.btn-ajuda span{
    color: white;
}
.precisa-ajuda{
    padding: 20px;
}

a.btn-ajuda p {
    font-family: 'Archivo';
    font-weight: 400;
    font-style: Regular;
    font-size: 2vw;
    leading-trim: NONE;
    line-height: 2.2vw;
    letter-spacing: -4%;
}
a.btn-ajuda span {
    font-family: 'Archivo';
    font-weight: 400;
    font-style: Regular;
    font-size: 4.5vw;
    leading-trim: NONE;
    line-height: 4.6vw;
    letter-spacing: -4%;
}
.precisa-ajuda {
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}





















.button-col-container .vc_column-inner, .button-col-container  .wpb_wrapper, .button-col-container .coluna-dev-home{
    height: 100%;
}
.hero-1-button{
    display: flex;
    justify-content:flex-start;
    align-items: center;
    color: #FAFCFF;
    padding-left: 20px;
}
.hero-1-img, .hero-1-button{
    margin: 0px !important; 
}
.hero-1-img{
    width: 100%;
    height: auto;
}
.hero-1-img img{
    width: 100%;
    height: 100%;
    border-radius: 20px;
}
.hero-1-button p:first-of-type{
    font-family: 'Archivo';
    font-size: clamp(20px, 3vw, 38px);
    line-height: clamp(28px, 4vw, 50px);
    font-weight: 400;
}

.hero-2-explanation p{
    font-family: 'Archivo';
    font-weight: 400;
    font-style: Regular;
    font-size: 16px;
    line-height: 20px;
    letter-spacing: 0px;

}
/*hero 2*/
.hero-2{
    width: 100%;
    height: auto;
    background-color: #FAFCFF;
    padding-left: 20px;
    padding-right: 20px;
}
.hero-2-main-container{
    width: 100%;
    height:auto ;
    padding-top: 80px;
}
.hero-2-main-container .vc_col-sm-4{
    max-width: 36%;
    width: 100%;
    height: 100%;
}
.hero-2-main-container .vc_col-sm-8 {
    max-width: 830px;
    width: 100%;
    height: 100%;
    float: right;
}
.hero-2-small-text{
    font-family: 'Archivo';
    font-size: 38px;
    font-weight: 400;
    line-height: 50px;
    padding-left: 20px;
    color: #05013B ;
    margin: 0px!important;
}
.hero-2-title {
    font-family: 'Archivo';
    font-size: 72px;
    line-height: 80px;
    font-weight: 400;
    padding-right: 20px;
    margin: 0px !important;
    color: #05013B;
}
.hero-2-explanation{
    margin: 0px!important;
    padding-right: 20px;
    padding-top:20px;
    font-family:Archivo;
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    color: #9D9AC0;
}
.hero-2-text-button-container{
    height: auto;
    width: 100%;
    padding-top:104px;
    display: flex;
    justify-content: space-between;
}

.hero-2-text-button-container .wpb_content_element{
    margin: 0px!important;
}
.num{
    font-family: 'Archivo';
    font-size: 128px;
    font-weight: 400;
    line-height: 132px;
    color: #05013B;
}
.num-1, .num-1-text{
    padding-left: 20px;
}
.num-2, .num-2-text{
    padding-left: 33px;
}
.numtext{
    font-family: 'Archivo';
    font-size: 38px;
    font-weight: 400;
    line-height: 50px;
    color: #9D9AC0;
}
.hero-2-button{
    width: 100%;
    height: auto;
}

a.botao-site {
    float: right;
    background-color: #050238;
    padding: 15px 20px;
    color: white;
    border-radius: 10px;
    font-family: 'Archivo';
    font-size: 15px;
    font-weight: 400;
}
a.botao-site:hover, .artigo-bloco.leia-mais:hover {
    opacity: 0.6;
}
.botao-site img{
    margin-left: 15px;
}
.coluna-meio .vc_column-inner {
    justify-content: end;
}
/*hero 3*/
.hero-3{
    width: 100%;
    background-color: #FAFCFF;
    padding-left: 20px;
    padding-right: 20px;
    margin: 0px!important;
}
.hero-3-coluna {
    margin: 100px 0px 50px 0px !important;
}
.hero-3-title{
    width: 100%;
    height: auto;
    padding: 70px 0PX;
    margin: 0px !important;
}
.hero-3-title p{
    font-family: 'Archivo';
    font-size: 72px;
    font-weight: 400;
    color: #05013B;
    text-indent: 16%;
    line-height: 80px;
}
.hero-3-button{
    width: 100%;
    height: auto;
    padding-top: 40px ;
    padding-bottom: 60px;
    margin: 0px!important;
    display: flex;
    flex-direction: row-reverse;
}
.hero-3-button p {
    border-radius: 10px;
    padding: 20px 30px;
    background-color: #050238;
    color: #FAFCFF;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: 'Arial';
    font-size: 15px;
    font-weight: 400;
    transition: all 0.3s ease; /* <-- animação suave */
    box-shadow: 0 0 0 rgba(0, 0, 0, 0); /* sombra inicial nula */
}

.hero-3-button p:hover {
    background-color: #1a1773;        /* muda ligeiramente a cor */
    transform: translateY(-4px);      /* levanta um pouco */
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2); /* sombra */
}

.hero-3-img {
    width: 100%;
    margin-top: 100px !important;
    height: auto;
}
.hero-3-img img {
    width: 100% !important;
    max-height: 70vh !important;
    border-radius: 16px;
    object-fit: cover;
    object-position: center;
}
.hero-3-img .vc_single_image-wrapper, .hero-3-img figure{
    width: 100% !important;
    max-height: 100vh !important;
    object-fit: cover;
    object-position: center;
}
/*HERO 4*/
.hero-4{
    height: auto ;
    width: 100%;
    background-color: #FAFCFF;
    margin: 0px!important;
}
.hero-4-text-container{
    padding: 40px 20px 0px 20px;
    height: auto;
}
.hero-4-text{
    max-width: 60% !important;
    width: 100%;
    height: auto;
}
.hero-4-text-1 p{
    font-family: 'Archivo';
    font-size: 38px;
    font-weight: 400;
    line-height: 50px;
    color: #05013B;
}

.hero-4-text-1 .wpb_content_element, .hero-4-text-1 .wpb_content_element{
    margin: 0px!important;
}
.hero-4-text-2{
    margin: 0px!important;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: row-reverse;
}
.hero-4-text-2 p{
    font-family: 'Archivo';
    font-size: 72px;
    line-height: 80px;
    font-weight: 400;
    color: #05013B;
    display: flex;
    flex-direction: row-reverse;
}
.hero-4-button-grid-container{
    width: 100%;
    height: auto;
    padding: 100px 10px 106px 10px;
    display: flex;
    justify-content: space-between;
    align-items: top;
}
.hero-4-button-grid-container .vc_col-sm-3 .vc_column-inner, .hero-4-button-grid-container .vc_col-sm-3 .vc_column-inner .wpb_wrapper {
    height: 100%;
}
.hero-4-button-grid-container .vc_col-sm-3{
    padding: 0px 10px 10px 10px;
}
.hero-4-button{
    margin: 0px!important;
    width: 100%;
    height: 100%;
    border-radius: 20px;
    background-color: #050238;
    position: relative;
}
.hero-4-button p{
    font-family: 'Archivo';
    max-width:229px;
    height: 240px;;
    font-size: 72px;
    font-weight: 400;
    line-height: 80px;
    color: #FAFCFF;
    position: absolute;
    top: 30px;
    left: 20px;    
}

.hero-4-button-grid-container .wpb_single_image img {
    width: 100%;
}
.news-card-item .vc_gitem_row .vc_gitem-col {
    padding-top: 0px !important;
}





.cards-main-page{
    margin: 0px !important;
}
.grid-artigos-leia-mais {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    align-items: stretch;
}


.artigo-imagem img{
    width: 100%;
    height: 300px;
    border-radius: 20px;
    object-fit: cover;
}

.leia-mais {
    background: #000238;
    color: white;
    border-radius: 20px;
    display: flex;
    justify-content: justify-content;
    padding: 15px;
}

.leia-mais-conteudo {
    font-size: 8rem;
    font-weight: 500;
    text-align: left;
    position: relative;
    font-family: 'Archivo';
    color: #FAFCFF;
}


.leia-mais-conteudo .mais-sinal {
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 2.5rem;
    line-height: 1;
    color: white;
}

.grid-artigos-leia-mais {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(-50vw + 50%);
    padding: 0 25px;
    box-sizing: border-box;
}

.artigo-bloco.leia-mais, .artigo-bloco.leia-mais a{
    width: 100%;
}
.filtros-categorias {
    margin-bottom: 30px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.filtro-btn {
    background-color: #a2a0bf;
    color: #ffffff;
    border: none;
    padding: 15px 20px;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 500;
    transition: 0.3s;
}

.a-grelha {
    margin: 100px 0px;
}

.filtro-btn.active,
.filtro-btn:hover {
    background-color: #1e1e50;
    color: #fff;
}

.grelha-artigos {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.artigo-bloco {
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    transform: translateY(0);
}

.artigo-bloco:hover {
    transform: translateY(-8px);
}

.artigo-bloco a {
    text-decoration: none;
    color: inherit;
    display: block;
}
.voltar-button img{
    margin-right: 10px;
}
.voltar-button a{
  font-family: 'Arial';
    font-weight: 400;
    font-style: Regular;
    font-size: 16px;
    line-height: 20px;
    letter-spacing: 0px;
  
}
.artigo-imagem {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
}

.artigo-imagem img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 10px;
    transition: transform 0.4s ease;
}

.artigo-bloco:hover .artigo-imagem img {
    transform: scale(1.05);
}

.categoria-label {
    position: absolute;
    top: 10px;
    right: 10px;
    background-color: #ffffff;
    color: #1e1e50;
    border-radius: 10px;
    padding: 15px 20px;
    font-family: 'Arial';
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    line-height: 20px;
    letter-spacing: 0px;
    transition: background-color 0.3s ease;
}

.artigo-bloco:hover .categoria-label {
    background-color: #1e1e50;
    color: #fafcff;
}

.artigo-titulo {
    font-size: 16px;
    font-weight: 600;
    margin: 10px 0 5px 0;
    padding: 0 10px;
}

.artigo-autor {
    font-size: 14px;
    color: #666;
    padding: 0 10px 10px;
}

























/*PÁGINA DA EQUIPA*/

.text-zone-team-page{
    width: 100%;
    background-color: #FAFCFF;
    padding-top: 120px;
    padding-bottom: 120px;
    padding-left: 20px;
    padding-right: 20px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.text-zone-team-page .wpb_text_column{
    margin: 0px!important;
}
#main-menu .current-menu-item > a {
    position: relative;
}

#main-menu .current-menu-item > a::before {
    content: "";
    position: absolute;
    top: -8px; /* espaço acima do texto */
    left: 0;
    right: 0;
    height: 2px;
    background-color: #05013B; /* mesma cor do texto */
    width: 100%;
    margin: 0 auto;
}

.team-text-left p{
    font-family: 'Archivo';
    font-size: 38px;
    font-weight: 400;
    line-height: 50px;
    color: #05013B;
    letter-spacing: -0.04rem;
}


.team-right-text-container{
    width: 100%;
}
.froholdt {
    margin: 75px 0px;
}
.team-right-text-1{
    font-family: 'Archivo';
    font-size: 72px;
    font-weight: 400;
    color: #05013B;
    letter-spacing: -0.04rem;
	line-height:100%
}
.team-right-text-2{
    font-family: 'Arial';
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    color: #9D9AC0;
    padding-top:20px;
    padding-bottom: 20px;
}
.team-right-text-3{
    font-family: 'Archivo';
    font-size: 38px;
    font-weight: 400;
    line-height: 50px;
    color: #05013B;
    padding-top:40px;
    padding-bottom: 40px;

}
.ultima-noticias .ultima-titulo-noticias p {
    font-family: 'Archivo', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 38px;
    max-width: 572px;
    line-height: 50px;
    letter-spacing: -0.04em; /* -4% convertido corretamente */
    color: #050238;
}

.ultima-noticias p {
    font-family: 'Arial', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    line-height: 20px;
    letter-spacing: 0; /* ou 0em */
    color: #A2A0BF;
}

.ultima-noticias h6 {
    font-family: 'Archivo', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 72px;
    line-height: 100%; /* ou 72px se quiseres fixar */
    letter-spacing: -0.04em; /* -4% em em */
    color: #050238;
    margin-bottom: 25px;
}
.ultima-noticias {
    margin-top: 100px;
    margin-bottom: 20px;
}
.equipa-title h1 {
  font-family: 'Archivo';
  font-size: 100px;
  font-weight: 400;
  line-height: 108px;
  color: #05013B;
}
.container {
    width: 100%;
    background-color: #fafcff;
}
.home .container {
    width: 100%;
    background-color: #fafcff;
    max-width: 100%;
    overflow-x: hidden;
}
.team-card .card-pic img {
    border-radius: 20px;
    aspect-ratio: 3/3;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.text-zone-team-page::before, .text-zone-team-page::after{
    display: none !important;
}

.equipa-title-container{
    width: 100%;
    height: 100%;
    position: sticky !important;
    top: 20px;
}

.equipa-title{
    height: 100%;
    width: 100%;
    margin: 0px !important;
    max-width: 710px;
}
.equipa-title h1{
    font-family: 'Archivo';
    font-size: 100px;
    font-weight: 400;
    line-height: 108px;
    color: #05013B;
    position: sticky;
    top:20vh !important;
}
.artigo-autor{
    font-family: 'Arial';
    font-weight: 400;
    font-size: 16px;
    line-height: 20px;
    color: #A2A0BF;
    letter-spacing: 0px;
 
}









/*configuração do grid da equipa*/
.cards-group {
  margin-bottom: 60px;
  width: 100%;
}
.team-card{
    width: fit-content;
}
.team-card p{
    font-family: 'Arial';
    font-weight: 400;
    font-size: 16px;
    line-height: 20px;
    color: #9D9AC0;
}
.card-name{
    font-family: 'Arial';
    font-weight: 400;
    font-size: 16px;
    line-height: 20px;
    color: #05013B;
    padding-top: 15px;
}
.cards-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.artigo-autor {
    display: flex;
    gap: 10px;
}



.grid-equipe-container .wpb_wrapper h2{
    display: block !important;
    padding-bottom: 20px;
    font-family: 'Archivo';
    font-weight: 400;
    font-size: 38px;
    line-height: 50px;
    letter-spacing: -2%;
    color: #05013B;
}


  #menu-item-20{
    background-color: #FAFCFF;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}
#menu-item-20 a{
    color: #05013B;
}

/*página de áreas de espcialização*/

.especializacao-title-container{
    width: 100%;
    height: auto;
    padding-top: 80px;
    padding-bottom: 40px;
    margin: 0px!important;
}
.especializacao-title-container .vc_column-inner{
    padding: 0px!important;
}
.especializacao-title{
    width: 100%;
    margin: 0px!important;
}
.especializacao-title p{
    font-family: 'Archivo';
    font-size: 72px;
    font-weight: 400;
    line-height: 80px;
    color: #05013B;
}
.acordeao-text-container{
    width: 100%;
    height: auto;
    margin: 0px!important;
    position: relative;
    background-color: #FAFCFF;
}
.vc_tta.vc_general .vc_tta-panel-title>a {
    padding: 14px 0px !important;
}












.acordeao-text-container .vc_column-inner{
    padding: 0px!important;
}
.acordeao{
    padding-top:40px;
    padding-bottom: 160px;
    max-width: 100%;
    width: 100%;
    height: 100%;
}
.acordeao .vc_tta-panel p{
    font-family: 'Arial';
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    color: #9D9AC0;

}
.vc_tta-panel-title{
    font-family: 'Archivo';
    font-size: 38px;
    font-weight: 400;
    line-height: 50px;
    letter-spacing: -4%;
    background-color: #FAFCFF!important;
    border: none !important;
}
.vc_tta-panel-title a{
    color: #05013B !important;
}
.vc_tta-panel-title i{
    color: #05013B !important;
    width: 30px !important;
    height: 30px !important;
}
#desc-text-col{
    padding-top: 358px;
    max-width: 453px ;
    max-height: 222px;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 20px;
}
#desc-text-col .vc_column-inner{
    padding: 0px!important;
}
#desc-text-col .wpb_wrapper{
    position: relative;
}
.desc-text{
    margin: 0px!important;
    text-align: end;
}
.desc-text-1{
    font-family: 'Archivo';
    font-size: 38px;
    font-weight: 400;
    line-height: 50px;
    color: #05013B;
} 
.desc-text-2{
    font-family: 'Arial';
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    padding-top: 20px;
    padding-bottom: 20px;
    text-align: left;
    color: #9D9AC0;
}
.desc-text-3 {
    border-radius: 10px;
    background-color: #050238;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #FAFCFF;
    position: absolute;
    right: 0;
    padding: 15px 20px;
    font-family: 'Arial';
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    cursor: pointer;
}
.desc-text-3:hover {
    opacity: 0.6;
}
.vc_tta-container{
    margin: 0px!important;
}

/*estilo do acordeão*/
.vc_tta-controls-icon-plus, .vc_tta-controls-icon-plus::before, .vc_tta-controls-icon-plus::after{
    color: #05013B !important;
    border-color: #05013B !important;
}
/*Página de notícias*/
.news-page-title-container{
    width: 100% !important;
    margin: auto;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 80px;
    margin: 0px!important;
    background-color: #FAFCFF;
}
.news-page-title {
    width: 100%;
    height: 100%;
    max-width: 927px;
    margin: 0px!important;
}
.vc_grid-filter li:hover {
    background-color: #05013b !important;
    color: #FAFCFF !important;
}
.news-page-title h1{
    font-family: 'Archivo';
    font-size: 100px;
    font-weight: 400;
    line-height: 108px;
    color: #05013B;                                
}
.grid-news-container{
    width: 100% !important;
    height: auto;
    margin: 0px!important;
    background-color: #FAFCFF;
    padding-top: 80px;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom:120px;
}
.vc_grid-filter{
    margin: 0px!important;
    width: 40%;
    height: auto;
    display: flex;
    flex-direction: row;
    justify-content: normal;
    gap: 10px;
    padding-bottom: 40px !important;
}
.news-card-item{
    position: relative;
}
.news-card-item .vc_grid-filter{
    display: block !important;
    padding-bottom: 0px !important;
    width: fit-content !important;
    position: absolute;
    top: 5%;
    right: 5%;
}
.vc_grid-filter li{
    margin: 0px!important;
    padding: 0px!important;
    background-color: #9D9AC0 !important;
    color: #FAFCFF !important;
    padding: 15px 20px !important;
    display: flex !important;
    border-radius: 10px !important;
    justify-content: center;
    align-items: center;
    font-family: 'Arial';
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
}
.vc_grid-filter li.vc_active{
    background-color: #05013B !important;
    color: #FAFCFF !important;
}
.vc_grid-filter li.vc_active span{
    color: #FAFCFF !important;
}
.vc_grid-filter li a{
    font-family: 'Archivo';
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
}

    /*GRID E CARDS*/
.vc_grid-filter.news-card-category.vc_grid-filter-size-sm .vc_grid-filter-item {
    width: 80%;
    background-color: #FAFCFF;
    margin-bottom: 10px !important;
    padding: clamp(5px, 1.3vw, 10px) !important;
    border-radius: 10px;
    font-family: 'Arial';
    font-size: clamp(8px, 1.5vw, 12px);
    font-weight: 400;
    line-height: 1.2em;
    color: #05013B;
}

.news-card-title p, .news-card-title p a, .artigo-titulo {
    font-family: 'Archivo';
    margin-top: 10px;
    font-size: 16px;
    font-weight: 700;
    line-height: 20px;
    color: #05013B;
}
.artigos-grid-ler{
    margin: 100px 0px;
}
.vc_figure, .vc_grid.vc_row .vc_grid-item .vc_btn a, .vc_grid.vc_row .vc_grid-item .vc_icon_element a, .vc_grid.vc_row .vc_grid-item .wpb_content_element a, .owl-carousel .owl-item img {
    width: 100% !important;
}


/*PÁGINA DE CONTACTOS*/
.forms-text-container{
    width: 100%;
    height: auto;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 80px;
    background-color: #FAFCFF;
    margin: 0px!important;
    display: flex !important;
    justify-content: space-between !important;
}
.forms-text-container::before, .forms-text-container::after{
    content: none !important;
    display: none !important;
}
.forms-col-container{
    max-width: 691px;
    height: auto;
    width: 100%;
}
.contacts-data-container{
    max-width: 453px;
    width: 100%;
    height: 100%;
}

.contacts-data-container .vc_column-inner{
    padding: 0px!important;
}
.contacts-data-container .wpb_text_column{
    margin: 0px!important;
} 
.forms-col-container .vc_column-inner{
    padding: 0px!important;
}
.contacts-page-title{
    margin: 0px!important;
    max-width: 690px;
    width: 100%;
    padding-bottom: 80px;
}
.location-container{
    padding-bottom: 40px;
}
.label-1, .label-2, .contacts-text p:first-of-type, .contacts-text p:nth-of-type(2){
    padding-bottom: 20px;
}
.contacts-page-title p{
    font-family: 'Archivo';
    font-size: 72px;
    line-height: 80px;
    font-weight: 400;
    letter-spacing: -2%;
    color: #05013B;
}
.label-1 p, .label-2 p{
    font-family: 'Archivo';
    font-size: 38px;
    font-weight: 400;
    line-height: 50px;
    letter-spacing: -4%;
    color: #05013B;
}
.address-text p , .contacts-text p, .contacts-text a, .address-text a {
    font-family: 'Arial';
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    color: #9D9AC0;
    text-decoration: none;
}
.map-container {
    margin: 0px!important;
    width: 100%;
    height: auto;
    padding-top: 100px;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 50px;
    background-color: #FAFCFF;
}
.map-container .vc_column-inner, .wpb_gmaps_widget .wpb_wrapper{
    padding: 0px!important;
}
.wpb_gmaps_widget{
    margin: 0px!important;
}
.map-container iframe, .map-container .vc_column_container, .map-container .vc_column-inner, .map-container .wpb_wrapper, .map-container .wpb_gmaps_widget  {
    border-radius: 20px;
}
form input{
    border: none;
    background-color: #FAFCFF;
    border-bottom: solid 1px #9D9AC0;
    font-family: 'Arial';
    font-size: 16px;
    font-weight: 400;
    line-height: 40px;
    color: #9D9AC0;
}
form input, form input span{
    width: auto;
}

.form-submit .wpcf7-list-item label{
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 10px;
}

.form-submit .wpcf7-list-item{
    margin: 0px !important;
}

form input::placeholder{
    font-family: 'Arial';
    font-size: 16px;
    font-weight: 400;
    line-height: 40px;
    color: #9D9AC0;
}
textarea{
    background-color: #FAFCFF !important;
    border: none;
    border-bottom: solid 1px #9D9AC0;
    width: 100%;
    max-height: 61px;
    padding-top: 10px;

}
textarea::placeholder{
    font-family: 'Arial';
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    color: #9D9AC0;
}
.wpcf7-form-control-wrap span input{
    padding-bottom: 40px !important;
}

.wpcf7-submit{
    background-color: #05013B;
    border: none;
    width: 94px !important;
    height: 52px !important;
    border-radius: 10px;
    color: #FAFCFF;
}
form p{
    display: flex;
    flex-direction: column;
}

.form-submit br {
  display: none;
}

form .wpcf7-submit{
    margin-left: auto;
}
/*footer*/
.footer {
    background-color: #05013B;
    color: #ffffff;
    padding: 40px 20px 20px;
    width: 100%;
}
/* Container geral */
.custom-form {
  max-width: 800px;
  margin: 0 auto;
  padding: 20px 0px;
  box-sizing: border-box;
  font-family: 'Arial', sans-serif;
}
.custom-form .form-row p{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    flex-direction: row;
    justify-content: space-between;
}
/* Linha dupla para nome e telemóvel */
.custom-form .form-row {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}


.form-submit .wpcf7-list-item-label{
    font-family: 'Arial';
    font-size: 10px;
    font-weight: 400;
    color: #9D9AC0;

}

.custom-form .form-row span.wpcf7-form-control-wrap {
  flex: 1;
}

/* Campos */
.custom-form input[type="text"],
.custom-form input[type="tel"],
.custom-form input[type="email"],
.custom-form textarea {
  width: 100%;
  border: none;
  border-bottom: 1px solid #ccc;
  background: transparent;
  padding: 10px 0;
  font-size: 16px;
  color: #050238;
  transition: border-color 0.3s;
}

.custom-form input::placeholder,
.custom-form textarea::placeholder {
  color: #a2a0bf;
}

/* Efeito ao focar */
.custom-form input:focus,
.custom-form textarea:focus {
  outline: none;
  border-bottom: 1px solid #050238;
}

/* Textarea */
.custom-form textarea {
  height: 100px;
  resize: vertical;
}

.form-submit br{
    display: none;
}

/* Botão */
.custom-form .form-submit {
  text-align: right;
   display: flex;
  align-items: center;
  gap: 15px; /* espaço entre os dois */
  flex-wrap: wrap; /* opcional para mobile */

  margin-top: 20px;
}

.custom-form input[type="submit"] {
    background-color: #050238;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 10px;
    font-size: 16px;
    cursor: pointer;
    line-height: 16px;
    transition: background-color 0.3s;
}
.custom-form input[type="submit"]:hover{
    opacity: 0.6;
}
.wpb_map_wraper iframe {
  border: 0;
  border-radius: 20px;
  filter: grayscale(1) brightness(1.1) contrast(1.2) hue-rotate(210deg) saturate(3);
  pointer-events: none; /* opcional */
}

.custom-form input[type="submit"]:hover {
  background-color: #2a2960;
}

.single-post .menu-nav{
    background-color: transparent;
    position: absolute;
}

.footer-logo{
    width: 217px;
    height: 102px;
}
.footer-info{
    width: 100%;
    height: auto;
    display: flex;
    justify-content: space-between;
}
footer p, footer a{
    color: #FAFCFF;
    font-family: 'Arial';
}
.footer-copy{
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 124px;    
    font-family: 'Arial';
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
}
.footer-id{
    display: flex;
    justify-content: flex-start;
    gap: 139px;
    width: 100%;
    max-width: 572px;
    height: auto;
}
.footer-id p{
    font-size: 16px;
    font-weight: 700;
    line-height: 20px;
}
.footer-id a{
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    text-decoration: none;
}
.footer-id-loc{
    max-width: 216px;
}
.footer-id-cont{
    max-width: 217px;
    height: auto;
}
#footer-loc-label{
    padding-bottom: 10px;
}
#footer-cont-label{
    padding-bottom: 10px;
}

/*SINGLE POST*/
.menu-nav-single-post{
    background-color: transparent !important;
}
.header-single-post{
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 80vh;
    width: 100%;
    position: relative;
}
.post-hero{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 64%;
    width: 100%;
}
.post-hero h1{
    font-family: 'Archivo';
    font-size: 72px;
    font-weight: 400;
    letter-spacing: -2%;
    text-align: center  ;
    color: #05013B;
}
article {
    display: flex;
    align-items: stretch;
    width: 100%;
    padding: 80px 20px 120px;
}
.post-content{
    flex: 1;
    height: auto;
    font-family: 'Arial';
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    color: #05013B;
    text-align: left;
}
.author-info .author-name{
    font-family: 'Arial';
    font-weight: 700;
    font-style: Bold;
    font-size: 16px;
    line-height: 20px;
    letter-spacing: 0px;
    color: #050238;
    margin: 15px 0px 5px 0px;
}
.author-info .author-categoria .team-category{
    font-family: 'Arial';
    font-weight: 400;
    font-style: Regular;
    font-size: 16px;
    line-height: 20px;
    letter-spacing: 0px;
    color: #A2A0BF;
}



.article-author .author-image {
    width: 215px;
    border-radius: 20px;
}
.author-and-social{
    flex: 1;
    display: flex;
    align-items: flex-end; 
    flex-direction: column;
    justify-content: space-between;
    gap: 10px;
}
.autor-info strong{
    font-family: 'Arial';
    font-size: 16px;
    font-weight: 700;
    line-height: 20px;
    color: #05013B;
}
.autor-info p{
    font-family: 'Arial';
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    color: #9D9AC0;
}
.shares {
    display: flex;
    justify-content: space-between;
}
.share-article p{
    font-family: 'Arial';
    font-size: 18px;
    font-weight: 700;
    line-height: 20px;
    color: #9D9AC0;
    padding-bottom: 10px;
}
.post-content p{
    margin-bottom: 10px;
}
.share-article {
    margin-top: 100px;
}
.share-article a{
    text-decoration: none;
    color: none;
}

.voltar-button {
    padding-left: 20px;
    text-decoration: none;
    font-family: 'Arial';
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    padding-top: 15px;
    position: absolute;
    top: 25%;
}

.single-post .site-logo img{
    width: 130px;
}

.voltar-button a{
    color: #05013B;
    text-decoration: none;
}


.pol h1{
    font-family: 'Archivo', monospace;
    font-size: clamp(25px,40px,50px);
    line-height: clamp(25px,40px,50px);
    color: #050238;
    margin-bottom:40px !important ;
    margin-top: 40px;
}

.pol p, .pol ol li{
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 20px;
    margin-bottom: 10px !important;
    font-weight: 400;
    color: #050238;
    width: 50%;
    max-width: 100%;
}

.pol a{
   font-weight: 700;
}

.pol ol strong{
    color: #050238;
    font-size: clamp(17px,20px,25px);
}

.pol{
    margin-bottom: 40px;
}

.pol ol{
    padding-left: 15px;
}

.pol strong{
    width: 300px;
    display: flex;
}


.ace .wpcf7-list-item-label {
    font-size: 10px;
    font-family: 'Arial',monospace;
    color: #9D9AC0;
}

/*Media Query*/
/*mobile*/

@media (max-width: 1500px) {
.pol p{
    width: 95%;
}

  .cards-grid {
    grid-template-columns: repeat(3, 1fr);
  }

.leia-mais-conteudo {
    font-size: 7rem;
    line-height: 1;
}
  .grid-artigos-leia-mais {
    grid-template-columns: repeat(2, 1fr);
  }

.vc_tta-title-text{
    width: 90%;
    max-width: 100%;
    display: flex;
}
  
}

@media (max-width: 1405px) {
    .hero-1-button p:first-of-type {
      font-size: 24px;
      line-height: 32px;
    }

      .hero-1-button p:nth-of-type(2) {
      font-size: 48px;
      line-height: 56px;
    }
}


@media (max-width: 1200px) {
.especializacao-title p {
    font-family: 'Archivo';
    font-size: 55px;
    font-weight: 400;
    line-height: 63px;
    color: #05013B;
}

.hero-2-title {
    font-family: 'Archivo';
    font-size: 67px;
    line-height: 80px;
    font-weight: 400;
    padding-right: 20px;
    margin: 0px !important;
    color: #05013B;
}

.team-card .card-pic img {
    border-radius: 20px;
    aspect-ratio: 3/3;
    width: 217px;
    height: 100%;
    object-fit: cover;
}

  .cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 1058px) {
.desc-text-1{
    text-align: left;
}

.hero-2-title {
    font-family: 'Archivo';
    font-size: 53px;
    line-height: 59px;
    font-weight: 400;
    padding-right: 20px;
    margin: 0px !important;
    color: #05013B;
}

.team-right-text-1, .equipa-title h1 {
    font-size: 50px;
    line-height: 54px;
}


    .hero-1-button p:first-of-type {
      font-size: 16px;
      line-height: 22px;
    }

.hero-1-button p:nth-of-type(2){
    font-family: 'Archivo';
    font-size: clamp(32px, 6vw, 72px);
    line-height: clamp(40px, 7vw, 80px);
    font-weight: 400;
}

}

@media  screen and (max-width: 1016px){
.form-submit .wpcf7-list-item label {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
}

.hero-2-title {
    font-size: 45px;
    line-height: 45px;
}

    .acordeao{
        display: block !important;
    }

.open .site-logo img {
 z-index: 9999999999;
 position: relative;
    filter: brightness(0) invert(1);
}

 .main-navigation {
    position: fixed;
    top: 0;
    left: 0;
    max-width: 100%;
    width: 100vw;
    height: 100vh;
    background-color: #05013BF2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    transform: translateY(-100%);
    transition: transform 0.3s ease;
    z-index: 999;
  }
  #main-menu{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }


  .main-navigation.open {
    transform: translateY(0);
  }

  .main-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: center;
  }

  .main-navigation li {
    margin: 0.5rem 0;
  }

  .main-navigation a {
    color: white;
    font-size: 1.5rem;
    text-decoration: none;
  }

  .menu-toggle {
    position: relative;
    z-index: 1000; /* Fica acima do menu */
    display: block;
    background: none;
    border: none;
    font-size: 2rem;
    color: #05013B;
    cursor: pointer;
  }
#main-menu {
    display: flex;
    flex-direction: column;
    width: 100%;
    align-items: self-start;
    gap: 50px;
    justify-content: center;
    text-align: left;
    padding-right: 20px;
    padding: 20px;
}
#main-menu a {
    font-size: 36px;
    line-height: 36px;
}
header.menu-nav {
  position: relative;
  z-index: 1000;
}

/* Botão hamburguer */
.menu-toggle {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 1001;
  background: none;
  border: none;
  cursor: pointer;
  width: 30px;
  height: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 0;
}

.menu-toggle .bar {
  display: block;
  width: 100%;
  height: 3px;
  background-color: #05013b;
  transition: 0.3s ease;
}
.open .menu-toggle .bar {
    display: block;
    width: 100%;
    height: 3px;
    background-color: #fafcff;
    transition: 0.3s ease;
}
/* Animação X */
.menu-toggle.open .bar:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}
.menu-toggle.open .bar:nth-child(2) {
  opacity: 0;
}
.menu-toggle.open .bar:nth-child(3) {
    transform: rotate(-45deg) translate(10px, -10px);
}

/* Menu lateral deslizante */
.main-navigation {
  position: fixed;
  top: 0;
  right: 0;
  width: 100vw; /* Deixa 100px do lado esquerdo */
  height: 100vh;
  background-color: #05013b;
  transform: translateX(100%);
  transition: transform 0.4s ease;
  z-index: 999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2rem;
}

.contacts-page-title p {
    font-size: 58px;
   
}

.forms-text-container {
    gap: 60px;
}

.hero-3-title p {
    font-family: 'Archivo';
    font-size: 50px;
    font-weight: 400;
    color: #05013B;
    text-indent: 16%;
    line-height: 60px;
}

.hero-4-text-2 p {
    font-family: 'Archivo';
    font-size: 40px;
    line-height: 58px;
    font-weight: 400;
    color: #05013B;
    display: flex;
    flex-direction: row-reverse;
}

.leia-mais-conteudo {
    font-size: 6rem;
    line-height: 1;
}

.footer-logo {
    width: 128px;
    height: auto; 
}


.equipa-title h1 {
    font-family: 'Archivo';
    font-size: 65px;
    font-weight: 400;
    line-height: 69px;
    color: #05013B;
    position: sticky;
    top: 20vh !important;
}

.team-right-text-1 {
    font-family: 'Archivo';
    font-size: 65px;
    font-weight: 400;
    color: #05013B;
    letter-spacing: -0.04rem;
    line-height: 69px;
}

.contacts-page-title p {
    font-size: 53px;
    line-height: 56px;
}

.ultima-noticias h6{
    font-size: 65px;
    line-height: 69px;
}

.especializacao-title p {
    font-family: 'Archivo';
    font-size: 40px;
    font-weight: 400;
    line-height: 46px;
    color: #05013B;
    width: 100%;
    max-width: 100%;
}

#desc-text-col {
    padding-top: 358px;
    max-width: 290px;
    max-height: 222px;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 19px;
}

.vc_tta-panel-title {
    font-family: 'Archivo';
    font-size: 24px;
    font-weight: 400;
    line-height: 50px;
    letter-spacing: -4%;
    background-color: #FAFCFF!important;
    border: none !important;
}

#desc-text-col {
    padding-top: 100px;
    max-width: 290px;
    max-height: 222px;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 19px;
}

.news-page-title h1 {
    font-family: 'Archivo';
    font-size: 65px;
    font-weight: 400;
    line-height: 80px;
    color: #05013B;
}
}




     /*main page*/
@media screen and (max-width: 768px) {
.custom-form .form-row{
    flex-direction: column;
}

.ace{
    margin: 0px !important;
}

.form-submit .wpcf7-list-item-label {
    font-family: 'Arial';
    font-size: 10px;
    font-weight: 400;
    color: #9D9AC0;
    margin-bottom: 40px;
}

.post-hero h1 {
    font-family: 'Archivo';
    font-size: 60px;
    font-weight: 400;
    letter-spacing: -2%;
    text-align: center;
    color: #05013B;
}

.forms-text-container{
    flex-direction: column;
    gap: 0px;
}

.custom-form .form-row p{
    flex-direction: column;
    gap: 0px;
}

.footer-id {
    display: flex;
    justify-content: flex-start;
    gap: 87px;
    width: 100%;
    max-width: 572px;
    height: auto;
}

.coluna-meio{
    margin-top: 20px;
}

    a.btn-ajuda span {
    font-size: 3.5vw;
    line-height: 4.6vw;

}

    .main-page-title h1 {
    font-size: 70px;
    line-height: 76px;
}


    .grelha-artigos {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

    .hero-2-small-text{
        padding-left: 0px;
        font-size: 30px;
    }
    .hero-2-title{
        font-size: 40px;
        padding-right: 0px;
    }

    .leia-mais-conteudo {
    font-size: 5rem;
    line-height: 1;
}

.footer-copy {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 124px;
    font-family: 'Arial';
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    flex-direction: column;
}

    .hero-3-title p {
        font-size: 49px;
    }

    .hero-4-text-1 p {
        font-size: 32px;
        line-height: 44px;
    }
    .footer-id{
        padding-left: 80px;
    }
    .equipa-title h1,.team-right-text-1  {
    font-size: 76px;
    line-height: 92px;
    }

    .equipa-title-container, .equipa-title h1 {
position: static !important;
margin-bottom: 50px !important;
    }

 .team-right-text-1 {
    font-size: 46px;
    line-height: 56px;
}

    .text-zone-team-page{
        display: flex;
        flex-direction: column;
    }

    #desc-text-col{
        padding-top: 0px;
        padding-bottom: 40px;
        max-width: 100%;
        max-height: 100%;
        position: relative;
        left: 0px;    
    }
    .desc-text-3 {
        position: unset;
    }
    .acordeao-text-container .vc_col-sm-6 {
        width: 100%;
    }
    .acordeao{
        padding-bottom: 60px;
    }
    .grid-news-container select{
    border: solid 1px #05013B !important;
    border-radius: 10px !important;
    color: #05013B !important;
}
.vc_grid-filter-dropdown .vc_grid-styled-select, .vc_grid-filter-select .vc_grid-styled-select{
        border: none !important;
        overflow:visible !important;

}
.contacts-page-title p {
    font-size: 48px;}


    .map-container {
        padding-top: 80px;
        padding-bottom: 80px;
    }
.contacts-data-container{
    padding-left: 30px !important;
}
.news-page-title h1 {
    line-height: 76px;
    font-size: 70px;
}

  .custom-form .form-row br{
    display: none;
  }
}

@media (max-width: 600px) {
.post-hero h1 {
    font-family: 'Archivo';
    font-size: 40px;
    font-weight: 400;
    letter-spacing: -2%;
    text-align: center;
    color: #05013B;
}

.ultima-noticias h6 {
    font-size: 53px;
    line-height: 65px;
    margin-top: 30px;
}

.author-and-social{
    align-items: flex-start;
}

.equipa-title-container, .equipa-title h1 {
    position: static !important;
     margin-bottom: 0px !important; 
}

.artigo-autor {
    display: flex;
    gap: 10px;
    flex-direction: column;
}

    .hero-1{
        width: 100%;
        display: block;
    }
.leia-mais-conteudo {
    font-size: 4rem;
    line-height: 1;
}
    .main-page-title-container{
    max-width: 1000px;
    width: 100%;
    margin: 0px;
    padding-top: 30px;
    padding-bottom: 20px;
    padding-left: 20px;
    padding-right: 20px;
}
.vc_tta-panel-title i {
    width: 20px !important;
    height: 20px !important;
}
.vc_tta-panel-title {
    font-size: 20px;
    line-height: 30px;
}
.footer-logo {
    margin-bottom: 60px;
}
 

.site-logo img {
    width: 217px;
    height: auto;
    transition: width 0.3s ease, height 0.3s ease, filter 0.3s ease;
    filter: none;
}

.open .site-logo img {
    width: 130px;
    height: auto;
    filter: brightness(0) invert(1); /* aproxima do branco */
}
.site-branding {
    z-index: 3333;
    position: relative;
    max-width: 250px;
}

html.open{
    height: 100vh;
    overflow: hidden;
}

header.menu-nav {
    height: 145px;
}
.main-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: center;
}

.main-navigation li {
  margin: 0.5rem 0;
}

.main-navigation a {
  color: white;
  font-size: 1.5rem;
  text-decoration: none;
}

/* Botão "Contactos" */
#menu-item-20 .open .site-logo img{
  background-color: #FAFCFF;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#menu-item-20 a {
  color: #05013B;
}



.botao-site img{
    width: 20px;
}
.main-page-title h1, .equipa-title h1, .team-right-text-1, .team-right-text-3,
.especializacao-title p, .desc-text-1, .contacts-page-title p{
    font-size: 40px;
    text-align: left;
    font-family: 'Archivo';
    font-weight: 400;
    line-height: 46px;
    text-align: left;
    color: #050238;
}
.hero-1-img img{
    height: 25vh !important;
    object-fit: cover;
    object-position: center;
}
a.btn-ajuda {
height: auto;
min-height: 15vh;
}
a.btn-ajuda p {
    font-size: 26px;
    line-height: 30px;
}
a.btn-ajuda span {
    font-size: 46px;
    line-height: 50px;
    margin-top: 50px;
}
    .hero-1-img-button-container{
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap:20px;
    padding-left: 20px;
    padding-right: 20px;
}
.hero-1-button p:first-of-type{
    font-family: 'Archivo';
    font-size: 20px;
    line-height: 22px;
    font-weight: 400;
    padding-top: 10px;
}
.hero-1-button p:nth-of-type(2){
    font-family: 'Archivo';
    font-size: 32px;
    line-height: 40px;
    font-weight: 400;
    padding-bottom: 10px;
}
.hero-2-main-container{
    padding-top: 30px;
}
.hero-2-main-container .vc_col-sm-4{
    max-width: 100%;
    width: 100%;
}
.hero-2-main-container .vc_col-sm-8{
    max-width: 100%;
    width: 100%;
}
.hero-2-small-text {
    font-size: 26px;
    line-height: 26px;
    padding-left: 0px;
}
.hero-2-title {
    font-size: 40px;
    line-height: 46px;
    padding-top: 20px;
    padding-right: 20px;
}
.coluna-meio.vc_col-sm-4 {
    position: absolute;
}
.hero-2-title p{
width: 100%;
}
.hero-2-explanation{
    padding-top:20px;
    padding-right: 0px;
    text-align: justify;
}
.hero-2-text-button-container{
    padding-top:50px;
    flex-direction: column;
}
.num, .numtext{
    padding-left: 0px;
}
.hero-2-button p{
    width: 100%;
    position:relative;
    margin-top: 20px;
}
.hero-3-title{
    padding-top: 10px;
}
.hero-3-title p {
    text-align: left;
    font-size: 40px;
    line-height: 46px;
    text-indent: 0;
}
.hero-4-text-2 p {
    display: block;
    font-size: 40px;
    padding: 0 !important;
    padding-top: 40px !important;
    line-height: 46px;
    text-align: center;
}
.hero-4-text-1 p {
    font-size: 26px;
    line-height: 26px;
}
.artigos-grid-ler {
    margin: 50px 0px;
}
.hero-3-coluna {
    margin: 100px 0px 20px 0px !important;
}
.grid-artigos-leia-mais {
    width: 100%;
    grid: 25px;
    max-width: 100%;
    margin-left: 0;
    padding: 0 0px;
    box-sizing: border-box;
}
.grid-artigos-leia-mais {
    grid-template-columns: 1fr;
}

.hero-3-button .wpb_wrapper, .hero-3-button p{
    width: 100%;
}
.hero-4-text-2{
    display: block;
}

.hero-4-button-grid-container{
    padding-top: 50px;
    flex-direction: column;
}
.hero-4-button-grid-container .wpb_single_image img {
    width: 100%;
}
.hero-4-button {
    width: 100%;
}
.team-card {
    width: 100%;
}
.equipa-title-container {
    position: relative !important;
}
.team-text-left p {
    font-size: 26px;
    line-height: 30px;
}
.grid-equipe-container .wpb_wrapper h2 {
    font-size: 20px;
    line-height: 30px;
    text-align: left;
}
.cards-grid {
    grid-template-columns: 1fr;
}
.title-grid-container {
    display: block;
    padding-left: 0px;
    padding-right: 0px;
    background-color: #FAFCFF;
}
.equipa-title {
    padding-bottom: 50px !important;
}
.cards-group {
    margin-bottom: 100px;
    background-color: #fafcff;
}
.team-card{
    margin: auto;
}
.section-title{
    text-align: center;
}
.text-zone-team-page {
    display: block;
    padding-top: 50px;
}
.team-text-left p {
    text-align: center;
}
.team-right-text-container {
    padding-top: 40px;  
}

.team-right-text-2 {
    padding-bottom:20px;
    padding-top: 40px;
    text-align: justify;
}
.leia-mais {
    padding: 30px;
}
/*especializações*/
.especializacao-title-container {
    padding-top: 35px;
}

.acordeao {
    padding-top: 20px;
    padding-bottom: 80px;
}
#desc-text-col {
    position: relative;
    height: fit-content;
    right: 0px;
    padding-top: 0px;
    padding-bottom: 120px;
    max-height: 100%;
}
.desc-text-3{
    position: relative;
    width: 100%;
} 
.desc-text-2 {
    padding-top: 30px;
    padding-bottom: 40px;
    text-align: justify;
}
/*news*/
.news-page-title-container {
    padding-top: 50px;
}
.news-page-title h1 {
    font-size: 58px;
    line-height: 80px;
    text-align: center;
}
.grid-news-container {
    padding-top: 50px;
}
.grid-news-container select{
    border: solid 1px #05013B;
    border-radius: 10px;
    color: #05013B;
}
    article {
        display: block;
    }
    .author-and-social {
        gap: 20px;
        padding-top: 30px;
    }
    .post-content {
        text-align: justify;
    }
/*contactos*/
.forms-text-container {
    padding-top: 60px;
    flex-direction: column;
}

.contacts-data-container{
    padding: 0px !important;
}
#main-menu .current-menu-item > a::before {
    display: none;
}
.map-container {
    padding-top: 80px;
    padding-bottom: 80px;
}
.numtext {
    font-size: 30px;
    line-height: 40px;
}
.froholdt {
    margin: 50px 0px;
}
/*footer*/
footer{
    padding: 20px 20px 15px 20px !important;
}
.footer-info{
    display: block;
}
.footer-id {
    padding-top: 20px;
    justify-content: flex-start;
    gap: 10vw;
    padding-bottom: 20px;
    padding-left: 0px !important;
    flex-direction: column;
}
.footer-copy{
    padding: 0px;
    font-size: 13px;
    margin: 25px 0px;
   
}


.footer-id a {
    font-size: 14px;
}
.footer-id p {
    font-size: 14px;
}


}


@media (max-width: 400px) {
.post-hero h1 {
    font-family: 'Archivo';
    font-size: 35px;
    font-weight: 400;
    letter-spacing: -2%;
    text-align: center;
    color: #05013B;
}

.vc_tta-title-text {
    width: 80%;
    max-width: 100%;
    display: flex;
}

.num {
    font-family: 'Archivo';
    font-size: 70px;
    font-weight: 400;
    line-height: 132px;
    color: #05013B;
}

    .news-page-title h1 {
    font-size: 43px;
    line-height: 55px;
    text-align: center;
}

.especializacao-title p{
    font-size: 20px;
    line-height: 30px;
}

footer a{
    text-align: center;
}

.hero-2-title {
    font-size: 32px;
    line-height: 46px;
    padding-top: 20px;
    padding-right: 20px;
}
}
