/* Top-Level */

html,
body {
    color: white;
    /* background-color: black; */
    background-image: url('../images/blackpaper.jpg');
    /* background-size: cover; */
    font-family: 'Gotham', Arial, Helvetica, sans-serif
}

#root {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

a {
    color: white;
    text-decoration: none;
}

a:hover,
a:active {
    color: #ccff00;
    text-decoration: underline;
}

p {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5;
    margin: 0;
}

/* Headings */

h1 {
    font-size: 48px;
    font-weight: bold;
    margin: 0;
}

h2 {
    font-size: 24px;
    font-family: 'Gotham Black', Arial Black, Arial, Helvetica, sans-serif;
    ;
    margin: 0;
}

/* Header */

header {
    flex: 0 0 auto;
}

nav {
    display: flex;
    justify-content: space-between;
    padding: 20px 15px;
}

.nav-active {
    color: #ccff00;
    text-decoration: underline;
}

.nav-left a {
    font-family: 'Gotham Ultra', 'Arial Black', Arial, Helvetica, sans-serif;
    font-size: 30px;
    line-height: .75;
    padding: 20px;
}

.nav-left a:hover {
    text-decoration: none;
    color: #ffffff;
}

.nav-right a {
    font-family: 'Gotham', 'Arial Black', Arial, Helvetica, sans-serif;
    font-size: 24px;
    margin-right: 50px;
    font-weight: 400;
    padding: 20px;
}

#last-nav {
    margin-right: 0px;
}

/* Sections */

main {
    display: flex;
    flex: 1 0 90%;
}

/* About */

.about {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.howdy {
    display: flex;
    align-items: center;
}

h2.howdy {
    font-size: 182px;
    line-height: 162px;
    font-weight: 800;
    font-family: 'Gotham Ultra', 'Arial Black', Arial, Helvetica, sans-serif;
    letter-spacing: 4px;
    background: linear-gradient(to bottom, #ff00ff, #ccff00);
    -webkit-background-clip: text;
    -moz-background-clip: text;
    background-clip: text;
    color: transparent;
}

p.bio {
    font-size: 22px;
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: .2px;
    transform: scaleY(.95);
}

.about img {
    border-radius: 50%;
    width: 250px;
    margin: 0 30px;
    background: linear-gradient(to bottom, #40c9ff, #e81cff);
    transition: transform 0.1s ease-in-out;
}

.about img:hover {
    transform: scale(1.2);
}

/* Portfolio */

.portfolio {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.card-row {
    display: flex;
    justify-content: center;
    align-items: center;
}

.card-blue {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: 20px;
    padding: 20px;
    width: 250px;
    height: 250px;
    color: #ffffff;
    font-family: 'Gotham', Arial, Helvetica, sans-serif;
    font-weight: 500;
    background: linear-gradient(to bottom, #40c9ff, #e81cff);
    border-radius: 50%;
    transition: transform 0.1s ease-in-out;
}

.card-blue:hover {
    transform: scale(1.2);
}

.card-pink {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: 20px;
    padding: 20px;
    width: 250px;
    height: 250px;
    color: #ffffff;
    font-family: 'Gotham', Arial, Helvetica, sans-serif;
    font-weight: 500;
    background: linear-gradient(to bottom, #ff00ff, #ccff00);
    border-radius: 50%;
    transition: transform 0.1s ease-in-out;
}

.card-pink:hover {
    transform: scale(1.2);
}

.portfolio h2 {
    font-size: 75px;
    font-family: 'Gotham Ultra', 'Arial Black', Arial, Helvetica, sans-serif;
    letter-spacing: 1px;
    font-weight: 500;
}

.portfolio h3 {
    font-size: 30px;
    font-family: 'Gotham Ultra', 'Arial Black', Arial, Helvetica, sans-serif;
    font-weight: 500;
    color: #ffffff;
    line-height: 32px;
    margin-bottom: 15px;
}

.portfolio-links {
    margin: 0;
}

.portfolio-links a {
    display: inline-block;
    font-size: 20px;
    font-weight: 400;
    margin: 0px;
    padding: 0px;
    line-height: 24px;
}

.portfolio-links a:hover {
    color: black;
    text-decoration: underline;
}

/* Resume */

.resume {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.resume-download {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    width: 45%;
}

.resume-skills {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    width: 45%;
}

.resume-download h2 {
    font-size: 102px;
    line-height: 82px;
    font-weight: 800;
    font-family: 'Gotham Ultra', 'Arial Black', Arial, Helvetica, sans-serif;
    letter-spacing: 4px;
    background: linear-gradient(to bottom, #ff00ff, #ccff00);
    -webkit-background-clip: text;
    -moz-background-clip: text;
    background-clip: text;
    color: transparent;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.resume-skills h2 {
    font-size: 102px;
    line-height: 82px;
    font-weight: 800;
    font-family: 'Gotham Ultra', 'Arial Black', Arial, Helvetica, sans-serif;
    letter-spacing: 4px;
    background: linear-gradient(to bottom, #40c9ff, #e81cff);
    -webkit-background-clip: text;
    -moz-background-clip: text;
    background-clip: text;
    color: transparent;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.resume p {
    font-size: 22px;
    font-family: 'Gotham', Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    letter-spacing: .2px;
    transform: scaleY(.95);
}

.download {
    font-size: 22px;
    font-family: 'Gotham', Arial, Helvetica, sans-serif;
    letter-spacing: .2px;
    transform: scaleY(.95);
}

.download a {
    color: #ccff00
}

.download a:hover {
    text-decoration: underline;
}


/* Contact */

.contact {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.holler-container {
    padding: 60px;
    margin-bottom: 80px;
}

.contact .holler-container h2 {
    font-size: 142px;
    line-height: 122px;
    font-weight: 800;
    font-family: 'Gotham Ultra', 'Arial Black', Arial, Helvetica, sans-serif;
    letter-spacing: 4px;
    background: linear-gradient(to bottom, #ff00ff, #ccff00);
    -webkit-background-clip: text;
    -moz-background-clip: text;
    background-clip: text;
    color: transparent;
    text-transform: uppercase;
}

.contact .form-container {
    padding: 25px;
    margin: 20px;
}

#contact-form {
    width: 600px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-family: 'Gotham Book', Arial, Helvetica, sans-serif;
}

.form-group {
    width: 100%;
}

.contact label {
    font-size: 22px;
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: .2px;
    transform: scaleY(.95);
}

input[type="text"],
input[type="email"] {
    width: 100%;
    padding: 15px 10px 15px;
    border-radius: 4px;
    margin-bottom: 20px;
    border: none;
    caret-shape: bar;
}

textarea {
    width: 100%;
    height: 100px;
    padding: 15px 10px 5px;
    border-radius: 4px;
    margin-bottom: 20px;
    border: none;
}

button[type="submit"] {
    background-color: black;
    color: white;
    width: 250px;
    height: 60px;
    font-family: 'Gotham Black', 'Arial Black', Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    font-size: 22px;
    border-style: solid;
    border-width: 7.5px;
    border-image: linear-gradient(to right, #40c9ff, #e81cff) 1;
    transition: transform 0.1s ease-in-out;
}

button[type="submit"]:hover {
    border-style: solid;
    border-width: 7.5px;
    border-image: linear-gradient(to right, #e81cff, #40c9ff) 1;
    transform: scale(1.2);
}

/* Footer */

footer {
    flex: 0 0 auto;
    display: flex;
    justify-content: center;
    padding: 10px;
    margin-bottom: 10px;
}

.social-icons {
    display: flex;
}

.social-icons i {
    font-size: 32px;
    margin: 0 10px;
}

.social-icons a:hover {
    color: #ccff00;
}

/* Media Queries */

/* Adjustment for contact page */

@media only screen and (max-width: 1350px) {

    /* Contact */

    .contact {
        flex-direction: column;
        align-items: center;
    }

    .holler-container {
        margin-bottom: 0;
        padding: 0;
    }

    .contact .holler-container h2 {
        font-size: 102px;
        line-height: 82px;
    }

    .contact .form-container {
        width: auto;
        padding: 0;
        margin-bottom: 20px;
    }
}

/* Mobile */

@media only screen and (max-width: 767px) {

    /* Nav */

    nav {
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .nav-right {
        display: flex;
    }

    .nav-left a {
        margin: 0;
        padding: 0;
    }

    .nav-right a {
        margin: 0;
        padding: 0;
        font-size: 20px;
        margin: 0 12.5px;
    }

    /* About */

    .howdy {
        flex-direction: column;
    }

    .about img {
        margin: 20px 0;
    }

    h2.howdy {
        font-size: 62px;
        line-height: 62px;
        letter-spacing: 0px;
    }

    p.bio {
        font-size: 18px;
        text-align: center;
        width: 355px;
    }

    /* Portfolio */

    .portfolio h2 {
        font-size: 60px;
    }

    .card-row {
        flex-direction: column;
    }

    .card-blue {
        width: 300px;
        height: 300px;
    }

    .card-pink {
        width: 300px;
        height: 300px;
    }

    /* Resume */

    .resume {
        flex-direction: column;
        align-items: center;
    }

    .resume-download,
    .resume-skills {
        width: 80%;
    }

    .resume-download {
        margin-bottom: 40px;
    }

    .resume-download h2 {
        font-size: 62px;
        line-height: 52px;
    }

    .resume-skills h2 {
        font-size: 62px;
        line-height: 52px;
    }

    /* Contact */

    .contact {
        flex-direction: column;
        align-items: center;
    }

    .holler-container {
        margin-bottom: 0;
        padding: 0;
    }

    .contact .holler-container h2 {
        font-size: 82px;
        line-height: 62px;
    }

    .contact .form-container {
        width: 80%;
        padding: 0;
        margin-bottom: 20px;
    }

    #contact-form {
        width: auto;
    }
}

/* Small screens, laptops */

@media only screen and (min-width: 769px) and (max-width: 1024px) {

    /* Nav */

    .nav-right a {
        font-size: 20px;
        margin: 0 7.5px;
    }

    /* About */

    h2.howdy {
        font-size: 112px;
        line-height: 92px;
        letter-spacing: 0px;
        text-align: center;
        display: block;
    }

    p.bio {
        font-size: 18px;
        text-align: center;
    }

    /* Portfolio */

    .portfolio h2 {
        font-size: 65px;
    }

    .card-row {
        flex-direction: column;
    }

    .card-blue {
        width: 275px;
        height: 275px;
    }

    .card-pink {
        width: 275px;
        height: 275px;
    }

    /* Resume */

    .resume {
        flex-direction: column;
        align-items: center;
    }

    .resume-download,
    .resume-skills {
        width: 80%;
    }

    .resume-download {
        margin-bottom: 40px;
    }

    .resume-download h2 {
        font-size: 82px;
        line-height: 62px;
    }

    .resume-skills h2 {
        font-size: 82px;
        line-height: 62px;
    }

    /* Contact */

    .contact {
        flex-direction: column;
        align-items: center;
    }

    .holler-container {
        margin-bottom: 0;
        padding: 0;
    }

    .contact .holler-container h2 {
        font-size: 102px;
        line-height: 82px;
    }

    .contact .form-container {
        width: auto;
        padding: 0;
        margin-bottom: 20px;
    }
}