
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

*{
    padding: 0;
    margin: 0;
    outline: none;
    border: none;
    box-sizing: border-box;
    color: #000;
    font-family: "Roboto", sans-serif;
  }
  
  img {
    width: 100%;
    display: flex;
  }
  
  a {
    text-decoration: none;
  }
  
  body {
    font-family: 'Poppins', sans-serif;
    /* background-color: #18181B;
       */
       /* background-color: #ccc; */
       background-color: #f3f4f6;
       
  }
   
  
nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 1rem 4%;
  background-color: #f3f4f6;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0); /* Inicialmente sem sombra */
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 100;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

nav.scrolled {
  background-color: #e5e7eb; /* um pouco mais escuro que #f3f4f6 */
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

  
  .nav-logo {
  
    font-size: 2rem;
  
  }
  
  .nav-logo a .p {
    color: #fff;
  }
  
  .nav-links {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 3rem;
  }
  
  .link a {
    position: relative;
    padding-bottom: 0.75rem;
    color: #000;
  
  }
  
  .link a::after {
    content: "";
    position: absolute;
    height: 2px;
    width: 0;
    bottom: 0;
    left: 0;
    background-color: #1d4ed8;
    transition: all 0.3s ease;
  }
  
  .link a:hover::after {
    width: 70%;
  }
  
  .link a.active::after {
  width: 70%;
}

  .info h1{
    font-size: 50px;
   margin-bottom: 16px;
  }
    
  .info h2{
    font-size: 30px;
  }
  .info p{
    font-size: 19px;
  }
  .sobre{
    display: flex;
    margin-top: 150px;
    align-items: center;
    justify-content: center;
    align-items: center;
    width: 100%;

  }
  .sobre-mim{
    display: flex;
    width: 100%;
    justify-content: space-evenly;
    align-items: center;
    /* gap: 100px; */
  }
  .image{
    /* margin-left: 160px; */
    
    margin-bottom: 7px;
    /* justify-content: left; */
  }

  .image .imagem-circular {
    width: 300px;          /* defina a largura desejada */
    height: 300px;         /* defina a altura igual à largura para manter o formato circular */
    border-radius: 50%;    /* faz a borda ficar em formato de círculo */
    border: 3px solid #000; /* borda preta de 3px, você pode mudar a cor */
    object-fit: cover;     /* para garantir que a imagem preencha bem o espaço */
  }


  
.btn-container {
  display: flex;
  margin-top: 10px;
  /* justify-content: center; */
  gap: 1rem;
}

.btn {
  font-weight: 600;
  transition: all 300ms ease;
  padding: 0.5rem;
  width: 8rem;
  border-radius: 10px;
}

.btn-color-1,
.btn-color-2 {
  border: rgb(53, 53, 53) 0.1rem solid;
}

.btn-color-1:hover,
.btn-color-2:hover {
  cursor: pointer;
}

.btn-color-1,
.btn-color-2:hover {
  background: rgb(53, 53, 53);
  color: white;
}

.btn-color-1:hover {
  background: rgb(0, 0, 0);
}

.btn-color-2 {
  background: #fff;
}

.btn-color-2:hover {
  border: rgb(255, 255, 255) 0.1rem solid;
}

.btn-container {
  gap: 1rem;
}
.div-container-foto{
  justify-content: center;
  align-items: center;
}
.links {
  display: flex;
  gap: 10px;             
  align-items: center; /* opcional: alinha à esquerda */
  justify-content: center;
}

.links .icon {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 2px solid black;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f0f0f0; /* opcional */
  cursor: pointer;
  transition: 0.3s;
}

.links .icon:hover {
  background-color: #e0e0e0;
}

.links .icon a {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  color: inherit;
  text-decoration: none;
  font-size: 24px;
}

.container-skills{
  margin-top: 200px;
  display: flex;
  justify-content: space-around;
  padding: 0 50px;
  margin-bottom: 200px;
}

.left {
  width: 620px;
}
.left h2{
  font-size: 25px;
  padding-bottom: 10px;
}

 .right {
  width: 420px;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
  perspective: 1000px; /* Necessário para efeito 3D */
}

.right .item {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #383e45;
  width: 50px;
  height: 50px;
  border-radius: 10px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  transform-style: preserve-3d;
  
}

.right .item:hover {
  transform: translateZ(10px) scale(1.01) rotateX(3deg) rotateY(-3deg);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.4);
}

.right .item i {
  font-size: 34px;
  color: #fff;
}


.projetos{

  padding: 80px 60px 100px;
  background: #e5e7eb;
  box-shadow: 0 8px 12px -6px rgba(0, 0, 0, 0.2);
}

.container-title-web{
  display: flex;
  align-items: center;
  justify-content: space-between;
}




.container-title-web p {
    font-size: 13px;
    color: #6b7280;
    font-weight: 500;
}

.container-title-sistemas{
  display: flex;
  align-items: center;
  justify-content: space-between;
}




.container-title-sistemas p {
    font-size: 13px;
    color: #6b7280;
    font-weight: 500;
}



.web-portfolio .title{
  display: flex;
  gap: 10px;
   /* display: flex; */
    align-items: center;
    /* justify-content: center; */
}

.web-portfolio .title h4{
      font-size: 22px;
    font-weight: 400;
}
.web-portfolio .title i {
    background: #fff;
   
    padding: 10px;
    border-radius: 50%;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.sistemas-portfolio{
  margin-top: 130px;
}

.sistemas-portfolio .title{
  display: flex;
  gap: 10px;
   /* display: flex; */
    align-items: center;
    /* justify-content: center; */
}

.sistemas-portfolio .title h4{
      font-size: 22px;
    font-weight: 400;
}
.sistemas-portfolio .title i {
    background: #fff;
   
    padding: 10px;
    border-radius: 50%;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.cards-web{
  /* margin: 50px; */

  margin-top: 50px;
  margin-bottom: 50px;
  display: flex;
  justify-content: center;
  gap: 20px;
}
.cards-sistemas{
  margin-top: 50px;
  margin-bottom: 50px;
  display: flex;
  justify-content: center;
  gap: 20px;
}
.card{
  position: relative;
  width: 25%;
  height: 420px;
  padding: 20px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  perspective: 900px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  transform-style: preserve-3d;

}

.card:hover{
    transform: translateZ(20px) scale(1.1) rotateX(5deg) rotateY(-5deg);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.4);

}
.card .btn{
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 8px 20px;
  border-radius: 16px 0 10px 0;
  border: none;
  color: #fff;
  background: #1f2937;
  cursor: pointer;
}
.card-image {
  width: 100%;
  height: 200px;
  border-radius: 10px;
  object-position: top center;
  border: 1px solid #e5e7eb;
  margin-bottom: 20px;
}
.card-image img {
  object-fit: cover;
  border-radius: 10px;
}

.card-text h5{
  font-size: 19px;
  font-weight: 500;
}

.card-sobre{
  margin-top: 15px;
  font-size: 13px;
  color: #7a7a7a;
  margin-bottom: 30px;
}


.experiencia{
  margin-top: 50px;
  background-color: #f3f4f6;
  /* background-color: white; */
}

.title-timeline{
  display: grid;
  justify-content: center ;
  align-items: center ;
  text-align: center;
  margin-bottom: 50px;
}
.title-timeline h1{
  margin-bottom: 10px;
  font-size: 3rem;
}
.timeline {
  position: relative;
  max-width: 800px;
  margin: auto;
  padding: 40px 0;
}

.timeline::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  background-color: #2d2d2d; /* cor da linha */
  transform: translateX(-50%);
}

.timeline-item {
  padding: 20px;
  position: relative;
  width: 50%;
}

.timeline-item .content {
  /* background: #e5e7eb; */
  background: white;
  padding: 20px;
  border-radius: 10px;
  color: #fff;
  box-shadow: 0 0 10px #0005;
}

.timeline-item.left {
  left: 0;
  text-align: right;
}

.timeline-item.right {
  left: 50%;
  text-align: left;
}

.timeline-item.left .content {
  margin-right: 40px;
}

.timeline-item.right .content {
  margin-left: 40px;
}
.timeline-item::before {
  content: '';
  position: absolute;
  top: 15px; /* ajusta a altura da bolinha */
  width: 10px;
  height: 10px;
  background-color: #1f2937; /* azul, igual da imagem */
  border: 3px solid #0005;
  border-radius: 50%;
  z-index: 1;
}

.timeline-item.left::before {


  right: -8px; /* posiciona no centro da linha */
}

.timeline-item.right::before {
  left: -8px;
}

/* Opcional: responsividade */
@media screen and (max-width: 768px) {
  .timeline-item {
    width: 100%;
    left: 0 !important;
    text-align: left;
  }
  .timeline-item .content {
    margin: 20px auto;
  }
}

.content {
  position: relative;
  min-height: 220px; /* Aumenta a altura mínima */
  min-width: 350px;
  padding: 16px;
  background: #e5e7eb; /* cinza claro */
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1); /* sombra leve */
  padding-bottom: 40px; /* dá espaço pro botão não sobrepor o conteúdo */
  flex-wrap: wrap;
  perspective: 1000px; 
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  transform-style: preserve-3d;
}


.content:hover {
  transform: translateZ(20px) scale(1.05) rotateX(5deg) rotateY(-5deg);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.4);
}

.content h3{
  /* margin-bottom: 9px; */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.content h4{
  font-size: 19px;
  color: hsl(220 70% 50%);
}
.content span{
  color: hsl(215.4 16.3% 46.9%);
  margin-bottom: 12px;
}

.content p{
  padding-top: 20px;
}

.content .btn {
  position: absolute;
  bottom: 10px;
  right: 10px;
  /* padding: 8px 20px; */
  border-radius: 16px 0 10px 0;
  border: none;
  color: #fff;
  background: #1f2937;
  cursor: pointer;
}



.contatos{
  margin-top: 100px;
  background-color: #e5e7eb;
  /* border-bottom: 1px solid #000; */
  justify-content: center ;
  align-items: center;
  display: grid;
 
  box-shadow: 0 4px 12px rgba(0,0,0,0.1); 
  
}

.contatos .title-contatos{
  margin-top: 100px;
  text-align: center;

}
.title-container-contatos h3{
font-size: 25px;
}
.contatos .container-contatos{
  margin-top: 50px;
  padding: 10px;
  background-color: white;
  width: 1000px;
  height: 290px;
  margin-bottom: 50px;
  border-radius: 10px;
  padding: 50px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1); 
}


.container-cont {
  margin-top: 10px;
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2 colunas iguais */
  gap: 20px; /* espaçamento entre os itens (opcional) */
  padding: 10px;

}

.cont{
  display: flex;
  /* justify-content: center; */
  /* align-items: center; */
  gap: 10px;
  padding: 10px;
}



.text-cont a {
  color: inherit; /* Mantém a cor padrão antes do hover */
  text-decoration: none;
  transition: color 0.3s ease;
}

.text-cont:hover {
  cursor: pointer;
}

.text-cont:hover a {
  color: #1e90ff; /* Azul estilo link (você pode mudar) */
}

.cont-icon .icon {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 2px solid black;
  display: flex;
  align-items: center;
  justify-content: center;
  /* background-color:white; */
  cursor: pointer;
  transition: 0.3s;
}

.footer{
  background-color: #e5e7eb;
  /* margin-top: 100px; */
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  /* padding-top: 50px; */
  border-top: 1px solid #000;
  /* padding-bottom: 30px; */
  width: 100%;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}



.infofooter{
  display: grid;
  align-items: center;
  justify-content: center;
}

.infofooter h3{
  font-size: 1.125rem;
  line-height: 1.75rem;
}



.infofooter P{
  font-size: .875rem;
  line-height: 1.25rem;
}

.direitos-footer P{
  font-size: .875rem;
  line-height: 1.25rem;
}

.linksfooter{
  display: grid;
  align-items: center;
  justify-content: center;
}

.direitos-footer{
  display: grid;
  align-items: center;
  justify-content: center;
}

.linksf {
  display: flex;
  gap: 10px;             
  align-items: center; /* opcional: alinha à esquerda */
  justify-content: center;
}

.linksf .iconf {
  width: 35px;
  height: 35px;
  border-radius: 50%;
  border: 2px solid black;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f0f0f0; /* opcional */
  cursor: pointer;
  transition: 0.3s;
}

.linksf .iconf:hover {
  background-color: #e0e0e0;
}

.linksf .iconf a {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  color: inherit;
  text-decoration: none;
  font-size: 24px;
}