:root {
    --nav-color: #808080;
    --background-color: white;
    --main-color: #efefef;
    --highlight-color: #cce0ff;
    --footer-color: white;
}

p {
    /* Remove default user agent margins */
    margin: 0;
}

html {
    font-family: 'Poppins', sans-serif;
}

body {
    /* Remove default user agent margins */
    margin: 0;
}

header {
    background-color: var(--background-color);
    color: rgba(0, 0, 0, 0.5);
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
}

footer {
    background-color: var(--footer-color);
    color: var(--nav-color);
    text-align: center;
    padding: 10vh 0 7vh;
}

a {
    text-decoration: none;
    border-radius: 5px;
    transition: all .4s ease;
    /* Fill time */
}

ul {
    display: flex;
    list-style-type: none;
    padding-inline-start: 0;
    margin-block-start: 0;
    margin-block-end: 0;
}

/*  TODO Make nav padding decrease when scrolled down and make position absolute */
grid-item {
    animation: slide 1s forwards cubic-bezier(.25, .1, 0, 1.02);
    padding: 10px;
}

header ul {
    justify-content: center;
    margin-block-start: 1em;
    margin-block-end: 1em;
}

nav a {
    color: var(--nav-color);
    font-size: 2em;
}
nav li {
    margin: 15px 3vw;
}

/* Prevent header from becoming too big */
header img {
    margin: 10px;
    max-width: 80px;
}

.socials a {
    margin: 0 5px;
    position: relative;
    top: 5px;
}

.socials img {
    transition: all .4s ease;
    opacity: .45;
}

.socials img:hover {
    opacity: 1;
}

.main {
    text-align: center;
    background-color: var(--main-color);
    padding: 10em 0 100px;
}

.scroll {
    text-align: center;
    color: white;
    /*  TODO Remove bottom margin when adding content */
    margin: 25vh 0 25vh;
}

.text-center {
    text-align: center;
}

.highlight {
    background-image:
        linear-gradient(var(--highlight-color) 30%, transparent 0);
    background-position: 0 .8em;
    /* Move the highlight down */
}

.highlight:hover {
    padding: 10px;
    text-decoration: none;
    background-color: var(--highlight-color);
    /* Switch to complete fill */
    background-position: 0 2em;
    /* Remove the highlight shift */
}

.projects li {
    transition: all .3s;
}

.projects li:hover {
    filter: brightness(.7);
}

.name {
    font-size: 5vw;
    margin: 1vh 0 0;
}

h1 {
    font-size: 4vw;
    margin: 0;
}

.main img:hover, header img:hover {
    transform: rotate(360deg);
    transition: all 1s cubic-bezier(.4, .53, .28, 1.05);
}

.main-links {
    justify-content: center;
    margin: 5vh 0 0;
}

.main-links li {
    margin: 0 2vw;
    font-size: 2.5vw;
}

.tagline {
    font-size: 2.5vw;
}

@media screen and (orientation: portrait),(max-width: 700px) {
    .bar-top, .bar-mid, .bar-bottom {
        width: 35px;
        height: 4px;
        background-color: black;
        margin: 6px 0;
        transition: all .3s ease;
    }
    
    .toggled .bar-top, .toggled .bar-mid, .toggled .bar-bottom {
        background-color: var(--nav-color);
    }

    .toggled .bar-top {transform: translateY(10px);}
    .toggled .bar-bottom {transform: translateY(-10px);}
    
    header {grid-template-columns: 1fr;}
    
    nav {display: none;}
    
    nav.toggled {
        display: block;
        animation: reveal .4s;
    }

    nav ul {flex-direction: column;}

    .main-links {flex-direction: column;}


    .name {
        font-size: 15vw;
    }
    
    h1 {
        font-size: 7vw;
    }

    .tagline {
        font-size: 5.5vw;
    }

    .main-links li {
        font-size: 7vw;
        margin: 0 0 1vh;
    }

    .logo {
        display: none;
    }
}

@media screen and (orientation: portrait),(max-width: 1150px) {
    /* Hide social media when the display is not large enough */
    .socials {
        display: none;
    }
}

@keyframes reveal {
    from {opacity: 0}
    to {opacity: 1}
}

.name, .tagline, .main li, nav li, h1 {
    animation-name: bounce;
    animation-duration: .5s;
    animation-timing-function: cubic-bezier(.25, .1, 0, 1.02);
}

.bounce-delay1 {
    animation-duration: .75s !important;
}

.bounce-delay2 {
    animation-duration: 1s !important;
}

.bounce-delay3 {
    animation-duration: 1.25s !important;
}

@keyframes bounce {
  0% {
    transform: translateY(-5vh);
  }
  100% {
    transform: translateY(0px);
  }
}
