*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    scroll-behavior: smooth;
}
:root{
    --altura-header: 80px;
    --negro: #00000f;
    --azul-oscuro: #000022;
    --violeta: #6747c7;
    --lila: #a68feb;
}
body{
    background-color: var(--azul-oscuro);
    color: aliceblue;
}
header{
    height: var(--altura-header);
    background-color: var(--negro);
    display: flex;
    justify-content: end;
    padding-right: 10px;
}
a{
    text-decoration: none;
    color: var(--lila);
}

/* ANIMACIÓN UNDERLINE */

.underline{
    display: inline-block;
    position: relative;
}
.underline::after{
    content:"";
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: var(--lila);
    transform: scaleX(0);
    transform-origin: bottom right;
    transition: all 0.5s ease-in-out;
}
.underline:hover:after{
    transform: scaleX(1);
}
nav{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
.navbar li{
    list-style: none;
    text-align:end;
    padding: 2px 10px;
}

/* ANIMACIÓN MENU HAMBURGUESA */

.menu-hamburguesa, .icono-cerrar{
    display: none;
}
.menu-hamburguesa:checked ~ .navbar{
    height: calc(100% - var(--altura-header));
}
.menu-hamburguesa:checked + .icono-hamburguesa .icono-abrir{
    display: none;
}
.menu-hamburguesa:checked + .icono-hamburguesa .icono-cerrar{
    display: inline;
}
.navbar{
    background-color: var(--negro);
    width: 100%;
    position: absolute;
    top: var(--altura-header);
    left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 4rem;
    height: 0;
    overflow: hidden;
    transition: all 0.4s ease;
    z-index: 1;
}
@media (min-width: 768px){
    .icono-hamburguesa{
        display: none;
    }
    .navbar{
        position: static;
        width: auto;
        flex-direction: row;
        font-size: 2rem;
        height: var(--altura-header);
        background-color: var(--negro);
    }
}

/* HERO SECTION */


#hero{
    height: calc(100vh - var(--altura-header));
    display: flex;
    flex-direction: column ;
    justify-content: center;
    align-items:center;
    padding: 30px;
    text-align: center;
    margin-top: calc(var(--altura-header) + 50px);
}
.presentacion{
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-bottom: 50px;
}
p{
    color: var(--lila);
    font-size: 1.3rem;
}
h1{
    color: rgb(228, 205, 255);
    font-size: 3rem;
}
h3{
    color: rgb(205, 171, 245);
    font-size: 1.8rem;
}
img{
    width: 100%;
    height: 100%;
    border-radius: 15px;
}
.selfie{
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    width: 100%;
    max-width: 300px;
    position: relative;
    margin: auto;
}
@property --angle{
    syntax: "<angle>";
    initial-value: 0deg;
    inherits: false;
}
.selfie::after, .selfie::before{
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    background-image: conic-gradient(from var(--angle), red, orange, yellow, green, blue, violet, red);
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    z-index: -1;
    padding: 10px;
    border-radius: 15px;
    animation: spin 3s linear infinite;
}
.selfie::before{
    filter: blur(1.5rem);
    opacity: 0.8;
}
@keyframes spin{
    from{
        --angle: 0deg
    }
    to{
        --angle: 360deg
    }
}
@media (min-width: 768px){
    #hero{
        width: 98%;
        margin: 0 auto;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 25px;
    }
    .presentacion{
        text-align: start;
        width: 50%;
        gap: 10px;
        padding: 0;
    }
}
@media (min-width: 1024px){
    header{
        height: 10vh;
    }
    nav a{
        font-size: 2rem;
    }
    #hero{
        width: 90%;
        display: flex;
        flex-direction: row;
        align-items: center;
    }
    .presentacion{
        width: 50%;
    }
}
@media (min-width: 1440px){
    header, .navbar{
        height: 8vh;
    }
    .presentacion{
        margin-right: 50px;
    }
    .selfie{
        max-width: 400px;
    }
    p{
        font-size: 2em;
    }
    h1{
        font-size: 4em;
    }
    h3{
        font-size: 3em;
    }
}
@media (min-width: 2560px){
    nav a{
        font-size: 2em;
    }
    nav{
        padding-right: 30px;
    }
    #hero{
        width: 70%;
    }
    .selfie{
        max-width: 500px;
    }
    p{
        font-size: 3em;
    }
    h1{
        font-size: 5em;
    }
    h3{
        font-size: 4em;
    }
}

#proyectos {
    margin-top: 80px;
}

/* FOOTER */

footer{
    text-align: center;
    background-color: var(--negro);
    padding: 10px;
}
footer p{
    padding: 4px;
    font-size: 1em;
}
