:root { /*Variables de CSS*/
    /*Variables de la Paleta de colores*/
    --principal: #0D0D0D; 
    --principal_dark: #000000; 
    --principal_medium: #1A1A1A; 
    --principal_light: #333333; 

    --secondary: #D32F2F; 
    --secondary_dark: #9A0007; 
    --secondary_medium: #D32F2F;
    --secondary_light: #FF6659;
    
    --accent: #00BFA6; 
    --accent_dark: #008F7A;
    --accent_medium: #00BFA6;
    --accent_light: #66DFC8; 
    
    --neutral: #F2F2F2; 
    --neutral_dark: #D9D9D9;
    --neutral_medium: #E6E6E6;
    --neutral_light: #FAFAFA;
    /*Tiempos de animación*/
    --animation_time_mobile_menu: 0.375s; 
}
/*Mobile First*/
/*General styles*/
html {
    font-family: Montserrat;
    font-size: 100%; /* 16px */
}
body {
    background-color: var(--neutral);
    margin: 0; /*No deje bordes a los lados de los elementos*/
    height: 100%;
}
main {
    overflow: hidden;
}
h2 {
    color: var(--principal_dark);
}
h3 {
    color: var(--principal_medium);
}
p {
    font-size: 1rem;
    text-align: center;
}
.line_break {
    display: block;
}

.Background_Pattern {
    background-image: url('../images/background.svg'); 
    background-size: cover;
    background-repeat: repeat;
    background-position: center;
}

/*General Animations*/

.hidden.Mensaje:nth-child(3n+1) {
    opacity: 0;
    transform: translate(-50%,0);
    transition: all var(--animation_time_mobile_menu);
}
.hidden.Mensaje:nth-child(3n+2) {
    opacity: 0;
    transform: translate(50%,0);
    transition: all var(--animation_time_mobile_menu);
}
.hidden.Mensaje:nth-child(3n+3) {
    opacity: 0;
    transform: translate(0,50%);
    transition: all var(--animation_time_mobile_menu);
}

.hidden.show.Mensaje { /*Specifie the three to show*/
    opacity: 1;
    transform: translate(0,0);
}

/*************Header*************/
/*Header Container*/ 
header{
    display: contents; /*Makes the sticky work for some reason*/
    width: 100%;
    z-index: 100;
    background-color: var(--principal_medium);
}

header a {
    text-decoration: none;
    color: var(--neutral_light);
}

/* Contact Info*/
.Header_Contact{ /*Select a class "." */
    box-sizing: border-box;
    height: 10dvh;
    width: 100%;

    background-color: var(--principal_medium);
    color: var(--neutral_light);
    
    font-size: 1rem;
    font-weight: 300;
}
.Header_Contact .Contact_Information {
    height: 100%;
    padding: 0 1rem; 
    margin: 0;
    display: flex;
    flex-direction: column;
    justify-content:space-around; 
}
.Header_Contact li {
    width:fit-content;
    list-style: none;
    color: var(--neutral_light);
}
.Header_Contact ul :last-child {
    align-self: flex-end;
}
.Social_Icons {
    display: flex;
}

.Header_Contact a {
    
    width: fit-content;
    box-sizing: border-box;
    color: var(--neutral_light);
    display: flex;
    align-items: center;
}
.Header_Contact p {
    line-height: 1em;
    font-size: 1em;
    margin: 0;
}
.Header_Contact .Icon { /*Select and id with "#" */
    height: 1em;
    width: 1em;
    flex: 1 0 auto;
    margin-right: 1rem;
    
}
.Header_Contact .Line_color{
    stroke: var(--neutral_light);
}
.Social_Icons a {
    box-sizing: border-box;
    width: 1em;
    height: 1em;
    margin-left: 1em;
}
.Social_Icons svg {
    font-size: 20px;
    color: var(--neutral_dark);
}

/* navigation bar*/
nav {
    height: 8dvh;
    width: 100%;
    
    position: sticky;
    position: -webkit-sticky; /* for Safari */
    top: 0; /*stays at the top when scrolled*/
    z-index: 90;
    
    background-color: var(--principal);

    display: flex;
    align-items: center;

    color: var(--neutral);
    
}

.SideNavBar{ /*Mobile first, hiddes list*/
    height: 0;
    width: 100dvw;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 80;

    background-color: var(--neutral);

    overflow-x: hidden;

    transition: all var(--animation_time_mobile_menu);
    transition-timing-function: ease-out;

    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.SideNavBar ul{
    display: inline-flex;
    flex-direction: column;
}
.SideNavBar li{
    display: block;
    margin: .5rem 0;
    text-align: left;
}
.SideNavBar a {
    color: var(--principal_light);
    font-size: 2rem;
    text-decoration: none;
    opacity: 0;
}

.SideNavBar li:nth-child(1) a {
    transition: all 275ms 175ms
}
.SideNavBar li:nth-child(2) a {
    transition: all 275ms 225ms
}
.SideNavBar li:nth-child(3) a {
    transition: all 275ms 275ms
}
.SideNavBar_Containter_Background {
    height: 0;
    width: 100dvw;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 70;

    background: linear-gradient(180deg, transparent, var(--neutral_light));
    opacity: 0.4;
    backdrop-filter: blur(100px);

    transition-duration: 0.3s;
}

.NavBar_Logo_Container{
    display: flex;
    height: 100%;
    align-items: center;
    margin-right: auto;
}
#Header_Logo{ /*Select and id with "#" */
    height: 4em;
    width: 4em;
    flex: 1 0 auto;
}
#Header_Name_Logo {
    font-weight: 700;
    font-size: 1.1em;
}
.BurgerMenu{
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: pointer;
    margin: 1em;
    z-index: 100;
}
.Burger_TopBar, .Burger_MiddleBar, .Burger_BottomBar {
    height: 0.5vh;
    width: 1.5rem;
    background-color: var(--neutral);
    margin: 0.2vh 0;

    transition: var(--animation_time_mobile_menu);;
    transition-timing-function: ease-out;
}

/*Mobile Opened Menu Animations*/
.Open_Menu_Mobile .Burger_TopBar, .Open_Menu_Mobile .Burger_BottomBar {
    opacity: 0;
}
.Open_Menu_Mobile .Burger_MiddleBar {
    width: 0.75rem;
    background-color: var(--principal);
}

.Open_Menu_Mobile .SideNavBar {
    height: 100dvh;
    overflow-x:visible;
}
.Open_Menu_Mobile .SideNavBar_Containter_Background {
    height: 80dvh;
    background: linear-gradient(180deg, transparent 10%, var(--white_highlight));

}
.Open_Menu_Mobile .SideNavBar a {
    opacity: 1;
}

/*************Main*************/
/*About Me*/
body::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1; /* Detrás del contenido */
}

main {
    color: #555;
    margin: 0;
    position: static;
}

/*About Me Section*/

.About_Me_Container{
    position: relative;
    margin: 0 1rem;
    display: grid;
    grid-template-rows: auto auto auto;
    grid-template-columns: auto;
    grid-template-areas:
    "Profile_Picture"
    "Name"
    "Description_1"
    "Description_2";
    align-items: center;
    justify-items: center;
}

.About_Me_Container :nth-child(1) {
    grid-area: Profile_Picture;
}
.About_Me_Container :nth-child(2) {
    grid-area: Name;
}
.About_Me_Container :nth-child(3) {
    grid-area: Description_1;
}
.About_Me_Container :nth-child(4) {
    grid-area: Description_2;
    margin-bottom: 4rem;
}


.Profile_Picture {
    height: 25dvh;
    width: 25dvh;
    border-radius: 50%;
    margin: 1rem;
}

.Name_Container :nth-child(1){
    margin-bottom: 0;
}
.Name_Container :nth-child(2){
    text-align: left;
    margin-top: 0;
}


/*************Footer*************/
/*Footer*/
footer {
    background-color: var(--principal_light);
    margin: 0;
    padding: 1rem;
}

footer p {
    font-size: 1rem;
    margin-bottom: 1rem;
    text-align: left;
}

footer .Footer_Nav{
    margin: 1rem;
    list-style: none;
    padding: 0;
}

footer .Footer_Nav li {
    margin-bottom: 0.2rem; /* Agrega espacio entre los elementos li */
    color: var(--neutral_dark);
}

footer .Footer_Nav a{
    text-decoration: none;
    color: var(--neutral);
}

hr {
    margin: 0 1rem;
    color: var(--principal_dark);
} 

.Footer_Rights {
    margin: 0 1rem;
    color: var(--neutral_light);
}

footer .Credist{
    margin: 1rem;
}

/*Breakpoints: Other Devices*/
/*Tablet*/
@media screen and (min-width: 768px) {
    html {
        font-size: 18px;
    }
    h2 {
        font-size: 2rem;
    }
    h3 {
        font-size: 1.9rem;
    }
    p {
        font-size: 1.6rem;
    }
    .Header_Contact p {
        font-size: 1.4em;
    }
    .Header_Contact .Icon { /*Select and id with "#" */
        height: 1.6em;
        width: 1.6em;
    }

    .Social_Icons {
        margin-right: 1rem;
    }

    .Social_Icons li {
        margin-right: 1rem;
    }

    .SideNavBar a {
        font-size: 4rem;
    }
    #Header_Name_Logo {
        font-size: 1.5em;
    }
}
/*Laptop Antigua*/
@media screen and (min-width: 1024px) {
    /*General*/
    html {
        font-size: 20px;
    }
    h2 {
        font-size: 1.8rem;
    }
    h3 {
        font-size: 1.4rem;
    }
    p {
        font-size: 1rem;
    }
    /*Header and Nav*/
    .Header_Contact p {
        font-size: 1em;
    }
    .Header_Contact .Icon { /*Select and id with "#" */
        height: 1em;
        width: 1em;
    }

    .Social_Icons {
        margin-right: 1rem;
    }

    .Social_Icons li {
        margin-right: 1rem;
    }

    .BurgerMenu{
        display: none;
    }
    .SideNavBar{
        position: relative;
        overflow-x:visible;
        height: 1rem;
        width: fit-content;
        background-color: transparent;
    }

    .SideNavBar ul{
        display: inline-flex;
        flex-direction: row;
        margin-right: 2rem;
    }
    .SideNavBar li{
        display: block;
        margin: .5rem 1rem;
        text-align: left;
    }

    .SideNavBar a {
        color: var(--neutral_light);
        opacity: 1;
        font-size: 1em;
    }

    #Header_Name_Logo {
        font-size: 1.2em;
    }
    /*About Me*/

    .About_Me_Container{
        margin: 0 15dvw;

        grid-template-rows: auto auto;
        grid-template-columns: auto auto;
        grid-template-areas:
        "Description_1 Profile_Picture"
        "Description_2 Name";
    }
    .Profile_Picture {
        height: 40dvh;
        width: 40dvh;
        margin-bottom: 0;
    }

    .Name_Container {
        align-self: start;
        top: 0;
        margin: 0;
        padding: 0;
    }

    .About_Me_Container p {
        margin: 0 1rem;
        padding: 0;
    }
}
/*Desktop*/
@media screen and (min-width: 1440px) {
    html {
        font-size: 20px;
    }
    h2 {
        font-size: 1.8rem;
    }
    h3 {
        font-size: 1.4rem;
    }
    p {
        font-size: 1rem;
    }

    /*Header and Nav*/
    .Header_Contact p {
        font-size: 1em;
    }
    .Header_Contact .Icon { /*Select and id with "#" */
        height: 1em;
        width: 1em;
    }

    .Social_Icons {
        margin-right: 1rem;
    }

    .Social_Icons li {
        margin-right: 1rem;
    }

    .BurgerMenu{
        display: none;
    }
    .SideNavBar{
        position: relative;
        overflow-x:visible;
        height: 1rem;
        width: fit-content;
        background-color: transparent;
    }

    .SideNavBar ul{
        display: inline-flex;
        flex-direction: row;
        margin-right: 2rem;
    }
    .SideNavBar li{
        display: block;
        margin: .5rem 1rem;
        text-align: left;
    }

    .SideNavBar a {
        color: var(--neutral_light);
        opacity: 1;
        font-size: 1em;
    }

    #Header_Name_Logo {
        font-size: 1.2em;
    }
    
}
/*4K*/
@media screen and (min-width: 1920px) {
    html {
        font-size: 20px;
    }
    h2 {
        font-size: 2rem;
    }
    h3 {
        font-size: 1.9rem;
    }
    p {
        font-size: 1.6rem;
    }

    /*Header and Nav*/
    .Header_Contact p {
        font-size: 1em;
    }
    .Header_Contact .Icon { /*Select and id with "#" */
        height: 1em;
        width: 1em;
    }

    .Social_Icons {
        margin-right: 1rem;
    }

    .Social_Icons li {
        margin-right: 1rem;
    }

    .BurgerMenu{
        display: none;
    }
    .SideNavBar{
        position: relative;
        overflow-x:visible;
        height: 1rem;
        width: fit-content;
        background-color: transparent;
    }

    .SideNavBar ul{
        display: inline-flex;
        flex-direction: row;
        margin-right: 2rem;
    }
    .SideNavBar li{
        display: block;
        margin: .5rem 1rem;
        text-align: left;
    }

    .SideNavBar a {
        color: var(--neutral_light);
        opacity: 1;
        font-size: 1em;
    }

    #Header_Name_Logo {
        font-size: 1.2em;
    }
    
}