*{
  margin:0;
  padding:0;
  border:0;
  text-decoration: none;
  font: inherit;
  outline:0;
 /* vertical-align:baseline;*/
 /*display:flex;*/
 font-family: 'Montserrat', sans-serif;
 
}
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,500;0,700;1,300;1,500;1,700&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');

:root{
  --black30:rgb(30,30,30);
  --black3040:rgb(30,30,30,0.4);
  --white: rgb(255, 255, 255);

}
/*Geral------------*/

body{
  min-width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;

  
  font-family: Verdana, Geneva, Tahoma, sans-serif;

  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); /*Remover realce azul em smartphones*/

  user-select: none;
}

a{
color: inherit;   
text-decoration: none;
}
a:visited{
  color: inherit;
}

b{
  font-weight: 700;
}


/*Animação de tela-------------------------

.page-transition {
  animation: slide-in 0.5s ease-out;
}

@keyframes slide-in {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}*/

/*Scroll------------------------------*/

body::-webkit-scrollbar {
  width: 10px;               
}

body::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.1);       
}

body::-webkit-scrollbar-thumb {
  background-color:rgb(0,0,0,0.15);    
  border-radius: 20px;       
}


/*Corpo-------------------*/

main{
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 90%;

}

.hist{
  margin-top: 25px;
  margin-bottom: 15px;
}


h1{
  font-weight: 700;
  color: #404040;
  font-size: 1.2em;
  margin-top: 40px;
  margin-bottom: 20px;
  text-align: center;
}

.legenda_conteudo{
  text-align: center;
  margin-bottom: 20px;
}



/*Cards----------------------*/


.cards{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
  width: 90%;
  max-width: 1200px;
  list-style: none;
  margin-top: 20px;
}

.card{
  max-width: 500px;
  box-shadow: 2px 2px 5px rgb(0,0,0,0.5);
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  gap: 20px;
  transition: ease 1s;

}

.card:hover{
box-shadow: 2px 2px 15px rgb(0,0,0,0.6);
transition: ease 1s;
}

.card p{
  margin-bottom: 30px;
  max-width: 80%;
  font-size: 0.8em;
  text-align:justify;
  text-align-last: center;
}

.card img{
  max-width: 100%;
  border-radius: 20px 20px 0 0;
}



/*Contato------------------*/

.contato{
background-color:  #303030;
width: 240px;
height: 40px;
border-radius: 50px;
margin-top: 20px;

font-size: 1em;
font-family: 'Montserrat', sans-serif;
font-weight: 900;
color: white;

align-items: center;
justify-content: center;
display: flex;
transition: 0.6s;
border: 1.5px solid #F1F1F1;
transform: scale(1);
opacity: 60%;
}

.contato:hover{
border:1.5px solid #FFA800;
background-color: #FFA800;
color: #303030;
opacity: 1;
transition: 0.8s;
transform: scale(1.05);
letter-spacing: 0.05em;
}



.card h2{
font-weight: 600;
  text-align: center;
  font-size: 1.2em;
  margin-top: 5px;
  letter-spacing: 0.05em;
  transition: 1s;
  color: rgb(60, 60,60);
}



.card:hover h2{
  
letter-spacing: 0.1em;
transition: 1s;
}

#start_menu3{
cursor: pointer;
}

/* Estilos para a exibição das imagens */
.gallery{
display: flex;
flex-wrap: wrap;
}
.gallery .image{
min-width: 100%;
}
.gallery .image span{
display: flex;
width: 100%;
overflow: hidden;
}
.gallery .image img{
width: 100%;
vertical-align: middle;
transition: all 0.8s ease;
}
.gallery .image:hover img{
transform: scale(1.05) ;
border-radius: 20px;
cursor: pointer;
}

.image span{
  border-radius: 20px 20px 0 0;
}

/* Estilos para o visualizador de imagens */
.preview-box {
display: none;
position: fixed;
align-items: center;
justify-content: space-between;
flex-direction: column;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: #fff;
padding: 25px 25px 0 25px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
z-index: 9999;
width: 800px;
max-width: 80%;
border-radius: 10px;
}

.preview-box img {
max-width: 90%;
display: flex;
align-items: center;
justify-content: center;
}

.icon {
font-size: 20px;
cursor: pointer;
margin-right: 10px;
}

.icon-close {
position: absolute;
top: 10px;
right: 10px;
}

.icon-prev {
position: absolute;
top: 50%;
left: 8px;
transform: translateY(-50%);
}

.icon-next {
position: absolute;
top: 50%;
right: 00px;
transform: translateY(-50%);
}

.image-counter {
text-align: center;
}

.image2{
display: none;
}

.icon_card{
color: var(--black3040);
}

.icon_card:hover{
color:var(--black30);
opacity: 80%;
}

.legenda_slide{
text-align: center;
min-width: 100%;

}

.shadow {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5); /* Defina a cor de fundo da sombra (aqui, é usado preto semitransparente) */
z-index: 9998; /* Coloque a sombra acima de todos os outros elementos, exceto o visualizador de imagens */
}


/* Projetos -------------------------------------*/

#projetos_titulo{
font-size: 1.4em;
font-weight: 600;
color: #909090;
margin-top: 40px;
margin-bottom: 20px;
}

#projetos{
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
flex-wrap: wrap;
max-width: 90%;
gap: 30px;
margin-top: 20px;
margin-bottom: 80px;
}

.projetos_card{
background-color: #F1F1F1;
border-radius: 20px;
max-width: 90%;
width: 400px;
height: 500px;
overflow: hidden;
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-between;
transition: 0.6s;

opacity: 90%;
}

.projetos_card:hover{
transform: scale(1.02);
transition: 0.6s;
box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.4);
opacity: 1;


}

.projetos_card:hover img{
transform: scale(1.1);
transition: 1.2s;
}

.proj_img{
min-width: 100%;
max-height: 340px;
display: flex;
align-items: center;
justify-content: start;
flex-direction: column;

overflow: hidden;
}

.proj_img img{
max-width: 100%;
transition: 1s;
}

.proj_info{
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 160px;
min-width: 100%;
background-color: #F1F1F1;
z-index: 2;
transition: 0.8s;

text-align: center;

}



.proj_info p{
max-width: 90%;
color: #979797;
font-size: 0.9em;
margin-bottom: 20px;
}

.proj_info h2{
transition: 0.8s;
font-family: 'Montserrat', sans-serif;
font-weight: 600;
color: #303030;
font-size: 1.2em;
margin-bottom: 4px;
}


.projetos_card:hover .proj_info h2{
transition: 1s;
letter-spacing: 0.05em;

}


/*Softwares-------------------------*/

.softwares{
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
 
min-width: 100%;
max-width: 90%;
margin-top: -35px;

}

.softwares_icon{
max-height: 40px;
transition: 0.4s;
margin: 0 14px;
padding: 20px 0;

opacity: 20%;
}

.softwares_icon:hover{
transform: translateY(-6px) scale(1.1);
transition: 0.8s;
opacity: 100%;
}


.ferramentas{
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
margin-top: 50px;
background-color:#303030;
width: 100%;
padding: 50px 0;
}




/*Responsividade-------------------------*/

@media (max-width: 700px){

.card p{
    font-size: 0.7em;
    max-width: 80%;
}

.softwares{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
   
  min-width: 100%;
  max-width: 90%;
  margin-top: -35px;

}



}



