@import url("https://use.typekit.net/wfs8gte.css");

/* http://meyerweb.com/eric/tools/css/reset/ 
v2.0 | 20110126
License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* My styles */

* {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

.hide {
    display: none;
}

textarea,
input.text,
input[type="text"],
input[type="button"],
input[type="submit"],
.input-checkbox {
    -webkit-appearance: none;
    border-radius: 0;
}

html, body {
    font-family: sofia-pro,"sofia pro", sans-serif;
    font-size: 10px;
    text-rendering: optimizelegibility;
    -webkit-font-smoothing: antialiased;
    overflow-y: auto;
    overflow-x: hidden;
    scroll-behavior: smooth;
    -ms-scroll-snap-type: none;
        -webkit-scroll-snap-type: none;
            scroll-snap-type: none;
    -webkit-transition: 150ms ease-in-out;
    -o-transition: 150ms ease-in-out;
    transition: 150ms ease-in-out;
    background: #000;
}

@media only screen and (min-width: 801px) {
    html, body {
        -ms-scroll-snap-type: y proximity;
            -webkit-scroll-snap-type: y proximity;
                scroll-snap-type: y proximity;
    }
}

h1 {
    font-size: 5.0em;
    text-align: center;
}

h2 {
    font-size: 4.2em;
}

h3 {
    font-size: 3.6em;
}

h4 {
    font-size: 3.0em;
}

h5 {
    font-size: 2.4em;
}

p {
    font-size: 1.6em;
    font-weight: 300;
    line-height: 1.4;
    letter-spacing: .05em;
}

@media only screen and (max-width: 380px) {
    html, body {
        font-size: 7.75px;
        letter-spacing: 0;
    }
}

@media only screen and (min-width: 381px) and (max-width: 800px) {
    html, body {
        font-size: 8.75px;
        letter-spacing: 0;
    }
}

@media only screen and (min-width: 1921px) {
    html, body {
        font-size: 12px;
    }
}

h1, h2, h3, h4, h5 {
    font-weight: 700;
    margin-bottom: .25em;
    line-height: 1.2;
}

a {
    color: #cdcdcd;
    -webkit-transition: 150ms ease-in-out;
    -o-transition: 150ms ease-in-out;
    transition: 150ms ease-in-out;
}

a:hover, a:active {
    color: #fff
}

div {
    margin: auto;
    color: #fff;
    background-size: cover;
    background-repeat: no-repeat;
}
section {
    max-width: 1055px;
    margin: auto;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

header {
    width: 100%;
    height: 7em;
    background-image: -o-linear-gradient(top, black 0%, rgba(0, 0, 0, 0.738) 19%, rgba(0, 0, 0, 0.541) 34%, rgba(0, 0, 0, 0.382) 47%, rgba(0, 0, 0, 0.278) 56.5%, rgba(0, 0, 0, 0.194) 65%, rgba(0, 0, 0, 0.126) 73%, rgba(0, 0, 0, 0.075) 80.2%, rgba(0, 0, 0, 0.042) 86.1%, rgba(0, 0, 0, 0.021) 91%, rgba(0, 0, 0, 0.008) 95.2%, rgba(0, 0, 0, 0.002) 98.2%, transparent 100%);
    background-image: -webkit-gradient(linear, left top, left bottom, from(black), color-stop(19%, rgba(0, 0, 0, 0.738)), color-stop(34%, rgba(0, 0, 0, 0.541)), color-stop(47%, rgba(0, 0, 0, 0.382)), color-stop(56.5%, rgba(0, 0, 0, 0.278)), color-stop(65%, rgba(0, 0, 0, 0.194)), color-stop(73%, rgba(0, 0, 0, 0.126)), color-stop(80.2%, rgba(0, 0, 0, 0.075)), color-stop(86.1%, rgba(0, 0, 0, 0.042)), color-stop(91%, rgba(0, 0, 0, 0.021)), color-stop(95.2%, rgba(0, 0, 0, 0.008)), color-stop(98.2%, rgba(0, 0, 0, 0.002)), to(transparent));
    background-image: linear-gradient(to bottom, black 0%, rgba(0, 0, 0, 0.738) 19%, rgba(0, 0, 0, 0.541) 34%, rgba(0, 0, 0, 0.382) 47%, rgba(0, 0, 0, 0.278) 56.5%, rgba(0, 0, 0, 0.194) 65%, rgba(0, 0, 0, 0.126) 73%, rgba(0, 0, 0, 0.075) 80.2%, rgba(0, 0, 0, 0.042) 86.1%, rgba(0, 0, 0, 0.021) 91%, rgba(0, 0, 0, 0.008) 95.2%, rgba(0, 0, 0, 0.002) 98.2%, transparent 100%);
    border-bottom: none;
    position: fixed;
    z-index: 1000;
}

@media only screen and (min-width: 801px) {
    header {
        background-image: -o-linear-gradient(left, rgba(0,0,0,.8), rgba(0,0,0,.5));
        background-image: -webkit-gradient(linear, left top, right top, from(rgba(0,0,0,.8)), to(rgba(0,0,0,.5)));
        background-image: linear-gradient(to right, rgba(0,0,0,.8), rgba(0,0,0,.5));
        border-bottom: 1px solid rgba(255,255,255,.5);
    }
}

#navigation {
    height: 7em;
    max-width: 1055px;
    margin: auto;
    background: none;
    display: block;
}

@media only screen and (min-width: 801px) {
    header {
        height: 7.4em;
    }
    #navigation  {
        height: 7.4em;
        display: contents;
    }
}

@media only screen and (min-width: 1055px) {
    header {
        height: 7.8em;
    }
    #navigation {
        margin: 0;
    }
}

@media only screen and (min-width: 1921 px) {
    header {
        height: 9em;
    }
}

#logo {
    margin: 1.4em calc(50vw - 105px);
    height: 35px;
}

@media only screen and (min-width: 801px) {
    #logo {
        margin: 1.4em;
        float: left;
        height: 44px;
    }
}

@media only screen and (min-width: 1055px) {
    #logo {
        height: 50px;
    }
}

@media only screen and (min-width: 1921px) {
    #logo {
        height: 60px;
        padding-top: 4px;
    }
}

.nav-icon {
    display: none;
}

nav {
    padding: 3.2em 1.6em 3.2em;
    float: right;
}

nav ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

nav ul li {
    display: inline;
    margin-left: 27px;
}

nav ul li a {
    position: relative;
    font-size: 1.4em;
    font-weight: 500;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #aaa;
    text-decoration: none;
    -webkit-transition: 150ms ease-in-out;
    -o-transition: 150ms ease-in-out;
    transition: 150ms ease-in-out;
}

nav ul li a:hover, nav ul li a:focus, .active {
    color: #fff;
}

nav ul li a:before {
    content: "";
    position: absolute;
    width: 100%;
    height: .15em;
    bottom: 0;
    left: 0;
    background-color: rgb(42,181,167);
    visibility: hidden;
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
        transform: scaleX(0);
    -webkit-transition: all 0.3s ease-in-out 0s;
    -o-transition: all 0.3s ease-in-out 0s;
    transition: all 0.3s ease-in-out 0s;
}

nav ul li a:hover:before {
    visibility: visible;
    -webkit-transform: scaleX(1);
    -ms-transform: scaleX(1);
        transform: scaleX(1);
}

@media only screen and (min-width: 801px) and (max-width: 1054px) {
    nav {
        padding: 2.9em 1.6em;
    }
}

@media only screen and (min-width: 1921px) {
    nav {
        padding: 3.2em 3.2em;
    }
}

@media only screen and (max-width: 800px) {
    nav {
        background-image: -o-linear-gradient(bottom, black 0%, rgba(0, 0, 0, 0.738) 19%, rgba(0, 0, 0, 0.541) 34%, rgba(0, 0, 0, 0.382) 47%, rgba(0, 0, 0, 0.278) 56.5%, rgba(0, 0, 0, 0.194) 65%, rgba(0, 0, 0, 0.126) 73%, rgba(0, 0, 0, 0.075) 80.2%, rgba(0, 0, 0, 0.042) 86.1%, rgba(0, 0, 0, 0.021) 91%, rgba(0, 0, 0, 0.008) 95.2%, rgba(0, 0, 0, 0.002) 98.2%, transparent 100%);
        background-image: -webkit-gradient(linear, left bottom, left top, from(black), color-stop(19%, rgba(0, 0, 0, 0.738)), color-stop(34%, rgba(0, 0, 0, 0.541)), color-stop(47%, rgba(0, 0, 0, 0.382)), color-stop(56.5%, rgba(0, 0, 0, 0.278)), color-stop(65%, rgba(0, 0, 0, 0.194)), color-stop(73%, rgba(0, 0, 0, 0.126)), color-stop(80.2%, rgba(0, 0, 0, 0.075)), color-stop(86.1%, rgba(0, 0, 0, 0.042)), color-stop(91%, rgba(0, 0, 0, 0.021)), color-stop(95.2%, rgba(0, 0, 0, 0.008)), color-stop(98.2%, rgba(0, 0, 0, 0.002)), to(transparent));
        background-image: linear-gradient(to top, black 0%, rgba(0, 0, 0, 0.738) 19%, rgba(0, 0, 0, 0.541) 34%, rgba(0, 0, 0, 0.382) 47%, rgba(0, 0, 0, 0.278) 56.5%, rgba(0, 0, 0, 0.194) 65%, rgba(0, 0, 0, 0.126) 73%, rgba(0, 0, 0, 0.075) 80.2%, rgba(0, 0, 0, 0.042) 86.1%, rgba(0, 0, 0, 0.021) 91%, rgba(0, 0, 0, 0.008) 95.2%, rgba(0, 0, 0, 0.002) 98.2%, transparent 100%);
        padding: 0;
        float: none;
        position: fixed;
        bottom: 0;
        font-size: .9em;
        height: 7em;
        width: 100vw;
    }
    nav ul {
        display: table;
        height: 4.5em;
        padding-top: .5em;
        width: 100vw;
    }
    nav ul li {
        display: inline-block;
        height: 5em;  
        margin: 0 auto; 
        text-align: center;
        width: 25vw;
    }
    nav ul li a{
        color: #fff;
    }
    nav ul li:first-of-type {
        margin: 0 auto;
        text-align: center;
    }
    .nav-icon {
        display: block;
        font-size: 1.5em;
        padding-bottom: .25em;
    }
}

#login-page {
    display: none;
}

#top {
    position: relative;
    display: table;
    height: 100vh;
    width: 100vw;
    background: -o-linear-gradient(top, rgba(0,0,0,.5), rgba(0,0,0,0)), url("../img/top.jpg");
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,.5)), to(rgba(0,0,0,0))), url("../img/top.jpg");
    background: linear-gradient(to bottom, rgba(0,0,0,.5), rgba(0,0,0,0)), url("../img/top.jpg");
    background-attachment: fixed;
    background-size: cover;
    background-position: center center;
}

#top section {
    display: table-cell;
    vertical-align: middle;
    margin: auto;
}

@media only screen and (min-width: 801px) {
    #top section {
        padding-top: 74px;
    }
}

@media only screen and (min-width: 1055px) {
    #top section {
        padding-top: 78px;
    }
}

@media only screen and (min-width: 1921px) {
    #top section {
        padding-top: 94px;
    }
}

/*padding-top: 78px;*/

#tagline {
    text-transform: uppercase;
    font-size: 1.8em;
    text-align: center;
    line-height: 1.4;
    max-width: 40em;
    font-weight: 500;
    margin: auto;
}

#about {
    display: table;
    height: 100vh;
    width: 100vw;
    background-image: -o-linear-gradient(left, rgba(0,0,0,.6) 0%, rgba(0,0,0,.3) 100%),  -o-linear-gradient(110deg, rgba(42,181,167,.85) 0%, rgba(42,181,167,0) 75%),-o-linear-gradient(left, rgba(0,0,0,0) 50%, rgba(0,0,0,1) 100%), url("../img/portrait.jpg");
    background-image: linear-gradient(to right, rgba(0,0,0,.6) 0%, rgba(0,0,0,.3) 100%),  linear-gradient(-20deg, rgba(42,181,167,.85) 0%, rgba(42,181,167,0) 75%),linear-gradient(to right, rgba(0,0,0,0) 50%, rgba(0,0,0,1) 100%), url("../img/portrait.jpg");
    background-size: cover;
    background-position: center, center, center, center 10%;
}

#about section {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}

@media only screen and (min-width: 801px) {
    #about section {
        padding-top: 74px;
    }
}

@media only screen and (min-width: 1055px) {
    #about section {
        padding-top: 78px;
    }
}

@media only screen and (min-width: 1921px) {
    #about section {
        padding-top: 94px;
    }
}

#about section p, #about section h2 {
    max-width: 815px;
    margin: .25em auto;
    padding: 0 2em;
}

#skills {
    display: table;
    height: 100vh;
    width: 100vw;
    background-image: -o-linear-gradient(70deg, rgba(170,42,181,1), rgba(0,0,0,.85)), url("../img/skills.jpg");
    background-image: linear-gradient(20deg, rgba(170,42,181,1), rgba(0,0,0,.85)), url("../img/skills.jpg");
    background-position: center right;
    background-size: cover;
}

#skills section {
    display: table-cell;
    vertical-align: middle;
}

@media only screen and (min-width: 801px) {
    #skills section {
        padding-top: 74px;
    }
}

@media only screen and (min-width: 1055px) {
    #skills section {
        padding-top: 78px;
    }
}

@media only screen and (min-width: 1921px) {
    #skills section {
        padding-top: 94px;
    }
}

#skills section h2 {
    max-width: 600px;
    margin: .25em auto;
    text-align: center;
}

#skills section p {
    max-width: 310px;
    margin: 0 auto 1em;
    -webkit-column-count: 2;
    -moz-column-count: 2;
            column-count: 2;
    -webkit-column-gap: 0;
    -moz-column-gap: 0;
            column-gap: 0;
    padding: 0 2em 1em;
    text-align: left !important;
    letter-spacing: 0;
}

@media only screen and (min-width: 550px) {
    #skills section p {
        font-family: sofia-pro, "sofia pro", sans-serif;
        max-width: 455px;
        -webkit-column-count: 3;
        -moz-column-count: 3;
                column-count: 3;
    }
}

@media only screen and (min-width: 800px) {
    #skills section p {
        font-family: sofia-pro, "sofia pro", sans-serif;
        max-width: 650px;
        -webkit-column-count: 3;
        -moz-column-count: 3;
                column-count: 3;
    }
}


@media only screen and (min-width: 1921px) {
    #skills section p {
        max-width: 700px;
    }
}

#skills section i {
    font-size: 2.5em; 
    color: #ccc;
    transition: 300ms ease-in-out;
}

#skills section i:hover {
    font-size: 2.5em; 
    color: #fff
}


#download {
    display: block;
    width: 210px;
    margin: auto;
    font-size: 1.4em;
    font-weight: 400;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #fff;
    border: 1px solid #fff;
    padding: .55em 1.5em .65em;
    text-decoration: none;
    -webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
    text-align: center;
}

#download:hover {
    background-color: #fff;
    color: #121212
}

#portfolio {
    display: table;
    min-height: 100vh;
    width: 100vw;
    background: rgb(42,181,167);
    text-align: center;
}

#portfolio section {
    display: inline-table;
    vertical-align: middle;
    padding: 60px 0;
    text-align: center;
    max-width: 400px;
    margin: auto;
    vertical-align: middle;
}

@media only screen and (min-width: 801px) {
    #portfolio section {
        padding: 100px 0 50px;
        max-width: 900px;
    }
}

#portfolio section h2 {
    display: block;
} 

#cluster {
    background-image: url("../img/cluster.jpg");
}

#sightsy {
    background-image: url("../img/sightsy.jpg");
}

#know {
    background-image: url("../img/know.jpg");
}

#one {
    background-image: url("../img/one.jpg");
}

#guest {
    background-image: url("../img/guest.jpg");
}

#tce {
    background-image: url("../img/tce.jpg");
}

#veritas {
    background-image: url("../img/veritas.jpg");
}

#give {
    background-image: url("../img/give.jpg");
}

#portfolio section a {
    display: inline-block;
    width: 300px;
    margin: 1em;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    text-transform: uppercase;
    color: #fff;
}


@media only screen and (max-width: 842px) and (min-width: 431px) {
    #portfolio section a {
        width: 400px;
        display: inline;
    } 
}

@media only screen and (min-width: 843px) {
    #portfolio section a {
        width: 400px;
    } 
}

#portfolio section a p {
    padding-top: .4em;
    font-size: 8px;
    font-weight: 600;
}

@media only screen and (min-width: 401px) {
    #portfolio section a p{
        font-size: 10px;
    }
}

#portfolio section a div {
    width: 100%;
    padding-top: 56.25%;
    background-size: cover;
    background-position: center;
    -webkit-transition: 150ms ease-in-out;
    -o-transition: 150ms ease-in-out;
    transition: 150ms ease-in-out;
    -webkit-box-shadow: 0px 3px 10px rgba(0,0,0,.2);
            box-shadow: 0px 3px 10px rgba(0,0,0,.2);
}

#portfolio section a div:hover {
    -webkit-transform: scale(.985);
        -ms-transform: scale(.985);
            transform: scale(.985);
    -webkit-box-shadow: 0px 1px 5px rgba(0,0,0,.25);
            box-shadow: 0px 1px 5px rgba(0,0,0,.25); 
}

.fancy-dev p {
    margin-top: 1em;
}

.fancybox-content {
    max-width: 900px !important;
}

.fancybox-button svg {
    color: #808080;
}

.showcase {
    text-align: center;
}

.showcase h5 {
    color: #000;
    text-align: center;
}

.showcase p {
    color: #000;
    text-align: left;
}

.screenshot {
    max-width: 100%;
    width: 325px;
    margin-bottom: 2em;
}

@media only screen and (max-width: 425px) {
    .screen-logo {
        height: 70px;
    }
}

.screen-logo {
    margin-bottom: 1em;
}

#sightsy-dev, #cluster-dev {
    padding: 6em 3em 3em;
}

@media only screen and (min-width: 426px) {
    #sightsy-dev, #cluster-dev {
        padding: 4em;
    }
}

#contact {
    display: table;
    min-height: 100vh;
    width: 100vw;
    background-image: -o-linear-gradient(290deg, rgba(170,42,181,1) 0%, rgba(170,42,181,0) 50%), -o-linear-gradient(250deg, rgba(42,181,167,1) 0%, rgba(42,181,167,0) 50%);
    background-image: linear-gradient(160deg, rgba(170,42,181,1) 0%, rgba(170,42,181,0) 50%), linear-gradient(-160deg, rgba(42,181,167,1) 0%, rgba(42,181,167,0) 50%);;
}

#contact section {
    display: table-cell;
    margin: auto;
    vertical-align: middle;
    text-align: center;
    padding: 0 2em 0; 
    width: 800px;
}

@media only screen and (min-width: 801px) {
    #contact section {
        padding-top: 74px;
    }
}

@media only screen and (min-width: 1055px) {
    #contact section {
        padding-top: 78px;
    }
}

@media only screen and (min-width: 1921px) {
    #contact section {
        padding-top: 94px;
    }
}

#contact section div {
    max-width: 800px;
}

#contact section div p{
    margin-bottom: 1em;
}

label, input, textarea{
    display: block;
    margin-bottom: 1em;
}

label {
    font-size: 1.2em;
    letter-spacing: .05em;
    text-transform: uppercase;
    font-weight: 500;
    padding-bottom: .5em;
}

input, textarea {
    font-family: sofia-pro, "sofia pro", sans-serif;
    color: #fff;
    font-size: 1.6em;
    font-weight: 600;
    letter-spacing: .075em;
    width: 100%;
    background-color: rgba(255,255,255,0);
    -webkit-transition: 150ms ease-in-out;
    -o-transition: 150ms ease-in-out;
    transition: 150ms ease-in-out;
    max-width: 400px;
    margin: 0 auto 1em;   
}

input {
    border: none;
    border-bottom: 1px solid rgb(42,181,167);
    height: 2em;
    padding: .2em .3em 0;;
}

textarea {
    height: 11.75em;
    resize: none;
    border: 1px solid rgb(42,181,167);
    padding: .2em .3em;
}

@media only screen and (max-height: 700px) {
    textarea {
        height: 9em;
    }
}

input:focus, textarea:focus {
    background: rgba(63,133,152,.25);
    outline: none !important;
}

::-webkit-input-placeholder {
    color: #aaa
}

::-moz-placeholder {
    color: #aaa
}

:-ms-input-placeholder {
    color: #aaa
}

::-ms-input-placeholder {
    color: #aaa
}

::placeholder {
    color: #aaa
}

#send, #login-send{
    cursor: pointer;
    font-size: 1.4em;
    font-weight: 400;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #fff;
    border: 1px solid rgb(42,181,167);
    background: none;
    padding: .45em 1.5em .5em;
    height: 2.6em;
    width: 100%;
    text-decoration: none;
    -webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

#login-send {
    cursor: not-allowed;
}

@media only screen and (max-width: 500px) {
    #send, #login-send {
        background: rgb(42,181,167);
    }
}

#send:focus, #login-send:focus {
    background-color: rgba(63,133,152,.25);
    outline: none !important;
}

#send:hover, #login-send:hover {
    background-color: rgb(42,181,167);
    color: #000;
}

@media only screen and (max-width: 800px) {
    footer {
        display: none;
    }
}

footer {
    color: #fff;
    position: relative;
    background: none;
    height: 0;
    width: 100%;
    bottom: 9em;
    right: 0;
    text-align: center;
    letter-spacing: .05em;
    font-weight: 500;
    text-transform: uppercase;
    -ms-flex-item-align: start;
        -ms-grid-row-align: start;
        align-self: start;
    z-index: 200;
}

@media only screen and (min-width: 801px) {
    footer {
        bottom: 2em;
    }
}