﻿@charset "utf-8";

/* General Styling */
* {
    box-sizing: border-box;
}

h1, h2, h3, h4{
    font-family: 'Catamaran', Helvetica, Arial, sans-serif; 
}

h1 {
    font-size: 3.25em;
}

h2 {
    font-size: 3em;
    margin-top: .25em;
    margin-bottom: 1.5em;
}

h3 {
    font-size: 2em;
    margin-top: .25em;
    margin-bottom: 0.75em;
}

h4 {
    font-size: 1.5em;
    margin-top: .25em;
    margin-bottom: 0.75em;
}

body {
	font-family: 'Assistant', Helvetica, Arial, sans-serif; 
    font-weight: 400;
    color: #4A4A4A;
    font-size: 1em;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
	padding: 0;
	margin: 0;  
}

p {
    font-size: 1.25em;
    line-height: 1.6;
}

a {
    color: #6D24AB;
    text-decoration: none;
}

a:hover {
    text-decoration: none;
    color: #3023AE;
}

/* Universal Classes */
.text-gradient {
    display: inline-block;
    background: -webkit-linear-gradient(left, #3023AE, #7924AB);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.center {
    text-align: center;
    width: 100%;
}

/* Padding */
.intro,
.showcase,
.more,
.awards,
.about {
    padding: 0 3em;
    max-width: 1280px;
    margin: auto;
}

nav {
    padding: 1em 3em;
    max-width: 1280px;
    margin: auto;
}

.main-content section {
    margin-bottom: 10em;
}

.main-content .contact {
    margin-bottom: 0;
}

/* Logo Treatment */
.logo h1 {
    font-size: 3em;
    margin: 0;
}

/* Navigation */
nav {
    display: flex;
    justify-content: space-between;
}

/* Navigation Links */
.nav-list {
    display: flex;
    align-items: center;
}

.nav-list a {
    font-family: 'Biryani', Helvetica, Arial, sans-serif;
    letter-spacing: 1px;
    font-size: 0.75em;
    text-transform: uppercase;
    margin: 0 1.75em;
    padding-bottom: 3px;
    -webkit-transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -o-transition: all 0.5 ease-out;
    transition: all 0.5 ease-out;
    border-bottom: 3px solid transparent;
}

.nav-list a:hover {
    border-bottom: 3px solid;
}

/* Intro */
.intro-p {
    font-family: 'Assistant', Helvetica, Arial, sans-serif; 
    font-weight: 200;
    font-size: 3.5em;
    line-height: 1.5;
    margin-bottom: 1.25em;
}

.intro:hover .marked {
    background: -webkit-linear-gradient(left, #3023AE, #7924AB);
    color: white;
}

.label {
    font-family: 'Biryani', Helvetica, Arial, sans-serif;
    font-size: 0.75em;
    color: #BBB;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.caption {
    font-family: 'Biryani', Helvetica, Arial, sans-serif;
    font-size: 0.75em;
    color: #6D24AB;
    text-transform: uppercase;
    line-height: 1.4;
}

.description {
    max-width: 25em;
}

/* Button */
.fancy-button {
    font-family: 'Biryani', Helvetica, Arial, sans-serif;
    color: white;
    font-size: 0.75em;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: inline-block;
    margin-top: 2em;
    position: relative;
}

.fancy-button:before {
    content: '';
    display: inline-block;
    height: 20px;
    position: absolute;
    bottom: -5px;
    left: 10px;
    right: 10px;
    z-index: -1;
    filter: blur(14px) brightness(0.9);
    transform-style: preserve-3d;
    transition: all 0.3s ease-out;
    background: #3023AE;
    background: linear-gradient(90deg, #3023AE 0%, #7924AB 80%, #7924AB 100%);
}

.fancy-button span {
    display: inline-block;
    padding: 16px 20px;
    border-radius: 2px;
    position: relative;
    z-index: 2;
    will-change: transform, filter;
    transform-style: preserve-3d;
    transition: all 0.3s ease-out;
    background: #3023AE;
    background: linear-gradient(90deg, #3023AE 0%, #7924AB 80%, #7924AB 100%);
}
    
.fancy-button:hover,
.fancy-button:focus {
    color: #ffffff;
}

.fancy-button:hover span {
    filter: brightness(.9) contrast(1.2);
    transform: scale(0.96);
}

.fancy-button:hover:before {
    bottom: 3px;
    filter: blur(6px) brightness(0.8);
}

.fancy-button:active span {
    filter: brightness(.75) contrast(1.7);
}

/* More Work Section */
.more-container {
    display: grid;
    justify-items: center;
    grid-template-columns: 1fr 1fr 1fr;
    row-gap: 6em;
}

.more-item {
    display: grid;
    align-items: center;
    justify-items: center;
}

.more-item img {
    width: 100%;
    min-width: 10em;
    max-height: 5em;
}


/* Awards Section */
.awards-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 5em;
    row-gap: 6em;
    max-width: 1080px;
    margin: auto;
}

.awards-item {
    display: flex;
}

.award-icon {
    margin-right: 2em;
    margin-top: .5em;
}

.fancy-icon {
    display: inline-block;
    padding: 14px;
    border-radius: 2px;
    position: relative;
    z-index: 2;
    will-change: transform, filter;
    transform-style: preserve-3d;
    transition: all 0.3s ease-out;
    background: #3023AE;
    background: linear-gradient(90deg, #3023AE 0%, #7924AB 80%, #7924AB 100%);
}

/* About Section */
.about {
    max-width: 960px;
    margin: 0 auto 8em;
}

.about-headshot {
    width: 180px;
    display: block;
    margin: auto;
    margin-bottom: 3em;
}

.about-block {
    max-width: 37em;
    margin: auto;
}

/* Contact Section */
.contact {
    margin: auto;
    background: #3023AE;
    background: linear-gradient(90deg, #3023AE 0%, #7924AB 80%, #7924AB 100%);
    padding: 6em 0;
    color: white;
    text-align: center;
}

.white-button:before,
.white-button span {
    background: white;
    color: #3023AE;
}

/* Footer */
footer {
    padding: 2em;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.footnote {
    font-family: 'Biryani', Helvetica, Arial, sans-serif;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-size: 0.625em;
    color: #BBB;
}

/* Work Pages */
.page .navigation {
    position: absolute;
    top: 2em;
    left: 2em;
}

.page .navigation a {
    width: 1.5em;
    height: 1.5em;
    padding: 0.25em;
    position: relative;
    right: 0;
    transition: all .2s ease;
    color: #6D24AB;
}

.page .navigation a:hover {
    right: 5px;
}

.page .navigation i {
    background: #3023AE;
    background: linear-gradient(90deg, #3023AE 0%, #7924AB 80%, #7924AB 100%);
    border-radius: 50%;
    padding: .5em;
    color: white;
}

.page h3 {
    margin-top: 1.625em;
}

.page h4 {
    margin-top: 1.5em;
}

.page ul,
.page ol {
    font-size: 1.25em;
    line-height: 1.6;
}

.page li {
    margin-bottom: 0.5em;
}

.page .content {
    max-width: 1000px;
    max-width: 47em;
    margin: 4em auto;
    padding: 0 2em;
}

.page h1,
.page h2,
.page h3,
.page h4,
.page p,
.page ul {
    max-width: 750px;
    margin-left: auto;
    margin-right: auto;
}

.page .image-hero img {
    margin-bottom: 0;
    box-shadow: none;
}

.page .caption {
    text-align: center;
    font-size: .875em;
    font-style: italic;
    margin-top: 2.5em;
    text-transform: initial;
}

.page img {
    width: 100%;
    box-shadow: 0 2px 12px rgba(0,0,0,.1);
    margin-bottom: 1em;
    background: #EEE;
}

.page .auto-img {
    width: auto;
    margin: auto;
    display: block;
}

.page video {
    width: 100%;
    max-width: 20em;
    box-shadow: 0 2px 12px rgba(0,0,0,.1);
    margin: auto;
    display: block;
    margin-bottom: 1em;
}

.page .image-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    column-gap: 1em;
    row-gap: 2em;
}

.page .image-grid-two-thirds {
    grid-template-columns: 3fr 1fr;
}

.page .image-grid-three {
    grid-template-columns: 1fr 1fr 1fr;
}

.page .centered-smaller {
    max-width: 60%;
    margin: auto;
    display: flex;
}

/* Showcase */
.showcase {
    padding: 0;
    overflow: hidden;
    max-width: none;
}

.showcase-row {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: auto;
    margin-bottom: 5em;
}

.showcase-block {
    padding: 0 2em;
    z-index: 4;
}

.showcase-image {
    position: relative;
    width: 38em;
    height: 38em;
}

.showcase-image img {
    display: block;
    width: 28em;
    position: absolute;
}

.listing-llama-block .phone-1 {
    left: -6em;
    top: 3em;
}

.listing-llama-block .phone-2 {
    left: 13em;
    top: 18em;
}

.listing-llama-block .phone-3 {
    left: 12em;
    top: 1em;
}   

.android-block .phone-1 {
    left: 3em;
    top: 1em;
    z-index: 3;
}

.android-block .phone-2 {
    z-index: 2;
    top: 11em;
    left: 5em;
}

.android-block .phone-3 {
    top: 14em;
    left: 5em;
    z-index: 1;
}

.anow-block .desktop-image {
    top: 4em;
    width: 50em;
    left: 0em;
}

/* Media Query for Homepage Android Phones at Small Desktop */
@media screen and (max-width: 1050px) {

    .showcase-row {
        margin-bottom: 0;
    }

    .showcase-image img {
        width: 25em;
    }

    .listing-llama-block .phone-1 {
        left: -6em;
        top: 5em;
    }

    .listing-llama-block .phone-2 {
        left: 12em;
        top: 19em;
    }

    .listing-llama-block .phone-3 {
        left: 11em;
        top: 4em;
    }

    .android-block .phone-1 {
        left: 2em;
        top: 2em;
        z-index: 3;
    }

    .android-block .phone-2 {
        z-index: 2;
        top: 11em;
        left: 3em;
    }

    .android-block .phone-3 {
        top: 13em;
        left: 4em;
        z-index: 1;
    }
}

/* Media Query for Homepage Android Phones at Small Desktop */
@media screen and (max-width: 960px) {

    .showcase-row {
        margin-bottom: 0;
    }

    .showcase-image {
        width: 30em;
    }

    .showcase-image img {
        width: 20em;
    }

    .listing-llama-block .phone-1 {
        left: -6em;
        top: 5em;
    }

    .listing-llama-block .phone-2 {
        left: 8em;
        top: 16em;
    }

    .listing-llama-block .phone-3 {
        left: 9em;
        top: 4em;
    }

    .android-block .phone-1 {
        left: 2em;
        top: 3em;
        z-index: 3;
    }

    .android-block .phone-2 {
        z-index: 2;
        top: 11em;
        left: 2em;
    }

    .android-block .phone-3 {
        top: 13em;
        left: 3em;
        z-index: 1;
    }
}



/* Media Query for Tablet */
@media screen and (max-width: 768px) {

    h1 {
        font-size: 2.5em;
    }

    h2 {
        font-size: 2.25em;
    }

    h3 {
        font-size: 1.75em;
    }

    h4 {
        font-size: 1.25em;
    }

    p {
        font-size: 1.125em;
        line-height: 1.6;
    }

    .page ul {
        font-size: 1.125em;
        line-height: 1.6;
    }

    .intro, .more, .awards, .about {
        padding: 0 2em;
    }

    nav {
        padding: 1em 2em;
    }

    .description {
        max-width: 20em;
    }

    .page .auto-img {
        width: 100%;
    }

    .intro-p {
        font-size: 2.75em;
    }

    .showcase-image {
        width: 18em;
        height: 28em;
    }

    .showcase-image img {
        width: 12em;
    }

    .listing-llama-block .phone-1 {
        right: 0;
        top: 8em;
        left: -3em;
    }

    .listing-llama-block .phone-2 {
            right: 0;
        top: 15em;
        left: 6em;
    }

    .listing-llama-block .phone-3 {
        right: 0;
        top: 7em;
        left: 5em;
    }   

    .android-block .phone-1 {
        left: 2em;
        top: 4em;
        z-index: 3;
    }

    .android-block .phone-2 {
        z-index: 2;
        top: 9em;
        left: 2em;
    }

    .android-block .phone-3 {
        top: 10em;
        z-index: 1;
    }

    .more-container {
        grid-template-columns: 1fr 1fr;
    }

    .more-item img {
        width: 75%;
        min-width: 7em;
    }

    .awards-container {
        column-gap: 2em;
    }

    .main-content section {
        margin-bottom: 7em;
    }

    footer {
        padding: 1em;
        text-align: center;
        display: block;
    }

    footer .nav-list {
        margin-bottom: 1em;
        justify-content: space-between;
    }

    footer .nav-list a {
        margin: 0;
    }
}

/* Media Query for Mobile */
@media screen and (max-width: 550px) {

    h1 {
        font-size: 2.5em;
    }

    h2 {
        font-size: 2.25em;
    }

    h3 {
        font-size: 1.5em;
    }

    .label {
        font-size: 0.625em;
    }

    .caption {
        font-size: .75em;
    }

    .description {
        font-size: 1.1em;
    }

    nav {
        display: block;
    }

    .logo {
        text-align: center;
        margin-bottom: .75em;
    }

    .nav-list {
        justify-content: space-between;
    }

    .nav-list a {
        margin: 0;
        font-size: 0.625em;
    }

    .intro-p {
        font-size: 2em;
    }

    .main-content section {
        margin-bottom: 4em;
    }

    .intro, .more, .awards, .about {
        padding: 0 1em;
    }

    .fancy-button {
        font-size: .65em;
    }

    .showcase-row {
        flex-flow: column;
        margin-bottom: 1.5em;
    }

    .description {
        max-width: none;
    }

    .showcase-block {
        order: 1;
        width: 100%;
    }

    .showcase-image {
        width: 100%;
        height: 12em;
        order: 2;
    }

    .listing-llama-block .phone-1 {
        right: 0em;
        top: -3em;
        left: 9em;
    }

    .listing-llama-block .phone-2 {
        right: 0em;
        top: 4em;
        left: 18em;
    }

    .listing-llama-block .phone-3 {
        right: 0em;
        top: -4em;
        left: 18em;
    }   

    .android-block .phone-1 {
        left: 10em;
        top: -3em;
        z-index: 3;
    }

    .android-block .phone-2 {
        z-index: 2;
        right: 0;
        top: 1em;
        left: 11em;
    }

    .android-block .phone-3 {
        top: 3em;
        left: 11em;
        z-index: 1;
    }

    .awards-container {
        grid-template-columns: 1fr;
        row-gap: 3em;
    }

    .fancy-icon {
        padding: 6px;
    }

    .award-icon {
        margin-right: 1.5em;
    }

    .more h2, .awards h2 {
        margin-bottom: 1em;
    }

    .contact {
        padding: 4em 0;
    }

    footer .nav-list a {
        font-size: .5em;
    }

    footer .footnote {
        font-size: .5em;
    }
}



