		@font-face {
			font-family: 'KeedySans';
			/*src: url('../fonts/Keedy Sans Regular.ttf') format('opentype');*/
			src: url('../fonts/Keedy Sans Regular.ttf') format('opentype');
		}

		html, body {
			height: 100%;
			margin: 0;
			font-family: "KeedySans", sans-serif;
			scroll-behavior: smooth;
		}
		
		.nav-link{
			color: #104826 !important;
			font-weight: 600;
			text-transform: uppercase;
			margin-right: 15px;
			font-size: 16px;
		}
		 .nav-link:hover,
			.nav-link.active {
				color: #99c22f !important;
		}
		
section {
            padding: 0; /* Remove o padding que empurrava o conteúdo para baixo */
    min-height: 100vh;
    display: flex;
    flex-direction: column; /* Garante que o container alinhe ao topo */
    align-items: center;
    justify-content: flex-start;
        }
        .hero {
            background: #f8f9fa;
            height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
        }
       



/* Botão voltar ao topo */
#backToTop {
    position: fixed;
    bottom: 30px;
    right: 30px;
    background-color: green;
    color: white;
    border: none;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display: none;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    transition: transform 0.3s ease;
    z-index: 999;
}
#backToTop:hover {
    background-color: #0a7a0a;
    transform: scale(1.1);
}

.lang-box {
    background: #99c22f;
    padding: 6px 12px;
    border-radius: 8px;
    min-width: 70px;
}

.lang-link {
    color: #104826;
    font-weight: 600;
    text-decoration: none;
	transition: 0.3s;
    cursor: pointer;
}

.lang-selected {
    color: yellow !important; /* A cor verde que definiu */
    font-weight: bold !important;
}


.hero {
    /* Substitua pelo caminho real da sua imagem */
    background-image: url('../images/back/CECOLAB_Fundo_ClusterPortugueseCircularity_v2026.04.01_f-15.png');
    
    /* Garante que a imagem cubra toda a seção sem distorcer */
    background-size: cover;
    
    /* Centraliza a imagem (importante para mobile) */
    background-position: center;
    
    /* Impede que a imagem se repita */
    background-repeat: no-repeat;
    
    /* Define a altura como 100% da altura da janela de visualização (viewport height) */
    height: 120vh;
    width: 100%;
    
    /* Necessário para alinhar o conteúdo interno */
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    
    /* Adiciona um padding no topo para não ficar por baixo da navbar fixa (ajuste conforme a altura do seu logo) */
    padding-top: 100px; 
    
    /* Opcional: Adiciona uma leve sobreposição escura para melhorar a leitura do texto */
    position: relative;
}

/* Opcional: Camada de sobreposição (overlay) para contraste do texto */
.hero::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
    z-index: 1;
}

/* Garante que o conteúdo fique acima da sobreposição */
.hero .container {
    position: relative;
    z-index: 2;
    color: #124826;
    text-align: left;
	    margin-top: -15%;
}
.heroTitle{
	font-size:3.7rem;
}

#about{
	
	background-image: url('../images/back/CECOLAB_Fundo_ClusterPortugueseCircularity_v2026.04.01_f-16.png');
	background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
	min-height: 65vh;
    width: 100%;
}

#aboutTitle{
	color:white;
	font-size: clamp(2.5rem, 8vw, 3.7rem);
}
#aboutcol1{
	color:white;
	font-size:1.3rem;
	font-family: 'Lato Light', sans-serif;
}

#aboutcol2{
	color:white;
	font-size:1.3rem;
	font-family: 'Lato Light', sans-serif;
	font-weight: 600;
}

.abt-col-2 li{
	 font-size:1.3rem;
	     margin-bottom: 20px;
}

.abt-col-2{
	list-style: none;
    color: white;
	font-family: 'Lato Light', sans-serif;
	padding-left: 0;
	
}
.bloco {
	margin-right: 20px;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
}

/* IMAGEM */
.bloco-img {
width: 50px; /* Largura fixa para o icon */
    
    flex-shrink: 0;
    
    justify-content: center;
}

.bloco-img img {
    width: 80%; /* Ocupa os 60px definidos acima */
    height: auto; /* Mantém a proporção real */
}

/* TEXTO */
.bloco-texto {
    flex: 1;
}

/* A Secção em si */
.section-services-full {
    min-height: 100vh; /* Ocupa pelo menos a altura do ecrã */
    width: 100%;
    display: block !important; /* Remove o flex padrão para não alinhar a imagem como item */
    padding: 0 !important;
}

/* A Imagem Real */
.img-services-full {
    position: absolute; /* Sai do fluxo e ocupa todo o container */
    top: 0;
    left: 0;
    width: 100%; /* Força largura total */
    height: 100%; /* Força altura total da secção */
    
    /* A REGRA DE OURO: Faz a imagem caber sem distorcer e sem cortar excessivamente.
       Ela redimensiona a imagem para preencher a área, mantendo a proporção.
       Se a proporção for muito diferente, haverá um pequeno corte invisível nas bordas,
       mas a imagem principal aparecerá "toda" no espaço visível. */
    object-fit: fill; /* Use 'fill' se a sua imagem services.png for um padrão orgânico que não nota distorção leve. Use 'cover' se for uma foto real que não pode distorcer nada. */
    
    z-index: 1; /* Fica atrás do conteúdo */
}

/* O Conteúdo */
.container-services-content {
    position: relative;
    z-index: 2; /* Fica acima da imagem */
    padding-top: 50px; /* Espaço para a navbar fixa */
    color: white; /* Garante que o texto seja legível */
}

#servicesTitle{
	    color: #124826;
    font-size: clamp(2.5rem, 8vw, 3.7rem);
}

.card {
  /*box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);*/
  transition: all 0.2s ease-in-out;
  box-sizing: border-box;
  margin-top:10px;
  margin-bottom:10px;
  background-color:#FFF;
  border:none;
}

.card:hover {
  box-shadow: 0 5px 5px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23);
}
.card > .card-inner {
  padding:10px;
}
.card .header h2, h3 {
  margin-bottom: 0px;
  margin-top:0px;
}
.card .header {
  margin-bottom:5px;
}
.card img{
  width:100%;
  border-radius:25px;
}

#card1title{
	        font-size: 1.3rem;
    color: #104826 !important;
}
#card1subtitle{
	   font-size: 1.2rem;
    color: #104826 !important;
    text-align: left;
    font-family: 'Lato Light', sans-serif;
	
	
}

#card2title{
	        font-size: 1.3rem;
    color: #104826 !important;
}
#card2subtitle{
	   font-size: 1.2rem;
    color: #104826 !important;
    text-align: left;
    font-family: Lato Light, sans-serif;
	
	
}

#card3title{
	 font-size: 1.3rem;
    color: #104826 !important;
}
#card3subtitle{
	font-size: 1.2rem;
    color: #104826 !important;
    text-align: left;
    font-family: Lato Light, sans-serif;
	
	
}

#atividadesTitle{
	color: white;
    font-size: clamp(2.5rem, 8vw, 3.7rem);
}

.mySwiper {
    width: 100%;
    max-width: 1000px;
    margin: auto;
}

.swiper-slide {
    text-align: center;
}

.swiper-slide img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    border-radius: 10px;
}

.slide-text {
    padding: 20px;
}

.slide-text h5 {
    font-size: 1.6rem;
    font-weight: 600;
}

.slide-text p {
    font-size: 1rem;
    line-height: 1.6;
}

.roman-list {
    margin-top: 15px;
    text-align: left;
}

.roman-list li {
    margin-bottom: 6px;
}

.swiper-button-next::after,
.swiper-button-prev::after {
    display: none;
}

.swiper-button-next img,
.swiper-button-prev img {
    width: 40px;
    height: auto;
}

.swiper-button-next,
.swiper-button-prev {
    width: auto;
}

.swiper-pagination-bullet{
	background-color: white;
}

#membrosTitle{
	color: #124826;
    font-size: clamp(2.5rem, 8vw, 3.7rem);
}

.cardsSwiper {
    width: 100%;
    padding: 40px 0;
}

.card-swiper {
        background: #104826;
    border-radius: 10px;
    overflow: hidden;
    text-align: center;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
    padding: 15px;
}

.card-swiper h4 {
    font-size: 1.2rem;
    margin-bottom: 15px;
}

.card-swiper img {
    width: 90%;
    height: 180px;
    object-fit: contain;
    border-radius: 8px;
	    background: white;
}

#newMembersTitle{
	font-size: clamp(2.5rem, 8vw, 3.7rem);
	color:white;
	    margin-left: 3%;
		margin-bottom: 3%;
}

.imgupload.ok{
display:none;
color:green;
}
.imgupload.stop{
display:none;
color:red;
}


/*this sets the actual file input to overlay our button*/ 
#fileup{
opacity: 0;
-moz-opacity: 0;
filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
width:200px;
cursor: pointer;
position:absolute;
left: 50%;
transform: translateX(-50%);
bottom: 40px;
height: 50px;
}

/*switch between input and not active input*/
#submitbtn{
  padding:5px 50px;
  display:none;
      width: 100%;
    height: 60px;
    border-radius: 25px;
    font-size: 2rem;
}
#fakebtn{
  padding:5px 40px;
}

.imgupload{
color:#1E2832;
padding-top:40px;
font-size:7em;
    text-align: center;
	
}
#namefile{
color:black;
}

.btn-container{
background:#fff;
border-radius:25px;
padding-bottom:20px;
margin-bottom:20px;
text-align: center;
margin-left: 15%;
}

.btn-primary{
color: #ffffff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #124826 !important;
border-color: #124826 !important;
width: 75%;
}

.form-group {
    margin-bottom: 1.5rem;
    width: 100%;
	margin-top: 5%;
}

.form-input {
    width: 100%;
    padding: 1rem 1.2rem;
    background-color: white;
    border: none;
    border-radius: 50px;
    font-size: 1.1rem;
    font-family: "Acumin Variable Concept", sans-serif;
    color: var(--blue);
    outline: none;
    transition: box-shadow 0.2s;
	color: #99D421;
}

.form-input::placeholder {
    color: var(--blue);
    opacity: 0.8;
    font-weight: 500;
}

.form-input:focus {
    box-shadow: 0 0 0 3px rgba(255,255,255,0.3);
}

#fileup {
    display: none;
}

#submitbtn {
    position: relative;
    z-index: 10;
}

.btn-form-sub {
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-color: #99D421 !important;
    border-color: #99D421 !important;
    width: 50%;
}

.contact-img-iap{
text-align: end;
}

.contact-img-insta{
text-align: end;
} 

.contact-img-icon{
	        width: 15%;
}
.contact-img{
	width:30%;
}

.contact-p{
	    font-family: "KeedySans", sans-serif;
    color: white;
    font-size: 1rem;
	margin-top: 4%;
}

#gestentTitle{
color: #124826;
    font-size: clamp(2.5rem, 8vw, 3.7rem);
	margin-top: 50px;
}
#contactTitle{
	font-size: clamp(2.5rem, 8vw, 3.7rem);
}

.section-contact-full {
    min-height: 80vh;
    width: 100%;
    display: block !important;
    padding: 0 !important;
}
.img-entgest-mobile{
	width: 65%;
}

.entgest-content{
	    display: flex;
    justify-content: center;
    align-items: center;
}

@media (max-width: 768px) {
.hero {
        /* 1. Mantenha 'background-size: cover' para preencher a área */
		background-image: url('../images/back/CECOLAB_FundosSite_ClusterPortugueseCircularity_v2026.03.19-01_mobile.png');
        background-size: cover;

        height: 50vh; 
        min-height: 250px; /* Garante que não fique muito pequeno em telas minúsculas */

        }

    .hero h1 {
                font-size: 2rem;
    }
	
	.hero .container {
    position: relative;
    z-index: 2;
    color: #124826;
    text-align: left;
    
}


#aboutcol1, #aboutcol2 {
        font-size: 1.1rem;
        text-align: justify;
    }
	
.bloco-texto{
	font-size: 1.1rem;
        text-align: justify;
}

.swiper-slide img {
        height: 260px;
    }

    .slide-text h5 {
        font-size: 1.2rem;
    }

    .slide-text p {
        font-size: 0.9rem;
    }
	
	.swiper-button-next img, .swiper-button-prev img {
    display:none;
}

#inscricaoForm{
	margin-right: 55px;
}

#newMemberFormTitle{
	margin-left: 15px;
}

.form-group {
    margin-bottom: 1.5rem;
    width: 100%;
    margin-top: 5%;
    margin-left: 15px;
}

.contact-img-iap
 {
    text-align: center;
}
.contact-img-clusters{
	text-align: center;
}
.contact-img-insta {
    text-align: end;
}

.img-services-mobile {
        /* 1. Mantenha 'background-size: cover' para preencher a área */
		background-image: url('../images/back/CECOLAB_FundoMobile_ClusterPortugueseCircularity_v2026.03.25-mobile-07.png');
        background-size: cover;

        height: 50vh; 
        min-height: 250px; /* Garante que não fique muito pequeno em telas minúsculas */
		display: none;
        }
		
.img-projects-mobile {
        /* 1. Mantenha 'background-size: cover' para preencher a área */
		background-image: url('../images/back/CECOLAB_FundoMobile_ClusterPortugueseCircularity_v2026.03.25-mobile-08.png');
        background-size: cover;

        height: 50vh; 
        min-height: 250px; /* Garante que não fique muito pequeno em telas minúsculas */
		display: none;
        }
.img-associados-mobile {
        /* 1. Mantenha 'background-size: cover' para preencher a área */
		background-image: url('../images/back/CECOLAB_FundoMobile_ClusterPortugueseCircularity_v2026.03.25-mobile-09.png');
        background-size: cover;

        height: 50vh; 
        min-height: 250px; /* Garante que não fique muito pequeno em telas minúsculas */
		display: none;
        }
		
.img-contacts-mobile {
			display: none;
		
        }

#contact{
	background-color:#124826;
	        background-color: #124826;
        border-radius: 25px;
        margin-top: 2%;
        height: 100vh;
}

.contact-img {
    width: 50%;
}

.contact-img-icon {
    width: 7%;
}
.contact-p {
    font-family: "KeedySans", sans-serif;
    color: white;
    font-size: 1rem;
    margin-top: 4%;
}

#gestoras{
	background-color:lightgrey;
}

.img-entgest-mobile{
	width: 75%;
    margin-left: 11%;
}
.img-entgest-mobile-margin{
	    margin-top: 10%;
}

}
