html,
body,
.app {
    height: 100%
}

body.disabled {
    overflow: hidden
}


/*article page modifications */

body:not(.body-front-page) #header-content {
    transform: scale(.8) translate(0, 0);
    -webkit-transition: all 3000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    -moz-transition: all 3000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    -o-transition: all 3000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: all 3000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transform-origin: 0 0;
    -webkit-transform-origin: 0 0;
}

body:not(.body-front-page) #meta-wrap {
    opacity: 0;
    transition: all 1s cubic-bezier(0.190, 1.000, 0.220, 1.000);
    -webkit-transition: all 1s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

body:not(.body-front-page) #stripes {
    transform: translate(0, 0) scaleY(.5);
    transform-origin: 50% 0%;
    -webkit-transform-origin: 50% 0%;
    -webkit-transition: all 2000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    -moz-transition: all 2000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    -o-transition: all 2000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: all 2000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    /* easeOutExpo */
}

body:not(.body-front-page) .container-wrap {
    /*display: none;*/
    min-height: 100%;
    background: #f8f8f8;
    position: absolute;
    width: 100%;
    z-index: 111;
    top: 0;
    transform: translate(0, 118px);
    -webkit-transition: all 2000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    -moz-transition: all 2000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    -o-transition: all 2000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: all 2000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    /* easeOutExpo */
}

body:not(.body-front-page) #title {
    margin: 3em 0 14px 25px;
}

body:not(.body-front-page) .container.first {
    margin-top: -60px
}

body:not(.body-front-page).expand #header-content {
    transform: translate(0, 2.5em) scaleY(1);
}

body:not(.body-front-page).expand #meta-wrap {
    opacity: 1;
    transition-delay: .5s;
    -webkit-transition-delay: .5s;
}

body:not(.body-front-page).expand #stripes {
    transform: translate(0, 0) scaleY(1);
    transform-origin: 50% 0;
    -webkit-transform-origin: 50% 0;
}

body:not(.body-front-page).expand .container-wrap {
    top: calc(100% - 150px)
}


/* all */

#stripes {
    height: 750px;
    overflow: hidden;
    transform-origin: top center;
    -webkit-transform-origin: top center;
    transition: all 2s;
    -webkit-transition: all 2s;
}

#stripes-inner {
    height: 100%;
    transform-origin: top center;
    -webkit-transform-origin: top center;
    transition: all 2s;
    -webkit-transition: all 2s;
}

.stripe {
    margin-bottom: -.5px;
    transition: background-color 2s cubic-bezier(0.190, 1.000, 0.220, 1.000);
    -webkit-transition: background-color 2s cubic-bezier(0.190, 1.000, 0.220, 1.000);
    /* easeOutExpo */
    transition-delay: .5s;
    -webkit-transition-delay: .5s;
}

.container {
    margin: 0 10px 0;
}

.container.first {
    margin-top: -115px;
}

.port-item {
    text-align: center;
    font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    margin: 0 0 40px;
}

.port-link {
    opacity: 0;
    transform: translate(0, 15px);
    margin: 0 0 15px;
    box-sizing: border-box;
    overflow: hidden;
    background-color: #ff0000;
    position: relative;
    display: block;
    height: 200px;
    border-bottom: 12px solid;
    text-decoration: none;
    font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    box-shadow: 0 1px 6px -1px rgba(0, 0, 0, .6);
}

.port-link.featured {
    height: 300px;
}

.port-link:hover .port-thumb {
    opacity: 1;
}

.port-link:hover .title,
.port-link:hover .company {
    text-shadow: 0 0 2px rgba(0, 0, 0, 1)
}

.port-thumb {
    opacity: .6;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    -webkit-transition: all .75s;
    -o-transition: all .75s;
    transition: all .75s;
}

.port-item .title,
.port-item .company {
    margin: 0;
    line-height: 1.1em;
    text-shadow: 0 0 2px rgba(0, 0, 0, .5);
    padding: 0 10px;
}

.port-item .company {
    font-size: 1.05em;
    margin: 4px 0 35px;
    text-rendering: geometricPrecision;
    opacity: .99;
    font-weight: 500;
}

.port-item .descrip {
    font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 300;
    font-size: 14px;
}

.port-header {
    text-align: center;
    font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    letter-spacing: 0.1em;
    font-size: 1.2em;
    text-align: center;
    margin: 0 0 35px;
    text-transform: uppercase;
    text-rendering: geometricPrecision;
    opacity: .99;
    font-weight: 300;
    color: #333;
}

.port-header.light {
    color: rgb(255, 255, 255);
}

.port-item-content {
    position: relative;
    z-index: 11;
    color: #fff;
}

.port-divider {
    display: none;
    border: 0;
    border-top: 1px solid rgba(0, 0, 0, .1);
    width: 100%;
    margin: 0 auto 30px;
}

.port-divider.first {
    display: block
}

#header {
    font-family: 'Abel', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

#header-content {
    position: absolute;
    z-index: 2;
    top: 0;
    width: 100%;
    text-rendering: geometricPrecision;
    opacity: .99;
}

#header-content a {
    color: rgba(58, 209, 207, .8);
    text-decoration: none
}

hr.fade-white {
    border: 0;
    height: 2px;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&0+0,0.15+3,0.15+30,0.15+30,0+100 */
    background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.15) 10%, rgba(255, 255, 255, 0.15) 30%, rgba(255, 255, 255, 0) 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.15) 10%, rgba(255, 255, 255, 0.15) 30%, rgba(255, 255, 255, 0) 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.15) 10%, rgba(255, 255, 255, 0.15) 30%, rgba(255, 255, 255, 0) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#00ffffff', GradientType=1);
    /* IE6-9 */
    margin: 24px 0 24px -18px;
}

#title {
    white-space: nowrap;
    color: #fff;
    text-transform: uppercase;
    margin: 3em 0 14px 25px;
}

#title h1 {
    font-size: 2.2em;
    line-height: .85em;
    font-weight: normal;
    margin: 0 0 18px -2px;
    vertical-align: top;
    text-rendering: optimizeLegibility;
    letter-spacing: 0.05em;
    text-shadow: 0 0 15px rgba(0, 0, 0, .2);
    color: rgb(255, 255, 255);
    -o-transform-origin: right center;
    -moz-transform-origin: right center;
    -ie-transform-origin: right center;
    -webkit-transform-origin: right center;
    transform-origin: right center;
}

#title #nav {
    letter-spacing: 0.05em;
    display: inline-block;
    vertical-align: top;
    text-rendering: optimizeLegibility;
    -o-transform-origin: left center;
    -moz-transform-origin: left center;
    -ie-transform-origin: left center;
    -webkit-transform-origin: left center;
    transform-origin: left center;
}

#title #nav ul {
    margin: 0;
    padding: 0;
}

#title #nav li {
    display: inline-block;
    list-style: none;
}

#title #nav li a {
    margin: 0 0 0 .5em;
    opacity: .5;
    font-size: 1.2em;
    color: #fff;
    text-decoration: none;
}

#title #nav li:first-child a {
    margin: 0;
}

#title #nav li a.active {
    opacity: 1;
    border-bottom-width: 4px;
    border-bottom-style: solid;
    border-bottom-color: rgba(87, 166, 183, 0.658824);
}

#title #nav .active {
    border-bottom: 3px solid #3ad1cf;
}

#title .sep {
    display: none
}

#meta-wrap {
    margin: 0 25px 0;
    -o-transform-origin: center top;
    -moz-transform-origin: center top;
    -ie-transform-origin: center top;
    -webkit-transform-origin: center top;
    transform-origin: center top;
}

#meta {
    color: rgba(255, 255, 255, .66);
    letter-spacing: -0.05em
}

#meta h2 {
    font-size: 1.2em;
    margin-top: 0px;
}

#meta h3 {
    font-size: 1em;
}


/* contact links */

#contact-links {
    margin: 25px 0 0;
    position: relative;
}

#contact-links ul {
    margin: 0;
    padding: 0;
    display: inline-block;
    position: relative;
    z-index: 10;
}

#contact-links li {
    vertical-align: top;
    list-style: none;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 7px;
}

#contact-links a {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.95em;
}

#contact-links li:first-child {
    margin-left: 0;
}

#contact-links li.contact-link:hover {
    -webkit-transform: rotateX( 0deg);
    -moz-transform: rotateX( 0deg);
    -o-transform: rotateX( 0deg);
    transform: rotateX( 0deg);
}

#contact-links hr {
    display: inline-block;
    margin: 0;
}

#contact-links li.divider {
    vertical-align: middle;
    display: inline-block;
    width: 2px;
    height: 100px;
    background: #ccc;
    margin: -23px 15px 0;
    background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0.1) 60%, rgba(0, 0, 0, 0) 100%);
    /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(0, 0, 0, 0)), color-stop(40%, rgba(0, 0, 0, 0.1)), color-stop(60%, rgba(0, 0, 0, 0.1)), color-stop(100%, rgba(0, 0, 0, 0)));
    /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0.1) 60%, rgba(0, 0, 0, 0) 100%);
    /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0.1) 60%, rgba(0, 0, 0, 0) 100%);
    /* Opera 11.10+ */
    background: -ms-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0.1) 60%, rgba(0, 0, 0, 0) 100%);
    /* IE10+ */
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0.1) 60%, rgba(0, 0, 0, 0) 100%);
    /* W3C */
    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#00000000', GradientType=0);
    /* IE6-9 */
}

.contact-link .icon {
    width: 25px;
    height: 25px;
    opacity: .25;
    display: inline-block;
    margin-right: 5px;
    vertical-align: middle;
    transform: scale(.85);
    -webkit-transform: scale(.85);
    -moz-transform: scale(.85);
}

.icon {
    background-image: url(../img/btj-sprite.png);
    background-repeat: no-repeat;
    background-size: 100px 25px;
}

.contact-link.twitter .icon {
    background-position: 0 2px;
}

.contact-link.email .icon {
    background-position: -25px 4px;
    margin-right: 8px;
    margin-left: -2px;
}

.contact-link.github .icon {
    background-position: -50px 2px;
}

.comment-link {
    text-align: center;
}

.comment-link a {
    font-size: .7em;
    color: #4d4d4d;
    font-weight: 300;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-decoration: none
}

.comment-link a .num {
    font-weight: 900;
    color: #333;
    font-size: 1.1em
}

.comment-link a:before {
    background-image: url(../img/btj-sprite.png);
    background-repeat: no-repeat;
    background-position: -150px 0;
    background-size: 200px 50px;
    content: "";
    display: inline-block;
    width: 29px;
    height: 17px;
    vertical-align: middle;
}

.comment-link hr {
    width: 50%;
    margin: 8px auto;
    opacity: .15;
}

#comments {
    margin: 100px 0;
}

#comments .comment-link {
    margin-bottom: 20px;
}

@media (min-height: 750px) {
    #stripes {
        height: calc(100% - 50px)
    }
}

@media (min-width: 700px) {
    .pure-g.gutters {
        margin: 0 -20px;
    }
    .pure-g.gutters > [class *=pure-u] {
        box-sizing: border-box;
        padding: 0em 20px;
    }
    body:not(.body-front-page) #header-content {
        transform: scale(.65) translate(0, 0);
    }
    body:not(.body-front-page) #header-content {
        transform-origin: 50% 0;
        -webkit-transform-origin: 50% 0;
    }
    body:not(.body-front-page) .container-wrap {
        transform: translate(0, 80px);
    }
    .container {
        width: 90%;
        margin-right: auto;
        margin-left: auto;
    }
    /* header items*/
    #header-content {
        text-align: center;
    }
    #title {
        margin: 5.5em 0 14px;
    }
    #title h1 {
        margin: 0;
        font-size: 2.6em;
        display: inline-block;
    }
    #title #nav .active {
        border-bottom: 6px solid #3ad1cf;
    }
    #title #nav li a {
        margin: 0 0 0 1em;
        font-size: 1.4em;
    }
    #meta-wrap {
        margin: 0;
    }
    #meta {
        letter-spacing: 0;
        margin: 0 auto 45px;
    }
    #meta h2 {
        font-weight: normal;
        letter-spacing: -0.03em;
        font-size: 2em;
        margin: 40px auto 20px;
        width: 530px;
    }
    #meta h3 {
        font-weight: normal;
        font-size: 1.4em;
        margin-bottom: 0;
    }
    #contact-links li {
        display: inline-block;
        margin-left: 35px;
        margin-bottom: 0;
    }
    .stripe {
        margin-bottom: 0;
    }
    .contact-link .icon {
        opacity: .15;
        margin-right: 7px;
        transform: scale(1);
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
    }
    .contact-link.email .icon {
        margin-left: 0;
        margin-right: 11px;
    }
    #title .sep {
        font-size: 6.0em;
        margin: -0.38em 0.4em 0px;
        display: inline-block;
        width: 3px;
        overflow: hidden;
        -moz-transform: rotate(30deg);
        -o-transform: rotate(30deg);
        -webkit-transform: rotate(30deg);
        -ms-transform: rotate(30deg);
        transform: rotate(30deg);
        background: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.15) 40%, rgba(255, 255, 255, 0.15) 60%, rgba(255, 255, 255, 0) 100%);
        /* FF3.6+ */
        background: -webkit-gradient(linear, top left, bottom left, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(40%, rgba(255, 255, 255, 0.15)), color-stop(60%, rgba(255, 255, 255, 0.15)), color-stop(100%, rgba(255, 255, 255, 0)));
        /* Chrome,Safari4+ */
        background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.15) 40%, rgba(255, 255, 255, 0.15) 60%, rgba(255, 255, 255, 0) 100%);
        /* Chrome10+,Safari5.1+ */
        background: -o-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.15) 40%, rgba(255, 255, 255, 0.15) 60%, rgba(255, 255, 255, 0) 100%);
        /* Opera 11.10+ */
        background: -ms-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.15) 40%, rgba(255, 255, 255, 0.15) 60%, rgba(255, 255, 255, 0) 100%);
        /* IE10+ */
        background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.15) 40%, rgba(255, 255, 255, 0.15) 60%, rgba(255, 255, 255, 0) 100%);
        /* W3C */
        filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#ffffffff', endColorstr='#ffffffff', GradientType=0);
        /* IE6-9 */
    }
    hr.fade-white {
        margin: 0 20%;
        background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.1) 20%, rgba(255, 255, 255, 0.1) 80%, rgba(255, 255, 255, 0) 100%);
        /* FF3.6+ */
        background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(20%, rgba(255, 255, 255, 0.1)), color-stop(80%, rgba(255, 255, 255, 0.1)), color-stop(100%, rgba(255, 255, 255, 0)));
        /* Chrome,Safari4+ */
        background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.1) 20%, rgba(255, 255, 255, 0.1) 80%, rgba(255, 255, 255, 0) 100%);
        /* Chrome10+,Safari5.1+ */
        background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.1) 20%, rgba(255, 255, 255, 0.1) 80%, rgba(255, 255, 255, 0) 100%);
        /* Opera 11.10+ */
        background: -ms-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.1) 20%, rgba(255, 255, 255, 0.1) 80%, rgba(255, 255, 255, 0) 100%);
        /* IE10+ */
        background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.1) 20%, rgba(255, 255, 255, 0.1) 80%, rgba(255, 255, 255, 0) 100%);
        /* W3C */
        filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#ffffffff', endColorstr='#ffffffff', GradientType=1);
        /* IE6-9 */
    }
    .port-item .tools {
        display: block;
    }
    .port-divider {
        display: block;
    }
    .port-divider.first {
        width: auto;
    }
    .port-link.featured {
        height: 450px;
    }
}

@media (min-width: 800px) {
    .container {
        width: 85%;
    }
}

@media (min-width: 1050px) {
    .container {
        width: 1000px;
    }
    .port-link {
        height: 280px;
    }
}


/*.port-link.active {
    opacity: 1;
    transform: translate(0,0);
    transition: all .5s
}
.port-link.active .port-item-content {
    opacity: 1;
    transition: opacity .5s;
}*/
