/* 

==================== STLYE DO SITE ====================
Está uma "bagunça" pelo tanto de comentários, mas é pra eu aprender melhor :)

==================== CORES ====================

Background CINZA: #292b2c
Background mais claro CINZA CLARO: #555555
Cor principal AZUL: #00bfff 
Cor secundária VERDE: #6bed00
Cor texto BRANCO: #f0f0f0

*/

/* IMPORTANDO A FONTE INTER E RECURSIVE*/
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=SUSE+Mono:ital,wght@0,100..800;1,100..800&display=swap'); 
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Recursive:wght@300..1000&family=SUSE+Mono:ital,wght@0,100..800;1,100..800&display=swap');

/* ALTERA TUDO DO HTML (TUDO MESMO!)*/
* {
    padding: 0;
    margin: 0;
    font-family: "Inter", sans-serif;
}

html {
    scroll-behavior: smooth; /* especifica se a posição de rolagem deve ser suavemente animada, em vez de um salto direto, quando o usuário clica em um link dentro de uma caixa rolável. */
}

body {
    margin-top: 80px; /* Margem|Distância do topo até o primeiro card (pro card não ficar por baixo do nav) */
    background-color: #292b2c;
    background: url(../imgs/background.jpg);
}

/* ==================== BARRA DE NAVEGAÇÃO ==================== */
.nav-header {
    position: fixed; /* Controla o posicionamento de elementos dentro de uma página web. | é posicionado em relação à janela de visualização, o que significa que ele sempre permanece no mesmo lugar, mesmo que a página seja rolada. */
    top: 0; /* Posição vertical. OBS: Esta propriedade não tem efeito em elementos não posicionados. */
    left: 0; /* Posição Horizontal. */
    width: 100%; /* Define a largura de um elemento. */
    height: 80px; /* Define a altura de um elemento. */
    padding: 0 40px; /* Gerar espaço/preenchimento ao redor do conteúdo de um elemento, dentro de quaisquer bordas definidas. | Superior e Inferior, Esquerdo e Direito */
    margin-inline: auto; /* Especifica a margem no início e no fim na direção inline/em linha. */
    display: flex; /* Especifica o comportamento de exibição (o tipo de caixa de renderização) de um elemento. */
    justify-content: space-between; /* Alinha os itens do contêiner flexível quando os itens não usam todo o espaço disponível no eixo principal (HORIZONTAL) */
    align-items: center; /* justify-content, só que na vertical*/
    
    box-shadow: 0px 10px 13px -7px #000000;
    background-color: #292b2c;
    color: #f0f0f0;
    font-size: 20px;
    box-sizing: border-box; /* Permite incluir o preenchimento e a borda na largura e altura totais de um elemento.*/
    z-index: 3;
}

.logo {
    margin-left: 0; /* Criar espaço à esquerda do elemento */

    font-family: "Recursive", sans-serif;
    text-decoration: none;
    color: inherit; /* Tô herdando a cor do .nav pra .logo */
    font-size: 22px; 
    text-shadow: 2px 2px 4px #555555;
}

.logo b:first-child {
    color: #00bfff;
}

.logo b:last-child {
    color: #6bed00;
}

.nav-list {
    display: flex;
    gap: 25px; /* Define o tamanho do espaço entre as linhas e entre as colunas em layouts flexbox, de grade ou multicolunas. */
    flex-wrap: wrap; /* Especifica se os itens flexíveis devem ser encapsulados ou não. */
    justify-content: center; 
    
    font-family: "Inter", sans-serif;
    list-style: none; /* Tira a função/traço das listas */
}

.nav-list a {
    text-decoration: none; /* Tira a propriedade link do texto */
    color: #f0f0f0;
    text-shadow: 2px 2px 4px #555555;
    transition: .3s
}

.nav-list a:hover {
    color: #00bfff;
}

/* ===== MENU HAMBURGUER ===== */

.nav-toggle {
    /* ESCONDE TUDO POR PADRÃO (DESKTOP) */
    display: none;
    border: none;
    background: none;
    border-top: 3px solid #f0f0f0;

    cursor: pointer; /* Cursor ponteiro */
}

/* before e after inserem algum conteúdo antes ou depois do conteúdo do elemento especificado. */
.nav-toggle::before,
.nav-toggle::after {
    content: " ";
    display: block;
    position: relative;
    margin-top: 5px;
    width: 30px;
    height: 3px;

    background: #f0f0f0;
    transition: .3s;
}

/* Responsividade Nav */
@media (max-width: 750px) {
    /* === Menu modo Hamburguer === */
    .nav-toggle {
        display: block;
        z-index: 2; /* O Hamburguer fica na frente de tudo e de todos, RESPEITEM O HAMBURGUER! */
    }

    .nav-list {
        position: fixed;
        top: 0;
        left: 0;
        flex-direction: column; /* Especifica a direção dos itens flexíveis. (Apenas com display: flex;)*/
        justify-content: space-around;
        width: 100vw; /* Em relação a 1% da largura da janela de vizualização */
        height: 40vh; /* Em relação a 1% da altura da janela de vizualização */
        gap: 0;
        align-items: center;

        background: #00bfff;
        clip-path: circle(20px at 90% -15%);
        transition: .5s ease-out;

        pointer-events: none; /* Não posso interagir com a lista se eu não cliquei no hamburguer :) */
        z-index: 1; /* A lista fica na frente de tudo, menos do hamburguer */
    }

    .nav-list a {
        font-size: 24px;
        opacity: 0; /* Não tem lista, então ela não vai aparecer*/
    }

    .nav-list li:nth-child(1) a {
        transition: 0.3s 0.1s;
    }

    .nav-list li:nth-child(2) a {
        transition: 0.3s 0.3s;
    }

    .nav-list li:nth-child(3) a { 
        transition: 0.3s 0.5s;
    }

    .nav-list li:nth-child(4) a {
        transition: 0.3s 0.7s;
    }

    /* === Menu modo Lista === */

    .nav.active .nav-list {
        clip-path: circle(900px at 90% -15%);
        pointer-events: all; /* Agora eu posso :) */
    }

    .nav.active .nav-list a {
        opacity: 1; /* Agora ela aparece */
    }

    .nav.active .nav-toggle {
        position: fixed;
        top: 36px;
        right: 16px;
        border-top-color: transparent;
    }
    /* Transformando o hamburguer mágico em um X */
    .nav.active .nav-toggle::before {
        transform: rotate(45deg);
    }

    .nav.active .nav-toggle::after {
        transform: rotate(-45deg);
        top: -8px;
    }
}
/* ============================================================ */

/* ==================== SOBRE-MIM ==================== */
.about-me {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    
    padding-top: 60px;
    gap: 20px;
    margin: 0 auto;
    margin-inline: auto;
    min-height: auto;
    width: 100%;
    max-width: 800px;
}

.card {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;

    max-width: 280px;
    gap: 20px;
    padding: 30px 190px; /* Tamanho do card */
    margin: 0 auto;
    
    background-color: #00bfff;
    color: #f0f0f0;
    text-align: left;
    border-radius: 5px;
    box-shadow: 0px 10px 13px -7px #000000; 

    transition: transform .3s ease, box-shadow .3s ease;
}

.card:hover {
    transform: scale(1.01); /* levanta e dá um leve zoom */

    box-shadow: 0px 20px 25px -10px #000000, 10px 10px 5px 2px rgba(0,0,0,0.3);
}

.card img {
    width: 200px;
    height: 200px;
    border-radius: 50%;

    box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25);
}

.card-text {
    justify-content: center;
    white-space: nowrap;
    font-size: 20px;
}

.card-text h2 {
    font-size: 25px;
}

.description {     
    max-width: 85%;
    
    font-size: 20px;
    text-align: justify;
    text-indent: 30px;
    color: #f0f0f0;
}

.description p:last-child {
    font-size: 20px;
}

.btn-curriculo {
    display: flex;
    position: relative;
    justify-content: center;
    max-width: 400px;
    width: 100%;
    margin: 40px auto;
    padding: 40px;

    border-style: none;
    border-radius: 5px;
    box-sizing: border-box;
    background-color: #6bed00;
    
    font-size: 25px;
    white-space: nowrap;
    text-align: center;
    text-decoration: none;
    color: #000;
    box-shadow: 0px 10px 13px -7px #000000; 
    
    transition: transform .3s ease, box-shadow .3s ease;
}

.btn-curriculo:hover {
    transform: scale(1.01); /* levanta e dá um leve zoom */

    box-shadow: 0px 20px 25px -10px #000000, 10px 10px 5px 2px rgba(0,0,0,0.3);
}
/* ============================================================ */

/* ==================== RODAPÉ ==================== */
.site-footer {
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 20px;
    margin-top: 40px;
    box-sizing: border-box;
    
    background-color: #00bfff;
    color: #f0f0f0;
    font-size: 15px;
    text-align: center;
    box-shadow: 0px 10px 13px 7px #000000;
}

/* ===== RESPONSIVIDADE ===== */
@media (max-width: 750px) {
    .about-me {
        flex-direction: column;
        align-items: center;
    }

    .card {
        flex-direction: column;   /* Foto em cima, texto embaixo */
        padding: 15px 50px;
        max-width: 200px;  
        text-align: center;
    }

    .card img {
        width: 120px;
        height: auto;
    }
    
    .card-text {
        font-size: 10px;
        white-space: normal;
    }

    .card-text h2 {
        font-size: 15px;
        white-space: normal;
    }

    .description {
        max-width: 80%;
        flex-direction: row;
        margin: 20px auto 0px auto;
        
        font-size: 15px;
    }

    .btn-curriculo {
        padding: 20px;
        max-width: 300px;
        font-size: 20px;
    }

    .site.footer {
        font-size: 10px;
    }
}