*{
    margin: 0px;
    padding: 0px;
    font-family: "Afacad", serif;
    color: black;
    scroll-behavior: smooth;
}

body {
    width: 100%;
    overflow-x: hidden;
    background-color: #ffffff;
}

body::-webkit-scrollbar, .infoPage::-webkit-scrollbar, form>textarea::-webkit-scrollbar {
    width: 9px;
    height: 100%;
    background-color: white;
    border-radius: 50px;
}

body::-webkit-scrollbar-thumb, .scroll::-webkit-scrollbar-thumb, .infoPage::-webkit-scrollbar-thumb, form>textarea::-webkit-scrollbar-thumb {
    background-color: black;
    border-radius: 50px;
}

/* NAVEGACIÓN */
.navigation{
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: sticky;
    top: 0px;
    margin: 0 auto;
    z-index: 50;
}

.overlay {
    display: none;
}

.navbg{
    width: 100%;
    padding: 20px 0px 20px 0px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-bottom: solid 1px rgba(0, 0, 0, 0.25);
    background-color: #ffffff;
}

.navbg>.movil{
    display: none;
}

.movil>img {
    height: 32px;
    width: 32px;
}

.navbg>.pc {
    width: 60%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.navbg a {
    width: 90px;
    margin: 0px 20px 0px 20px;
    color: black;
    text-decoration: none;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    display: inline-block;
    position: relative;
}
.navbg a:first-child{
    margin-left: 0px;
}
.navbg a:last-child{
    margin-right: 0px;
}

/*animación botones navegación al hacer hover*/
.navbg a:hover{
    color: #1874ED;
}

.navbg a::after {
    content: '';
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 2px;
    bottom: 0;
    left: 0;
    background-color: #1874ED;
    transform-origin: bottom center;
    transition: transform 0.3s ease-out;
}

.navbg a:hover::after {
transform: scaleX(1);
transform-origin: bottom center;
}
/*------*/

/* NOTIFICACIONES FORMULARIO */
.alertForm{
    display:none;
    align-items:center;
    justify-content:center;
    width:100%;
    padding: 10px 0px 10px 0px;
    background-color: #E9363A;
}

.alertForm>div{
    display:flex;
    align-items:center;
    justify-content:center;
    width:90%;
}

.alertForm p{
    margin: 0px 30px 0px 30px;
    text-align:center;
    font-size:18px;
    color: white;
}

.alertForm a{
    font-size: 32px;
    color: white;
    text-decoration: none;
}

/* INICIO */
header, .lastSection{
    width: 100%;
    height:95vh;
    position: relative;
}

.inicio, .contact{
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    position: absolute;
    z-index: 1;
}

.banner, .sobremi, .proyectos, .contacto, .contactoMovil {
    width: 90%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    border-left: solid 1px rgba(0, 0, 0, 0.25);
    border-right: solid 1px rgba(0, 0, 0, 0.25);
}

.titles {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.titles>h1 {
    font-size: 100px;
    font-weight: 700;
    font-style: italic;
    letter-spacing: 20px;
    text-align: center;
}

.titles>h2 {
    font-size: 32px;
    font-family: "Fira Code", serif;
    letter-spacing: 6px;
    text-align: center;
}

.arrow {
    margin-bottom: 80px;
}

.arrow>div{
    width: 50px;
    height: 50px;
    background-image: url(../res/img/flecha_negra.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transition: ease-in-out 0.3s;
    position: relative;
    animation: arrowFloat 3s ease-in-out infinite;
}
.arrow>div:hover{
    background-image: url(../res/img/flecha_azul.png);
}

/* Animación de flecha flotando */
@keyframes arrowFloat {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(10px);
    }
    100% {
        transform: translateY(0);
    }
}
/*-----*/

#particles-js{
    height: 95vh;
    background-color:white;
}

/* SOBRE MÍ */
.about, .projects {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: white;
}

.sobremi, .proyectos{
    padding: 100px 0px 100px 0px;
}

.sobremi>h2, .proyectos>h2, .contacto>h2{
    font-size: 36px;
    font-weight: 500;
    max-width: 920px;
    text-align: center;
    margin: 0px 40px 48px 40px;
}

.sobremi>h3{
    font-size: 24px;
    font-weight: 400;
    max-width: 716px;
    text-align: center;
    margin: 0px 40px 0px 40px;
}

span{
    color:#1874ED;
    font-weight: 500;
}

.cardIcons {
    width: 60%;
    max-width: 800px !important;
    padding: 70px 60px 70px 60px;
    margin: 64px 0px 64px 0px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #F4F5FB;
    border-radius: 20px;
    text-align: center;
}

.cardIcons>div{
    width: 90%;
    margin: 0px 10px 0px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.cardIcons h3{
    font-size: 24px;
    margin-bottom: 20px;
}

.icons {
    width: 240px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.icons>img{
    width: 48px;
    height: 48px;
    margin: 5px;
}

.download{
    text-decoration: none;
    font-size: 24px;
    width: 300px;
    display: inline-block;
    padding: 10px;
    background-color: black;
    color: white;
    text-align: center;
    border-radius: 5px;
    transition: ease-in-out 0.3s;
}

.download:hover{
    background-color:#1874ED;
}

/* PROYECTOS */
.projects{
    background-color: #F4F5FB;
}

.scroll{
    width: 80%;
    overflow-x: scroll;
    overflow-y: hidden;
}

.scroll::-webkit-scrollbar {
    width: 100%;
    height: 9px;
    background-color: #D3D3D5;
    border-radius: 50px;
}

.scroll>div{
    width: 2510px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.proyecto{
    width: 400px;
    height: 300px;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0px 10px 10px 10px;
}
.proyecto>.info{
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 10;
    display: flex;
    opacity: 0%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: rgba(0, 0, 0, 0.5);
    transition: ease-in-out 0.3s;
}
.proyecto>.info:hover{
    opacity: 100%;
}
.info>p{
    color: white;
    font-size: 22px;
    margin: 0px 24px 24px 24px;
    text-align: center;
}
.info>button{
    font-size: 22px;
    padding: 10px 20px 10px 20px;
    border-radius: 0px;
    border: 1px solid black;
    color: black;
    background-color: rgba(255, 255, 255, 0.8);
    transition: ease-in-out 0.3s;
}
.info>button:hover{
    background-color: rgba(0, 0, 0, 0.7);
    border: 1px solid white;
    color: white;
}
.proyecto>img, .imagen{
    width: 400px;
    height: 300px;
    position: absolute;
}

/*overlay que muestra más información sobre un proyecto*/
.infoPage {
    height: 100vh;
    width: 0%;
    position: fixed;
    z-index: 999;
    top: 0;
    right: 0;
    background-color: #F4F5FB;
    overflow-y: scroll;
    transition: 0.5s;
}

.infoPage::-webkit-scrollbar{
    background-color:#F4F5FB;
}

.infoPage-content {
    position: relative;
    top: 15%;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-bottom: 50px;
}

.infoPage-content>h2{
    font-size: 36px;
    font-weight: 500;
    text-align: center;
    margin-bottom: 50px;
}

.infoPage-content>div{
    display: flex;
    width: 940px;
    align-items: flex-start;
    justify-content: center;
}

.infoPage-content>div>img{
    width: 400px;
    height: 500px;
    border-radius: 20px;
}

.content{
    margin-right: 40px;
    text-align: justify;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.content>p{
    font-size: 18px;
    margin-bottom: 12px;
}

.leng, .links{
    margin-top: 24px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.leng h3, .links h3{
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 12px;
}

.leng h4{
    font-size: 18px;
    font-weight: 400;
    text-decoration: underline;
}

.leng>div, .links>div{
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
}

.align-subtitle{
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0px 22px 12px 22px;
}

.multilink{
    flex-direction: column;
    align-items: center;

}
.multilink>div{
    display: flex;
    flex-direction: row;
}

.multilink>div:first-of-type{
    margin-bottom: 24px;
}

.frontend, .backend, .front-only {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-right: 44px;
    margin-bottom: 12px;
}

.align-subtitle>.frontend, .align-subtitle>.backend{
    margin:0px;
}

.front-only{
    margin-right: 0px;
}

.backend{
    margin-right: 0px;
}

.frontend>img, .backend>img, .front-only>img {
    width: 40px;
    height: 40px;
    margin: 8px 6px 0px 6px;
}

.front-only>img:last-of-type{
    margin-right: 0px;
}


.links a {
    margin-right: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-decoration: none;
    text-align: center;
    transition: ease-in-out .3s;
    color: black;
}

.links a:last-child{
    margin-right: 0px;
}

.figma>div{
    width: 40px;
    height: 40px;
    background-image: url(../res/img/IDEs/figma.png);
    background-size: contain;
}

.presentacion>div{
    width: 40px;
    height: 40px;
    background-image: url(../res/img/presentacion_icon.png);
    background-size: contain;
}

.github>div{
    width: 40px;
    height: 40px;
    background-image: url(../res/img/github.png);
    background-size: contain;
}

.drive>div{
    width: 40px;
    height: 40px;
    background-image: url(../res/img/drive.png);
    background-size: contain;
}

.closePage{
    font-size: 60px;
    padding: 8px;
    text-decoration: none;
    color: black;
    display: block;
    transition: ease-in-out .3s;
    position: absolute;
    top: 20px;
    right: 45px;
}

.closePage:hover, .closePage:focus, .links a:hover{
    color: #1874ED;
}

/*----------*/

/*CONTACTO*/
.lastSection, #particles-js2{
    height:85vh;
}

.contact{
    height: 100%;
}

.contacto, .contactoMovil {
    justify-content: center;
}

.contactoMovil{
    display: none;
}

form{
    width: 520px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

form>input, form>textarea{
    width: 500px;
    margin-bottom: 20px;
    border-radius: 5px;
    padding: 10px;
    outline: none;
    border: 1px solid black;
    font-size: 16px;
    background-color: rgba(255, 255, 255, 0.5);
    transition: ease-in-out 0.3s;
}

form>textarea{
    height: 300px;
}

form>input::placeholder, form>textarea::placeholder{
    color: rgb(71, 71, 71);
}

form>input:focus, form>textarea:focus{
    border-color: #1874ED;
}

form>button{
    width: 100%;
    border-radius: 5px;
    padding: 10px;
    border: 0px;
    color: white;
    background-color: black;
    font-size: 16px;
    transition: ease-in-out 0.3s;
}

form>button:hover{
    background-color: #1874ED;
}

/*FOOTER*/
footer{
    width: 100%;
    padding: 20px 0px 20px 0px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-top: solid 1px rgba(0, 0, 0, 0.25);
    background-color: #ffffff;
}
footer>div{
    width: 60%;
    display: flex;
    align-items: center;
    justify-content: center;
}

footer a>div{
    width: 36px;
    height: 36px;
    background-repeat: no-repeat;
    background-size: contain;
    transition: ease-in-out 0.3s;
}

.linkedin{
    margin: 0px 64px 0px 64px;
}

.email>div{
    background-image: url("../res/img/correo.png");
}

.email>div:hover{
    background-image: url("../res/img/correo_azul.png");
}

.githubFooter>div{
    background-image: url("../res/img/github.png");
}

.githubFooter>div:hover{
    background-image: url("../res/img/github_azul.png");
}

.linkedin>div{
    background-image: url("../res/img/linkedin.png");
}

.linkedin>div:hover{
    background-image: url("../res/img/linkedin_azul.png");
}