:root {
    --principal-color: #11152b;
    --second-color: #F23535;
    --second-color-secundario: #1a2553;
    --solid-color-1: #FFFFFF;

    --font-principal: 'Source Sans Pro', sans-serif;
    --font-secundaria: 'Nunito Sans', sans-serif;

    --size-title: 40px;
    --weight-title: 900;

    --size-content: 20px;
    --weight-content: 700;
}

* {
    padding: 0;
    border: 0;
    margin: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    background-color: var(--principal-color);
    overflow-x: hidden !important;
    /* font-family: 'Open Sans', sans-serif; */
    font-family: var(--font-principal);
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 5%;
}

#particles-js {
    height: 100vh;
    width: 100% !important;
    position: fixed !important;
    z-index: -20;
}

.container-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 75px;
    z-index: 99;
}

.logo > h1 {
    color: var(--second-color);
    font-size: 44px;
    font-weight: var(--weight-title);
}

.navigations > ul {
    list-style-type: none;
    display: flex;
    gap: 8.3rem;
}

.navigations > ul > li > a {
    color: var(--solid-color-1);
    font-size: 15px;
    font-weight: 600;
}

.hamburger {
    display: none;
}

.hamburger > div {
    background-color: var(--second-color);
    height: 2px;
    width: 30px;
    margin-top: 6px;
}

.direcionar {
    position: relative;
    display: inline-block;
    text-decoration: none;
    color: var(--second-color);
}

.direcionar::after {
    content: ' ';
    position: absolute;
    background-color: var(--second-color);
    transform-origin: bottom right;
    transition: transform 0.35s ease-out;
    width: 100%;
    height: 1px;
    transform: scaleX(0);
    left: 0;
    bottom: -2px;
}

.direcionar:hover::after {
    transform-origin: bottom left;
    transform: scaleX(1);
}

.navigations > ul > li {
    color: var(--solid-color-1);
    font-size: 15px;
    font-weight: 500;
}

/*home*/
.container-home {
    display: grid;
    grid-template-columns: 60% 40%;
    height: calc(100vh - 75px);
}

.home-1 {
    display: flex;
    justify-content: center;
    flex-direction: column;
    gap: 1rem;
}

.content-home > h3 {
    color: var(--second-color);
    font-size: 30px;
    font-weight: var(--weight-content);
}

.content-home > h1 {
    color: var(--solid-color-1);
    text-transform: uppercase;
    font-size: 78px;
    font-weight: var(--weight-content);
}

#nome::after {
    content: '|';
    margin-left: 5px;
    animation: escrevendoNome 1s infinite;
    color: var(--second-color);
    z-index: -10;
}

@keyframes escrevendoNome {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

.content-home > p {
    color: var(--solid-color-1);
    font-size: 30px;
    font-weight: 600;
}

.contact {
    display: flex;
    gap: 2rem;
}

.linkedin,
.github,
.whatsapp,
.email {
    border: solid 2px var(--second-color);
    padding: 11px 15px;
    border-radius: 50%;
}

.linkedin:hover,
.github:hover,
.whatsapp:hover,
.email:hover {
    border: solid 2px var(--solid-color-1);
    background-color: var(--solid-color-1);
    transition: .4s linear;
}

/*home 2*/
.home-2 {
    display: flex;
    justify-content: center;
    align-items: center;
}

.home-2 > img {
    width: 33rem;
    filter:drop-shadow(2px 2px 8px #05070e);
    animation: animationHome 3s linear infinite;
}

@keyframes animationHome {
    0% {
        transform: translateY(-20px);
    }
    50% {
        transform: translateY(20px);
    }
    100% {
        transform: translateY(-20px);
    }
}

/*SOBRE*/
.container-sobre {
    display: grid;
    grid-template-columns: 55% 45%;
    height: 100vh;
}

.sobre-1 {
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.title-sobre > h1 {
    text-transform: uppercase;
    color: var(--solid-color-1);
    font-size: 30px;
    font-weight: var(--weight-title);
    font-family: var(--font-secundaria);
}

.title-sobre > div > p {
    text-transform: uppercase;
    color: var(--solid-color-1);
    font-size: 25px;
    font-family: var(--font-secundaria);
}

.vamos-la {
    display: flex;
    align-items: center;
    flex-direction: row;
    gap: 2rem;
    margin-right: 40px !important;
    margin-bottom: 25px !important;
}

.vamos-la > p {
    text-align: center;
    font-size: var(--size-content) !important; 
}

.vamos-la > div {
    height: 1px;
    width: 26rem;
    background-color: var(--second-color);
}

.content-sobre-1 {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.content-sobre-1 > h1 {
    color: var(--second-color);
    margin-top: 30px;
    font-size: 22px;
}

.whatsapp-sobre,
.cidade-sobre,
.email-sobre {
    display: flex;
    align-items: center;
    gap: .3rem;
}

.whatsapp-sobre > h3,
.cidade-sobre > h3,
.email-sobre > h3 {
    color: var(--second-color);
    font-size: var(--size-content);
}

.whatsapp-sobre > span,
.cidade-sobre > span,
.email-sobre > span {
    color: var(--solid-color-1);
    font-weight: 600;
    font-size: var(--size-content);
}

/*lado 2*/
.sobre-2 {
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.sobre-mim {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.content-sobre-2 {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.content-sobre-2 > h1 {
    text-transform: uppercase;
    color: var(--second-color);
    font-size: var(--size-title);
    font-weight: var(--weight-title);
    font-family: var(--font-secundaria);
}

.content-sobre-2 > p {
    color: var(--solid-color-1);
    font-size: 18px;
    font-weight: 500;
}

.title-sobre-2 {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.curso,
.periodo {
    display: flex;
    gap: .5rem;
}

.curso > p,
.periodo > p {
    color: var(--second-color);
    font-size: var(--size-content);
    font-weight: 800;
}

.curso > span,
.periodo > span {
    color: var(--solid-color-1);
    font-size: var(--size-content);
}

.download-cv {    
    margin-top: 30px;
}

.download-cv > a {
    text-decoration: none;
    background-color: var(--second-color);
    color: var(--solid-color-1);
    padding: 10px 32px;
    font-weight: var(--weight-content);
    border-radius: 2px;
}

.download-cv > a:hover {
    background-color: var(--solid-color-1);
    border: solid 1px var(--second-color);
    color: var(--second-color);
    transition: .4s;
}

/*habilidades*/
.aba-habilidades {
    height: 100vh;
}

.container-habilidades {
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding-top: 50px;
}

.wrapper-habilidades {
    display: grid;
    grid-template-columns: 55% 45%;
}

.info-habilidades {
    margin-bottom: 60px;
}

.info-habilidades > h1 {
    text-align: center;
    text-transform: uppercase;
    color: var(--second-color);
    font-size: var(--size-title);
    font-weight: var(--weight-title);
    font-family: var(--font-secundaria);
}

.info-habilidades > p {
    text-align: center;
    color: var(--solid-color-1);
    font-family: var(--font-secundaria);
    font-size: 16px;
    font-weight: var(--weight-content);
}

.habilidades-1 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 98%;
    gap: 3rem;
}

.skills-interpessoal {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.skills-tecnologia {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.skills-tecnologia svg {
    height: 60px !important;
    width: 63px !important;
}

.skills-idioma {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.text-interpessoal > h1,
.text-tecnologia > h1,
.text-idioma > h1 {
    font-family: var(--font-secundaria);
    text-transform: uppercase;
    color: var(--solid-color-1);
    font-weight: 800;
    font-size: 28px;
}

.text-interpessoal > p,
.text-tecnologia > p,
.text-idioma > p {
    color: var(--solid-color-1);
    font-family: var(--font-secundaria);
    font-size: 14px;
}

.wrapper-habilidades-2 {
    display: flex;
    justify-content: center;
    flex-direction: column;
    gap: 1rem;
}

.skill-css,
.skill-js,
.skill-react,
.skill-bootstrap,
.skill-angular,
.skill-node,
.skill-csharp,
.skill-sql,
.skill-vuejs,
.skill-sass,
.skill-typescript {
    display: flex;
}

.title-css {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--solid-color-1);
    background-color: #2673A7;
    width: 180px;
    height: 4vh;
}

.title-js {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--solid-color-1);
    background-color: #d3c60f;
    width: 180px;
    height: 4vh;
}

.title-react {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--solid-color-1);
    background-color: #00D0F2;
    width: 180px;
    height: 4vh;
}

.title-vuejs {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--solid-color-1);
    background-color: #00C180;
    width: 180px;
    height: 4vh;
}

.title-bootstrap {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--solid-color-1);
    background-color: #572B8A;
    width: 180px;
    height: 4vh;
}

.title-angular {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--solid-color-1);
    background-color: #E6323E;
    width: 180px;
    height: 4vh;
}

.title-sass {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--solid-color-1);
    background-color: #CF5CA2;
    width: 180px;
    height: 4vh;
}

.title-node {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--solid-color-1);
    background-color: #7AB300;
    width: 180px;
    height: 4vh;
}

.title-typescript {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--solid-color-1);
    background-color: #1A5DA6;
    width: 180px;
    height: 4vh;
}

.title-csharp {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--solid-color-1);
    background-color: #572B8A;
    width: 180px;
    height: 4vh;
}

.title-sql {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--solid-color-1);
    background-color: #2673A7;
    width: 180px;
    height: 4vh;
}

.porcentagem-css,
.porcentagem-js,
.porcentagem-react,
.porcentagem-bootstrap,
.porcentagem-angular,
.porcentagem-node,
.porcentagem-csharp,
.porcentagem-sql,
.porcentagem-typescript,
.porcentagem-sass,
.porcentagem-vuejs {
    color: var(--solid-color-1);
    background-color: var(--solid-color-1);
    width: 100%;
    height: 4vh;
}

.resultado-css {
    background-color: #3598DB;
    height: 4vh;
    width: 85%;
}

.resultado-js {
    background-color: #EACF54;
    height: 4vh;
    width: 80%;
}

.resultado-react {
    background-color: #63d7e9;
    height: 4vh;
    width: 60%;
}

.resultado-vuejs {
    background-color: #48D191;
    height: 4vh;
    width: 75%;
}

.resultado-bootstrap {
    background-color: #673F94;
    height: 4vh;
    width: 65%;
}

.resultado-angular {
    background-color: #F16E76;
    height: 4vh;
    width: 55%;
}

.resultado-sass {
    background-color: #FF9CCE;
    height: 4vh;
    width: 50%;
}

.resultado-node {
    background-color: #89BB3C;
    height: 4vh;
    width: 55%;
}

.resultado-typescript {
    background-color: #3178C6;
    height: 4vh;
    width: 60%;
}

.resultado-csharp {
    background-color: #673F94;
    height: 4vh;
    width: 90%;
}

.resultado-sql {
    background-color: #3598DB;
    height: 4vh;
    width: 75%;
}

.porcentagem {
    display: flex;
    justify-content: end;
    align-items: center;
    height: 4vh;
    padding-right: 10px;
}

.porcentagem > p {
    font-weight: var(--weight-content);
}

/*EXPERIENCIA*/
.aba-experiencia {
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.container-experiencia {
    padding-top: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.container-jobs {
    padding-top: 40px;
}

.info-experiencia > h1 {
    font-family: var(--font-secundaria);
    text-align: center;
    color: var(--second-color);
    font-size: var(--size-title);
    font-weight: var(--weight-title);
    text-transform: uppercase;
}

.info-experiencia > p {
    text-align: center;
    color: var(--solid-color-1);
    font-family: var(--font-secundaria);
    font-size: 16px;
    font-weight: var(--weight-content);
}

.container-jobs {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 1rem;
}

.work {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 20px;
    text-align: center;
}

.work:hover {
    background-color: var(--second-color-secundario);
    color: var(--solid-color-1);
    border-radius: 10px;
    transition: ease-in-out 0.4s;
    cursor: pointer;
}

.work h2 {
    color: var(--second-color);
    font-weight: var(--weight-content);
    font-size: 28px !important;
}

.work p {
    color: var(--solid-color-1);
    padding-top: 10px;
}

.work span {
    color: var(--second-color);
    font-weight: var(--weight-content);
    margin-top: 20px;
}

.work ul {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.work > ul > li {
    color: var(--second-color);
}




/*PROJETOS*/
/*timeline*/
.container-projetos {
    padding-top: 50px;
}

.info-projetos {
    margin-bottom: 60px;
}

.info-projetos > h1 {
    font-family: var(--font-secundaria);
    text-align: center;
    color: var(--second-color);
    font-size: var(--size-title);
    font-weight: var(--weight-title);
    text-transform: uppercase;
}

.info-projetos > p {
    text-align: center;
    color: var(--solid-color-1);
    font-family: var(--font-secundaria);
    font-size: 16px;
    font-weight: var(--weight-content);
}

.timeline ul {
    list-style-type: none;
    border-left: 2px solid var(--solid-color-1);
    width: auto;
    margin: 0 auto;
    padding: 10px 5px;
}

.content button {
    position: relative;
    left: 50%;
    transform: translate(-50%);
}

.content button {
    text-decoration: none;
    cursor: pointer;
    background-color: var(--second-color);
    color: var(--solid-color-1);
    padding: 10px 32px;
    border-radius: 2px;
    font-weight: 600; 
}

.timeline ul li {
    position: relative;
    cursor: pointer;
    padding: 20px 20px;
    transition: .5s;
}

.timeline ul li span {
    font-family: var(--font-secundaria);
    display: inline-block;
    text-align: center;
    background-color: var(--second-color);
    color: var(--solid-color-1);
    border: solid 1px var(--second-color);
    padding: 8px;
    font-size: 13px;
    font-weight: var(--weight-content);
    border-radius: 7px;
}

.content h3 {
    font-family: var(--font-secundaria);
    font-weight: 800;
    text-transform: uppercase;
    color: var(--solid-color-1);
    font-size: 16px;
    padding-top: 5px;
}

.content h5 {
    font-family: var(--font-secundaria);
    font-weight: 900;
    color: var(--second-color);
    padding-top: 5px;
}

.content p {
    color: var(--solid-color-1);
}

.timeline ul li .content p {
    padding: 5px 0px 15px 0px;
    font-size: 15px;
}

.timeline ul li:before {
    content: '';
    position: absolute;
    background-color: #FFFF;
    width: 10px;
    height: 10px;
    left: -11.5px;
    top: 28px;
    border-radius: 50%;
    transition: .5s;
}

.timeline ul li:hover {
    background-color: var(--second-color-secundario);
    color: var(--solid-color-1);
    border-radius: 10px;
}

.timeline ul li:hover:before  {
    box-shadow: 0px 0px 10px 2px var(--solid-color-1);
}

@media (max-width:300px) {
    .timeline {
        width: 100%;
        padding: 30px 5px 30px 10px;
    }

    .timeline ul li .content h3 {
        color: #34ace0;
        font-size: 15px;
    }
}

/*footer*/
.container-footer {
    height: auto;
}

.content-footer {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin: 5vh 0 1vh 0;
}

.content-footer > h1 {
    text-align: center;
    color: var(--second-color);
    font-size: 40px;
    font-weight: 800;
}

.content-footer > p {
    text-align: center;
    color: var(--solid-color-1);
    font-size: 12px;
    font-weight: 600;
}

/*RESPONSIVIDADE*/
@media (max-width: 900px) {
    .navigations > ul {
        gap: 1rem;
    }
    
    .container-home {
        height: auto !important;
        margin: 7vh 0;
        display: flex;
        flex-direction: column;
    }

    .container-sobre {
        display: flex;
        flex-direction: column;
        height: auto !important;
        gap: 3rem;
        padding: 10vh 0;
    }

    .sobre-1 {
        width: 100%;
    }

    .home-2 > img {
        width: 100%;
        padding: 40px;
    }

    .wrapper-habilidades {
        display: flex;
        flex-direction: column;
        height: auto !important;
        gap: 3rem;
        margin: 10vh 0;
    }

    .aba-habilidades {
        height: auto !important;
        position: relative !important;
    }

    .title-bootstrap,
    .title-angular,
    .title-csharp,
    .title-css,
    .title-js,
    .title-node,
    .title-react,
    .title-typescript,
    .title-sass,
    .title-sql {
        width: 170px;
    }

    .hamburger {
        position: relative;
        cursor: pointer;
        display: inline-block;
        width: 35px;
        height: 30px;
        margin: 0px 0px;
        z-index: 11;
    }
        
    .hamburger span {
        position: absolute;
        background-color: var(--solid-color-1);
        width: 100%;
        height: 3px;
        border-radius: 1px;
        transition: .3s cubic-bezier(.8, .5, .2, 1.4);
        transition-duration: 500ms;
    }
        
    .hamburger span:nth-child(1) {
        top: 0px;
        left: 0px;
    }
        
    .hamburger span:nth-child(2) {
        top: 12px;
        left: 0px;
        opacity: 1;
    }
        
    .hamburger span:nth-child(3) {
        top: 24px;
        bottom: 0px;
        left: 0px;
    }
          
    .hamburger.open span:nth-child(1) {
        transform: rotate(45deg);
        top: 13px;
        background-color: var(--second-color);
    }
        
    .hamburger.open span:nth-child(2) {
        opacity: 0;
        background-color: var(--second-color);
    }
        
    .hamburger.open span:nth-child(3) {
        transform: rotate(-45deg);
        top: 13px;
        background-color: var(--second-color);        
    }

    .navigations {
        display: flex;
        flex-direction: column;
        justify-content: space-evenly;
        position: absolute;
        transform: translateX(100%);
        background-color: var(--second-color-secundario);
        height: 100vh;
        width: 100%;
        top: 0;
        left: 0;
        opacity: .97;
        z-index: 10;
    }

    .navigations > ul {
        flex-direction: column;
        text-align: center;
        gap: 3rem;
    }

    .navigations > ul > li > a {
        font-size: var(--size-content);
    }
    
    .active {
        transform: translateX(0%);
        position: absolute;
        top: 0;
        left: 0;
    } 

    .content-home > p {
        font-size: 22px;
    }

    .title-sobre > h1 {
        font-size: 24px !important;
    }

    .vamos-la > p {
        text-align: initial;
        font-size: 16px !important;
        white-space: nowrap;
    }
    
    .email-sobre > h3, 
    .email-sobre > span,
    .whatsapp-sobre > h3, 
    .whatsapp-sobre > span,
    .cidade-sobre > h3,
    .cidade-sobre > span {
        font-size: 16px;
        white-space: nowrap;
    }

    .content-sobre-2 > p {
        font-size: 16px;
    }

    .title-sobre-2 {
        margin-top: 20px;
    }
    
    .curso > p,
    .curso > span,
    .periodo > p,
    .periodo > span {
        font-size: 16px;
    }

    .wrapper-habilidades {
        margin-top: 0px;
    }

    .text-interpessoal > h1,
    .text-tecnologia > h1,
    .text-idioma > h1 {
        font-size: 24px;
    }

    .aba-experiencia {
        padding-top: 300px;
    }

    .wrap-work {
        flex-direction: column;
    }
    
    .work-job > span {
        font-size: 16px;
    }

    .work > span {
        font-size: 14px;
    }

    .aba-projetos {
        margin-top: 350px;
    }

}

@media (max-width: 425px) {
    .body {
        width: 425px !important;
    }
    .contact {
        justify-content: space-between;
        gap: 0;
    }

    .container-sobre  {
        padding: 0 !important;
    }

    .container-habilidades {
        padding: 0;
    }

    .aba-habilidades {
        height: auto !important;
        padding-top: 15vh;
    }

    .skills-interpessoal,
    .skills-tecnologia,
    .skills-idioma {
        flex-direction: column;
        margin: 0;
    }

    .text-interpessoal,
    .text-tecnologia,
    .text-idioma {
        text-align: center;
    }

    .wrapper-habilidades {
        margin: 0 !important;
    }

    .wrapper-habilidades-2 {
        display: flex;
        flex-direction: column;
        height: auto !important;
    }

    .aba-habilidades {
        height: auto !important;
        position: relative !important;
        margin-top: 0vh !important;
    }

    .aba-projetos {
        margin-top: 10vh;
    }

    .aba-experiencia {
        margin-bottom: 300px !important;
    }
}


.linha-container {
    display: flex;              /* Alinha os itens em linha */
    align-items: center;        /* Centraliza verticalmente os itens */
    width: 90%;                /* Faz o contêiner ocupar toda a largura */
}

.linha {
    flex-grow: 1;               /* Faz as linhas ocupar o máximo de espaço disponível */
    height: 1px;                /* Espessura da linha */
    background-color: #ccc;     /* Cor da linha */
}

.linha-com-texto {
    margin: 0 10px;             /* Espaço ao redor do texto */
    text-align: center;         /* Centraliza o texto */
    white-space: nowrap;        /* Evita quebras de linha */
}

.work-job {
    font-size: 14px !important;
}

.work-job > span {
    color: var(--second-color);
    font-weight: var(--weight-content);
    font-size: 18px !important;
}

.wrap-work {
    display: flex;
}