@font-face { font-family: Mensch; text-transform: uppercase; src: url('webfonts/mensch.ttf'); }
@font-face { font-family: Mensch Thin; text-transform: uppercase; src: url('webfonts/mensch-thin-wf.ttf'); }
@font-face { font-family: Mensch Bold; text-transform: uppercase; src: url('webfonts/mensch-bold-wf.ttf'); }
@font-face { font-family: Mensch Inline; text-transform: uppercase; src: url('webfonts/mensch-inline-wf.ttf'); }
@font-face { font-family: Gotham Book; src: url('webfonts/gotham-book.ttf'); }
@font-face { font-family: Gotham Ultra; src: url('webfonts/gotham-ultra.ttf'); }
@font-face { font-family: Gotham Medium; src: url('webfonts/gotham-medium.ttf'); }
@font-face { font-family: Gotham Light; src: url('webfonts/gotham-light.ttf'); }

html {
    position:relative;
    width:100%;
    height:100%;
    min-height:416px;
    font-size: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}
body {
    position:relative;
    width:100%;
    height:100%;
    min-height:416px;
    margin: 0;
    font-family: Gotham Book, Arial Narrow, sans-serif;
    font-size: 1em; 
    line-height: 1em;
    background-color:#000;
    color:#fff;
}
body.loading {
    background:#666 url('../img/loading.gif') no-repeat center center;
}
a {
    color:#fff;
    text-decoration:none;
}
a:hover, a:active, a:visited {
    color:#fff;
    outline: 0;
}
h1,h2,h3,h4,p {
    margin:0;
    padding:0;
}
h1 span, h2 span, h3 span, h4 span, #navLink span {
    text-indent: -10000px;
    position:absolute;
}
ul { 
    margin: 0; 
    padding: 0; 
    list-style: none; 
    list-style-image: none;
}
img { 
    border: 0; 
    -ms-interpolation-mode: bicubic; 
    vertical-align: middle;
}
select { 
    font-size: 100%; 
    margin: 0; 
    vertical-align: baseline;
}
#topBar {
    position:fixed;
    width:100%;
    height:30px;
    top:0;
    left:0;
    right:0;
    background-image:-webkit-linear-gradient(#000 0, #000 20px, transparent 20px, transparent 100%),
        url('../img/nav_top_small.png');
    background-image:-moz-linear-gradient(top, #000, #000 20px, transparent 20px, transparent 100%),
        url('../img/nav_top_small.png');
    background-image:-ms-linear-gradient(top, #000, #000 20px, transparent 20px, transparent 100%),
        url('../img/nav_top_small.png');
    background-image:linear-gradient(to bottom, #000, #000 20px, transparent 20px, transparent 100%),
        url('../img/nav_top_small.png');
    background-repeat: no-repeat, no-repeat;
    background-position: 0 0, bottom center;
    background-size:100%, 75%;
    z-index:100;
}
#bottomBar {
    position:fixed;
    width:100%;
    height:30px;
    bottom:0;
    left:0;
    right:0;
    background-image:-webkit-linear-gradient(bottom, #000 0, #000 20px, transparent 20px, transparent 100%),
         url('../img/nav_bottom_small.png');
    background-image:-moz-linear-gradient(bottom, #000, #000 20px, transparent 20px, transparent 100%),
        url('../img/nav_bottom_small.png');
    background-image:-ms-linear-gradient(bottom, #000, #000 20px, transparent 20px, transparent 100%),
        url('../img/nav_bottom_small.png');
    background-image:linear-gradient(to top, #000, #000 20px, transparent 20px, transparent 100%),
        url('../img/nav_bottom_small.png');
    background-repeat: no-repeat, no-repeat;
    background-position: 0 0, top center;
    background-size:100%, 75%;
    z-index:100;
}
.loading #topBar, .loading #bottomBar, .loading #navLink, .loading #nav {
    display:none !important;
}
#logo {
    margin:7px auto 0;
    width:100px;
    height:17px;
    background:url('../img/jason_logo.png') no-repeat 0 0;
    background-size:100px 17px;
}
#navLink {
    display:block;
    position:fixed;
    bottom:7px;
    left:50%;
    margin-left:-24px;
    width:48px;
    height:17px;
    background:url('../img/nav_link.png') no-repeat top left;
    background-size:48px 34px;
    z-index:250;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.3);
}
#navLink.enabled {
    cursor:pointer;
}
#navLink.active {
    background-position:bottom left;
}
#nav {
    display:none;
    position:fixed;
    bottom:13px;
    width:110px;
    left:50%;
    margin-left:-59px;
    border:4px solid #c00;
    text-align:center;
    z-index:200;
}
#nav li {
    background:#000;
    font-family: Mensch Thin, Arial Narrow, sans-serif;
    padding:0;
    display:block;
}
#nav a {
    color:#808080;
    font-size:1.1em;
    line-height:1.5em;
    border-bottom:1px solid #c00;
    display:block;
    width:104px;
    margin:0 auto;
    padding-bottom:2px;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.3);
}
#nav li.selected a {
    color:#fff;
}
#nav #disclaimerLink a {
    border-bottom:none;
    padding-bottom:9px;
}
#disclaimerLinkBottom {
    display:none;
}
#overlay {
    width:100%;
    height:100%;
    position:absolute;
    display:none;
    z-index:150;
}
#overlay.grey {
    background:rgba(0,0,0,0.6);
    z-index:300;
}
#overlay.about {
    background:rgba(0,0,0,0.6);
    z-index:0;
}
.section {
    width:100%;
    height:100%;
    min-height:416px;
    position:absolute;
}

/* disclaimer */
#disclaimer {
    z-index:350;
    display:none;
}
#disclaimer #title {
    background:url('../img/home_logo_small.png') no-repeat top center;
    background-size:300px 141px;
    width:300px;
    height:141px;
    position:absolute;
    top:50%;
    margin-top:-151px;
    left:50%;
    margin-left:-150px;
}
#disclaimer p {
    font-size:0.6em;
    line-height:1.3em;
    padding:5px 50px;
    position:absolute;
    text-align:justify;
    top:50%;
}
#disclaimer #enterButton {
    display:block;
    background:#eb3726;
    text-align:center;
    width:60px;
    padding:0.6em 0;
    font-size:1em;
    line-height:1.2em;
    margin:0.5em auto 0;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.3);
}

/* work */
#work.bg {
    overflow:hidden;
    filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
    filter:gray;
    -webkit-filter:grayscale(100%);
}
#work .banner {
    width:100%;
}
#work .banner a {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.3);
}
#work .banner img {
    width: 100vw;
}
#workScroll {
    position:relative;
    padding:20px 0;
}
#work.bg #workScroll {
    position:absolute;
}
#work .tile {
    float:left;
}
#work .tile img {
    width:100%;
    height:100%;
}
#work .tile a {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.3);
    width:100%;
    height:100%;
    display:block;
}
#workFrame {
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    display:none;
    z-index:350;
}
#workFrame #closeButton {
    position:fixed;
    top:50%;
    left:50%;
    width:32px;
    height:29px;
    cursor:pointer;
    background:url('../img/close_button.png') no-repeat;
    background-size:32px 29px;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.3);
}
#workFrame #workImage {
    position:fixed;
    background:url('../img/loading.gif') no-repeat center center;
    border:1px #fff solid;
    top:50%;
    left:50%;
}
#workFrame #workImage.loading {
    border:0;
    width:43px;
    height:11px;
    margin-left:-21px;
    margin-top:-6px;
}
#workFrame #workCaptionWrapper {
    position:absolute;
    bottom:10px;
    width:100%;
    display: flex;
}
#workFrame #workCaptionWrapper #workCaption {
    width:100%;
    padding:0 55px;
    text-align:center;
    font-size:0.8em;
    align-self: flex-end;
}
#workCaption a {
    text-decoration:underline;
}
.landscape #leftArrow, .landscape #rightArrow {
    display:block;
}
#workLeftArrow, #workRightArrow {
    background:url('../img/left_arrow.png') no-repeat;
    background-size:40px 18px;
    width:40px;
    height:18px;
    position:fixed;
    bottom:10px;
    display:none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.3);
    cursor:pointer;
}
#workLeftArrow {
    left: 10px;
}
#workRightArrow {
    background:url('../img/right_arrow.png') no-repeat;
    right: 10px;
}

/* about */
#about {
    background-color: #c00;
    display:none;
}
#aboutBackground {
    background: url('../img/about_bg.png') no-repeat center;
    background-size:auto 100%;
    display:table;
    height:100%;
    width:100%;
}
#aboutWrapper {
    display:table-row;
    height:100%;
    width:100%;
}
#aboutContent {
    display:table-cell;
    vertical-align: middle;
}
#about p {
    font-family:Gotham Light, sans-serif;
    color:#fff;
    font-size: 0.7em;
    line-height: 1.2em;
    padding:0.5em 0;
    vertical-align:top;
    margin:0 45% 0 5%;
}
#about #resume {
    margin-top:5px;
    min-width:215px;
}
#about p span {
    font-family:Gotham Medium, sans-serif;
}
#about p #resumeIcon {
    display:inline-block;
    margin-top:-0.3em;
    width:1.2em;
    height:1.5em;
    background: #c00 url('../img/resume_icon.png') no-repeat 0 0;
    background-size: 1.2em 1.5em;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.3);
    vertical-align:text-top;
}
#about p #resumeIcon span {
    position:absolute;
    text-indent:-10000px;
}

/* =============================================================================
   Media Queries - Landscape
   ========================================================================== */
@media only screen and (orientation: landscape) {
    html, body, .section {
        min-height:100%;
    }
    body {
        overflow-x:scroll;
    }
    #topBar, #bottomBar {
        background-size:100%,50%;
    }
    #disclaimer #title {
        margin-top:-125px;
    }
    #disclaimer p {
        margin-top:20px;
    }
    #aboutBackground {
        background-position:right 25px;
        background-size: auto 125%;
    }
    #about p {
        margin:0 45% 0 5%;
        font-size:0.8em;
    }
}
@media only screen and (min-height: 260px) and (orientation:landscape) {
    #about p {
        margin-right:38%;
        font-size: 0.65em;
    }
}
@media only screen and (min-width: 740px) and (min-height: 260px) and (orientation:landscape) {
    #about p {
        font-size: 0.75em;
        margin-right: 35%;
    }
}
@media only screen and (min-height: 290px) and (orientation:landscape) {
    #about p {
        font-size: 0.8em;
    }
}
@media only screen and (min-width: 640px) and (min-height: 300px) and (orientation:landscape) {
    #topBar, #bottomBar {
        background-size:100%,75%;
    }
    #about p {
        margin-right:41%;
        font-size: 0.85em;
    }
}
@media only screen and (min-width: 800px) and (min-height: 200px) and (orientation:landscape) {
    #about p {
        margin-right:35%;
        font-size: 0.75em;
    }
}
@media only screen and (min-width: 800px) and (min-height: 300px) and (orientation:landscape) {
    #about p {
        margin-right:35%;
        font-size: 0.9em;
    }
}
@media only screen and (min-width: 900px) and (min-height: 400px) and (orientation:landscape) {
    #about p {
        margin-right:40%;
        font-size: 1em;
    }
}
@media only screen and (min-width: 700px) and (min-height: 400px) and (orientation:landscape) {
    #about p {
        margin-right:50%;
        font-size: 0.9em;
    }
}
@media only screen and (min-width: 700px) and (min-height: 500px) and (orientation:landscape) {
    #about p {
        margin-right:57%;
    }
}
@media only screen and (min-width: 1024px) and (orientation:landscape) {
    #topBar {
        background-image:-webkit-linear-gradient(#000 0, #000 20px, transparent 20px, transparent 100%),
            url('../img/nav_top.png');
        background-image:-moz-linear-gradient(top, #000, #000 20px, transparent 20px, transparent 100%),
            url('../img/nav_top.png');
        background-image:-ms-linear-gradient(top, #000, #000 20px, transparent 20px, transparent 100%),
            url('../img/nav_top.png');
        background-image:linear-gradient(to bottom, #000, #000 20px, transparent 20px, transparent 100%),
            url('../img/nav_top.png');
        background-size:100%,992px auto;
    }
    #bottomBar {
        background-image:-webkit-linear-gradient(bottom, #000 0, #000 20px, transparent 20px, transparent 100%),
            url('../img/nav_bottom.png');
        background-image:-moz-linear-gradient(bottom, #000, #000 20px, transparent 20px, transparent 100%),
            url('../img/nav_bottom.png');
        background-image:-ms-linear-gradient(bottom, #000, #000 20px, transparent 20px, transparent 100%),
            url('../img/nav_bottom.png');
        background-image:linear-gradient(to top, #000, #000 20px, transparent 20px, transparent 100%),
            url('../img/nav_bottom.png');
        background-size:100%,992px auto;
    }
    #disclaimer #title {
        background:url('../img/home_logo.png') no-repeat top center;
        background-size: 600px 282px;
        width: 600px;
        height: 282px;
        margin: -250px 0 0 -300px;
    }
    #disclaimer p {
        font-size:0.8em;
        line-height:1.3em;
        padding:0;
        top:50%;
        left:50%;
        margin:50px 0 0 -225px;
        width:450px;
    }
    #disclaimer #enterButton {
        padding:0.3em 1em 0.2em 1em;
    }
}
@media only screen and (min-width: 1024px) and (min-height:668px) and (orientation:landscape) {
    #about {
        width:980px;
        height:85%;
        min-height:400px;
        max-height:860px;
        left:50%;
        margin-top:3%;
        margin-left:-490px;
        background-color:transparent;
        background-image:-webkit-linear-gradient(bottom, #c00 0, #c00 90%, transparent 90%, transparent 100%);
        background-image:-moz-linear-gradient(bottom, #c00, #c00 90%, transparent 90%, transparent 100%);
        background-image:-ms-linear-gradient(bottom, #c00, #c00 90%, transparent 90%, transparent 100%);
        background-image:linear-gradient(to top, #c00, #c00 90%, transparent 90%, transparent 100%);
    }
    #aboutBackground {
        background-position:right bottom;
        background-size:auto 100%;
    }
    #aboutContent {
        padding-top:60px;
    }
    #about p {
        margin-right:43%;
        font-size:1.2em;
    }
}
@media only screen and (min-width: 1200px) and (min-height:475px) and (orientation:landscape) {
    #topBar {
        background-size:100%,1072px auto;
    }
    #bottomBar {
        background-size:100%,1072px auto;
    }
    #logo {
        padding-right:890px;
    }
    #navLink {
        display:none;
    }
    #nav {
        display:block !important;
        position:fixed;
        bottom:auto;
        width:auto;
        margin-left:140px;
        border:0;
    }
    #nav.client {
        margin-left:210px;
    }
    #nav li {
        margin:0;
        padding:0 18px 0 6px;
        float:left;
        background:url('../img/bullet-star.gif') right 8px no-repeat;
    }
    #nav a {
        color:#fff;
        font-size:1.1em;
        line-height:1.5em;
        border-bottom:0;
        display:inline-block;
        width:auto;
        margin:0;
        padding-bottom:0;
    }
    #nav #disclaimerLink {
        display:none;
    }
    #disclaimerLinkBottom {
        position:absolute;
        bottom: 0;
        left:50%;
        width:490px;
        display:block;
    }
    #disclaimerLinkBottom a {
        float:right;
        color:#404040;
        font-family: Mensch Thin, Arial Narrow, sans-serif;
        font-size:1.1em;
        line-height:1.7em;
    }
    #nav #linkedIn a {
        color:#808080;
    }
    #nav #linkedIn span {
        background:url('../img/in_icon.png') no-repeat center center;
        background-size:14px 14px;
        margin-left:2px;
        width:14px;
        font-size:14px;
        display:inline-block;
        color:transparent;
    }
    #nav #linkedIn, #nav li:last-child {
        background:none;
        padding-right:0px;
    }
    #workFrame #workCaptionWrapper {
        width:50%;
        left:25%;
        bottom:40px;
    }
    #workCaption span {
        background-color:black;
        padding:5px;
    }
    #workLeftArrow {
        left:25%;
        bottom:40px;
    }
    #workRightArrow {
        right:25%;
        bottom:40px;
    }
    #about p {
        font-size: 1.3em;
    }
}
@media only screen and (min-width: 1200px) and (min-height:700px) and (orientation:landscape) {
    #about p {
        margin-right:50%;
    }
}
@media only screen and (min-width: 1200px) and (min-height:900px) and (orientation:landscape) {
    #about p {
        margin-right:53%;
    }
}

/* =============================================================================
   Media Queries - Portrait
   ========================================================================== */
@media only screen and (orientation:portrait) {
    #about {
        height: 60%;
        top:16%;
        background-color:transparent;
        background-image:-webkit-linear-gradient(bottom, #c00 0, #c00 90%, transparent 90%, transparent 100%);
        background-image:-moz-linear-gradient(bottom, #c00, #c00 90%, transparent 90%, transparent 100%);
        background-image:-ms-linear-gradient(bottom, #c00, #c00 90%, transparent 90%, transparent 100%);
        background-image:linear-gradient(to top, #c00, #c00 90%, transparent 90%, transparent 100%);
    }
    #about p {
        font-size: .65em;
        margin-right: 50%;
    }
}
@media only screen and (min-height:796px) and (orientation:portrait) {
    #about p {
        font-size:.7em;
    }
}
@media only screen and (min-width:344px) and (min-height:780px) and (orientation:portrait) {
    #about p {
        font-size:0.65em;
        margin-right:53%;
    }
}
@media only screen and (min-width:410px) and (min-height:780px) and (orientation:portrait) {
    #about p {
        font-size:0.7em;
        margin-right:50%;
    }
}
@media only screen and (min-width:410px) and (min-height:830px) and (orientation:portrait) {
    #about p {
        margin-right:53%;
    }
}
@media only screen and (min-width:540px) and (min-height:620px) and (orientation:portrait) {
    #aboutBackground {
        background-position:right bottom;
    }
    #aboutContent {
        padding-top: 5%;
    }
    #about p {
        font-size:0.8em;
    }
}
@media only screen and (min-width:724px) and (orientation:portrait) {
    #about p {
        font-size:1.1em;
    }
}
@media only screen and (min-width:820px) and (orientation:portrait) {
    #about p {
        font-size:1.2em;
    }
}
@media only screen and (min-width:912px) and (orientation:portrait) {
    #about p {
        font-size:1.4em;
    }
}
@media only screen and (min-width:912px) and (min-height:1300px) and (orientation:portrait) {
    #about p {
        margin-right:55%;
    }
}