/*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */

/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles:opinionated defaults
   ========================================================================== */

html,
button,
input,
select,
textarea {
    color:#222;
}

html {
    font-size:18px;
    line-height:1.4;
}

::-moz-selection {
    background:#22bbd2;
    color:#fff;
    text-shadow:none;
}

::selection {
    background:#22bbd2;
    color:#fff;
    text-shadow:none;
}

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

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

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

textarea {
    resize:vertical;
}

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

/*
Colours:
    Blue:#22bbd2
    Gray:#222
*/

html{
    font-family:'Roboto', Helvetica, sans-serif;
    background-color:#eee;
    font-weight:300;
}

.container:before,
.container:after {
    content:" ";
    display:table;
}
.container:after {
    clear:both;
}
.container{
    *zoom:1;
    max-width:1220px;
    padding:0 15px;
    margin:0 auto;
    position:relative;
    box-sizing:border-box;
    -moz-box-sizing:border-box;
}
a{
    color:#22bbd2;
    transition:.6s color;
    text-decoration:none;
}

header:before,
header:after {
    content:" ";
    display:table;
}
header:after {
    clear:both;
}
header {
    position:fixed;
    *zoom:1;
    background-color:#fff;
    padding:15px 0;
    z-index:9999;
    width:100%;
}

#logo{
    float:left;
}
#logo img{
    max-height:53px;
    max-width:100%;
}
#nav-button{
    float:right;
    color:#222;
    font-size:38px;
}

nav{
    float:left;
    width:100%;
    text-align:center;
    margin-top:15px;
    display:none;
}
nav ul{
    margin:0;
    padding:0;
    width:100%;
}
nav a{
    display:block;
    width:100%;
    padding:5px 0;
    color:#222;
    font-size:22px;
    transition:.6s color;
}
nav a:hover, nav a.active{
    color:#22bbd2;
}

#prev, #next{
    display:block;
    position:absolute;
    bottom:15px;
    font-size:44px;
    color:#fff;
    text-shadow:1px 1px 5px rgba(0,0,0,0.8);
    opacity:.8;
    z-index:999;
}
#prev{
    left:15px;
}
#next{
    right:15px;
}

#home-slider{
    opacity:0;
    position:static;
    min-height:350px;
    width:100%;
    transition:.4s ease-in-out;
}
#home-slider a{
    border:0;
}

.home-slide{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background-repeat:no-repeat;
    background-size:cover;
    background-attachment: fixed;
    background-position:center 86px;
}

.home-slide:before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:-2;
	background-color:rgba(0,0,0,0.2);
}

.home-slide .copy{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:2;
    text-align:center;
}
.home-slide .copy:before{
    content:"";
    height:100%;
    display:inline-block;
    vertical-align:middle;
    width:0;
    font-size:0;
}
.home-slide .project{
    display:inline-block;
    vertical-align: middle;
    margin:0 auto;
    width:90%;
    color:#fff;
}

.home-slide h1{
    font-weight:900;
    padding:0;
    margin:0;
    margin-bottom:10px;
    line-height:1.0;
    font-size:42px;
    text-shadow:0 0 5px rgba(0,0,0,0.3);
}
.home-slide h2{
    font-weight:300;
    margin:0;
    font-size:24px;
    margin-bottom:10px;
}
.home-slide *:last-child{
    margin-bottom:0;
}
.home-slide p{
    margin:0;
    font-weight:300;
    text-shadow:0px 0px 5px rgba(0,0,0,0.7);
    font-size:20px;
}
.home-slide img{
    width:100%;
    max-width:200px;
    margin-bottom:10px;
}
.home-slide img.wide{
    max-width:300px;
}
.home-slide span{
    display:inline-block;
    padding:5px 15px;
}
.home-slide span.blue{
    background-color:#22bbd2;
}

article{
    background-color:#eee;
    padding-bottom:50px;
    padding-top:86px;
}
article.white{
    background-color:#fff;
}
article a{
    border-bottom:1px solid #22bbd2;
    transition:.6s color, .6s border-color;
    font-weight:400;
}
article a:hover{
    border-bottom:1px solid transparent;
}
article strong{
    font-weight:400;
}

article h1{
    text-align:center;
    font-weight:300;
    margin:0;
    font-size:30px;
    padding:20px 0 0 0;
}
article .intro{
    padding:20px 0;
    padding-bottom:0;
}
article h1 + .intro{
    padding-top:0;
    margin-top:-5px;
}
article .intro + p{
    margin-top:-20px;
}

.images{
    text-align:center;
    margin-bottom:50px;
}
.images img{
    max-width:100%;
}

.banner{
    border:0;
    position:relative;
}
.banner.overlay:before{
    content:"";
    display:block;
    position:absolute;
    top:0;
    left:0;
    height:100%;
    width:100%;
    background-color:rgba(0,0,0,0.2);
}
.banner .wrap{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    text-align:center;
}
.banner .wrap:before{
    content:"";
    height:100%;
    display:inline-block;
    vertical-align:middle;
    width:0;
    font-size:0;
}
.banner .banner-image{
    width:100%;
}
.banner .logo{
    display:inline-block;
    margin:0 auto;
    max-height:90%;
    width:auto;
    max-width:90%;
}
.banner h1{
    display:inline-block;
    margin:0 auto;
    max-height:100%;
    width:auto;
    max-width:90%;
    color:#fff;
    font-weight:600;
    padding-top:0;
    vertical-align:middle;
    text-shadow:0 0 10px rgba(0,0,0,0.7);
}
.container-wrap.white{
    background-color:#fff;
    padding-bottom:30px;
}
.project-information{
    text-align:center;
    margin-bottom:50px;
    background-color:#fff;
    padding-bottom:25px;
}
.project-information section{
    overflow:hidden;
}
.project-information p, .project-information ul{
    text-align:left;
}
.project-information ul{
    padding-left:20px;
}
.project-information h1{
    padding-bottom:20px;
}
.project-information h2{
    font-weight:300;
    text-transform:uppercase;
    position:relative;
    display:inline-block;
    background-color:#eee;
    border-radius:5px;
    padding:10px 5px;
    width:100%;
    font-size:24px;
    box-sizing:border-box;
    -moz-box-sizing:border-box;
    margin:0;
}
/*.project-information h2:before, .project-information h2:after {
    content:"";
    position:absolute;
    height:5px;
    border-bottom:1px solid #222;
    top:0;
    width:600px;
}
.project-information h2:before {
    right:100%;
    margin-right:10px;
}
.project-information h2:after {
    left:100%;
    margin-left:10px;
}*/

.portfolio:before,
.portfolio:after {
    content:" ";
    display:table;
}
.portfolio:after {
    clear:both;
}
.portfolio {
    *zoom:1;
    width:100%;
    min-height:1000px;
}
.portfolio .item{
    position:relative;
    border-bottom:0;
    margin:0;
    padding:0;
    width:100%;
    overflow:hidden;
    display:block;
    padding-bottom:66.176470588%;
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center center;
}
.portfolio .item img{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}
.portfolio .item .wrap{
    border-bottom:0;
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    text-align:center;
    box-sizing:border-box;
    -moz-box-sizing:border-box;
}
.portfolio .item .wrap:before{
    content:"";
    height:100%;
    display:inline-block;
    vertical-align:middle;
    width:0;
    font-size:0;
}
.portfolio .logo{
    display:inline-block;
    margin:0 auto;
    max-width:50%;
    max-height:40%;
    opacity:1;
    transform:scale(1);
    transition:.6s ease-in-out;
}
.portfolio .item:hover .logo{
    opacity:0;
    transform:scale(0);
}
.portfolio .copy{
    position:absolute;
    top:0;
    left:0;
    display:inline-block;
    transform:scale(0);
    opacity:0;
    height:100%;
    width:100%;
    margin:0 auto;
    text-align:center;
    color:#fff;
    overflow:hidden;
    /*background-color:transparent;
    background-color:rgba(34, 187, 210, 0.9);*/
    transition:all .6s;
}
.portfolio .copy .copy-container{
    display:inline-block;
    vertical-align:middle;
    box-sizing:border-box;
    -moz-box-sizing:border-box;
    padding:15px;
}
.portfolio .item:hover .copy{
    display:block;
    opacity:1;
    transform:scale(1);
}
.portfolio.alt .copy{
    display:block;
    opacity:1;
    transform:scale(1);
    overflow:visible;
    background-color:transparent;
    background-color:rgba(0,0,0,0.2);
    transition:.4s ease-in-out;
}
.portfolio.alt .copy-container{
    overflow:visible;
    padding:0 15px;
}
.portfolio.alt .copy-container .details{
    text-align:center;

    visibility: hidden;
    transform:scale(0);
    opacity:0;
    max-height:0;
    transition:.4s ease-in-out;
    margin-top:10px;
}
.no-touch .portfolio.alt .item:hover .details{
    transform:scale(1);
    opacity:1.0;
    max-height:300px;
    visibility: visible;
}
.portfolio.alt .copy h3{
    margin:0;
    font-weight:500;
    margin-top:18px;
    transition:.4s margin-top;
    text-shadow:0px 0px 5px rgba(0,0,0,0.3);
}
.no-touch .portfolio.alt .item:hover .copy{
    background-color:#444;
    background-color:rgba(0, 0, 0, 0.65);
}
.no-touch .portfolio.alt .item:hover .copy h3{
    text-shadow:none;
    margin-top:0px;
}
.portfolio.alt .copy .services{
    width:100%;
    font-weight:600;
    text-align:center;
}
.portfolio .copy h3{
    font-weight:300;
    font-size:28px;
    margin-top:0;
    margin-bottom:15px;
}
.portfolio .copy i{
    font-size:36px;
}
.portfolio .copy .services{
    font-weight:600;
}

.categories{
    padding:0 15px;
    margin:0;
    text-align:center;
    margin-bottom:40px;
    margin-top:20px;
}
.categories li{
    list-style:none;
    display:inline-block;
    margin:0 3px;
    margin-bottom:10px;
}
.categories li a{
    border:0;
    display:block;
    padding:5px 10px;
    border-radius:3px;
    background-color:#fff;
    color:#222;
    font-weight:300;
    transition:.6s background-color, .6s color;
}
.categories li a:hover, .categories li.active a{
    background-color:#22bbd2;
    color:#fff;
}


.right{
    border-top:1px solid #aaa;
    margin-top:25px;
}

address{
    font-style:normal;
}

label{
    display:block;
    margin-bottom:15px;
}
input, textarea{
    margin-top:5px;
    background-color:#f2f2f2;
    border:0;
    padding:10px;
    display:block;
    width:100%;
    box-sizing:border-box;
    -moz-box-sizing:border-box;
/*    box-shadow:0px 1px 7px 0 rgba(0,0,0,0.1)
*/
}
input:focus, textarea:focus{
    outline-color: #22bbd2;
    outline-color: rgba(34, 187, 210, 0.25);
    outline-width: 2px;
    outline-style: solid;
}

.frame-container{
    width:100%;
    height:0;
    padding-bottom:80%;
    position:relative;
}
iframe, #map{
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    left:0;
    border:0;
    display:block;
}

.services ul{
    padding-left:20px;
}

.red{
    color:#c00;
}
/*
.home footer{
    display:none;
}*/

footer{
    background-color:#444;
    color:#fff;
    padding:15px 0;
}
footer a{
    color:#fff;
/*    border-bottom:1px solid #fff;
*/    transition:.6s color, .6s border-color;
}
footer a:hover{
    color:#22bbd2;
/*    border-bottom-color:transparent;
*/}
footer .copyright{
    display:none;
}
footer .social{
    margin:0;
    padding:0;
    text-align:center;
    margin-bottom:10px;
}
footer .social li{
    margin:0 10px;
    padding:0;
    display:inline-block;
}
footer .social li:first-child{
    margin-left:0;
}
footer .social li:last-child{
    margin-right:0;
}
footer .social li a{
    font-size:32px;
    border:0;
}
footer .contact{
    text-align:center;
    font-weight:500;
}
footer .contact a[href^="tel"], footer .contact a[href^="mailto"]{
    display:block;
    font-weight:300;
}

.button{
    display:block;
    padding:15px 0;
    background-color:#22bbd2;
    color:#fff;
    text-align:center;
    border:0;
    border-radius:5px;
    border-bottom:3px solid #09a2b9;
    transition:.6s color, .6s background-color, .6s border-color;
}
.button:hover{
    background-color:#09a2b9;
    border-bottom:3px solid #00889f;
}
.button:active{
    background-color:#00889f;
}
.button + .button{
    margin-top:25px;
}
input.button{
    margin-top:25px;
}

@media (min-width:560px), print {
    article h1{
        font-size:44px;
        padding:40px 0 20px 0;
    }
    .project-information h1{
        padding-bottom:40px;
    }

    #logo img{
        max-height:70px;
    }
    #content .copy{
        padding-top:99px;
    }
    #nav-button{
        margin-top:7px
    }
}

@media (min-width:660px), print {
    .buttons{
        text-align:center;
    }
    .button{
        display:inline-block;
        padding-left:20px;
        padding-right:20px;
        margin-right:25px;
    }
    .button:last-child{
        margin-top:0;
        margin-left:0;
        margin-right:0;
    }
}

@media (min-width:768px), print {
    article a[href^="tel"]{
        border:0;
        color:#222;
        font-weight:300;
    }

    header{
        position:fixed;
        width:100%;
        z-index:9999;
        box-shadow:0px 1px 10px 0 rgba(0,0,0,0.1);
        padding-bottom:0;
    }
    article{
        padding-top:99px;
    }
    .home-slide{
        background-position:center 99px;
    }
    .home-slide h1{
        font-size:52px;
    }
    .home-slide p{
        font-size:28px;
    }


    #nav-button{
        display:none;
    }

    nav{
        display:block;
        width:auto;
        margin:0;
/*        position:absolute;
        right:15px;
        top:-15px;
*/
        float:right;
        margin-top:-15px;
    }
    nav ul{
        width:auto;
        height:auto;
    }
    nav li{
        display:inline-block;
        margin-left:40px;
    }
    nav li:first-child{
        margin-left:0;
    }
    nav a{
        width:auto;
        padding:0;
        padding-top:30px;
        padding-bottom:35px;
        height:100%;
        font-weight:300;
        border-top:5px solid transparent;
        transition:.6s border-color, .6s color;
    }
    nav a:hover, nav a.active{
        border-color:#22bbd2;
        color:#222;
    }

    article .intro{
        padding:20px 0;
    }


    #prev, #next{
        top:50%;
    }

    .home-slide.alt img{
        margin-bottom:0;
        display:inline-block;
        vertical-align: middle;
    }
    .home-slide.alt img + p{
        margin:0;
        display:inline-block;
        vertical-align: middle;
        text-align:left;
        border-left:1px solid;
        margin-left:20px;
        padding-left:20px;
        max-width:415px;
    }
    .home-slide.alt img.wide + p{
        max-width:315px;
    }

    .banner .logo{
        width:auto;
    }

    .project-information section{
        width:32.9%;
        margin:0;
        padding:0 10px;
        display:inline-block;
        vertical-align:top;
        box-sizing:border-box;
        -moz-box-sizing:border-box;
    }
    .project-information .row{
        margin-bottom:25px;
        padding-top:25px;
    }
    .project-information section:nth-of-type(3n+1){
        padding:0;
        padding-right:20px;
    }
    .project-information section:nth-of-type(3n+3){
        padding:0;
        padding-left:20px;
    }
    .project-information .section-container{
        overflow:hidden;
    }

    .portfolio .item{
        width:50%;
        padding-bottom:33.088235294%;
    }

    .left, .right{
        float:left;
        width:50%;
        box-sizing:border-box;
        -moz-box-sizing:border-box;
    }
    .left{
        padding-right:45px;
    }
    .right{
        padding-left:45px;
        margin-top:0;
        border:0;
    }

    .services{
        display:table;
    }
    .non-semantic{
        display:table-row;
    }
    .service-set{
        display:table-cell;
        width:50%;
    }

    footer .copyright{
        display:block;
        float:left;
    }

    footer .social{
        position:absolute;
        top:0;
        left:35%;
        width:30%;
        margin-bottom:0;
    }
    footer .contact{
        float:right;
        text-align:left;
    }
    footer .contact a[href^="tel"], footer .contact a[href^="mailto"]{
        display:inline;
    }
    footer .contact a[href^="mailto"]:before{
        content:"/ ";
        color:#fff;
        cursor:text;
    }
}

@media (min-width:1200px), print {
    header{
        padding-top:15px;
        padding-bottom:0;
    }
    #logo img{
        max-height:90px;
        margin-top:8px;
    }

    .home-slide h1{
        font-size:64px;
    }
    .home-slide p{
        font-size:30px;
    }

    #content .copy{
        padding-top:119px;
    }
    nav{
        margin-top:-15px;
    }
    nav a{
        padding-top:45px;
        padding-bottom:55px;
    }
    article{
        padding-top:119px;
    }
    .home-slide{
        background-position:center 119px;
    }


    .portfolio .item{
        width:33.333333333333%;
        padding-bottom:22.0588235293%;
    }
}
@media (min-width:1400px){
    .home-slide h1{
        font-size:80px;
    }
    .home-slide p{
        font-size:32px;
    }`

}
@media (min-width:1600px), print{

    .home-slide h1{
        font-size:100px;
    }
    .home-slide p{
        font-size:36px;
    }

    #prev, #next{
        font-size:60px;
    }
    .portfolio .item{
        width:25%;
        padding-bottom:16.544117647%;
    }
}



.clientlist{
    padding:0;
    margin:0;
    border-bottom:1px solid #ddd;
}
.clientlist li{
    list-style:none;
    margin-bottom:25px;
    width:100%;
    text-align:center;
    line-height:75px;
}
.clientlist li:last-child{
    margin-right:0px;
}
.clientlist li img{
    max-width:200px;
    max-height:75px;
}

@media (min-width: 500px), print {
    .clientlist li{
        float:left;
        width:auto;
        margin-right:71px;
        width:200px;
        height:75px;
    }
    .clientlist.four li{
        margin-right:97px;
        margin-bottom:40px;
    }
}








/* ==========================================================================
   Helper classes
   ========================================================================== */
.ir {
    background-color:transparent;
    border:0;
    overflow:hidden;
    /* IE 6/7 fallback */
    *text-indent:-9999px;
}
.ir:before {
    content:"";
    display:block;
    width:0;
    height:150%;
}
.hidden {
    display:none !important;
    visibility:hidden;
}
.visuallyhidden {
    border:0;
    clip:rect(0 0 0 0);
    height:1px;
    margin:-1px;
    overflow:hidden;
    padding:0;
    position:absolute;
    width:1px;
}
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip:auto;
    height:auto;
    margin:0;
    overflow:visible;
    position:static;
    width:auto;
}
.invisible {
    visibility:hidden;
}
.clearfix:before,
.clearfix:after {
    content:" ";
    display:table;
}
.clearfix:after {
    clear:both;
}
.clearfix {
    *zoom:1;
}

/* ==========================================================================
   Print styles.
   Inlined to avoid required HTTP connection:h5bp.com/r
   ========================================================================== */

@media print {
    * {
        background:transparent !important;
        color:#000 !important; /* Black prints faster:h5bp.com/s */
        box-shadow:none !important;
        text-shadow:none !important;
    }
    body{
        width:100%;
        min-width:900px;
    }

/*    .portfolio .item *, .home-slide *{
        color:#fff !important;
    }*/

/*    .portfolio .item .copy{
        display:none !important;

        background:transparent !important;
        opacity:1 !important;
        transform:none!important;
    }

    .portfolio .item .copy[title]:after {
        content:" (" attr(title) ")";
        display:block;
        visibility:visible;
        margin-top:-50px;
    }*/

    .portfolio.alt .item{
        display:block !important;
    }
    .portfolio.alt .item img{
        position:static !important;
        display:block !important;
    }
    .portfolio.alt .item .copy, .portfolio.alt .item .wrap{
        position:static !important;
        display:block !important;
        margin-top:-20px !important;
    }
    .portfolio.alt .item .copy h3, .portfolio.alt .item .wrap h3{
        font-size:16px !important;
        font-weight:normal !important;
    }

    header{
        position:static;
    }
    article{
        padding-top:0;
    }

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

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

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

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

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

    thead {
        display:table-header-group; /* h5bp.com/t */
    }

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

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

    @page {
        margin:0.5cm;
    }

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

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