@font-face {
font-family: "futura";
src: url("../fonts/futura_light-webfont.eot");
src: url("../fonts/futura_light-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/futura_light-webfont.woff2") format("woff2"), url("../fonts/futura_light-webfont.woff") format("woff"), url("../fonts/futura_light-webfont.ttf") format("truetype"), url("../fonts/futura_light-webfont.svg#futura_lightregular") format("svg");
font-weight: normal;
font-style: normal;
}
html {
    -webkit-text-size-adjust: 100%; /* Prevent font scaling in landscape while allowing user zoom */
}
* {
    padding: 0;
    margin: 0;
}
ul {
    list-style:none;
}
html {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
html,
body {
    height: 100%;
    width: 100%;
    font-family: "Open Sans";

}
.clear {
    clear: both;
}
.l-container {
    max-width: 1135px;
    width: 90%;
    margin: 0 auto;
    height: 10px;
}

.l-carousel {
    margin-top: 75px;
    overflow: hidden;
    position: absolute;
    width: 960px;
    right: 0;
    z-index: 10;
}


.l-top-nav .l-container {
    max-width: 100%;
    height: 100%;
    width: 100%;
}

.l-top-nav.fixed .l-container {
    max-width: 1135px;
    height: 10px;
    width: 90%;
}

.homepage.l-carousel {
    width: 1250px;
}

.l-fixed {
    position: fixed;
    bottom: 70px;
    z-index: 99;
    left: 0;
    width: 100%;
}

.back-to-top {
    margin-bottom: 30px;
    position: absolute;
    right: 0;

}

.back-to-top img {
    width: 80px;
    opacity: 0.6;
}

.back-to-top img:hover {
    opacity: 1;
}

.relative {
    position: relative;
}
.l-search {
    position: fixed;
    top: 0;
    z-index: 999;
    left: 0;
    display: none;
    transition: 1s left;
    width: 100%;
    z-index: 100;
    height: 100%;
    overflow-y: scroll;
    background: rgba(255, 255, 255, 0.96);
    overflow-x: hidden;
}
.l-aboutus {
    width: 910px;
    float: right;
}
.l-sidebar {
    max-width: 228px;
    width: 30%;
    position: relative;
    /* top: 75px; */
    text-align: right;
    float:left;
    /* left:-51px; */

    /* min-width: 160px; */
}
.l-project-sections {
    position: absolute;
    right: 0;
    margin-top: 75px;
}
.logo {
    padding-top: 45px;
    float: left;
    position: relative;
    z-index: 60;
    width: 160px;
}
.logo img {
    width: 100%;
}
.menu {
    float: right;
    padding-top: 56px;
    display: table;
    /* position: relative; */
    /* z-index: 2; */
}
.menu ul {
    list-style: none;
}
.menu ul li {
    float: left;
    margin-left: 43px;
}

.full-map img {
    max-width: 100% !important;
}
.menu ul li:nth-child(1) {
    margin-top: -5px;
}
.menu ul li a {
    font-family: "Open Sans";
    font-weight: 400;
    font-size: 14px;
    text-transform: uppercase;
    text-decoration: none;
    color: #58595b;
}
.menu ul li a.active {
    font-weight:600;
}

.carousel-container .item h1,
.carousel-container .item h1 a{
    text-decoration: none;
    font-family: "Open Sans";
    font-size: 14px;
    color: #939598;
    font-weight: 300;
    text-align: center;
    margin-top: 30px;
    font-style: italic;
    margin-bottom: 100px;
}

.carousel-container .item h1 a:hover {
    font-weight: bold;
}

.carousel-container .item {
    margin-right: 70px;
}
.search-box {
    margin-top: 140px;
}
.search-box img,
.search-box input[type=text] {
    float: left;
}
.search-box img {
    margin-top: 20px;
}
.search-box input[type=text] {
    height: 100px;
    text-transform: uppercase;
    outline: 0 !important;
    padding-bottom: 30px;
    margin-top: -20px;
    margin-left: 40px;
    font-size: 80px;
    border: 0;
    background: transparent;
    font-family: "Open Sans";
    font-weight: 300;
    width: 80%;
    color: #939394;
}
.l-search .l-container {
    position: relative;
}
.close-search {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 9;
    width: 30px;
}
.close-search img {
    width: 100%;
}
.aboutus-left {
    float: left;
}
.aboutus-right {
    float: right;
}
.aboutus-left,
.aboutus-right {
    margin-top: 83px;
    width: 45%;
}
.aboutus-left,
.aboutus-right,
.aboutus-full {
    margin-bottom: 20px;
}
.aboutus-right #map {
    width:456px;
    height:228px;
}
.aboutus-left h1,
.aboutus-right h1,
.aboutus-full h1 {
    color: #58595b;
    font-family: "Open Sans";
    font-size: 18px;
    text-transform: uppercase;
    font-weight: 400;
    margin-bottom: 33px;
}
.aboutus-left p,
.aboutus-right p,
.aboutus-full p {
    font-size: 12px;
    color: #58595b;
    font-family: "Open Sans";
    font-weight: 400;
    line-height: 25px;
}

.aboutus-left p.what-we-do {
    line-height: 17px;
}
.aboutus-left img.full,
.aboutus-right img.full,
.aboutus-full img.full {
    width: 100%;
}
.aboutus-left .person,
.aboutus-right .person,
.aboutus-full .person {
    width: 383px;
    float: left;
    margin-right: 112px;
    margin-bottom: 30px;
}
.aboutus-left .person:nth-child(2n),
.aboutus-right .person:nth-child(2n),
.aboutus-full .person:nth-child(2n) {
    margin-right: 0;
}
.aboutus-left .person img,
.aboutus-right .person img,
.aboutus-full .person img {
    float: left;
}
.aboutus-left .person-text,
.aboutus-right .person-text,
.aboutus-full .person-text {
    float: left;
    margin-left: 40px;
}
.aboutus-left .person-text h2,
.aboutus-right .person-text h2,
.aboutus-full .person-text h2 {
    font-family: "Open Sans";
    font-weight: 700;
    color: #58595b;
    width: 265px;
    font-size: 14px;
}
.aboutus-left .person-text h2 span,
.aboutus-right .person-text h2 span,
.aboutus-full .person-text h2 span {
    font-weight: 400;
}

.bx-viewport li { min-height: 1px; min-width: 1px; }

.aboutus-left .person-text p,
.aboutus-right .person-text p,
.aboutus-full .person-text p {
    width: 266px;
    margin-top: 10px;
    line-height: 20px;
}
.project-sidebar {

    position: fixed;
    

    top: 157px;
    

    /* margin-top: 148px; */

    float: left;

    /* position: relative; */

    /* z-index: 10; */

    max-width: 160px;

    width: 100%;

}
.project-sidebar ul.social li {
    display:inline-block;
    margin-top:10px;
}

.project-sidebar h1,
.sec-title {
    font-family: "Open Sans";
    font-weight: 600;
    text-transform: uppercase;
    color: #58595b;
    font-size: 15px;
    margin-bottom: 35px;
}

.sec-title {
    display: none;
    margin-bottom: 15px;
}
.project-sidebar .project-sidebar-info h2 {
    font-family: "Open Sans";
    font-weight: 400;
    color: #58595b;
    font-size: 12px;
    text-transform: uppercase;
}
.project-sidebar .project-sidebar-info h3 {
    font-family: "Open Sans";
    font-size: 10px;
    font-weight: 300;
    text-transform: uppercase;
    color: #58595b;
    margin-bottom: 10px;
}
.project-sidebar .border {
    width: 55px;
    height: 1px;
    background: #000;
    margin: 30px 0 40px 0;
    float: right;
}
.project-sidebar .project-sidebar-sections a {
    font-family: "Open Sans";
    font-size: 12px;
    font-weight: 300;
    text-decoration: none;
    color: #939598;
    text-transform: uppercase;
    cursor:pointer;
}
.project-sidebar .project-sidebar-sections a.active,
.project-sidebar .project-sidebar-sections a:hover {
    color: #222;
}
.project-sidebar .project-sidebar-sections li {
    line-height:1.2;
}
.l-project-section {
    margin-bottom: 80px;
}
.l-project-section .l-carousel {
    position: relative !important;
    float: right;
    margin-top: 0;
}
.l-project-section p {
    width: 794px;
    clear: both;
    padding-top: 20px;
    font-family: "Open Sans";
    font-weight: 400;
    font-size: 12px;
    color: #58595b;
    line-height: 17px;
}
.seperator{
    margin-top: -100px;
    margin-bottom: 25px;
}

.l-project-section .team p {
    color:#58595b;
    margin-bottom:10px;
    font-size:12px;
    text-transform: uppercase;
    font-weight:100;
}
.l-search.is-active {
    display: block;
}

.l-sidebar-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}
.left-tab {
    width: 20%;
    float: left;
    margin-top:75px;

    max-width: 160px;
}
.right-tab {
    margin-top:75px;
    float: right;
    width:80%;
}
ul.filters {

    list-style: none;
    text-align: right;
    
    box-sizing: border-box;
    

    float: right;

}
ul.filters li {
    font-size:12px;
    color:#58595b;
    height: 22px;
}
ul.filters li.active,
ul.filters li:hover {
    font-weight:bold;
    cursor: pointer;
}
/*
ul.filters li::after {
    display:block;
    content:attr(title);
    font-weight:bold;
    height:1px;
    color:transparent;
    overflow:hidden;
    visibility:hidden;
    margin-bottom:-1px;
}*/

.project-list .project-item {
    margin-bottom:55px;
    display:inline-block;
    margin-left: 26px;
}


.project-list .project-item a{
    color:inherit;
    text-decoration:none;
    transition:0.5s all;

}
.project-list .project-item a:hover {
    opacity:0.5;
    transition:0.5s all;
}

.project-list .project-item h4{

    font-size:14px;
    color:#58595b;
    font-weight: 400;
}

.project-list .project-item:hover h4 {
    font-weight:bold;
}

ul.news li {

    max-width:605px;
    color:#58595b;
}
ul.news li h3 {
    font-size:18px;
    font-weight:normal;
    margin-bottom:6px;
}
ul.news li .date {
    margin-bottom:28px;
    display:block;
    font-size:14px;
}
ul.news li .readmore {
    font-size:14px;
    margin-top:40px;
    display:Block;
    font-style:italic;
    cursor:pointer;
}
ul.news li .main-image {
    margin-bottom:30px;  
}
ul.news li .divide {

    margin-top:15px;
    margin-bottom:25px;
}
ul.news li .text {
    line-height:1.8;
    max-height:165px;
    overflow:hidden;
    font-size:13px;
}

.contact {
    max-width:795px;
    float: right;
}
.contact form {
    width:350px;
    float:left;
}
.contact h3 {
    font-size:19px;
    font-weight:normal;
    color: #58595b;
    margin-bottom:30px;
}
.contact form input[type='url']{
    margin-top:-6px;
}
.contact form input,
.contact form textarea {
    font-family:inherit;
    font-size:10px;
    padding:8px;
    box-sizing:border-box;
    border:1px solid #636466;
    margin-bottom:10px;
    width:100%;
    resize:none;
    outline:none;
}
.contact form .name {
    width:170px;
    float:left;
    margin-right:15px;
}

.contact #map {
    margin-bottom: 50px;
}
.contact form .lastname {
    width:165px;
    float:left;
}
.contact form button {
    border:none;
    padding:6px 20px;
    background:black;
    color:white;
    outline:none;
    font-size:12px;
    cursor:pointer;
    float:left;
}
.fileUpload:hover {
    background-position: 0 25px;
}
.fileUpload {
    position: relative;
    overflow: hidden;
    background: url(../imgs/upload.png);
    width: 122px;
    height: 25px;
    float: right;
}
.fileUpload input.upload {
    width:122px;
    cursor:pointer;
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
    padding: 0;
    font-size: 20px;
    cursor: pointer;
    opacity: 0;
    filter: alpha(opacity=0);
}
.contact .info {
    float:right;
}
.contact .info ul {
    float:right;
    margin-top: 90px;
}
.contact .info ul li {
    display:inline-block;
}
.contact .info h2 a {
    color:#58595b;
    text-decoration:none;
}
.contact .info h2 {
    font-size:15px;
    text-transform: uppercase;
    font-weight:100;
    clear: both;
    text-align: right;

}
.contact #map {
    width:795px;
    height:175px;
    margin-top:55px;
}

.autocomplete-suggestions { display:none !important; }
.search-inside {
    position:relative;
}

.team strong {
    font-family: "Open Sans";
    font-weight: 400;
    color: #58595b;
    font-size: 12px;
    text-transform: uppercase;
}

#autocomplete-ajax {
    position: absolute; z-index: 2; background: transparent;
}
#autocomplete-ajax-x {
    color: #CCC; position: absolute; background: transparent; z-index: 1;
}


.upload-value {
    font-size:12px;
    color:#636466;
    float:right;
    margin-top:10px;
}
.remove-file {
    font-size:12px;
    color:#636466;
    float:right;
    margin:10px 0px 0px 15px;
    cursor:pointer;
    display:none;
}

.l-container.auto-height {
    height: auto;
}
.l-search-abs {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.mobile-menu-icon {
    position: absolute;
    right: 5%;
    margin-top: -3px;
    z-index: 55;
    cursor: pointer;
    top: 54px;
}

.mobile-menu-icon img {
    width: 30px;
    transition: .5s all;
    display: block;
}
.mobile-only {
    display: none;
}

.mobile-menu-icon.active img {
    transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
}

.results-boxes {
    padding-top: 100px;
}

.results-box {
    margin-bottom: 100px;
}

.results-box h1 {
    font-family: "Open Sans";
    font-size: 21px;
    font-weight: 300;
    font-style: italic;
    margin-bottom: 30px;
    color: #58595b;
}

.results-box h1 .italic {
    font-style: italic;
}

.results-box a {
    display: block;
    font-weight: 600;
    font-family: "Open Sans";
    font-size: 21px;
    color: #58595b;
    text-decoration: none;
    margin-bottom: 5px;
}
@media all and (max-width: 1500px) and (min-width: 960px) {


.homepage .nx-next {

    background-position: 50% 35% !important;
}

    .carousel-container .item {
        width: 760px !important;
    }

    .homepage.l-carousel {
        width: 940px;
    }
}
@media all and (max-width: 1213px) {
    .l-sidebar {
        position: relative;
        float: none;
        margin-top: 60px;
        left: 0;
        width: 100%;
        top: 0;
        max-width: 100%;
    }

    .l-project-sections {
        margin-top: 50px;
        position: relative;
    }

    .project-sidebar {
        position: initial;
        margin-bottom: 20px;
        max-width: 9999px;
        text-align: left;
    }

    .l-sidebar .border,
    .l-sidebar .project-sidebar-sections,
    .l-sidebar .social {
        display: none;
    }

    .l-sidebar .project-sidebar-info {
        float: left;
        width: 50%;
        padding-right: 20px;
        box-sizing: border-box;
    }

    .l-project-section .l-carousel {
        width: 100%;
    }

    .l-project-section p {
        width: 100%;
    }
}

@media all and (min-width: 960px) {
    .l-carousel .item {
        width: 780px !important;
    }

    .l-top-nav.fixed {
        position: fixed;
        top: 0;
        width: 100%;
        left: 0;
        height: 70px;
        background: #FFF;
        z-index: 99;
    }

    .nav-scroll-space {
        height: 75px;
        display: none;
        width: 1px;
    }

    .nav-scroll-space.fixed {
        display: block;
    }
    .l-top-nav.fixed  .logo {
        padding-top: 17px;
    }


    .l-top-nav.fixed .menu {
        padding-top: 22px;
    }

}

@media all and (min-width: 1500px) {
    .homepage .carousel-container .item  {
        width: 1080px !important;
    }
}

@media all and (max-width: 960px) {
    .nav-space {
        height: 90px;
    }
    .person {
        width: 100% !important;
        margin: 0;

    }

    .person img {
        width: 20%;
        height: auto;
    }
    .person .person-text p {
        width: 100%;
    }

    .person .person-text {
        width: 75%;
        margin-left: 5%;
    }
    .sec-title {
        display: block;
    }
    .logo {
        padding-top: 17px;
    }

    .menu {
        padding-top: 22px;
    }

    .mobile-menu-icon {
        margin-top: -30px;
        top: 54px;
    }

    .search {
        top: 20px;
    }
    .l-project-section {
        margin-bottom: 40px;
    }
    .l-project-section p {
        padding-top: 0;
    }

    .project-list .project-item {
        margin-bottom: 20px !important;
    }
    .search-box input[type=text] {
        font-size: 31px;
    }

    .results-box h1 {
        font-size: 21px;
    }

    .results-box a {
        font-size: 21px;
    }

    ul.filters {
        float: left;
    }
    .contact {
        float: none !important;
    }

    #map {
        max-width: 100% !important;
    }
    .l-sidebar {
        margin-top: 0;
    }

    .right-tab.news-right-tab,
    .contact-right-tab {
        width: 100% !important;
        float: left !important;
    }

    .contact-right-tab form, 
    .contact-right-tab .info {
        width: 100%;
        margin-bottom: 30px;
        float: none;
    }

    .contact-right-tab .name,
    .contact-right-tab .lastname {
        width: 100% !important;
    }

    .contact-right-tab .social {
        float: none !important;
        margin-top: 30px !important;
    }
    ul.news li {
        max-width: 100%;
    }

    ul.news img {
        max-width: 100%;
    }
    .desktop-only {
        display: none;
    }

    .mobile-only {
        display: block;
    }

    .bx-viewport {
        left: 0 !important;
    }

    .l-carousel,
    .homepage .l-carousel {
        margin-top: 0;
        width: 100% !important;
    }

    .menu ul {
        height: 100%;
        z-index: 50;
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        padding-top: 90px;
        background: #FFF;
        transition: .5s all;
        -webkit-transition: .5s all;
        -moz-transition: .5s all;
        text-align: right;
    }

    .menu ul.active {
        right: 0;
    }

    .l-top-nav {
        position: fixed;
        top: 0;
        background: #FFF;
        left: 0;
        z-index: 9999;
        width: 100%;
        /* padding: 0 5%; */
        box-sizing: border-box;
    }

    .right-tab {
        margin-top: 0;
    }
    .menu ul li {
        margin-right: 5%;
        float: none;
        display: block;
        margin-bottom: 20px;
    }

    .menu ul li a {
        font-size: 14px;
    }

    .aboutus-left {
        margin-top: 0;
    }
    .aboutus-left,
    .aboutus-right,
    .aboutus-full {
        width: 100%;
    }

    .aboutus-full {
        margin-top: 83px;
    }

    .l-aboutus {
        width: 100%;
        margin: 0 auto;
        float: none;
    }

    .full-map img {
        width: 100% !important;
    }

    .logo {
        float: none;
        margin-right: auto;
        margin-left: auto;
    }

    .search {
        position: absolute;
        z-index: 55;
        left: 5%;
    }   

    .project-item {
        width: 100%;
        margin-left: 0 !important;
    }

    .project-item img {
        width: 100% !important;
        height: auto !important;
    }

    .left-tab {
        width: 40%;
        position: fixed;
        padding-right: 0;
        line-height: 30px;
        top: 56px;
    }

    .left-tab li {
        text-align: left;
    }

    .right-tab {
        width: 55%;
        float: right;
    }
}

@media all and (max-device-width: 960px) {
    .nx-next {
        display: none !important;
    }
    .carousel-container .item h1,
    .carousel-container .item h1 a{
        font-size: 12px;
    }
}

@media all and (max-device-width: 960px) and (orientation: landscape) {
    .l-top-nav {
        height: 70px;
    }

    .logo {
        padding-top: 24px !important;
    }

    .nav-space {
        height: 70px;
    }

    .mobile-menu-icon {
        /*top: 34px;*/
    }
    
    .search {
        top: 28px;
    }

}
