@import url('owl.carousel.min.css');
@import url(owl.theme.default.min.css);

html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    font-size: 18px;
}

body {
    margin: 0;
    font-family: 'Open Sans', sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.68;
    color: #1e1735;
    background-color: #fff;
}

body.locked {
    overflow: hidden;
}

h1,
h2,
h3,
h4 {
    font-family: 'Chonburi', cursive;
    font-weight: bold;
}

h1 {
    font-size: 2.5em;
    line-height: 1.15em;
}

h2 {
    font-size: 2em;
    line-height: 1.3em;
}

h3 {
    font-size: 1.5em;
    line-height: 1.3em;
}

h4 {
    margin-bottom: 0;
}

input,
textarea,
button {
    font-family: 'Open Sans', sans-serif;
}

p {
    max-width: 50em;
}

img {
    max-width: 100%;
}

.center {
    text-align: center;
}

a.text-link {
    color: #7764a6;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border 0.33s ease-in-out;
    font-weight: bold;
}

a.text-link:hover {
    border-bottom: 1px solid #7764a6;
}

section a.button-link,
.text a.button-link {
    display: inline-block;
    background: transparent;
    color: #7764a6;
    border-radius: 8px;
    padding: 1em 2em;
    font-size: 0.75em;
    transition: all 0.33s ease-in-out;
    text-transform: uppercase;
    letter-spacing: 0.25em;
    border: 1px solid #7764a6;
    font-weight: bold;
    text-decoration: none;
}

section a.button-link:hover,
.text a.button-link:hover {
    background: #7764a6;
    color: white;
    border-radius: 2em;
}

a.footer-link {
    color: #7764a6;
    text-decoration: none;
    transition: all 0.33s ease;
    margin-right: 1.5em;
    margin-top: 1.5em;
}

a.footer-link:hover {
    color: #1e1735;
}

.lead {
    font-size: 1.25em;
}

header {
    margin: 0 auto;
    position: relative;
    padding: 20px;
    z-index: 0;
}

header ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    line-height: 2;
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    position: relative;
    top: 2em;
    z-index: 10;
}

header a {
    display: inline-block;
    text-decoration: none;
    color: #7764a6;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 5px 10px;
    margin-right: 1em;
    font-weight: bold;
    border-bottom: 2px solid transparent;
    transition: all 0.33s ease-in-out;
}

header a:hover {
    border-color: rgba(30, 23, 53,0.3);
    color: #1e1735;
}

section {
    margin: 0 auto;
    position: relative;
    padding: 2em;
}

.hero {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.hero .text {
    z-index: 1;
    position: relative;
}

.hero .image {
    min-width: 100%;
    position: relative;
}

.skills {
    margin: 0 auto;
}

.skills .character {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.skills .character .icon {
    width: 40px;
    height: 40px;
}

.user-experience {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-around;
    margin: 2em 0 4em;
}

.user-experience > div:nth-child(1) {
    width: 500px;
    max-width: 90%;
    box-shadow: 0 20px 10px -10px rgb(50 50 50 / 30%);
    height: auto;
    border-radius: 10px;
    padding: 1em;
    border: 2px solid #f1f1f1;
}

.user-experience > div:nth-child(2) {
    position: relative;
    width: 700px;
    max-width: 90%;
    box-shadow: 0 20px 10px -10px rgb(50 50 50 / 30%);
    border-radius: 10px;
    height: auto;
    padding: 1em;
    border: 2px solid #f1f1f1;
}

.wireframes {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
    margin: 2em 0 4em;
}

.wireframes div {
    width: 98%;
    padding: 20px 0;
}

.wireframes img {
    box-shadow: 0 20px 10px -10px rgb(50 50 50 / 30%);
    border-radius: 10px;
}

.projects img.image-background {
    display: block;
    height: 400px;
    position: absolute;
    top: -100px;
    left: -100px;
    z-index: -1;
}

.projects .project-button {
    cursor: pointer;
}

.projects .image.graceland {
    position: relative;
}

.projects .image.graceland .sales {
    position: absolute;
    width: 180px;
    bottom: 10px;
    right: -10px;
}

.experience:before {
    content: " ";
    width: 100%;
    height: 2px;
    display: block;
    position: relative;
    top: 9.5em;
    border-bottom: 2px dashed #eee;
}

.experience .carousel-two .item {
    background-image: url('../images/experience.svg');
    background-repeat: no-repeat;
    background-size: contain;
    padding-top: 1em;
}

.experience .carousel-two .item ul {
    opacity: 0;
    max-height: 0;
    transition: all 0.33s ease-in-out;
}

.experience .carousel-two .item ul.view {
    opacity: 1;
    max-height: 2000px;
}

.experience a.experience-link {
    display: inline-block;
    background: transparent;
    color: #7764a6;
    border-radius: 8px;
    padding: 0.5em 2.5em;
    font-size: 0.75em;
    transition: all 0.33s ease-in-out;
    text-transform: uppercase;
    letter-spacing: 0.25em;
    border: 1px solid #7764a6;
    font-weight: bold;
    margin-top: 1em;
}

.experience a.experience-link:hover {
    background: #7764a6;
    color: white;
    border-radius: 2em;
}

.experience .owl-nav {
    font-size: 3em;
    position: absolute;
    top: -1em;
}

.experience h4 {
    text-transform: uppercase;
    letter-spacing: 0.05em;
    opacity: 0.5;
    font-size: 0.875em;
}

.experience h3 {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

.projects .owl-nav button.owl-prev,
.projects .owl-nav button.owl-next,
.experience .owl-nav button.owl-prev,
.experience .owl-nav button.owl-next {
    color: #7764a6;
    margin-right: 0.5em;
}

.projects .owl-nav button.disabled,
.experience .owl-nav button.disabled {
    color: #ccc;
}

.facts {
    position: relative;
}

.facts .fun-stuff {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.facts img {
    box-shadow: 0 20px 10px -10px rgb(50 50 50 / 30%);
    border-radius: 10px;
}

.facts img.image-background {
    display: block;
    height: 400px;
    position: absolute;
    top: -50px;
    left: -100px;
    z-index: -1;
    box-shadow: none;
}

.facts .about {
    display: flex;
    flex-direction: row;
    width: 100%;
    flex-wrap: wrap;
}

.facts .callout {
    padding-right: 3em;
}

.facts .callout h3 {
    font-size: 1.5em;
    line-height: 1.6;
    max-width: 27em;
    margin-top: 1rem;
}

.facts .about .text {
    padding-left: 1em;
    padding-right: 1em;
}

.disc .wrapper {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.disc .profile {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    margin-top: 1em;
}

.disc .profile h4 {
    margin-top: 0;
}

.disc .profile .letter {
    padding-right: 2em;
}

.disc .profile .letter span {
    display: block;
    color: #7FCBC1;
    border: 1px solid #7FCBC1;
    font-size: 3em;
    font-weight: bold;
    width: 80px;
    height: 80px;
    border-radius: 80px;
    line-height: 80px;
    text-align: center;
}

.disc .profile div:nth-child(2) {
    padding-right: 4em;
}

.disc .dc {
    background-color: #EFF9F8;
    width: 60%;
    margin: 3em auto;
    padding: 2em 4em;
    border-radius: 20px;
}

footer {
    margin: 0 auto;
    padding: 2em ;
    position: relative;
    background-color: #e6e2f2;
    background-image: url(../images/leaves.svg);
    background-repeat: no-repeat;
    background-position: right center;
}

footer .contact {
    padding: 2em 0 4em;
}

label {
    width: 100%;
}

footer .contact .button-link {
    margin-top: 1em;
    margin-right: 1.5em;
}

footer .credit {
    font-size: 0.75em;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-weight: bold;
    opacity: 0.4;
}

footer .contact-links {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
}

footer ul.social {
    list-style-type: none;
    display: flex;
    flex-direction: row;
    margin: 1em 0 0 0;
    padding: 0;
}

footer ul.social a {
    background-color: transparent;
    font-size: 2em;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 0.5em;
    width: 51.67px;
    height: 51.67px;
    border-radius: 52px;
    border: 1px solid #7764a6;
    transition: all 0.33s ease-in-out;
}

footer ul.social a:hover {
    background-color: #7764a6;
}

footer svg {
    width: 30px;
    height: 30px;
}

footer svg path {
    fill: #7764a6;
    transition: all 0.33s ease-in-out;
}

footer ul.social a:hover path {
    fill: #ffffff;
}

.project-screen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    overflow-y: auto;
    display: none;
    background: white;
    z-index: 1;
}

.project-screen.view {
    display: block;
}

.project-screen .grid {
    background-size: cover;
}

.project-screen .grid img {
    opacity: 0;
}

.project-screen .results {
    background-color: #eee;
    max-width: none;
}

.project-screen .results img {
    border-radius: 20px;
}

.columns-2 .column {
    padding: 0 2em;
    text-align: center;
}

#rivermuseum .columns-2 .column img,
#mlk .columns-2 .column img,
#provider-trust .columns-2 .column img,
#visva .columns-2 .column img {
    box-shadow: 0 0 30px rgba(30,30,30,0.1);
}

.close-button {
    position: fixed;
    right: 0.25em;
    top: 0.25em;
    font-size: 2em;
    cursor: pointer;
    z-index: 2;
    width: 60px;
    height: 60px;
    color: #7764a6;
    background: white;
    text-align: center;
    border-radius: 60px;
    transition: all 0.33s ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
}

.close-button img {
    width: 50px;
    height: 50px;
}

.close-button:hover {
    background: #7764a6;
    color: white;
}

.hidden {
    opacity: 0;
    top: 3em;
    position: relative;
}

.fade-in-element {
    animation: fade-up .75s linear forwards;
}

.delay-1 {
    animation-delay: 0.35s;
}

.delay-2 {
    animation-delay: 0.55s;
}

.delay-3 {
    animation-delay: 0.75s;
}

.delay-4 {
    animation-delay: 0.9s;
}

.delay-5 {
    animation-delay: 1s;
}

@keyframes fade-up {
    from {
        opacity: 0;
        top: 3em;
    }

    to {
        opacity: 1;
        top: 0;
    }
}


@media screen and (min-width: 768px) {
    body {
        font-size: 18px;
    }

    h1 {
        font-size: 5em;
    }

    h2 {
        font-size: 3em;
        margin-top: 0;
    }

    header ul {
        align-items: flex-start;
    }

    .hero {
        flex-wrap: nowrap;
        align-items: center;
    }

    .hero .text {
        opacity: 0;
        top: 3em;
        animation: fade-up .75s linear forwards;
        animation-delay: 0.2s;
    }

    .hero .image {
        min-width: 60vw;
        margin-left: -5em;
        margin-top: -5em;
        opacity: 0;
        top: 3em;
        animation: fade-up .75s linear forwards;
        animation-delay: 0.44s;
    }

    header,
    section,
    .contact,
    .credit {
        max-width: 1400px;
        margin-left: auto;
        margin-right: auto;
    }

    .skills {
        margin-bottom: 6em;
    }

    .skills h3 {
        padding-right: 2em;
        width: calc(30% - 2em);
        border-right: 1px solid #ccc;
        margin-right: 1.5em;
        padding-left: 20px;
    }

    .skills h4 {
        padding-left: 20px;
    }

    .skills .character {
        flex-wrap: nowrap;
        width: 100%;
    }

    .skills .character div.lead {
        width: 33.33%;
        padding: 20px;
    }

    .skills .technical {
        display: flex;
        flex-direction: row;
        margin: 2em auto;
    }

    .skills ul {
        columns: 2;
        width: 66.66%;
    }
    
    .user-experience {
        flex-wrap: nowrap;
    }

    .wireframes div {
        width: 30%;
        padding: 0;
    }    

    .projects {
        position: relative;
    }

    .projects img.image-background {
        left: -300px;
    }

    .projects .item {
        display: flex;
        flex-direction: row;
        align-items: center;
        padding: 1em;
    }

    .projects .item .text {
        width: 40%;
    }

    .projects .item .image {
        width: 60%;
        padding: 0px 0 50px 0;
    }

    .projects .item .image img:not(.sales) {
        display: block;
        width: 95%;
        border: 10px solid #7764a6;
        border-radius: 20px;
        box-shadow: 0 20px 10px -10px rgb(50 50 50 / 30%);
    }

    .experience .carousel-two .item {
        padding: 0 2em;
    }

    .projects .owl-nav,
    .experience .owl-nav {
        position: absolute;
        top: -1.875em;
        font-size: 5em;
        margin-left: 400px;
    }

    .projects .owl-nav {
        margin-left: 300px;
    }

    .experience {
        margin-bottom: 4em;
    }

    .facts img.image-background {
        left: -300px;
    }

    .facts .about {
        position: relative;
        flex-wrap: nowrap;
    }
    
    .facts .fun-stuff {
        align-items: flex-end;
        position: relative;
        margin-bottom: 3em;
        flex-wrap: nowrap;
    }

    .facts .fun-stuff .text {
        width: 60%;
        padding-right: 4em;
    }

    .facts .fun-stuff .image {
        width: 40%;
        padding-left: 3em;
        padding-right: 1em;
    }

    .disc {
        margin-bottom: 7em;
    }

    .disc .wrapper {
        flex-wrap: nowrap;
    }
    
    footer {
        padding: 4em ;
    }

    .project-screen .text {
        max-width: 900px;
        margin: 0 auto;
        padding: 5em;
    }

    .project-screen .grid {
        background-attachment: fixed;
    }

    .columns-2 {
        display: flex;
        flex-direction: row;
        margin-bottom: 5em;
    }

    .columns-2 .column {
        width: 50%;
    }

    #project2 .columns-2 img,
    #project3 .columns-2 img,
    #project4 .columns-2 img,
    #project5 .columns-2 img {
        border: 1px solid #ddd;
    }

    .close-button {
        right: 1em;
        top: 1em;
    }
    
}