/* ROOT LEVEL SELECTORS */

:root {
    --color-background: rgb(236,236,236);
    --color-header: rgb(230,230,230);
    --color-1: rgb(90, 150, 140);
    --color-2: rgb(110,170,170);
    --color-greyed-out: rgba(100,100,100,0.7);
    --font-p: "Montserrat", sans-serif;
    --font-h: "Work Sans", sans-serif;
    --width-page-1: 980px;
    --height-header: 7rem;
    --height-footer: 10rem;
    --width-side-spacing: 1rem;
    --width-avatar: 240px;
    --width-footer-cols: 260px;
    --width-footer-cols-1: 220px;
    --width-footer-cols-2: 280px;
    --width-footer-cols-3: 220px;
    --width-avatar-margin: 2rem;
    --height-avatar-margin: 1rem;
    --margin-top-section: 3.4rem;
    --icon-color-location: rgb(200,0,0);
    --icon-color-email: rgb(0, 80, 180);
    --icon-color-linkedin: rgb(0, 100, 210);
    --icon-color-github: rgb(40, 40, 60);
}
* {
    box-sizing: border-box;
}
html {
    font-size: 62.5%;
    font-family: var(--font-p);
    font-weight: 300;
    scroll-behavior: smooth;
}

/* SIZING & MEDIA QUERIES */

main, #header-container, #footer-container  {
    width:      calc(
                    100% - 
                    2*var(--width-side-spacing));
    max-width:  calc(
                    var(--width-page-1) - 
                    2*var(--width-side-spacing));
}
main, header, footer {
    padding: 0 var(--width-side-spacing);
}
main {
    margin: 0 auto 0 auto;
}


@media only screen and (width > 600px) {
    #section-intro {
        margin-top: calc(
                        var(--margin-top-section) +
                        2rem);
    }
    #section-intro-container {
        display:grid;
        grid-template-columns: var(--width-avatar) 1fr;
        column-gap: 2rem;
    }
}

@media only screen and (width >= 864px) {
    #footer-container {
        display: grid;
        padding-left: 0.4rem;
        grid-template-columns: repeat( auto-fit, 
                                        minmax(var(--width-footer-cols), 1fr));
        grid-template-columns: 12fr 12fr minmax(var(--width-footer-cols), 16fr) 14fr;
    }
}
@media only screen and (600px < width < 864px) {
    #footer-container {
        display: grid;
        padding-left: 0.4rem;
        grid-template-columns: 6fr 28fr 28fr 6fr;
        justify-content: space-between;
    }
    .footer-item:nth-child(odd) {
        grid-column: 2 / 3;
    }
    .footer-item:nth-child(even) {
        grid-column: 3 / 4;
        margin-left: auto;
    }
    .footer-item:nth-child(2) {
        padding-right: 42px;
    }
}

@media only screen and (width <= 600px) {
    #avatar {
        display: block;
        margin: 0 auto;
    }
    #intro-text {
        margin-top: calc(0.6 * var(--margin-top-section));
    }
    #intro-title h1, #intro-title p {
        text-align: center;
    }
    #footer-container {
        display: grid;
        padding-left: 0.4rem;
        grid-template-columns: 1fr var(--width-footer-cols) 1fr;
    }
    .footer-item {
        grid-column: 2 / 3;
    }
}

/* GENERAL */

section {
    margin-top: var(--margin-top-section);
}

body {
    /* 
    background: linear-gradient(90deg, #c9d6ff, #e2e2e2 20%, #e2e2e2 80%, #c9d6ff 100%); 
    */
    background-color: var(--color-background);
    margin: 0;
    padding: 0;
}

h1, h2, h3, a {
    margin: 0;
    font-family: var(--font-h);
}

h1 {
    font-size: 3rem;
    font-weight: 600;
}

h2 {
    font-size: 2.6rem;
    font-weight: 600;
}

h3 {
    font-size: 2rem;
    font-weight: 600;
}

h4 {
    font-family: var(--font-p);
    font-size: 1.6rem;
    margin: 0.16rem 0 0 0;
    font-weight: inherit;
}

p, li {
    font-size: 1.6rem;
}
li::marker {
    color: var(--color-1);
}


/* HEADER */

a {
    font-size: 1.6rem;
    font-weight: inherit;
    margin: 0.16rem 0 0 0;
}

header {
    height: var(--height-header);
}

header, footer {
        /*background-color: var(--color-header);*/
        background: linear-gradient(
            var(--color-background) 0%,
            var(--color-header) 20%,
            var(--color-header) 80%,
            var(--color-background) 100%
            );
        width: 100%; 
}

#header-container {
    height: 100%;
    border-bottom: 2px solid var(--color-1);
    padding-left: 0.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto 0 auto;
}

#header-title {
    display: flex;
    flex-direction: column;
    column-gap: 0.6rem;
    align-items: baseline;
}

#navbar {
    height: 100%;
}

#navbar > ul {
    display: flex;
    list-style: none;
    justify-content: flex-end;
    height: 100%;
    margin: 0;
}

#navbar li {
    height: 100%;
}

#navbar a {
    display: block;
    text-align: center;
    text-decoration: none;
    color: inherit;
    height: calc(100% - 1px);
    width: 100%;
    padding: 2.4rem 1rem 1.6rem 1rem;
}

#navbar a:hover {
    font-weight: 600;
    background-color: var(--color-background);
    border-bottom: 1px solid var(--color-1);
    color: var(--color-1);
}

/* MAIN - INTRO */

#avatar {
    width: var(--width-avatar);
    border-radius: 4%;
}

.bold {
    color: var(--color-1);
    font-weight: 600;
    font-family: var(--font-h);
    text-decoration: none;
    font-size: 1.08em;
}

#intro-title > p {
    font-size: 2rem;
    margin: 0rem 0;
    display: block;
    position: relative;
}

#intro-title > p .bold {
    padding-right: 0.2rem;
    font-size: 1.2em;
}

/*
#intro-title > p .small {
    font-size: 1.8rem;
    padding-bottom: 4rem;
    display: block;
    position: absolute;
    top: 0.26rem;
    left: 10.4rem;
}
*/

#ipa-javi {
    color: var(--color-greyed-out);
    font-size: 1.6rem;
    cursor: pointer;
}

#ipa-javi:hover {
    color: inherit;
}

/* MAIN - FORM */
#form-container {
    margin-top: 3rem;
    background-color: white;
    padding: 1em 3em 2em 3em;
    max-width: 70%;
    min-width: calc(
                    500px - 
                    2*var(--width-side-spacing));
    border-radius: 2em;
}
.form-input > label {
    display: block;
    font-family: var(--font-p);
    font-size: 1.8rem;
    margin: 1.4em 0 0.2em 0;
    font-weight: 500;
}
.text-input, textarea, #form-submit {
    width: 100%;
    border: 2px solid var(--color-1);
    padding-left: 0.5rem;
    border-radius: 0.4rem;
    font-size: 1.6rem;
    font-family: var(--font-p);
}

.text-input, #form-submit {
    height: 4rem;
}

textarea {
    width: 100%;
    padding-top: 0.5rem;
}

#form-submit {
    margin: 1.2rem 0 2rem 0;
    background-color: var(--color-1);
    border: none;
    border-radius: 0.4rem;
    font-family: var(--font-h);
    font-size: 2rem;
    font-weight: 500;
    color: white;
    cursor: pointer;
}

/* FOOTER */

footer {
    height: var(--height-footer);
    margin-top: calc(1.2 * var(--margin-top-section));
}

#footer-container {
    height: 100%;
    width: 100%;
    border-top: 1px solid var(--color-1);
    padding-top: 2rem;
    /*
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items:flex-start;
    */
    margin: 0 auto 0 auto;
}

.footer-item i {
    font-size: 2.4rem;
}

.footer-item {
    display: flex;
    flex-wrap: nowrap;
    align-items: baseline;
    column-gap: 0.4rem;
}
.footer-item > p {
    color: black;
    font-size: 1.4rem;
}

.footer-item {
    text-decoration: none;
}

.location {
    color: var(--icon-color-location);
}

a.footer-item:hover > p {
    text-decoration:underline;
}

.email {
    color: var(--icon-color-email)
}

.linkedin {
    color: var(--icon-color-linkedin)
}

.github {
    color: var(--icon-color-github)
}