* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
}

:root {
    --blue-gray: #42446E;
    --gray-shade: #666666;
}

body {
    width: 100vw;
    min-height: 100vh;
    background-color: #f5f5f5;
}

h2 {
    font-size: 2.5rem;
    color: var(--blue-gray);
    text-align: center;
    margin-bottom: 3rem;
}

h3 {
    font-size: 2rem;
    color: var(--blue-gray);
    margin-bottom: 2.375rem;
}

a {
    text-decoration: none;
    color: var(--gray-shade);
}

.leazy-section {
    opacity: 0;
    transform: scale(0.9); /* Inicia com uma escala menor (opcional) */
    transition: opacity 0.7s ease, transform 0.7s ease; /* Adiciona transições suaves */
  }
  
  /* Estilo para seções carregadas */
  .leazy-section.loaded {
    opacity: 1;
    transform: scale(1); /* Retorna à escala normal quando a seção é carregada */
  }

.hide {
    display: none;
}

#container {
    margin: auto;
    width: 100%;
    max-width: 1204px;
    padding: 0 1rem;
}

#header {
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 100px;
    max-width: calc(1204px - 0px);
    padding: 0 16px;
    margin: auto;
    background-color: #f5f5f5;
    /* padding: 1.5rem 1rem; */
    /* box-shadow: rgba(33, 35, 38, 0.1) 0px 10px 10px -10px; */
    z-index: 6;

    /* border: 1px solid red; */
}

#nav-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;

    /* border: 1px solid green; */
}

#logo {
    display: flex;
    width: 110px;
    height: 30px;
    border: 1px solid var(--blue-gray);
}

#logo #initial-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    color: #fff;
    background-color: var(--blue-gray);
    font-weight: bold;
}

#logo #name-logo {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    color: var(--blue-gray);
}

#nav {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 609px;

    /* border: 1px solid rgb(4, 0, 255); */
}


#nav a {
    font-size: 1.25rem;
    font-family: 'DM Sans', sans-serif;
    transition: .900ms;
    border-bottom: transparent;
}

#nav a:hover {
    color: var(--gray-shade);
    border-bottom: 2px solid var(--gray-shade);
}

#nav a:not(:last-child) {
    margin-right: 32px;
}

#nav-container .bi-list {
    display: none;
    font-size: 3rem;
    color: var(--blue-gray);
}

#nav-mobile {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3rem;
    width: 100vw;
    min-height: calc(100vh - 72px);
    padding: 2rem;
}

#nav-mobile a {
    font-size: 1.5rem;
    transition: .5s;
}

#nav-mobile a:active {
    color: var(--blue-gray);
}

/* .leazy-section{
    display: none;
} */

/* home */
#home {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    min-height: 100vh;

    /* background-color: #c8c8c8; */
}

#home #my-presentation {
    width: 100%;
}

#home #title {
    font-size: 3.5rem;
    font-weight: bolder;
    color: var(--blue-gray);
    margin-bottom: 2.5rem;

    /* background-color: rgb(245, 217, 217); */
}

#home #title, span {
    display: block;
}

#home #title #name {
    background: linear-gradient(to right, #13b0f5, #e70faa);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

#home img {
    width: 100%;
    max-width: 445px;
    max-height: 445px;
    border-radius: 50%;
    border: 10px solid transparent;
    background-image: linear-gradient(80deg, rgba(231, 15, 170, 1), rgba(0, 192, 253, 1));
    overflow: hidden;
}

#home #imageProgileMobile {
    display: none;
}

#social-media {
    display: flex;
    gap: 2rem;
    bottom: 0;
}

#social-media button {
    display: flex;
    justify-content: space-around;
    align-items: center;
    font-size: 1.1rem;
    font-weight: 400;
    color: var(--blue-gray);
    width: 150px;
    height: auto;
    padding: 2px;
    background-color: transparent;
    border-radius: 40px;
    border: 1px solid var(--blue-gray);
    cursor: pointer;
    transition: .7s;
}

#social-media button:hover {
    color: #fff;
    border: 0;
    background-color: var(--blue-gray);
}

#social-media button i {
    font-size: 1.5rem;
}

#social-media a {
    font-size: 1.875rem;
}

/* Sobre*/
#aboult {
    padding: 5rem 0;
    color: var(--gray-shade);
}

.aboult-containers {
    font-size: 1.125rem;
    margin: auto;
    width: 100%;
    max-width: 704px;
    margin-bottom: 2.375rem;
}

.jobs {
    border-bottom: 2px solid #EBEAED;
    margin-bottom: 30px;
}

.jobs header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.jobs .title {
    font-size: 20px;
}

.jobs .regime {
    font-size: 9px;
    color: #018C0F;
    font-weight: bold;
    border-radius: 15px;
    padding: 5px 20px;
    background-color: #D7FFE0;
}

.info {
    display: flex;
    color: var(--gray-shade);
    margin-bottom: 24px;
}

.info p {
    display: flex;
    align-items: center;
    font-size: .75rem;
    text-align: center;
}

.info i {
    font-size: 1rem;
    margin-right: 5px;
}

.info .company {
    margin-right: 2rem;
}

.info .company:not(last-child) {
    text-align: start;
    min-width: 130px;
}

.info .period {
    margin-left: auto;
}

.info .period:last-child {
    text-align: end;
}

/* my stack */
#my-stack {
    padding: 5rem 0;
}

.description-section {
    text-align: center;
    font-size: 2rem;
    color: var(--gray-shade);
    margin-bottom: 96px;
}

#my-stack .stack-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 6.5rem;
}

.stack-container img {
    width: 120px;
}

/* Projetos */
#projects {
    padding: 5rem 0;
}


#project-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 50px;
    width: 100%;
}

.project {
    display: flex;
    align-items: end;
    width: 100%;
    max-width: 384px;
    height: 512px;
    border: 1px solid black;
    border-radius: 20px;
    border: 20px solid black;
    box-shadow: rgba(0, 0, 0, 0.4) 0px 30px 40px;
    background-position: center;
    background-size: cover;

    overflow: hidden;
    transition: box-shadow 0.3s ease-in-out;
}

.container-project {
    width: 100%;
    height: 70%;
    padding: 1.75rem;
    bottom: 0;
    background-color: #fff;
    box-shadow: rgba(33, 35, 38, 0.1) 0px 0px 10px 10px;
    transform: translateY(100%);
    transition: transform 0.5s ease-out;
}

.project:hover .container-project {
    transform: translateY(0);
}

.container-project:hover {
    transform: translateY(0);
}

.container-project .name {
    font-size: 1.75rem;
    font-weight: 500;
    margin-bottom: 17px;
}

.container-project .description {
    font-size: 18px;
    color: var(--gray-shade);
    margin-bottom: 12px;
}

.container-project .stack {
    display: flex;
    align-items: center;
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 21px;
}

.container-project .stack span {
    font-size: 14px;
    font-weight: 300;
    margin-left: 6px;
    color: var(--blue-gray);
}

.container-project .links-project {
    display: flex;
    justify-content: space-between;
}

.container-project .links-project a {
    display: flex;
    font-size: 16px;
    text-decoration: dotted;
    color: #000;
    text-decoration: underline;
    cursor: pointer;
}

.container-project .links-project i:not(:last-child) {
    margin-right: 10px;
}

/* contatos */
#contacts {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem;
    margin-top: 2rem;
}

#contacts h4 {
    font-size: 2rem;
    font-weight: 400;
}

#contacts #contact-container {
    display: flex;
    align-items: center;
    gap: 1rem;
}

#contacts i {
    font-size: 1.5rem;
    color: var(--blue-gray);
}

#footer {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 250px;
    border-top: 1px solid var(--gray-shade);
}

#footer #info-footer {
    text-align: center;
}

/* Reponsividade */

/* Large tablet/ Laptops */
@media ((min-width: 992px) and (max-width: 1199px)) {}

/* Small tablets */
@media ((min-width: 768px) and (max-width: 991px)) {}

/* Extra small devices */
@media ((min-width: 481px) and (max-width: 767px)) {
    #header {
        flex-direction: column;
        align-items: end;
        padding: 0 .5rem;
        min-height: 50px;
        /* display: none; */
    }

    #nav {
        display: none;
    }

    #nav-container .bi-list {
        display: block;
        padding: 0;
    }

    #nav-mobile {}

    #container {
        padding: 0 .0rem;
    }
}

/* Mobile */
@media (max-width: 480px) {
    h2 {
        font-size: 2rem;
    }

    h3 {
        font-size: 1.5rem;
    }

    #header {
        flex-direction: column;
        align-items: end;
        padding: 0 .5rem;
        min-height: 50px;
        /* display: none; */
    }

    #nav {
        display: none;
    }

    #nav-container .bi-list {
        display: block;
        padding: 0;
    }

    #nav-mobile {}

    #container {
        padding: 0 .0rem;
    }


    #home {

        width: 100;
        /* padding-top: 6rem; */
    }

    #home #title {
        font-size: 2.6rem;
    }

    #home img {
        display: none;
    }

    #home #imageProgileMobile {
        max-width: 180px;
        min-height: 180px;
        display: block;
        margin-bottom: 2rem;
    }

    #my-presentation {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    #social-media {
        justify-content: space-around;
    }

    /* sobre  min*/
    /* job */
    #aboult {
        padding: 0 1rem;
    }

    .aboult-containers .regime {
        display: none;
    }

    .aboult-containers {
        text-align: justify;
    }

    .aboult-containers .title {
        font-size: 1.2rem;
    }

    .info {
        flex-direction: column;
    }

    .info p {
        font-size: 1rem;
    }

    .info .company:not(last-child) {

        min-width: auto;
    }

    /* Minha Stack */
    #my-stack {
        padding: 0 1rem;
    }

    #my-stack .stack-container {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 4rem;
    }

    .description-section {
        font-size: 1.2rem;
        margin-bottom: 46px;
    }

    .stack-container img {
        width: 60px;
    }

    /* Projetos */
    #projects {
        padding: 5rem 1rem;
    }

    .container-project {
        height: 75%;

    }
}