/*
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
*/
/* 
    Created on : 14-Jun-2017, 15:04:49
    Author     : Laurent.D'Unienville
*/

html{overflow-x:hidden;}
html, body {
    padding:0;
    margin:0;
    color: #222;
    font-size: 1em;
    line-height: 1.4;
    width:100%;
    height:100% !important;
    /*overflow-x:hidden;*/
    display: block;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

@font-face {
	font-family: 'Aller';
	src: url('../fonts/Aller_Lt.ttf');
	font-weight: 100;
	font-style: normal;
}
/*@font-face {
         font-family: 'Aller';
         src: url('Chunkfive-webfont.eot');
         src: url('Chunkfive-webfont.eot?#iefix') format('embedded-opentype'),
         url('Chunkfive-webfont.woff') format('woff'),
         url('Chunkfive-webfont.ttf') format('truetype'),
         url('Chunkfive-webfont.svg#ChunkFiveRegular') format('svg');
         font-weight: normal;
         font-style: normal;
}*/
@font-face {
         font-family: 'Avenir';
         src: url('../fonts/Avenir-Book-01.ttf');
         src: url('../fonts/Avenir-Book-01.ttf') format('truetype');
         font-weight: normal;
         font-style: normal;
}

header{
    margin:0 auto;
    width:100%;
    position: fixed;
    top:0;
    z-index: 100;
}
header > div {
    padding:60px;
}
header > div > div{
    display:inline-block;    
    width:49%;
    vertical-align: middle;
}
header > div > div > a > img{   
    max-width:150px;
    -webkit-filter: invert(100%);
    filter: invert(100%);
    filter:progid:DXImageTransform.Microsoft.BasicImage(invert='1');
}

header > div > div > nav{
    float:right;
}

.logo{text-decoration:none;color:#082751;letter-spacing:1.2px;font-family:'Aller';font-size:18px;font-weight:100;}

nav a{
    padding:10px 20px;
    text-decoration: none;
    color:#999;
    -webkit-filter: invert(100%);
    filter: invert(100%);
    filter:progid:DXImageTransform.Microsoft.BasicImage(invert='1');
}
nav a:hover{
    color:#ccc;
}
.home, .about{ 
    background-size:cover;
    background-position: center center;
    position: fixed;
    z-index: 0;
}
#particles-js canvas{
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
    cursor:url(../images/jellycursor.png), auto;
}
.darkbg{
    background-color:#000;
    opacity:.75;
    position: fixed;
    z-index: -1;
    min-width:100%;
    min-height:100%;
    width:auto;
    height: auto;
}
.parallax-window {
    min-height: 100vh;
    background:#51f8ff;
    position: relative;
}
.home .title, .about .title{
    vertical-align:middle;
    font-family:'Aller';
    font-weight: 100;
    font-size:70px;
    line-height: 95px;
    height:95px;
    letter-spacing: 1.5px;
    color:#FF911C;
    text-align: left;
    position: absolute;
    bottom:30%;
    left:8%;
}
.about .title{
    text-align:left;
    width:80%;
}
.title p{
    margin:0;
    letter-spacing:4px;
}
.home .title .sub{
    font-size:38px;
    text-align:left;
}
.about .title h2{
    font-size:48px;
    margin:10px 0;
}
.about .title p{
    font-size:24px;
    line-height:40px;
    letter-spacing:2px;
}


/* SCROLL PROMPT */
.icon-scroll,
.icon-scroll:before{
  position: absolute;
  left: 50%;
}

.icon-scroll{
  width: 25px;
  height: 40px;
  margin-left: -20px;
  bottom:3%;
  margin-top: -25px;
  box-shadow: inset 0 0 0 1px #000;
  border-radius: 25px;
}

.icon-scroll:before{
  content: '';
  width: 4px;
  height: 4px;
  background: #000;
  margin-left: -2px;
  top: 10px;
  border-radius: 4px;
  animation-duration: 1.5s;
  animation-iteration-count: infinite;
  animation-name: scroll;
}

@keyframes scroll{
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(20px);
  }
}

.mouse{
    margin: 0 auto;
    width:auto;
    position: absolute;
    bottom:3%;
    left:50%;
    transform: translateX(-50%) translateY(-3%);
    z-index:10;
}.mouse-icon{
    width: 25px;
    height: 45px;
    border: 2px solid white;
    border-radius: 15px;
    cursor: pointer;
    position: relative;
    text-align: center;
    margin: 0 auto;
}.mouse-wheel{
    content:url(../images/scroll-arrow.png);
    height: 6px;
    margin: 2px auto 0;
    display: block;
    width: 3px;
    background-color: white;
    border-radius: 50%;
    -webkit-animation: 1.6s ease infinite wheel-up-down;
    -moz-animation: 1.6s ease infinite wheel-up-down;
    animation: 1.6s ease infinite wheel-up-down;
}
@-webkit-keyframes wheel-up-down {
    0% {
        margin-top: 2px;
        opacity: 0;
    }
    30% {
        opacity: 1;
    }
    100% {
        margin-top: 20px;
        opacity: 0;
    }
}@-moz-keyframes wheel-up-down {
    0% {
        margin-top: 2px;
        opacity: 0;
    }
    30% {
        opacity: 1;
    }
    100% {
        margin-top: 20px;
        opacity: 0;
    }
}@keyframes wheel-up-down {
    0% {
        margin-top: 2px;
        opacity: 0;
    }
    30% {
        opacity: 1;
    }
    100% {
        margin-top: 20px;
        opacity: 0;
    }
}
.home .fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;}
.fa-angle-down:before{
    content:url(../images/scroll-arrow.png);
    color:#fff; 
    display: inline-block;
}
.home i.fa {font-size: 4em;}
.bounce {
    -webkit-animation-name: bounce;
    animation-name: bounce;
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    animation-iteration-count: infinite;
    -webkit-animation-iteration-count: infinite;
}
.animated {
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}
@-webkit-keyframes bounce {
    0%, 20%, 50%, 80%, 100% {-webkit-transform: translateY(0);}
    40% {-webkit-transform: translateY(-20px);}
    60% {-webkit-transform: translateY(-10px);}
} 
@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
    40% {transform: translateY(-20px);}
    60% {transform: translateY(-10px);}
}



.nav
{
    width:auto;
    display: block;
    position: absolute;
    top: 65px;
    right: 65px;

    z-index: 1;

    -webkit-user-select: none;
    user-select: none;
}

.nav input
{
    display: block;
    width: 40px;
    height: 32px;
    position: absolute;
    top: -7px;
    left: -5px;

    cursor: pointer;

    opacity: 0; /* hide this */
    z-index: 2; /* and place it over the hamburger */

    -webkit-touch-callout: none;
}

/*
 * Just a quick hamburger
 */
.nav span
{
    display: block;
    width: 28px;
    height: 2px;
    margin-bottom: 5px;
    position: relative;

    background: #000;
    border-radius: 3px;

    z-index: 1;

    transform-origin: 4px 0px;

    transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
        background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
        opacity 0.55s ease;
}

.nav span:first-child
{
    transform-origin: 0% 0%;
}

.nav span:nth-last-child(2)
{
    transform-origin: 0% 100%;
}

/* 
 * Transform all the slices of hamburger
 * into a crossmark.
 */
.nav input:checked ~ span
{
    opacity: 1;
    transform: rotate(45deg) translate(-3px, -1px);
    background: #ccc;
}

/*
 * But let's hide the middle one.
 */
.nav input:checked ~ span:nth-last-child(3)
{
    opacity: 0;
    transform: rotate(0deg) scale(0.2, 0.2);
}

/*
 * Ohyeah and the last one should go the other direction
 */
.nav input:checked ~ span:nth-last-child(2)
{
    opacity: 1;
    transform: rotate(-45deg) translate(0, -1px);
}
#menu
    {
        display:none;
        position: fixed;
        top:0;
        left:0;
        width: 100%;
        height:100%;
        margin: 0 auto;
        padding:200px 0px 50px 0px;

        background: #333;
        list-style-type: none;
        -webkit-font-smoothing: antialiased;
        
        text-align:right;
    }

    #menu li
    {
        padding: 5px 100px;
        font-size: 32px;
        color:#fff;
    }


.project-ani{
    animation: projectHero 2s;
}    
@keyframes projectHero {
    0%{
        
    }
    100%{
        background-size:auto;
        background-position:77% 0;
        width:50%;
        height:100vh;
        margin:0;
        position:absolute;
        left:-6%;
        display:inline-block;
    }
}

.ajax-load{margin:20% auto;display:block;}
    
#projects, #project{
    width: 100%;
    height: 100%;
}

.content, .contents, .project-content{
    width:100%;
    height:auto;
    position: relative;
    z-index:1;
    background: transparent;
    padding: 160px 0;
}
.content h2, .content p, .content .inner-content-image{
    cursor:pointer;
}
.content.focused{
    padding:0;
    background:#f5f5f7;
}
.content.focused .hero{width:50%;height:100vh;margin:0;position:relative;background:#FFF;display:inline-block;padding:0;}
/*.vertical-center{position:relative;}*/
.content.focused .hero::before{content: " ";display: inline-block;height: 100%;width: 1%;vertical-align: middle;}
.vertical-center{display:inline-block;vertical-align:middle;margin:0 50px;}
.inner-content{
    width:90%;
    position: relative;
    height:auto;
    margin: 0 auto;
    padding:0 0 70px 0;
}
.inner-content .large-image{position:relative;width:65%;height:400px;left:13%;}
.inner-content .small-image{position:absolute;top:65%;right:13%;width:25%;}
.inner-content-title{position:absolute;margin:30px 300px;z-index:1;}
.inner-content-title .project-title{margin:0;font-family:'Avenir';font-size:24px;letter-spacing:1.2px;}
.inner-content-textbg{position:absolute;width:180px;height:2px;margin:65px 280px;background-color:#84b3ff;z-index:0;}
.inner-content-left{
    float: left;
    width:20%;
    height:auto;
}
.inner-content-right{
    float: right;
    width:80%;
    height:auto;
}

.outer-content{width:100%;}
.outer-content.whitebg{width:100%;margin:0 auto;background:#fff;}
.inner-content-image, .inner-content-image img{
    max-width: 100%;
}
.inner-content-image.half-width{
    max-width:45%;
    display:inline-block;
}
.inner-content .spacer{
    width:10%;
    display:inline-block;
}
.project-text h2{margin:0;}
.inner-content .project-text.intro{
    padding-top:270px;
}
.inner-content.top-imagery{margin-bottom:-270px;}
.inner-content-right .spacer{width:5%;}
.inner-content.proj-desc{padding: 120px 0;}
.inner-content .project-desc{width:33.3%;display:inline-block;vertical-align:top;}
.inner-content .project-desc h3, .inner-content .project-desc p{margin:0;max-width:60%;}
.project-desc h3{font-size:16px;}.project-desc p{font-size:14px;color:#666;}
.content h1, .content h2, .content h3, .content p, .contents h1, .contents h2, .contents h3, .contents p{
    line-height: 26px;
    letter-spacing: 1px;
}
.content h2,.content h3,.contents h2,.contents h3{
    margin-bottom: 0;
}
.cotent h3{
    color:#7a7a7a;
}
.tags{
    font-size: 12px;
    color:#bcbcbc;
    margin: 0;
}
.tags a{
    color:#ccc;
}

.back-project{
    font-family:'Aller';
    font-size:24px;
    font-weight:bold;
    text-transform:uppercase;
    color:#082751;
    padding:0 5%;
}

footer{
    width:auto;
    height:200px;
    position:relative;
    background:#082751;
    padding:3% 5%;
    margin-top:120px;
}

footer .column{
    width:25%;
    height:100%;
    display:inline-block;
    vertical-align:top;
    color:#eee;
    font-family:'Avenir';
}
footer .column img{width:150px;color:#fff;}
footer .column p, footer .column a{margin:10px 0;}
footer .column a{display:block;color:#eee;}

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden {
    display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */


@media only screen and (min-width:1800px) {
    
    .inner-content{width:70%;}
    .inner-content.hero{background-size:270% !important;}
    
}

@media only screen and (min-width:1268px) and (max-width:1500px) {
    .inner-content{width:85%;}
    .inner-content-left{width:15%;}
}

@media only screen and (min-width:0px) and (max-width:400px) {
    header > div{padding:20px 25px;}
    .nav{top:35px;right:30px;}
    .home{max-width:100%;}
    .home .title{width:55%;font-size:28px;line-height:40px;height:40px;}
    .about .title{top:15%;}
    .title p{letter-spacing:0.9px;}
    #menu li{padding:5px 60px;}
    
    .custom-wrapper{overflow-x:hidden;}
    
    .home .title, .about .title{
        font-size:36px;
        line-height:45px;
        height:45px;
        width:80%;
        bottom:35%;
        letter-spacing:0.75px;
    }
    
    .about{overflow:scroll;background:#51f8ff;}
    .about .title h2{font-size:40px;}
    .about .title p{font-size:20px;line-height:34px;letter-spacing:1.2px;margin-bottom:30px;}
    
    .sub-heading{font-size:28px !important;}
    
    .icon-scroll{
        display:none;
    }
    
    .inner-content-image.large-image{background-position:80% 75% !important;background-size:900px !important;}
    
    .content{
        padding:55px 0;
    }
    .inner-content{width:90%;padding:0 0 40px 0;}
    .inner-content.hero{background-position:75% 70% !important;background-size:1100px !important;}
    .inner-content.hero .vertical-center{margin:60px 50px;}
    .inner-content .large-image{width:80%;height:200px;}
    .inner-content .large-image{width:75%;left:5%;}
    .inner-content .small-image{width:40%;right:5%;}
    .inner-content-title{margin:30px 20px;}
    .inner-content-textbg{width:120px;margin:60px 20px;}
    
    .content.focused .hero{
        width:100%;
        height:275px;
        display:block;
    }
    .content.focused .hero::before{content:none;}
    .inner-content.proj-desc{padding:40px 0;}
    .inner-content .project-desc{width:95%;padding:10px 0;}
    
    .outer-content.whitebg{width:100%;}
    .inner-content-image.half-width{max-width:100%;}
    
    footer{height:auto;padding:10%;}
    footer .column{width:100%;height:auto;padding:10px 0;}
    
}

@media only screen and (min-width: 35em) {
    /* Style adjustments for viewports that meet the condition */
}

@media print,
(-webkit-min-device-pixel-ratio: 1.25),
(min-resolution: 1.25dppx),
(min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   http://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
    *,
    *:before,
    *:after,
    *:first-letter,
    *:first-line {
        background: transparent !important;
        color: #000 !important; /* Black prints faster:
                                   http://www.sanbeiji.com/archives/953 */
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    /*
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
     */

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}


/* Required */
img.colorify:not(.visible) {
    opacity: 0;
    filter: blur(3px);
}

img.colorify:not(.all-loaded).all-not-loaded {
    image-rendering: -moz-crisp-edges;
    image-rendering: -o-crisp-edges;
    image-rendering: -webkit-optimize-contrast;
    -ms-interpolation-mode: nearest-neighbor;
    image-rendering: pixelated;
}

.no-highlight{
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.no-padding{padding:0 !important;}