@font-face {
    font-family: 'Nexa';
    src: url(../webfonts/Nexa-Bold.otf);
}

body {
    font-family: 'Nunito', sans-serif;
}

h1, h2, h3, h4, h5, h6, nav {
    font-family: 'Quicksand', sans-serif;
}

.hero {
    height: 50%;
    color: #fff;
    background: linear-gradient(-45deg, #EE7752, #E73C7E, #23A6D5, #23D5AB);
    background-size: 400% 400%;
    -webkit-animation: Gradient 15s ease infinite;
    -moz-animation: Gradient 15s ease infinite;
    animation: Gradient 15s ease infinite;
}

@-webkit-keyframes Gradient {
    0% {
        background-position: 0% 50%
    }
    50% {
        background-position: 100% 50%
    }
    100% {
        background-position: 0% 50%
    }
}

@-moz-keyframes Gradient {
    0% {
        background-position: 0% 50%
    }
    50% {
        background-position: 100% 50%
    }
    100% {
        background-position: 0% 50%
    }
}

@keyframes Gradient {
    0% {
        background-position: 0% 50%
    }
    50% {
        background-position: 100% 50%
    }
    100% {
        background-position: 0% 50%
    }
}

.content {
    margin: -1em auto;
    border: none;
}

#headshot {
    padding-top: 20px;
}

#headline {
    padding-top: 10px;
}

.slogan {
    padding-top: 10px;
}

#about {
    text-align: center;
}

.tiny-pad {
    padding-left: 0px;
}

h2 {
    padding-bottom: 20px;
}

.desktop-align {
    text-align: center;
}

@media(min-width: 500px) {
    #about {
        text-align: left;
    }

    #headline {
        padding-top: 30px;
    }

    .slogan {
        padding-top: 20px;
    }

    .tiny-pad {
        padding-left: 15px;
    }

    .desktop-align {
        text-align: left;
        padding-left: 15px;
    }
}

.valign {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}

.tiny-margin {
    margin: 5px;
}

.center {
    text-align: center;
}

.project-title {
    margin-top: 10px;
    margin-bottom: -12px;
}

.skills {
    margin-top: -12px;
}

.icon {
    font-size: 30px;
    margin: 20px 25px;
}

#footer {
    font-size: 14px;
}

.top {
    margin-top: 3em;
}

.project-top {
    margin-top: 2em;
}

#photo {
    margin-top: -4em;
}

.picture {
    max-width: 100%;
}

.blue {
    color: #fff;
    background-color: #23A6D5;
    padding-bottom: 3em;
}

.green {
    color: #fff;
    background-color: #23D5AB;
    padding-bottom: 3em;
}

.pink {
    color: #fff;
    background-color: #E73C7E;
    padding-bottom: 3em;
}

.orange {
    color: #fff;
    background-color: #EE7752;
    padding-bottom: 3em;
}

table {
    margin: 0 auto;
}

td {
    text-align: center;
    vertical-align: middle;
    padding: 0 2em;
}

#back {
    margin-top: -3em;
}