:root {
    --hover-grey: rgb(207, 207, 207);
    --vibrant-blue: rgb(45, 203, 255);
    --dark-blue: rgb(31, 156, 198);
    --dark-purple: rgb(35, 10, 71);
    --off-gray: #bbbbbb;
}

body {
    background: linear-gradient( rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)), url('../images/large-gradient-bg.jpg');
    background-color: var(--dark-purple);
    background-size: cover;
    background-repeat: no-repeat;
    overscroll-behavior-y: none;
    height: 100%;

    font-family: "Avenir", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
    color: white;
    font-size: 1.2em;

    max-width: 45em;
    min-height: 100vh;

    display: flex;
    flex-direction: column;

    justify-content: center;
    align-items: center;
    text-align: center;

    margin: 0px auto;
    padding: 0px;
    text-shadow: 2px 2px 5px black;
}

#bodyWrapper { padding: 40px 10px; }

header {
    margin: 6em auto;
    padding: 0px 1px;
}

h1 {
    font-size: 4.5em;
    margin: 10px;
}

section {
    margin: 5em 0px;
}

section h3 {
    margin-bottom: 0;
}

section i {
    font-size: 0.8em;
}

a {
    color: var(--vibrant-blue);
    text-decoration: none;
    transition-duration: 0.3s;
}
a:hover {
    text-decoration: underline;
}

nav {
    display: flex;
    justify-content: center;
}

nav a {
    color: white;
    font-size: 0.8em;
    padding: 10px 15px;
    margin: 10px 5px;

    background-color: var(--dark-blue);
    border-radius: 50px;

    text-shadow: none;
}
nav a:hover {
    text-decoration: none;
    background-color: white;
    color: var(--dark-blue);
    box-shadow: 0px 0px 10px 2px var(--vibrant-blue);
}

.project {
    display: flex;
    align-items: center;
    margin: 15px auto;
    padding: 15px;
    border-radius: 10px;

}
.project:hover {
    text-decoration: none;
    box-shadow: 0px 0px 20px 2px var(--vibrant-blue);
    text-shadow: 0px 0px 5px var(--vibrant-blue);

    background-color: var(--dark-purple);
}

.project img {
    width: 250px;
    max-width: 50%;
    height: auto;

    border-radius: 7px;
    border: 3px solid white;
}

.project .desc {
    padding: 0px 20px;
    color: white;
    text-align: justify;
}

.spacer {
    padding: 0px 1em;
}

#bgLink {
    color: var(--off-gray);
    font-size: 0.9em;
}

@media only screen and (max-width: 650px) {
    h1 { font-size: 3em; }
    .project {
        flex-direction: column;
    }
    .project .desc {
        text-align: center;
    }
  }