@import url(clash-display.css);

:root{
    --c-dark: #212529;
    --c-brand: #D3A01F;
    --c-brand-light: #D3A01F;
    --c-brand-rgb: 78, 87, 212;
    --c-body: #727272;
    --font-base: "ClashDisplay", sans-serif;
    --box-shadow: 0px 15px 25px rgba(0,0,0,0.08);
    --transition:all 0.5s ease;
}

body{
    font-family: var(--font-base);
    line-height: 1.7;
    color: var(--c-body);
    background-color: var(--c-dark);
    max-width: 1920px; /* Define um limite máximo de largura */
}

h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.h4,.h5,.h6{
    font-weight: 600;
}

a{
    text-decoration: none;
    color: var(--c-brand);
    transition: var(--transition);
}

a:hover{
    color: var(--c-brand-light);
}





  /* mainpage */

  .gradient-text {
    background: linear-gradient(to right, #D3A01F, white);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-decoration: none; /* Evita sublinhado no link */
    display: inline-block;
}




img{
    max-width: 100%;
    height: auto;
}

.section-padding{
    padding-top: 140px;
    padding-bottom: 140px;
}

.navbar{
    box-shadow: var(--box-shadow);
    background-color: var(--c-dark) !important;
}


.navbar-nav .nav-link {
  font-weight: 500;
  color: white;
  text-align: center;
  position: relative; /* Necessário para posicionar o ::after */
  text-decoration: none; /* Remove sublinhado padrão */
  transition: color 0.3s ease-in-out; /* Transição de cor opcional */
}

.navbar-nav .nav-link::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0; /* Começa sem largura */
  height: 2px; /* Altura do sublinhado */
  background-color: var(--c-brand); /* Cor do sublinhado */
  transition: width 0.3s ease-in-out; /* Animação do sublinhado */
}

.navbar-nav .nav-link:hover::after {
  width: 100%; /* Aumenta a largura ao passar o mouse */
}

.navbar-nav .nav-link:hover {
  color: var(--c-brand); /* Opcional: altera a cor do texto no hover */
}

.nav-link i {
  font-size: 18px; /* Ajusta o tamanho do ícone */
  margin-right: 5px; /* Espaço entre o ícone e o texto */
}

.nav-link:hover i {
  color: #ffffff; /* Altera a cor do ícone no hover */
}

.navbar-brand img {
  max-height: 50px; /* Ajusta para o tamanho desejado */
  max-width: auto; /* Mantém a proporção original */
  object-fit: contain; /* Garante que a imagem não distorça */
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-toggler {
  border-color: rgba(255, 255, 255, 1);
}

.navbar-toggler:hover {
  background-color: rgba(255, 255, 255, 0.1);
}


.btn{
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    border-radius: 15px;
    padding: 10px 24px;
}

.btn-brand{
    background-color: var(--c-brand);
    border-color: var(--c-brand);
    color:white;
}

.btn-galery{
  background-color: var(--c-brand);
  border-color: var(--c-brand);
  color:white;
  
}

.btn-brand:hover{
    background-color: var(--c-brand-light);
    border-color: var(--c-brand-light);
    color:white;
}

#hero{
    background: linear-gradient(rgba(0,0,0,0.507),rgba(0,0,0,0.438)), url(fotomain.JPG);
    background-position: center;
    background-size: cover;
}

#hero h1 {
  color: var(--c-brand);
  position: relative;
  display: inline-block;
  cursor: pointer;
}

#hero h1::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 2px;
  background-color: var(--c-brand);
  transition: width 0.3s ease-in-out;
}

#hero h1:hover::after {
  width: 100%;
}
.nav-item.dropdown:hover .dropdown-menu {
  display: block;
  margin-top: 0; /* Remove o pequeno deslocamento padrão */
}

/* Configuração para telas menores */
@media (max-width: 768px) {
  .navbar-nav .dropdown-menu {
    position: static; /* Mantém o menu no fluxo da página */
    
    background-color: var(--c-dark); /* Harmoniza o design */
    border: none; /* Remove bordas */
    text-align: left; /* Alinha os itens ao lado esquerdo */
  }

  .navbar-nav .dropdown-menu.show {
    display: block; /* Exibe o menu ao clicar no ícone */
  }

  .dropdown-item {
    color: #ffffff; /* Cor dos links no menu dropdown */
    padding: 10px 20px; /* Aumenta a área clicável */
  }

  .dropdown-item:hover {
    background-color: var(--c-brand-light); /* Realce ao hover */
    color: white;
  }

  .dropdown-divider {
    border-color: var(--c-body); /* Harmoniza o divisor */
  }
}

/* Remove bordas arredondadas e ajusta cores do dropdown */
.navbar-nav .dropdown-menu {
  border-radius: 0px; /* Remove bordas arredondadas */
  background-color: var(--c-dark); /* Altera a cor de fundo */
  border: none; /* Remove a borda do menu */
  box-shadow: none; /* Remove sombras */
}

/* Estilo dos itens do dropdown */
.navbar-nav .dropdown-item {
  color: white; /* Altera a cor do texto */
  padding: 10px 20px; /* Ajusta o espaçamento */
  transition: background-color 0.3s ease-in-out; /* Suaviza a animação */
}

.navbar-nav .dropdown-item:hover {
  background-color: var(--c-brand); /* Realce ao passar o rato */
  color: white; /* Mantém a cor do texto */
}

/* Estilo do divisor */
.dropdown-divider {
  border-color: rgba(255, 255, 255, 0.2); /* Harmoniza com o tema */
}




@media (max-width: 992px) {
  #hero h1 {
      font-size: 2.5rem;
  }

  #hero h5 {
      font-size: 1rem;
  }

  #hero .btn {
      padding: 0.6rem 1.2rem;
      font-size: 0.9rem;
  }
}

@media (max-width: 768px) {
  #hero h1 {
      font-size: 2rem;
  }

  #hero h5 {
      font-size: 0.9rem;
  }

  #hero .btn {
      padding: 0.5rem 1rem;
      font-size: 0.8rem;
  }
}

@media (max-width: 576px) {
  #hero {
      padding: 1rem;
  }

  #hero h1 {
      font-size: 1.8rem;
  }

  #hero h5 {
      font-size: 0.8rem;
  }

  #hero .btn {
      padding: 0.4rem 0.8rem;
      font-size: 0.75rem;
  }

  #hero .btn-brand {
      margin-bottom: 1rem;
  }
}

.container7896 {
  height: auto; /* Altura ajustável */
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #e2e2e2;
  background-image: url('imagensvisualização/bgequipa.png');
  background-size: cover; /* A imagem vai cobrir toda a área */
  background-position: center; /* A imagem fica centralizada */
  background-attachment: fixed; /* A imagem não rola com a página */
}



.apprectangle {
  display: flex; /* Alinha os elementos lado a lado */
  justify-content: space-between; /* Espaço entre o 3D e o texto */
  align-items: center; /* Alinha verticalmente os itens ao centro */
  flex-wrap: wrap; /* Permite que os elementos "quebrem linha" em telas menores */
  
  height: auto; /* Ajusta a altura dinamicamente */
  background-color: #ffffff;
  border: 4px solid #ffffff;
  
  margin: 30px; /* Margem ao redor do retângulo */
  box-sizing: border-box;
  padding: 20px; /* Espaço interno */
}




.text-apprectangle {
  flex: 1; /* Ocupa metade do espaço restante */
  text-align: left; /* Alinha o texto à esquerda */
  padding-left: 20px;
  margin-top: 50px;
  margin-bottom: 50px;
  margin-right: 40px;
}


.text-apprectangle h5 {
  margin: 0;
  font-size: 20px;
}

.text-apprectangle p {
  font-size: 20px; /* Tamanho pequeno */
  color: var(--c-body); /* Cor de texto padrão */
  margin-top: 10px; /* Espaço entre o título e o texto */
  line-height: 1.5; /* Espaçamento entre linhas */
}

.container-fluid .row {
  margin: 0; /* Remove margens da row */
  --bs-gutter-y: 0; /* Remove o espaçamento vertical padrão do Bootstrap */
}

.container-fluid .row [class*="col"] {
  padding: 0; /* Remove o espaçamento entre colunas */
}

.container-fluid .row img {
  object-fit: cover;  /* Garante que a imagem preencha o espaço */
  height: 300px;      /* Altura fixa para uniformidade */
  width: 100%;        /* Garante que a largura ocupe o espaço total */
  display: block;     /* Remove espaços extras causados pelo comportamento inline */
  margin: 0;          /* Remove qualquer margem residual */
}

.text-center h2 {
  font-size: 3.5rem; /* Tamanho maior para o título */
  position: relative; /* Necessário para posicionar o pseudo-elemento */
  display: inline-block; /* Garante que o efeito ocupe apenas o tamanho do texto */
  color: white; /* Cor do texto no fundo escuro */
  cursor: pointer; /* Muda o cursor para indicar interatividade */
}

.text-center h2::after {
  content: ""; /* Cria o pseudo-elemento */
  position: absolute; /* Posicionamento relativo ao texto */
  bottom: 0; /* Coloca a linha abaixo do texto */
  left: 0; /* Começa do lado esquerdo */
  width: 0; /* Largura inicial é zero */
  height: 3px; /* Espessura do sublinhado */
  background-color: var(--c-brand); /* Cor do sublinhado */
  transition: var(--transition); /* Transição suave */
}

.text-center h2:hover::after {
  width: 100%; /* A linha cresce para 100% ao passar com o rato */
}

.text-center p {
  font-size: 1.25rem; /* Tamanho maior para o parágrafo */
}

@media (max-width: 768px) {
  .apprectangle {
    flex-direction: column; /* Elementos empilhados em telas menores */
    height: auto; /* Altura ajustável */
    padding: 15px;
  }

  .text-apprectangle {
    padding-left: 0;
    margin-right: 0;
    margin-bottom: 20px; /* Espaço entre o texto e o outro elemento */
    text-align: center; /* Centraliza o texto em telas menores */
  }

  .text-apprectangle p {
    font-size: 18px; /* Reduz o tamanho do texto */
  }
  .telemovelmockup{
    width: 60%; 
    height: 100%; 
    flex: 1;
    cursor: grab;
  }
}

@media (max-width: 480px) {
  .apprectangle {
    padding: 10px; /* Reduz o padding */
    margin: 15px; /* Reduz a margem */
  }

  .text-apprectangle h5 {
    font-size: 18px; /* Reduz o tamanho do título */
  }

  .text-apprectangle p {
    font-size: 16px; /* Reduz o tamanho do texto */
  }
  .telemovelmockup{
    width: 60%; 
    height: 100%; 
    flex: 1;
    cursor: grab;
  }
}

.card {
  width: 100%;
  max-width: 290px;
  height: 70px;
  background: #353535;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: left;
  backdrop-filter: blur(10px);
  transition: 0.5s ease-in-out;
}

.card:hover {
  cursor: pointer;
  transform: scale(1.05);
}

.imgcard {
  width: 50px;
  height: 50px;
  margin-left: 10px;
  border-radius: 10px;
  background: linear-gradient(#d7cfcf, #9198e5);
}

.card:hover > .img {
  transition: 0.5s ease-in-out;
  background: linear-gradient(#9198e5, #712020);
}

.textBox {
  width: calc(100% - 90px);
  margin-left: 10px;
  color: white;
  font-family: 'Poppins' sans-serif;
}

.textContent {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.span {
  font-size: 10px;
}

.h1 {
  font-size: 16px;
  font-weight: bold;
}

.p {
  font-size: 12px;
  font-weight: lighter;
}

.retanglepartners {
  background-color: #f5f5f5; /* Fundo claro */
  color: #f5f5f5;
  padding: 20px; /* Espaçamento interno */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sombra suave */
  text-align: center; /* Centralizar texto */
  margin: 20px auto; /* Espaçamento superior/inferior e centralizar horizontalmente */
  max-width: 100%; /* Largura máxima relativa à página */
}

.retanglepartners h1 {
  margin-bottom: 20px; /* Espaçamento inferior */
  font-size: 40px; /* Tamanho do texto */
  font-weight: bold; /* Negrito */
  color: #333; /* Cor do texto */
}

.retanglepartners p {
  font-size: 18px; /* Tamanho do texto */
  color: #666; /* Cor do texto */
  margin-bottom: 20px; /* Espaçamento inferior */
}

.logo-slider {
  overflow: hidden; /* Esconde a parte fora do slider */
  position: relative;
  width: 100%;
  background: transparent;
  padding: 20px 0;
}

.logo-track {
  display: flex;
  animation: slide-right 100s linear infinite; /* Animação contínua */
}

.logo-track a {
  display: inline-block; /* Garante que o link se comporta como bloco */
  margin: 0 15px; /* Espaçamento entre os links */
}

.logo-slider:hover .logo-track {
  animation-play-state: paused; /* Pausa a animação ao passar o cursor */
}

.logo-track img {
  width: 120px; /* Largura fixa */
  height: auto; /* Mantém a proporção */
  aspect-ratio: 16 / 9;
  margin: 0 15px;
  object-fit: contain;
}

@keyframes slide-right {
  0% {
    transform: translateX(-400%); /* Ponto inicial */
  }
  100% {
    transform: translateX(100%); /* Move-se pela metade (devido ao duplicado) */
  }
}

.buttonsponsors {
  display: flex;
  flex-wrap: wrap; /* Permite quebrar linha para botões */
  justify-content: center;
  gap: 10px;
  margin-top: 10px;
}

.buttonsponsors button {
  position: relative;
  padding: 10px 20px;
  border: none;
  background-color: #f5f5f5;
  color: #353535;
  border-radius: 5px;
  cursor: pointer;
  font-size: 16px;
  transition: transform 0.3s, background-color 0.3s;
}

.buttonsponsors button:hover {
  transform: scale(1.1);
}

.buttonsponsors button::after {
  content: '';
  position: absolute;
  top: -260px; /* Posiciona o quadrado acima do botão */
  left: 50%;
  transform: translateX(-50%) scale(0); /* Inicialmente invisível */
  background-size: contain; /* Ajusta a imagem sem cortar */
  background-repeat: no-repeat; /* Impede que a imagem se repita */
  background-position: center;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s, opacity 0.3s;
  opacity: 0;
  z-index: 1;
}

.buttonsponsors button:hover::after {
  transform: translateX(-50%) scale(1); /* Faz o quadrado aparecer */
  opacity: 1;
  width: auto; /* Ajusta automaticamente à largura da imagem */
  height: auto; /* Ajusta automaticamente à altura da imagem */
  aspect-ratio: attr(width) / attr(height); /* Mantém proporções da imagem */
}

/* Imagens para cada botão */



@media (max-width: 768px) {
  .logo-track img {
    width: 90px; /* Reduz tamanho das imagens */
    margin: 0 8px;
  }

  .buttonsponsors button {
    font-size: 12px; /* Ajusta texto dos botões */
    padding: 8px 12px;
  }

  .buttonsponsors button::after {
    width: 250px; /* Ajusta tamanho da imagem no hover */
    height: 250px;
  }
}

@media (max-width: 480px) {
  .logo-track img {
    width: 70px; /* Reduz ainda mais o tamanho */
    margin: 0 5px;
  }

  .buttonsponsors {
    flex-direction: column; /* Botões em coluna */
    gap: 15px; /* Espaçamento maior entre botões */
  }

  .buttonsponsors button {
    font-size: 10px; /* Texto ainda menor */
    padding: 6px 10px;
  }

  .buttonsponsors button::after {
    width: 200px;
    height: 200px;
  }
}



























        /* ticketspage */











.bordertickets img {
  width: 100%;
  height: 70%;
  object-fit: cover; /* Ajusta a imagem para cobrir o container mantendo o foco */
}

.bilhetes-banner img { 
  width: 100%;
  height: 70%;
  object-fit: cover; /* Ajusta a imagem para cobrir o container mantendo o foco */
}

.bilhetes-banner .bilhetesdesktop-banner {
  content: url('banners/bannerbilhetes.png'); /* Imagem para ecrãs maiores */
}

@media (max-width: 768px) {
  .bilhetes-banner .bilhetesdesktop-banner {
      content: url('banners/bannerbilhetes2.png'); /* Substitui por outra imagem para ecrãs pequenos */
  }
}



.form-container {
  display: flex; 
  justify-content: center;
  align-items: center;
  height: 100vh;
  background-image: url('villabg.png');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;

  /* Borda superior e inferior */
  border-top: 10px solid  #212529; /* Escolha a cor que desejar */
 
}

.bilhetes {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.form_area {
  width: 100%;
  max-width: 800px;
  background-color: #212529;
  padding: 2rem;
  border-radius: 8px;
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Cabeçalho do Formulário */
.form-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.form-header h1 {
  font-size: 1.75rem;
  font-weight: 600;
  color: #D3A01F;
}

.form-header h1::after {
  content: '';
  display: block;
  width: 5rem;
  height: 2px;
  background-color: #D3A01F;
  margin-top: 8px;
}

/* Estilo das caixas de input */
.input-group {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.input-box {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}



.input-box input {
  padding: 12px 16px;
  font-size: 1rem;
  border: 1px solid #ccc;
  border-radius: 8px;
  outline: none;
  transition: all 0.3s ease;
}





/* Estilo geral do grupo de inputs */
/* Grupo de inputs (mantém organização vertical) */
.input-group {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* Caixa de input */
.input-box {
  display: flex;
  align-items: flex-start; /* alinha topo com topo por default */
  gap: 0.75rem;
  color: white; /* texto das labels */
}

/* Checkbox */
.input-box input[type="checkbox"] {
  margin-top: 4px;
  width: 18px;
  height: 18px;
  accent-color: #f1c40f; /* cor personalizada do check */
  cursor: pointer;
}

/* Label */
.input-box label {
  font-size: 0.95rem;
  line-height: 1.5;
  color: white;
}

/* Links dentro das labels */
.input-box label a {
  color: #f1c40f;
  text-decoration: underline;
}

.input-box label a:hover {
  text-decoration: none;
}

/* Responsivo */
@media (max-width: 600px) {
  .input-box {
    flex-direction: row;
    align-items: flex-start;
  }

  .input-box input[type="checkbox"] {
    margin-top: 4px;
  }
}
.form-container label {
  color: white !important;
}











/* Botão de envio */
.continue-button {
  display: flex;
  justify-content: center;
  margin-top: 1rem; /* Adiciona espaço acima do botão */
}

.continue-button button {
  background-color: #D3A01F;
  color: #fff;
  padding: 12px 24px;
  border: none; /* Borda invisível */
  border-radius: 8px;
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.continue-button button:hover {
  background-color: #b38215;
}

.continue-button button:active {
  transform: scale(0.98);
}

/* Estilo da imagem no formulário */
.form-image {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #f0f0f0;
  padding: 1rem;
  border-radius: 8px;
}

.form-image img {
  max-width: 100%;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Responsividade */
@media (max-width: 768px) {
  .form_area {
    padding: 1.5rem;
  }

  .form-header h1 {
    font-size: 1.5rem;
  }

  .input-group {
    gap: 0.8rem;
  }

  .continue-button button {
    font-size: 1rem;
  }
}

@media (max-width: 480px) {
  .form_area {
    padding: 1rem;
  }

  .input-box input {
    font-size: 0.9rem;
  }

  .continue-button button {
    font-size: 1rem;
    padding: 10px;
  }
}









/* teampage */





.borderteam img {
  width: 100%;
  height: 70%;
  object-fit: cover; /* Ajusta a imagem para cobrir o container mantendo o foco */
}


.retangleteam {
  background-color: #b28615; /* Fundo claro */
  color: #f5f5f5;
  padding: 20px; /* Espaçamento interno */
  text-align: left; /* Centralizar texto */
  max-width: 100%; /* Largura máxima relativa à página */
  height: 100px;

}

.retangleteam h1 {
  margin-bottom: 20px; /* Espaçamento inferior */
  font-size: 40px; /* Tamanho do texto */
  font-weight: bold; /* Negrito */
  color: #ffffff; /* Cor do texto */
}

.retangleteam2 {
  background-color: #b28615; /* Fundo claro */
  color: #f5f5f5;
  padding: 20px; /* Espaçamento interno */
  text-align: left; /* Centralizar texto */
  max-width: 100%; /* Largura máxima relativa à página */
  height: 150px;

}

.retangleteam2 h1 {
  margin-bottom: 20px; /* Espaçamento inferior */
  font-size: 40px; /* Tamanho do texto */
  font-weight: bold; /* Negrito */
  color: #ffffff; /* Cor do texto */
}

.apresentteam-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin: 20px;
  margin-top:-20px;
}

.apresentteam {
  background-color: #f4f4f4;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  padding: 20px;
  width: 350px;
  height: 460px;
  text-align: center;
  cursor: pointer;
  border-radius: 10px;
  transition: transform 0.2s, box-shadow 0.2s;
}


.apresentteam:hover {
  transform: scale(1.05); /* Aumenta o tamanho em 5% */
  box-shadow: 0 8px 12px rgba(0, 0, 0, 0.2);
}

.apresentteam-imagem {
  max-width: 300px;
  margin-bottom: 15px;
  border-radius: 10px;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.apresentteam strong {
  font-size: 18px;
  color: #333;
  display: block;
}


 /*outroooooo*/
.apresentteam2 {
  background-color: #f4f4f4;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  padding: 20px;
  width: 350px;
  height: 230px;
  text-align: center;
  cursor: pointer;
  border-radius: 10px;
  transition: transform 0.2s, box-shadow 0.2s;
}


.apresentteam2:hover {
  transform: scale(1.05); /* Aumenta o tamanho em 5% */
  box-shadow: 0 8px 12px rgba(0, 0, 0, 0.2);
}

.apresentteam2-imagem {
  max-width: 70px;
  margin-bottom: 15px;
  border-radius: 10px;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.apresentteam2 strong {
  font-size: 18px;
  color: #333;
  display: block;
}

/*INSTRUTORES*/

.apresentinstr {
  background-color: #333;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  padding: 20px;
  width: 300px;
  height: 150px;
  display: flex; /* Torna o container flexível */
  align-items: center; /* Centraliza o conteúdo verticalmente */
  border-radius: 15px;
  transition: transform 0.2s, box-shadow 0.2s;
  cursor: pointer;
}

.apresentinstr:hover {
  transform: scale(1.05); /* Aumenta o tamanho em 5% */
  box-shadow: 0 8px 12px rgba(0, 0, 0, 0.2);
}

.apresentinstr-imagem {
  max-width: 120px;
  height: 120px; /* Garantir que a altura é igual à largura */
  margin-right: 15px; /* Espaçamento entre a imagem e o texto */
  border-radius: 15px; /* Torna a imagem circular */
  object-fit: cover; /* Assegura que a imagem se ajusta ao círculo */
}


.apresentinstr-texto {
  text-align: left; /* Alinha o texto à esquerda */
}

.apresentinstr-texto strong {
  font-size: 20px;
  color: #b28615;
  display: block;
}

/* Ajustes responsivos */
@media (max-width: 1200px) {
  .apresentteam,
  .apresentteam2,
  .apresentinstr {
    width: 90%; /* Reduz a largura para caber em telas menores */
  }
}

/* Ajustes responsivos */
@media (max-width: 768px) {
  .apresentteam-imagem,
  .apresentteam2-imagem,
  .apresentinstr-imagem {
    max-width: 120%; /* Aumenta a largura das imagens para o tamanho do container */
    height: auto; /* Mantém as proporções da imagem */
  }

  .apresentinstr-imagem {
    max-width: 190px; /* Aumenta o tamanho em telas pequenas */
    height: 190px; /* Garante que seja maior */
  }

  .apresentteam-imagem,
  .apresentteam2-imagem {
    max-width: 160%; /* Aumenta um pouco mais em relação ao container */
  }
}

/* Ajustes responsivos para telas menores (até 576px) */
@media (max-width: 576px) {
  .apresentteam-imagem,
  .apresentteam2-imagem,
  .apresentinstr-imagem {
    max-width: 100%; /* Aumenta o tamanho das imagens além do container */
    height: auto; /* Mantém as proporções da imagem */
  }

  .apresentinstr-imagem {
    max-width: 120px; /* Aumenta mais o tamanho das imagens de instrutores */
    height: 120px; /* Garante que o tamanho seja maior */
  }

  .apresentteam,
  .apresentteam2 {
    padding: 10px; /* Reduz o padding para caber melhor em telas pequenas */
    width: 100%; /* Garante que o container ocupe toda a largura */
  }

  .apresentinstr {
    flex-direction: column; /* Empilha a imagem e o texto */
    align-items: center; /* Centraliza os itens */
    padding: 20px; /* Mantém o espaçamento interno */
    width: 100%; /* Ocupa toda a largura disponível */
    height: 250px; /* Aumenta a altura do quadrado */
  }

  .apresentinstr-imagem {
    max-width: 150px; /* Aumenta o tamanho da imagem */
    height: 150px; /* Garante que a imagem fique maior */
    margin-bottom: 15px; /* Espaçamento inferior para a imagem */
    object-fit: cover; /* Assegura que a imagem se ajusta ao tamanho */
    border-radius: 15px; /* Mantém o design arredondado */
  }

  .apresentinstr strong {
    font-size: 22px; /* Aumenta ligeiramente o tamanho do texto */
    color: #b28615; /* Garante boa visibilidade em telas menores */
  }

  .retangleteam, 
  .retangleteam2 {
    text-align: center; /* Centraliza o texto */
    padding: 15px; /* Ajusta o padding para telas menores */
    font-size: 20px; /* Ajusta o tamanho do texto */
  }


}





















.equipa-banner img {
  width: 100%;
}

.team-member {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.3s ease-in-out;
}

.team-member:hover {
  transform: scale(1.1);
}

.team-member img {
  width: 100%;
  max-width: 450px;
  height: auto;
}

/* Efeito overlay */
.team-member .overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.team-member .overlay p {
  font-size: 1.2rem;
  font-weight: bold;
  margin: 0;
  background: linear-gradient(to right, white, #D3A01F);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation-name: textGradientAnimation;
  animation-duration: 4s;
  animation-iteration-count: infinite;
}

@keyframes textGradientAnimation {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: -100% 0;
  }
}

.team-member:hover .overlay {
  opacity: 1;
}

/* Containers */
.container23, .container235 {
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}

.container23 {
  background-color: #e2e2e2;
  background-image: url('imagensvisualização/bgequipa.png');
}

.container235 {
  height: 100vh;
  background-color: #212529;
  background-image: url('imagensvisualização/bgequipa.png');
}

/* Estilos Responsivos */
@media (max-width: 1024px) {
  .team-member img {
    max-width: 350px;
  }

  .team-member .overlay p {
    font-size: 1rem;
  }
}

@media (max-width: 768px) {
  .team-member img {
    max-width: 300px;
  }

  .team-member .overlay p {
    font-size: 0.9rem;
  }

  .container23, .container235 {
    flex-direction: column;
    padding: 20px;
    text-align: center;
  }
}

@media (max-width: 480px) {
  .team-member img {
    max-width: 200px;
  }

  .team-member .overlay p {
    font-size: 0.8rem;
  }

  .container23, .container235 {
    padding: 10px;
  }
}
























/* contactpage*/




.quadrados-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin: 20px;
}

.quadrado {
  background-color: #ffffff;
  
  color: rgb(0, 0, 0); /* Para garantir que o texto se destaca */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  padding: 20px;
  width: 350px;
  height: auto;
  text-align: center;
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  

}


.quadrado:hover {
  transform: scale(1.05);
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.2);
  background-color: #ffffff;
  border-radius: 12px;
}

.quadrado-imagem {
  max-width: 60px;
  margin-bottom: 15px;
  display: block;
  margin-left: auto;
  margin-right: auto;
  
}

.quadrado:hover .quadrado-imagem {
  filter: brightness(1.2) saturate(1.3);
}

.quadrado strong {
  font-size: 24px;
  color: #333;
  margin-bottom: 10px;
  display: block;
  transition: color 0.3s ease;
  position: relative;
}

.quadrado:hover strong {
  color: #D3A01F;
}

/* Adicionando a animação de sublinhado */
.quadrado strong::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -5px;
  width: 0;
  height: 3px;
  background-color: #D3A01F;
  transition: width 0.3s ease-in-out;
}

.quadrado:hover strong::after {
  width: 100%;
}


@keyframes oscilar {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-3px);
  }
}

@media (max-width: 768px) {
  .quadrado {
    width: 300px;
    padding: 15px;
  }

  .quadrado strong {
    font-size: 16px;
  }

  .quadrado-imagem {
    max-width: 50px;
  }
}

.contactos-banner img {
  width: 100%;
  height: 70%;
  object-fit: cover;
}

.contactos-banner .contactosdesktop-banner {
  content: url('banners/bennercontatos.png');
}

@media (max-width: 768px) {
  .contactos-banner .contactosdesktop-banner {
    content: url('banners/bennercontatos2.png');
  }
}

.retanglesocialmedia {
  background-color: #f5f5f5; 
  background-image: url('imagensvisualização/bgcontactos.png'); /* Adiciona o caminho da tua imagem */
  background-size: cover; /* Faz com que a imagem cubra todo o elemento */
  background-position: center; /* Centraliza a imagem */
  background-repeat: no-repeat; /* Impede a repetição da imagem */
  color: #333; /* Ajusta a cor do texto para garantir contraste */
  padding: 20px; /* Espaçamento interno */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sombra suave */
  text-align: center; /* Centraliza texto */
  margin: 30px auto; /* Espaçamento superior/inferior e centraliza horizontalmente */
  max-width: 100%; /* Largura máxima relativa à página */
}

.retanglesocialmedia h1 {
  margin-bottom: 20px; /* Espaçamento inferior */
  font-size: 40px; /* Tamanho do texto */
  font-weight: bold; /* Negrito */
  color: #333; /* Cor do texto */
}

.retanglesocialmedia p {
  font-size: 18px; /* Tamanho do texto */
  color: #666; /* Cor do texto */
  margin-bottom: 20px; /* Espaçamento inferior */
}


.social-icons {
  margin-top: 20px;
}

.social-icons a {
  margin: 0 15px;
  font-size: 6em; /* AUMENTA O TAMANHO DOS ÍCONES AQUI */
  color: #333;
  text-decoration: none;
  transition: color 0.3s;
}

.social-icons a:hover {
  color: #D3A01F;
}

.social-images {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin: 20px 0;
}

.image-container {
  position: relative;
  width: 300px; /* Ajuste conforme necessário */
  height: auto;
  border-radius: 5px; /* Opcional: cantos arredondados */
}

.image-container img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  display: block;
}

.image-caption {
  position: absolute;
  bottom: 5px;
  left: 5px;
  color: white;
  background-color: rgba(0, 0, 0, 0.5); /* fundo semitransparente */
  padding: 2px 6px;
  font-size: 0.8em;
  border-radius: 5px;
}

@media (max-width: 768px) {
  .retanglesocialmedia h1 {
    font-size: 2rem;
  }

  .retanglesocialmedia p {
    font-size: 1rem;
  }

  .social-icons a {
    font-size: 3rem;
  }

  .image-container {
    max-width: 90%;
  }
}

@media (max-width: 480px) {
  .retanglesocialmedia {
    padding: 15px;
  }

  .social-icons a {
    font-size: 2.5rem;
  }

  .image-caption {
    font-size: 0.7em;
    padding: 2px 4px;
  }
}






































/* Galeriapage */




.download {
  background-color: #b28615; /* Cor de fundo */
  color: white; /* Cor do texto */
  border: none; /* Sem borda */
  border-radius: 5px; /* Borda arredondada */
  padding: 10px 20px; /* Espaçamento interno */
  font-size: 16px; /* Tamanho da fonte */
  cursor: pointer; /* Ícone de mão ao passar o rato */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Sombra leve */
  transition: background-color 0.3s, transform 0.2s; /* Transições suaves */
}

.download:hover {
  background-color: #212529; /* Cor ao passar o rato */
  transform: translateY(-2px); /* Efeito de elevação */
}

.download:active {
  background-color: #000000; /* Cor ao clicar */
  transform: translateY(1px); /* Efeito de pressionado */
}

.btn-primary {
  background-color: #D3A01F;
  border-color: #D3A01F;
  color: white;
}

.retanglegalery {
  background-color: #f5f5f5; /* Fundo claro */
  color: #f5f5f5;
  padding: 20px; /* Espaçamento interno */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sombra suave */
  text-align: center; /* Centralizar texto */
  margin: 30px auto; /* Espaçamento superior/inferior e centralizar horizontalmente */
  max-width: 100%; /* Largura máxima relativa à página */
  border-radius: 10px;
}

.retanglegalery h1 {
  margin-bottom: 20px; /* Espaçamento inferior */
  font-size: 40px; /* Tamanho do texto */
  font-weight: bold; /* Negrito */
  color: #333; /* Cor do texto */
}

.retanglegalery p {
  font-size: 18px; /* Tamanho do texto */
  color: #666; /* Cor do texto */
  margin-bottom: 20px; /* Espaçamento inferior */
}

/* Responsividade */
@media (max-width: 768px) {
  .download {
    padding: 8px 16px; /* Reduzir espaçamento interno */
    font-size: 14px; /* Reduzir tamanho da fonte */
  }

  .retanglegalery {
    padding: 15px; /* Reduzir espaçamento interno */
    margin: 20px auto; /* Ajustar margem */
  }

  .retanglegalery h1 {
    font-size: 30px; /* Reduzir tamanho do texto */
  }

  .retanglegalery p {
    font-size: 16px; /* Reduzir tamanho do texto */
  }
}

@media (max-width: 480px) {
  .download {
    font-size: 12px; /* Ajustar tamanho da fonte para dispositivos muito pequenos */
    padding: 6px 12px; /* Ajustar espaçamento interno */
  }

  .retanglegalery h1 {
    font-size: 24px; /* Ajustar tamanho do título */
  }

  .retanglegalery p {
    font-size: 14px; /* Ajustar tamanho do texto */
  }
}

.galeria-banner img { 
  width: 100%;
  height: 70%;
  object-fit: cover; /* Ajusta a imagem para cobrir o container mantendo o foco */
}

.galeria-banner .galeriadesktop-banner {
  content: url('banners/bannergaleria.png'); /* Imagem para ecrãs maiores */
}

@media (max-width: 768px) {
  .galeria-banner .galeriadesktop-banner {
      content: url('banners/bannergaleria2.png'); /* Substitui por outra imagem para ecrãs pequenos */
  }
}

.container12345 {
  height: auto;  /* 100% da altura da tela */
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #212529;
  background-image: url('imagensvisualização/bgcontactos.png');
  background-size: cover;  /* A imagem vai cobrir toda a área */
  background-position: center;  /* A imagem fica centralizada */
  background-attachment: fixed;  /* Esse efeito cria a impressão de que a imagem não rola com a página *//
  
}






.button123 {
  position: fixed; /* Mantém o botão sempre visível na posição definida */
  bottom: 1em; /* Define a distância em relação ao fundo da tela */
  right: 1em; /* Define a distância em relação à lateral direita */
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.3em;
  height: 5.3em;
  border: none;
  cursor: pointer;
  border-radius: 0.4em;
  background: #212529;
  margin: 20px;
  z-index: 1000; /* Garante que o botão esteja acima de outros elementos */
}


.container123 {
  position: relative;
  width: 3.5em;
  height: 3.1em;
  background: none;
  overflow: hidden;
}

.folder {
  content: "";
  position: absolute;
  /* box-shadow: 0 0 5px rgba(0, 0, 0, .3); */
}

.folder_one {
  bottom: 0;
  width: 100%;
  height: 88%;
  border-radius: 3px;
  border-top: 2px solid rgb(206, 167, 39);
  /* background-color: rgb(252, 212, 80); */
  background: linear-gradient(-35deg, rgb(238, 194, 47) 5%, rgb(255, 223, 118));
}

.folder_two {
  top: 5%;
  width: 38%;
  height: 19%;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  background-color: rgb(206, 167, 39);
  box-shadow: 0 1px 5px -2px rgba(0, 0, 0, 0.5);
}

.folder_two::before {
  content: "";
  position: absolute;
  display: inline;
  left: 88%;
  width: 0;
  height: 0;
  border-left: 7px solid rgb(206, 167, 39);
  border-top: 0.3em solid transparent;
  border-bottom: 0.3em solid transparent;
  /* background-color: rgb(206, 167, 39); */
}

.folder_three {
  display: flex;
  align-items: center;
  justify-content: center;
  left: 0.5em;
  bottom: 0;
  width: 2.5em;
  height: 0.9em;
  border-radius: 4px 4px 0 0;
  background: linear-gradient(-35deg, rgb(25, 102, 218), rgb(109, 165, 249));
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
}

.folder_four {
  left: 1em;
  bottom: 0.3em;
  width: 1.5em;
  height: 0.18em;
  border-radius: 1em;
  background-color: rgb(20, 77, 163);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.active_line {
  content: "";
  position: absolute;
  bottom: 0;
  width: 0.9em;
  height: 0.4em;
  background-color: #999;
  border: none;
  border-radius: 1em;
  transition: all 0.15s linear;
}

.button123:active .active_line,
.button123:focus .active_line {
  width: 2.3em;
  background-color: rgb(41, 126, 255);
}

.button123:focus .container {
  animation: wow 1s forwards;
}

@keyframes wow {
  20% {
    scale: 0.8;
  }

  30% {
    scale: 1;
    transform: translateY(0);
  }

  50% {
    transform: translateY(-6px);
  }

  65% {
    transform: translateY(4px);
  }

  80% {
    transform: translateY(0);
  }

  100% {
    scale: 1;
  }
}

.text {
  content: "";
  position: absolute;
  top: -4.5em;
  width: 7.7em;
  height: 2.6em;
  background-color: #666;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  border: none;
  border-radius: 5px;
  text-shadow: 0 0 10px rgb(0, 0, 0);
  opacity: 0;
  transition: all 0.25s linear;
}

.button123:hover .text {
  opacity: 1;
}











/* parceirospage */











/*vila*/






iframe {
  display: block;
  border: none;
  margin: 0 auto; /* Centraliza horizontalmente */
  width: 100%;
  max-width: 1000px;
  height: 500px;
}

.retanglevillage {
  background-color: #f5f5f5; /* Cor de fundo como fallback */
  background-image: url('villabg.png'); /* Adiciona o caminho da tua imagem */
  background-size: cover; /* Faz com que a imagem cubra todo o elemento */
  background-position: center; /* Centraliza a imagem */
  background-repeat: no-repeat; /* Impede a repetição da imagem */
  color: #333; /* Ajusta a cor do texto para garantir contraste */
  padding: 20px; /* Espaçamento interno */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sombra suave */
  text-align: center; /* Centraliza texto */
  margin: 30px auto; /* Espaçamento superior/inferior e centraliza horizontalmente */
  max-width: 100%; /* Largura máxima relativa à página */
}


.retanglevillage h1 {
  margin-bottom: 20px; /* Espaçamento inferior */
  font-size: 40px; /* Tamanho do texto */
  font-weight: bold; /* Negrito */
  color: #333; /* Cor do texto */
}

.retanglevillage p {
  font-size: 18px; /* Tamanho do texto */
  color: #666; /* Cor do texto */
  margin-bottom: 20px; /* Espaçamento inferior */
}

.retanglevillage iframe {
  margin-top: 20px; /* Espaçamento superior */
  margin: 0 auto; /* Centralizar horizontalmente */
  width: 100%; /* Largura total */
  height: 600px; /* Altura */
  box-shadow: 10px 10px 15px rgba(0, 0, 0, 0.3);

  border: none; /* Remover borda */
}

.button-container {
  display: flex;
  justify-content: center;
  gap: 20px; /* Espaçamento entre os botões */
  margin-top: 40px; /* Espaçamento superior */
  flex-wrap: wrap; /* Permitir quebra de linha caso necessário */
}



.retanglevillage2 {
  background-color: #212529; /* Fundo claro */
  color: #f5f5f5;
  border-radius: 15px;
  padding: 20px; /* Espaçamento interno */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sombra suave */
  text-align: center; /* Centralizar texto */
  margin: 40px auto; /* Espaçamento superior/inferior e centralizar horizontalmente */
  max-width: 100%; /* Largura máxima relativa à página */
}

/* Centralizar o título h1 */
.retanglevillage2 h1 {
  margin: 0 auto; /* Margem automática para centralizar horizontalmente */
  text-align: center; /* Alinha o texto ao centro */
  font-size: 60px; /* Tamanho do texto */
  font-weight: bold; /* Negrito */
  color: #ffffff; /* Cor do texto */
  margin-bottom: 30px;
}

/* Ajustar as imagens em duas por linha */
.retanglevillage2-images {
  display: flex;
  justify-content: center; /* Centraliza o grupo de imagens */
  flex-wrap: wrap; /* Permite quebrar linha */
  gap: 20px; /* Espaçamento entre os itens */
  border-radius: 10px;
}

.retanglevillage3 {
  background-color: #fcfdff; /* Fundo claro */
  color: #212529;

  padding: 20px; /* Espaçamento interno */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sombra suave */
  text-align: center; /* Centralizar texto */
  margin: 40px auto; /* Espaçamento superior/inferior e centralizar horizontalmente */
  max-width: 100%; /* Largura máxima relativa à página */
}

/* Centralizar o título h1 */
.retanglevillage3 h1 {
  margin: 0 auto; /* Margem automática para centralizar horizontalmente */
  text-align: center; /* Alinha o texto ao centro */
  font-size: 60px; /* Tamanho do texto */
  font-weight: bold; /* Negrito */
  color: #212529; /* Cor do texto */
  margin-bottom: 30px;
}

/* Ajustar as imagens em duas por linha */
.retanglevillage3-images {
  display: flex;
  justify-content: center; /* Centraliza o grupo de imagens */
  flex-wrap: wrap; /* Permite quebrar linha */
  gap: 20px; /* Espaçamento entre os itens */
  border-radius: 10px;
}

.hotel-container {
  flex: 1 1 calc(50% - 20px); /* Cada imagem ocupa 50% da linha menos o gap */
  max-width: calc(50% - 20px); /* Limita a largura máxima */
  position: relative;
  overflow: hidden;
  height: auto;
}

/* Ajustar a aparência das imagens */
.hotel-container img {
  width: 100%; /* Ocupa toda a largura do contêiner */
  height: auto;
  border-radius: 10px;
  transition: transform 0.3s ease-in-out;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Efeito hover na imagem */
.hotel-container:hover img {
  transform: scale(1.1); /* Aumenta a imagem */
}

/* Estilo do nome do hotel */
.hotel-name {
  position: absolute;
  bottom: 10px;
  left: 10px;
  color: #ffffff;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 10px;
  border-radius: 5px;
  font-size: 18px;
  font-weight: bold;
  opacity: 0;
  transform: translateY(10px); /* Inicialmente, o nome começa abaixo */
  transition: opacity 0.3s ease, transform 0.3s ease; /* Transição suave */
}

/* Torna o nome visível no hover */
.hotel-container:hover .hotel-name {
  opacity: 1; /* Torna o nome visível */
  transform: translateY(0); /* Move o nome para a posição correta */
}

.buttonsvillage {
  display: flex;
  justify-content: center;
  gap: 15px; /* Espaçamento entre os botões */
  margin-top: 30px;
  flex-wrap: wrap; /* Permite quebra de linha, mas mantém horizontal */
}

.buttonsvillage button {
  padding: 12px 26px;
  background-color: #212529; /* Azul moderno */
  color: rgb(255, 255, 255);
  border: none;
  border-radius: 6px;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.2s ease;
}

.buttonsvillage button:hover {
  background-color: #212529;
  transform: translateY(-2px);
}

.buttonsvillage button:active {
  transform: scale(0.98);
}


/* Adiciona o sublinhado como animação */
.buttonsvillage button::before {
  content: '';
  position: absolute;
  bottom: 0; /* Posiciona na parte inferior do botão */
  left: 0;
  height: 2px; /* Espessura do sublinhado */
  width: 0; /* Inicialmente invisível */
  background-color: #ffffff; /* Cor do sublinhado */
  transition: width 0.3s ease-in-out; /* Animação suave */
}

.buttonsvillage button:hover::before {
  width: 100%; /* Faz o sublinhado aparecer */
}

/* Quadrado acima do botão */
.buttonsvillage button::after {
  content: '';
  position: absolute;
  top: -100px; /* Posiciona o quadrado acima do botão */
  left: 50%;
  transform: translateX(-50%) scale(0); /* Inicialmente invisível */
  width: 100px;
  height: 100px;
  background-size: cover; /* Ajusta a imagem ao quadrado */
  background-position: center;
  border-radius: 10px;
  transition: transform 0.3s, opacity 0.3s;
  opacity: 0;
  z-index: 1;
}

.buttonsvillage button:hover::after {
  transform: translateX(-50%) scale(1); /* Faz o quadrado aparecer */
  opacity: 1;
}

.btn-acomodacoes::after {
  background-image: url('icons/bed.png');
}

.btn-actividades::after {
  background-image: url('icons/surf.png');
}

.btn-restauracao::after {
  background-image: url('icons/restaurant.png');
}

.btn-vidanoturna::after {
  background-image: url('icons/nightlife.png');
}

@media (max-width: 768px) {
  .buttonsvillage {
    flex-wrap: wrap; /* Empilha os botões verticalmente */
    gap: 15px; /* Aumenta o espaçamento entre os botões */
  }

  .buttonsvillage button {
    width: 100%; /* Faz os botões ocuparem toda a largura do contêiner */
    font-size: 14px; /* Ajusta o tamanho da fonte para dispositivos menores */
    padding: 10px 15px; /* Ajusta o preenchimento */
  }

  .buttonsvillage button::after {
    width: 80px; /* Reduz o tamanho do quadrado para dispositivos menores */
    height: 80px;
    top: -90px; /* Ajusta a posição do quadrado */
  }
}

@media (max-width: 480px) {
  .buttonsvillage button {
    font-size: 12px; /* Reduz ainda mais o tamanho da fonte */
    padding: 8px 10px;
  }

  .buttonsvillage button::after {
    width: 60px; /* Reduz ainda mais o tamanho do quadrado */
    height: 60px;
    top: -70px; /* Ajusta a posição do quadrado */
  }
}

/* Responsividade para telas médias (tablets) */
@media (max-width: 1024px) {
  .retanglevillage2-images,
  .retanglevillage3-images {
    gap: 15px; /* Reduz o espaço entre itens */
  }

  .hotel-container {
    flex: 1 1 calc(100% - 20px); /* Cada item ocupa a largura completa */
    max-width: 100%;
  }

  .retanglevillage h1,
  .retanglevillage2 h1,
  .retanglevillage3 h1 {
    font-size: 36px; /* Reduz o tamanho do título */
  }

  iframe {
    height: 400px; /* Reduz altura do iframe */
  }
}

/* Responsividade para telas pequenas (telemóveis) */
@media (max-width: 576px) {
  .retanglevillage h1,
  .retanglevillage2 h1,
  .retanglevillage3 h1 {
    font-size: 28px; /* Reduz ainda mais o tamanho do título */
  }

  .retanglevillage p {
    font-size: 16px; /* Texto menor para melhor legibilidade */
  }

  .buttonsvillage {
    flex-direction: column; /* Empilha os botões verticalmente */
    gap: 10px;
  }

  .hotel-container {
    margin-bottom: 20px; /* Espaçamento entre os itens */
  }

  iframe {
    height: 300px; /* Altura reduzida */
  }

  .buttonsvillage button {
    font-size: 12px;
    padding: 8px 10px; /* Ajusta o tamanho para ecrãs menores */
  }

  .buttonsvillage button::after {
    width: 50px; /* Ícones menores */
    height: 50px;
    top: -60px;
  }
}

.villa-banner img { 
  width: 100%;
  height: 70%;
  object-fit: cover; /* Ajusta a imagem para cobrir o container mantendo o foco */
}

.villa-banner .villadesktop-banner {
  content: url('banners/banervila.jpeg'); /* Imagem para ecrãs maiores */
}

@media (max-width: 768px) {
  .villa-banner .villadesktop-banner {
      content: url('banners/bannervila2.jpeg'); /* Substitui por outra imagem para ecrãs pequenos */
  }
}








/*RidesPage*/





.tabela__title {
  font-size: 1.5rem;
  font-weight: bold;
  color: #D3A01F;
  text-align: center;
  margin-bottom: 15px;
}

.table {
  margin: 10px auto;
  width: 80%;
  background-color: #f9f9f9;
  border-collapse: collapse;
 
  overflow: hidden;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease-in-out;
}

.table:hover {
  transform: translateY(-5px);
}

.table td,
.table th {
  padding: 12px;
  text-align: center;
  vertical-align: middle;
  border-bottom: 1px solid #e0e0e0;
  transition: background-color 0.3s ease-in-out;
}

.table th {
  background-color: #7e7e7e;
  color: white;
  font-weight: bold;
}

.table tr:nth-child(even) {
  background-color: #f2f2f2;
}

.table tr:hover {
  background-color: #fde79f;
}

.table td {
  color: #333;
}

.rides-banner img {
  width: 100%;
  height: 70%;
  object-fit: cover;
}

.rides-banner .ridesdesktop-banner {
  content: url('banners/bannerrides.png');
}

@media (max-width: 768px) {
  .rides-banner .ridesdesktop-banner {
    content: url('banners/bannerrides2.png');
  }

  .table {
    width: 100%;
    margin: 5px auto;
  }

  .table td,
  .table th {
    padding: 8px;
  }
}







/*Ebook page*/






.containerebook {
  display: flex;
  gap: 50px;
  margin: 90px;
  padding: 0;
  justify-content: center;
  flex-wrap: wrap; /* Permite que os itens quebrem linha em telas menores */
  box-sizing: border-box;
}

.imagemebook {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: relative;
  border-radius: 5px;
  overflow: hidden;
}

.quadradoebook {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex: 1;
  overflow: hidden;
  max-width: 50%;
  height: 900px;
  background-color: #ffffff;
  box-sizing: border-box;
  position: relative;
  transition: transform 0.3s ease;
}

.quadradoebook:hover {
  transform: scale(1.1);
}

/* Media queries para responsividade */
@media (max-width: 1200px) {
  .quadradoebook {
    max-width: 45%; /* Ajusta a largura em telas médias */
    height: 700px; /* Reduz a altura */
  }
}

@media (max-width: 768px) {
  .quadradoebook {
    max-width: 100%; /* Quadrados ocupam toda a largura */
    height: 600px; /* Ajusta a altura */
  }
  .containerebook {
    gap: 20px; /* Reduz o espaço entre os quadrados */
    margin: 40px; /* Reduz a margem */
  }
}

@media (max-width: 480px) {
  .quadradoebook {
    height: 400px; /* Reduz ainda mais a altura */
  }
  .containerebook {
    margin: 20px; /* Margem menor em dispositivos pequenos */
  }
}

.ebook-banner img { 
  width: 100%;
  height: 70%;
  object-fit: cover; /* Ajusta a imagem para cobrir o container mantendo o foco */
}

.ebook-banner .ebookdesktop-banner {
  content: url('banners/bannerebook.png'); /* Imagem para ecrãs maiores */
}

@media (max-width: 768px) {
  .ebook-banner .ebookdesktop-banner {
      content: url('banners/bannerebook2.png'); /* Substitui por outra imagem para ecrãs pequenos */
  }
}







/*Equip Page*/











.retangleequipamento {
  background-color: #ffffff;
  background-image: url('imagensvisualização/fundoequipamento.jpg'); /* Substituir pelo caminho correto */
  background-size: cover; /* A imagem ocupará toda a área de fundo */
  background-position: center; /* Centraliza a imagem */
  
  color: #212529;
  padding: 20px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  text-align: center;
  margin: 40px auto;
  display: flex;
  flex-wrap: wrap; /* Permite produtos em múltiplas linhas */
  justify-content: space-around; /* Espaçamento uniforme entre produtos */
  gap: 20px; /* Consistente entre itens */
}


.order-button {
  margin-top: 10px;
  padding: 10px 20px;
  background-color: #D3A01F; /* azul */
  color: white;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  font-size: 16px;
  transition: background-color 0.3s ease;
}

.order-button:hover {
  background-color: #D3A01F; /* azul mais escuro no hover */
}



.product {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 300px;
}

.product-images {
  width: 100%;
  border-radius: 10px;
  overflow: hidden; /* IMPORTANTE para evitar "desaparecimento" */
}

.product-image {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease; /* aplica transição */
}

.product-image:hover {
  transform: scale(1.05); /* zoom suave */
}




.thumbnail-images {
  display: flex;
  justify-content: center;
  gap: 10px;
}

.thumbnail {
  width: 40px;
  height: 40px;
  object-fit: cover;
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  margin-bottom: 10px;
}

.thumbnail:hover {
  transform: scale(2); /* Aumenta a imagem em 1.5 vezes */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Adiciona um sombreamento suave */
  z-index: 10; /* Garante que a miniatura fique acima das outras */
}


.thumbnail[data-target="#main-img"]:hover {
  opacity: 1;
}

.product:hover .product-image {
  opacity: 0;
}

/* Media Queries para responsividade */

@media (max-width: 1024px) {
  .product {
    max-width: 45%; /* Ajusta a largura dos produtos para tablets */
  }
}

@media (max-width: 768px) {
  .retangleequipamento {
    padding: 10px;
    justify-content: center; /* Centraliza os produtos em ecrãs pequenos */
  }

  .product {
    max-width: 100%; /* Um produto por linha em dispositivos móveis */
  }

  .thumbnail {
    width: 30px; /* Reduz o tamanho das miniaturas */
    height: 30px;
  }
}

.equipamento-banner img { 
  width: 100%;
  height: 70%;
  object-fit: cover; /* Ajusta a imagem para cobrir o container mantendo o foco */
}

.equipa-banner img { 
  width: 100%;
  height: 70%;
  object-fit: cover; /* Ajusta a imagem para cobrir o container mantendo o foco */
}

.equipa-banner .equipadesktop-banner {
  content: url('banners/bannerequipa.png'); /* Imagem para ecrãs maiores */
}

@media (max-width: 768px) {
  .equipa-banner .equipadesktop-banner {
      content: url('banners/bannerequipa2.png'); /* Substitui por outra imagem para ecrãs pequenos */
  }
}

.price {
  font-size: clamp(1rem, 1.5vw, 2rem); /* Adapta o tamanho da fonte */
}

.thumbnail {
  width: clamp(30px, 5vw, 60px); /* Miniaturas dinâmicas */
  height: clamp(30px, 5vw, 60px);
}

@media (min-width: 1920px) {
  .retangleequipamento {
    padding: 40px; /* Adiciona mais preenchimento para grandes ecrãs */
    gap: 30px; /* Maior espaço entre os itens */
  }

  .product {
    max-width: 25%; /* Mantém os produtos compactos */
  }
}

.footer {
  background-color: #212529; /* Cor de fundo do rodapé */
  color: #fff; /* Cor do texto */
  text-align: center;
  padding: 20px 10px;
  
  font-size: 14px;
  line-height: 1.6;
  font-family: Arial, sans-serif; /* Fonte legível */
}

.footer-content p {
  margin: 5px 0; /* Espaçamento entre parágrafos */
}

.footer a {
  color: #f1c40f; /* Cor dos links no rodapé */
  text-decoration: none;
}

.footer a:hover {
  text-decoration: underline; /* Efeito ao passar o rato sobre o link */
}

































/*INDEX23.HTML*/








.container000 {
  font-family: Arial, sans-serif;
  background-color: #212529;
  color: #333;
  width: 100%;
  padding: 20px;
  text-align: center;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  margin-top: -250px; /* Move o container 50px para cima */
  z-index: 1000;
}




.grid000 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 30px;
  margin: 10px;
}

.card000 {
  background-color: #fff;
  z-index: 1000;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  padding: 20px;
  border-radius: 10px;
  text-align: left;
  
}

.card000 img {
  width: 100%;
  height: auto;
  
}

.card000 h2 {
  color: #D3A01F;
  font-size: 1.5rem;
  margin-top: 15px;
}

.card000 p {
  font-size: 1rem;
  margin: 10px 0;
  line-height: 1.5;
  text-align: justify;
}

.button000 {
  display: inline-block;
  margin-top: 10px;
  padding: 10px 15px;
  background-color: #D3A01F;
  color: #fff;
  text-decoration: none;
  
  font-weight: bold;
  transition: background-color 0.
}



.sponsors-container {
  font-family: Arial, sans-serif;
  background-color: #e0eafc;
  display: flex;
  justify-content: center;
  align-items: center;
  
  text-align: center;
  background-color: white;
  padding: 20px;
 
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);

  width: 100%;
  margin: auto;
}



.sponsors-logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}

.sponsor {
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.banner888 {
  margin-top: 20px;
  background-color: #000;
  color: #ffd700;
  font-size: 18px;
  font-weight: bold;
  padding: 10px;
  border-radius: 5px;
}

.video-container {
  display: flex;
  justify-content: center;
  align-items: center;

  height: 500px; /* Altura padrão para telas maiores */
  overflow: hidden;
}

.video-container video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Ajustes para telas menores */
@media (max-width: 768px) {
  .video-container {
    height: 300px; /* Reduz a altura do contêiner */
  }
}

@media (max-width: 480px) {
  .video-container {
    height: 200px; /* Ainda menor para telas muito pequenas */
  }
}


/* CSS */
@keyframes slideAnimation {
  0% {
      transform: translateX(0);
  }
  50% {
      transform: translateX(17px); /* Ajuste o valor conforme necessário */
  }
  100% {
      transform: translateX(0);
  }
}

.sponsor.slide {
  animation: slideAnimation 4s ease-in-out infinite;
}

/* Estilo padrão para as imagens */
.sponsors-container .sponsors-logos a img {
  width: 100%; /* As imagens vão ocupar 100% do tamanho do container */
  max-width: 150px; /* Definindo um tamanho máximo */
  height: auto; /* A altura se ajusta proporcionalmente */
  margin: 10px; /* Espaçamento entre as imagens */
}

/* Ajuste para telas menores (exemplo: telas de até 768px de largura) */
@media (max-width: 768px) {
  .sponsors-container .sponsors-logos a img {
      max-width: 120px; /* Reduzindo o tamanho das imagens para telas menores */
  }
}

/* Ajuste para telas muito pequenas (exemplo: até 480px) */
@media (max-width: 480px) {
  .sponsors-container .sponsors-logos a img {
      max-width: 100px; /* Imagens ainda menores para telas muito pequenas */
  }
}


.rectangles-container {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  position: relative;
}

.rectangle1, .rectangle2 {
  flex: 1 1 50%; /* Ocupa 50% da largura em telas grandes */
  height: 300px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  overflow: hidden;
  transition: background-size 0.8s ease-in-out;
}

/* Efeito de zoom ao passar o mouse */
.rectangle1:hover, .rectangle2:hover {
  background-size: 120%;
}

.rectangle1::before, .rectangle2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5); /* Filtro escuro */
}

.rectangle-botão {
  position: absolute;
  bottom: 20%;
  left: 50%;
  transform: translateX(-50%);
  padding: 10px 20px;
  border: 2px solid white;
  background: transparent;
  color: white;
  font-size: 1rem; /* Ajusta automaticamente */
  text-decoration: none;
  transition: 0.3s ease-in-out;
  z-index: 1;
}

.rectangle-botão:hover {
  background: rgba(239, 238, 238, 0.2);
}

/* Responsividade para telas menores */
@media screen and (max-width: 768px) {
  .rectangles-container {
      flex-direction: column; /* Empilha os elementos */
  }

  .rectangle1, .rectangle2 {
      flex: 1 1 100%; /* Ocupa 100% da largura */
      height: 250px; /* Reduz um pouco a altura */
  }

  .rectangle-botão {
      font-size: 0.9rem; /* Diminui o tamanho do texto */
      padding: 8px 16px;
  }
}

@media screen and (max-width: 480px) {
  .rectangle1, .rectangle2 {
      height: 200px; /* Reduz ainda mais a altura em telas pequenas */
  }

  .rectangle-botão {
      font-size: 0.8rem;
      padding: 6px 12px;
  }
}

.rectangle-text {
  position: absolute;
  top: 40%; /* Ajuste conforme necessário */
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
  z-index: 2;
}

/* Responsividade para telas menores */
@media screen and (max-width: 768px) {
  .rectangle-text {
      font-size: 1.2rem;
  }
}

@media screen and (max-width: 480px) {
  .rectangle-text {
      font-size: 1rem;
  }
}






