/* Body Design */

body {
    background-color: #090E16;
    font-family: 'Poppins', sans-serif;
}

/* Header Design */

header {
    margin-left: 10%;
    margin-right: 10%;
    
}

footer {
    display: flex;
    justify-content: center;
    align-items: center;

    width: 100%;
    height: 80px;
    margin-top: 40px;
    gap: 30px;

    background-color: #0F1120;
    border-top: 1px solid #c1abff;
    color: #87888F;
}

.footer-content {
    display: flex;
}

.footer-content a {
    text-decoration: none;
    color: #87888F;
    font-size: 2rem;

}

.footer-content a:hover {
    color: #7c8ae9;
    text-shadow: 0 0 5px #3e446b, 0 0 10px #3e446b, 0 0 20px #3e446b;
}

.header-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    
    width: 100%;
    height: 60px;
    border-radius: 20px;
    padding: 10px;
    

    background-color: #0F1120;
    color: #87888F;
    border: 1px solid #c1abff;
}

.header-links {
    display: flex;
    gap: 30px;
    
}

.header-links a {
    text-decoration: none;
    color: #87888F;
    font-size: 1.2rem;
}

/* Main - Image */

main {
    margin-top: 60px;
}

.main-image-box {
    display: flex;
    justify-content: space-around;
    
    background-color: #0F1120;
    margin-left: 10%;
    margin-right: 10%;
    border-radius: 40px;
}

.main-image-box img {
    height: 450px;
    margin-left: 30px;
}

.vinicios-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.vinicios-nome {
    color: #fff;
    font-size: 1.2rem;
}

.back-end-text {
    color: #87888F;
    font-size: 1rem;
}

.social-links {
    margin-top: 15px;
    display: flex;
    gap: 20px;
    justify-content: center;

    opacity: 0;
    transform: scale(0.8);
    animation: fadeUp 0.6s ease forwards;
    animation-delay: 1.5s;
}

.social-links a {
    color: #87888F;
    font-size: 2rem;
    transition: all 0.3s ease;
}

.social-links a:hover {
    color: #7c8ae9;
    text-shadow: 0 0 5px #3e446b, 0 0 10px #3e446b, 0 0 20px #3e446b;
}

.vinicios-nome h1 {
    overflow: hidden;
    border-right: .15em solid #fff;
    white-space: nowrap;
    margin: 0 auto;
    letter-spacing: .05em;
    animation: typing 2s steps(30, end), blink .75s step-end infinite;
}

/* Main - Skills */

.main-habilidades-box {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin-top: 60px;
    padding: 40px 0;
    border-top: 1px solid #c1abff;
    border-bottom: 1px solid #c1abff;
    background-color: #0F1120;
}

.habilidades-box {
    display: flex;
    justify-content: center;
    gap: 64px;
    justify-items: start;
}

.projetos-title,
.habilidades-title {
    display: flex;
    justify-content: center;
    color: #fff;
}

.habilidades-images-box {
    display: flex;
    flex-direction: column;
    align-items: flex-start; 
    margin-left: 0;   
}

.habilidades-box i,
.habilidades-images-box img {
  font-size: 2rem;
  height: 2rem;
  color: #87888F;
  transition: all .3s ease;
}

.habilidades-images-box h2 {
    color: #87888F;
}

.habilidades-programacao-h2{
  color: #fff !important;
  text-align: center;
  line-height: 1.2;
  min-height: 2.8rem;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin-bottom: 12px;
}

/* Main - Projetos */

.main-projetos-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;

    margin-top: 40px;

}

.projetos-box {
    display: flex;
    justify-content: center;
    align-items: center;

    width: 80%;
    height: 500px;
    gap: 40px;
    margin-top: 40px;

    
}

.projetos-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #fff;

    width: 80%;
    height: 500px;
    gap: 20%;

    background-color: #0F1120;
}

.bottom-container,
.top-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    
}
.bottom-container,
.top-container i {
    color: #87888F;
    font-size: 2rem;
    transition: all 0.3s ease;

    text-decoration: none!important;
    
}

.bottom-container,
.top-container a {
    color: #87888F;
    text-decoration: none!important;
}

.github-box {
    display: flex;
    justify-content: center;
    align-items: center;
    
    
}


/* Animações Main Image */

@keyframes typing {
    from { width: 0 }
    to { width: 100% }
}

@keyframes blink {
    from, to { border-color: transparent }
    50% { border-color: #fff; }
}

@keyframes fadeUp {
    from { opacity: 0; transform: translateY(20px) scale(0.8); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* Animações Main Skills */

.reveal {
  opacity: 0;
  transform: translateY(18px) scale(.98);
  transition: opacity .2s ease, transform .2s ease;
  will-change: opacity, transform;
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.reveal[data-delay="1"] { transition-delay: .06s; }
.reveal[data-delay="2"] { transition-delay: .12s; }
.reveal[data-delay="3"] { transition-delay: .18s; }
.reveal[data-delay="4"] { transition-delay: .24s; }

/* Mobile */

.hamburger {
    display: none;
    font-size: 2rem;
    cursor: pointer;
    color: #87888F;
}

@media (max-width: 768px) {
     .hamburger {
        display: block;
        font-size: 2rem;
        cursor: pointer;
        color: #87888F;
    }

    .header-links {
        display: none;
        position: absolute;
        top: 60px;
        left: 0;
        width: 100%;
        background-color: #0F1120;
        flex-direction: column;
        align-items: center;
        gap: 20px;
        padding: 20px 0;
        opacity: 0;
        transform: translateY(-10px);
        transition: all .3s ease-in-out;
        z-index: 999;
  }

    .header-links a {
        font-size: 1.1rem;
        padding: 10px 0;
        text-align: center;
        width: 100%;
    }

    .header-links.show {
        display: flex;
        opacity: 1;
        transform: translateY(0);
    }

    .main-image-box {
        flex-direction: column;
        align-items: center;
        text-align: center;
        margin: 20px auto;
        padding: 20px;
        width: 90%;
    }

    .main-image-box img {
        width: 100%;
        max-width: 350px; /* limite pra não estourar */
        height: auto;
        margin: 0 auto 20px auto;
        border-radius: 15px;
    }

    .vinicios-text {
        align-items: center;
    }

    .vinicios-nome h1 {
        font-size: 1.4rem;
    }

    .back-end-text h1 {
        font-size: 1.1rem;
    }

    .habilidades-images-box {
        justify-content: center;
    }

    .habilidades-box {
        display: flex;
        flex-direction: column;
        justify-content: center;

        gap: 34px;
    }

    .main-habilidades-box { margin-top: 40px; padding: 32px 0; }

    .habilidades-programacao-h2{
        min-height: unset;
        text-align: left;
        justify-content: flex-start;
    }
    
    .projetos-box {
        flex-direction: column;
    }
}
