* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    color: #fff;
    font-family: "roboto", 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}





.mascara-video {
    z-index: -1;
    position: fixed;
    top: 0;
    width: 100vw;
    height: 100vh;
    background: rgb(117,142,150);
    background: radial-gradient(circle, rgba(15, 178, 233, 0.272) 0%, rgb(3, 3, 58) 100%);
    opacity: 0.9;
}

body {
    font-size: 16px;
    /* Tamanho da fonte para texto principal */
    line-height: 1.5;
    /* Altura da linha para melhorar a legibilidade */
}



h2 {
    font-family: 'Dancing Script', cursive;
    font-weight: 700;
    font-size: 40px;

}

@media only screen and (max-width: 768px) {

    /* Definições para dispositivos móveis */
    body {
        font-size: 14px;
    }

    h1 {
        font-size: 18px;
    }

    h2 {
        font-size: 16px;
    }
}
.clock {
    font-size: 20px;
    text-align: center;
    padding-top: 10px;
    padding-right: 20px;
}



header {
    display: grid;
    grid-template-columns: 1fr 2fr 3fr 1fr;
    grid-gap: 10px;
    padding: 10px;
    background-color: #0b054970;
    /* optional */
    position: fixed;
    /* to make the header fixed */
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1; /* make sure the header is on top */
}
.coluna-2 img {
    animation: fade-wobble 2s ease-in-out 0s infinite,
               slide-out 4s ease-in-out 2s infinite,
               pause 6s ease-in-out 6s infinite;
               transform: scaleX(5);
               cursor: pointer;
  }
  
  @keyframes fade-wobble {
    0% {
      opacity: 1;
      transform: rotate(0deg);
    }
    25% {
      opacity: 0.8;
      transform: rotate(10deg);
    }
    50% {
      opacity: 0.6;
      transform: rotate(0deg);
    }
    75% {
      opacity: 0.8;
      transform: rotate(-10deg);
    }
    100% {
      opacity: 1;
      transform: rotate(0deg);
    }
  }
  
  @keyframes slide-out {
    0% {
      transform: translateX(0);
    }
    80% {
      transform: translateX(100%);
    }
    100% {
      transform: translateX(0);
    }
  }
  
  @keyframes pause {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(0);
    }
  }
.logo {
    grid-column: 1;
    text-align: center;
    width: 100px;
    /* adicionar largura de 100px à coluna .logo */

}

.logo i {
    font-size: 50px;
    /* ajuste o tamanho do ícone aqui */
    color: #fff;
    /* ajuste a cor do ícone aqui */
    width: 100px;
    font-size: 50px;


}

.title {
    grid-column: 2;
    text-align: left;
    grid-column: 2;
    width: 31, 25vw;
}

.title h1 {
    text-transform: uppercase;
}

.menu {
    padding-top: 10px;
    grid-column: 3;
    display: flex;
    
   

}

.menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: space-between;
    
}
.menu li {
    margin-right: 20px;
    
}


.menu ul li a {
    transition: all 0.3s ease-in-out; /* Adiciona uma transição suave */
    text-decoration: none;
    position: relative;
}

.menu ul li a:hover {
    /* Altere as propriedades aqui */
    color: #007bff; /* Altera a cor do texto */
    text-decoration: none; /* Remove a decoração do texto */

}


/* Adicionando o efeito de borda azul */
.menu ul li a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%; /* Centraliza a borda embaixo da palavra */
    transform: translateX(-50%); /* Centraliza a borda embaixo da palavra */
    width: 0;
    height: 2px;
    background-color: #fff;
    transition: width 0.3s ease-in-out;
  }
  
  .menu ul li a:hover::after {
    width: 100%;
  }

.clock {
    grid-column: 4;
    text-align: right;
}
p {
    
    color: #fff;
 }

/* Desktop styles */
@media (min-width: 1200px) {
    header {
        grid-template-columns: 1fr 2fr 3fr 1fr;
    }

    .logo {
        width: 100px;
        /* adjust logo size for desktop */
    }

    .menu {
        font-size: 18px;
        /* adjust menu font size for desktop */
    }

    .clock {
        font-size: 20px;
        /* adjust clock font size for desktop */
    }

    #mobile_btn {
        display: none;
    }

    #mobile_menu {
        display: none;
    }

    #sobre p {
        padding: 10px 200px;
        text-align: justify;
      
    }
   
    #projetos {
        padding-left: 50px;
        padding-right: 50px;
    }

    #contatos {
        padding: 10px 150px;
    }

}

/* Tablet styles */
@media (min-width: 767px) and (max-width: 1170px) {
    header {
        grid-template-columns:  2fr 2fr 2fr;
    }

    .logo {
        width: 80px;
        /* adjust logo size for tablet */
    }

    .menu {
        font-size: 16px;
        /* adjust menu font size for tablet */
    }
    
    .clock {
        font-size: 20px;
        /* adjust clock font size for tablet */
    }

    #mobile_menu.active {
        display: flex;

    }

    #mobile_menu {
        display: none;

    }

    #mobile_btn {
        display: none;
        background-color: transparent;
    }
}

/* Mobile styles */
@media (max-width: 767px) {
    .mascara-video{
        width: 100vw;
        height: 100vh;
    }
    #mobile_btn {
        font-size: 1.5rem;
        display: block;
        color: #fff;
        background-color: transparent;
        cursor: pointer;
    }

    #mobile_menu {
        display: none;
        font-size: 20px;


    }

    /* Adicione essa classe ao seu CSS */
    .mobile_menu.active {
        display: block;

    }

    header {
        grid-template-columns: 1fr 2fr 1fr;
    }

    .logo {
        width: 60px;
        text-align: left;

        /* adjust logo size for mobile */
    }

    #mobile_menu {
        position: absolute;
        top: 100%;
        /* Posiciona o menu abaixo do header */
        left: 0;
        width: 100%;
        background-color: #140a30;
        /* Cor de fundo do menu */
        padding: 10px;
        display: none;
        /* Oculta o menu por padrão */

    }

    #mobile_menu.active {
        display: block;
    }

    .menu {
        font-size: 14px;
        /* adjust menu font size for mobile */
    }

    .clock {
        
        
        font-size: 15px;
        /* adjust clock font size for mobile */
    }

    .menu ul {
        display: none;
    }
   
    /* Add this to your CSS file */
#mobile_menu.active a:hover {
    color: #007bff;
}
    
    
    
    
    .menu ul li a:hover {
        /* Altere as propriedades aqui */
        color: #007bff; /* Altera a cor do texto */
        text-decoration: none; /* Remove a decoração do texto */
    
    }

    .coluna-2 {
        visibility: hidden;

    }

    .coluna-1 {
        margin-left: 50px;


    }

    #sobre {
        padding: 20px;
        display: block;
       
    }

    #sobre p {
        padding: 5px;
    }

    #inicio img {
        width: 200px;

    }

    #inicio {
        margin-left: 47px;
    }
    .carrossel-inverso .item{
        padding-left: 50px;
        transform: translateY(1.3);
    }
}

/* CSS */
/* CSS (não há alterações necessárias) */
#inicio {
    padding-top: 130px;
    display: flex;
    flex-wrap: wrap;
    height: 100vh;


}

.coluna-1,
.coluna-2 {
    flex-basis: 50%;
    /* cada coluna ocupa 50% do espaço */

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;


}

.coluna-1 img {

    width: 20vw;
    /* ajustar o tamanho da imagem */
    align-items: center;
    border-radius: 50%;
    /* tornar a imagem circular */

}

.coluna-1 h2 {
    font-size: 24px;
    margin-bottom: 10px;
    /* adicionar espaço entre o título e o subtítulo */
    text-align: center;
    color: #fff;
}

.coluna-1 h3 {
    font-size: 18px;
    color: #fff;
    /* ajustar a cor do subtítulo */
    text-align: center;
}

.coluna-2 img {
    width: 25vw;
    /* ajustar o tamanho da imagem */

}



button {
    margin-top: 10px;
    background-color: #007bff;
    color: #ffffff;
    border: none;
    font-size: 13px;
    cursor: pointer;
    border-radius: 4px;
    padding: 10px;
    width: 100px;
}
button a {
    text-decoration: none;
}

button:hover {
    background-color: #08061d;
}

.coluna-1 h2 {
    position: relative;
    font-size: 24px;
    overflow: hidden;
    white-space: nowrap;
    animation: typing 4s steps(40) forwards, loop 65s infinite;
}

@keyframes typing {
    0% {
        width: 0;
    }

    99% {
        width: 100%;
        border-right: 2px solid #000;
    }

    100% {
        width: 100%;
        border-right: 0;
    }
}

.no-underline {
    text-decoration: none;
    margin-bottom: 10px;
}

#mobile_nav_list a {
    text-decoration: none;
    margin-bottom: 10px;

    font-size: 28px;
    /* ajuste o valor de acordo com sua necessidade */

    font-size: 1.5em;
    /* ajuste o valor de acordo com sua necessidade */
    cursor: pointer;
}

.container-bio {
    width: 100vw;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    justify-items: center;
   
}


p {
    text-align: justify;
    font-weight: 400;
    padding: 10px 24px;
    margin-bottom: 50px;
}

#projetos {
    width: 100vw;
    height: 100vh;
    padding-top: 150px;
    

}

.carrossel {
    
    padding-top: 100px;
    padding-bottom: 150px;

}


.carrossel-inverso .item {
    animation: reverseRun 6s linear infinite;
    animation-delay: var(--delay);
    border-radius: 30px;

}

.item {
    width: var(--width);
    height: 50px;
    position: absolute;
    animation: autoRun 6s infinite linear;
    animation-delay: var(--delay);
    cursor: pointer;



}

.item img {
    width: 100%;

}

.capa {
    width: 150px;
    height: 91px;
}

.carrossel:hover .item {

    animation-play-state: paused;
    filter: grayscale(1);


}

.carrossel-inverso:hover .item {
    animation-play-state: paused;
    filter: grayscale(1);
}

.carrossel .item:hover {
    filter: grayscale(0);
    transform: scale(1.3);
}

.carrossel-inverso .item:hover {
    filter: grayscale(0);
    transform: scale(1.5);
}

@keyframes autoRun {
    from {
        left: 100%;
    }

    to {
        left: -50px;
    }
}

@keyframes reverseRun {
    from {
        left: -50px;
    }

    to {
        left: 100%;
    }
}

.autorun {
    animation: autoRun 1s, reverseRun 1s;
}

#contatos {
    display: grid;
    grid-template-columns: 1fr 1fr;
    /* 2 colunas com largura igual */
    gap: 20px;
    /* adicione um espaço entre as colunas */

}

.leftformulario {
    grid-column: 1;
    /* coloque o formulário na primeira coluna */
}

.rightcontato {
    grid-column: 2;
    /* coloque o texto na segunda coluna */
}

/* faça com que os elementos do formulário acompanhem a largura da coluna */
.leftformulario label,
.leftformulario input,
.leftformulario textarea,
.leftformulario button {
    width: 100%;
    /* faça com que os elementos do formulário ocupem a largura total da coluna */
    box-sizing: border-box;
    /* inclua padding e borda no cálculo de largura */
    padding: 10px;
}

/* ... (restante do código permanece igual) */

.leftformulario button {
    width: 100px;
    /* reduz a largura do botão para 50% da coluna */
    box-sizing: border-box;
    /* inclua padding e borda no cálculo de largura */
    margin-left: 10px;
}


/* make it responsive */
@media (max-width: 768px) {
    #contatos {
        grid-template-columns: 1fr;
        /* switch to a single column on smaller screens */
    }

    .leftformulario,
    .rightcontato {
        grid-column: 1;
        /* stack the elements on top of each other */
    }
}

footer {

    background-color: #08061d;
    /* Cor de fundo do rodapé */
    color: #fff;
    /* Cor do texto no rodapé */
    text-align: center;
    /* Alinhamento do texto (centralizado) */
    padding: 10px;
    /* Espaçamento interno do rodapé */
    width: 100%;
    height: 20vh;
}
.caixa-video {
    position: relative; /* adiciona um contexto de posição relativa */
    width: 100%; /* define a largura do container como 100% do pai */
    height: auto; /* define a altura do container como 100% da altura da viewport */
  }
  
  .caixa-video video {
    position: fixed; /* posiciona o vídeo absolutamente dentro do container */
    top: 0; /* posiciona o vídeo no topo do container */
    left: 0; /* posiciona o vídeo à esquerda do container */
    width: 100vw; /* define a largura do vídeo como 100% do container */
    height: 100vh; /* define a altura do vídeo como 100% do container */
    object-fit: cover; /* faz o vídeo se adaptar ao tamanho do container */
    z-index: -1000;
  }

  .grid-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-flow: column;
    gap: 10px;
    padding: 20px;
  }
  .grid-container ul{
    list-style: none;
  }
  .grid-item {
  
    padding: 20px;
    border: none;
  }
  select {
    width: 100%;
    padding: 10px;
    margin-bottom: 10px;
    background-color:#091450;
   
  }
  #info-1, #info-2, #info-3 {
    display: none;
   
    border: none;
  }
   #select-1, #select-2 ,#select-3 .vision {
    background-color:#091450;
  }
  .vision {
    opacity: 0.5; /* adjust the value to your liking */
  }
  
  
 