@font-face {
  font-family: 'lato_lightregular';
  src: url("/assets/fonts/lato-v22-latin-300-webfont.woff2") format("woff2"), url("/assets/fonts/lato-v22-latin-300-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }
@font-face {
  font-family: 'latoitalic';
  src: url("/assets/fonts/lato-v22-latin-italic-webfont.woff2") format("woff2"), url("/assets/fonts/lato-v22-latin-italic-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }
@font-face {
  font-family: 'latoregular';
  src: url("/assets/fonts/lato-v22-latin-regular-webfont.woff2") format("woff2"), url("/assets/fonts/lato-v22-latin-regular-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }
@font-face {
  font-family: 'latobold';
  src: url("/assets/fonts/lato-v22-latin-700-webfont.woff2") format("woff2"), url("/assets/fonts/lato-v22-latin-700-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }
.topHead .wrap nav a, .mainHead .wrap nav a, .news-feed .wrap header > a, .news-feed .wrap .articles .news-item p, .page .intro > a, .page .section figure + figcaption, .all-news .news-item header h4, .all-news .news-item header a, .careers .wrap p, .awards .wrap p, .mainFoot .wrap .half .links a {
  font-family: 'latoregular'; }

.hero .slider .two-stories .story .overlay p, .news-feed .wrap header h1, .subnav .wrap a, .page .title h2, .page .search-title h1, .page .search-title .searchform .input input, .page .search-title .searchform .input label, .page .search-title .date, .page .intro h1, .page .section header h1, .page .section .content .half h2, .page .section .content .half p, .page .service .half h1,
.page .capability .half h1, .page .service .half h2,
.page .capability .half h2, .page .service .half p,
.page .capability .half p, .page .service.gallery .half .top .caption,
.page .capability.gallery .half .top .caption, .page .service.gallery .half .top button,
.page .capability.gallery .half .top button, .page .service .link a,
.page .capability .link a, .page .capability .margin h1, .page .capability .margin p, .page .capability ul li h4, .page .capability ul li a, .page .person .half h1, .page .person .half h4, .page .person .half h2, .page .person .half h3, .page .person .half p, .project-nav .ex-wrap a, .projects .project .content-hold, .contact header h1, .contact header h3, .single-project .one-third header h1, .single-project .one-third header .share p, .single-project .one-third .categories a, .single-project .two-third .content-holder p, .pagination a, .related .link, .all-news .news-item p, .careers .wrap h1, .awards .wrap h1, .careers .wrap h2, .awards .wrap h2, .careers .wrap ul li h4, .careers .wrap ul li a, .awards .wrap ul li h4, .awards .wrap ul li a, .promo > article .holder form .input label, .promo > article .holder form .input input, .promo > article .holder form button, .promo > article + article .holder .jobs a, .promo > article + article .holder .jobs .apply, .mainFoot .wrap .half article h2, .mainFoot .wrap .half article p, .mainFoot .wrap .half .copyright p, .readmore-link {
  font-family: 'lato_lightregular'; }

.news-feed .wrap .articles .news-item h1, .all-news .news-item h1 {
  font-family: 'latobold'; }

.news-feed .wrap .articles .news-item p a, .all-news .news-item p a {
  font-family: 'latoitalic'; }

.hero .slider .two-stories .story .overlay h1, .promo > article .holder h1, .promo > article .holder h2 {
  font-family: "BaskervilleMTW01-Roman"; }

.hero .slider .two-stories .story .overlay h1 em, .promo > article .holder h1 a {
  font-family: "Baskerville MT W01 It";
  font-style: italic; }

h1, h2, h3, h4, h5, p, a {
  margin: 0;
  padding: 0;
  font-weight: normal;
  text-decoration: none;
  color: inherit; }

a {
  box-sizing: border-box; }

em {
  text-transform: inherit;
  color: inherit;
  font-size: inherit;
  font-style: inherit; }

figure, input, button, figcaption {
  margin: 0;
  padding: 0;
  display: block;
  border: 0;
  background: none; }

input:focus {
  outline: none; }

.topHead .wrap, .mainHead .wrap, .hero .position, .news-feed .wrap, .subnav .wrap, .page, .careers .wrap, .awards .wrap, .mainFoot .wrap {
  width: 960px;
  margin: 0 auto;
  box-sizing: border-box; }

.topHead .wrap .logo:after, .topHead .wrap nav:after, .topHead .wrap:after, .mainHead .wrap nav:after, .mainHead .wrap:after, .news-feed .wrap .articles:after, .page .search-title .searchform:after, .page .section .content:after, .page .section:after, .page .service:after,
.page .capability:after, .page .person:after, .project-nav .ex-wrap:after, .projects:after, .contact .social:after, .single-project .two-third .slider .holder:after, .single-project:after, .pagination:after, .related:after, .promo > article .holder form:after, .promo > article:after, .promo:after, .mainFoot .wrap .half .links:after, .mainFoot .wrap .half .copyright:after, .mainFoot .wrap:after {
  content: '';
  display: block;
  clear: both; }

.sprite, .topHead .wrap .logo .circle, .topHead .wrap .logo .text, .mainHead .wrap h1, .hero .slider .two-stories .story .overlay h1:after, .hero .position .marker, .subnav .wrap a.home, .page .search-title .searchform button, .page .service.gallery .half .top button:before,
.page .capability.gallery .half .top button:before, .page .capability ul li a:after, .contact .social a, .single-project .one-third header .share a, .careers .wrap ul li a:after, .awards .wrap ul li a:after, .awards .wrap ul li:after, .mainFoot .wrap .half > h1, .mainFoot .wrap .half .social-links .social, .readmore-link:before {
  background-image: url("../sprites/mobile.png");
  background-size: 500px 500px; }

@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
  .sprite, .topHead .wrap .logo .circle, .topHead .wrap .logo .text, .mainHead .wrap h1, .hero .slider .two-stories .story .overlay h1:after, .hero .position .marker, .subnav .wrap a.home, .page .search-title .searchform button, .page .service.gallery .half .top button:before,
  .page .capability.gallery .half .top button:before, .page .capability ul li a:after, .contact .social a, .single-project .one-third header .share a, .careers .wrap ul li a:after, .awards .wrap ul li a:after, .awards .wrap ul li:after, .mainFoot .wrap .half > h1, .mainFoot .wrap .half .social-links .social, .readmore-link:before {
    background-image: url("../sprites/mobile@x2.png");
    background-size: 500px 500px; } }
body {
  font-size: 16px;
  -webkit-font-smoothing: antialiased; }

@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg); } }
@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg); } }
.topHead {
  background: #5a5a5a;
  height: 82px;
  margin: 0 0 50px 0; }
  .topHead .wrap {
    padding: 18px 0 0 0; }
    .topHead .wrap .logo {
      width: 180px;
      height: 47px;
      float: left;
      padding: 2px 0 0 0; }
      .topHead .wrap .logo h2 {
        display: none; }
      .topHead .wrap .logo .circle, .topHead .wrap .logo .text {
        width: 47px;
        height: 47px;
        background-position: -1px -1px;
        float: left; }
      .topHead .wrap .logo .circle.rotate {
        -webkit-animation: rotate 1s;
        animation: rotate 1s; }
      .topHead .wrap .logo .text {
        width: 142px;
        margin: -47px 0 0 65px;
        background-position: -66px -1px; }
    .topHead .wrap nav {
      width: 492px;
      float: left;
      margin: 0 0 0 288px; }
      .topHead .wrap nav a {
        width: 233px;
        float: left;
        height: 16px;
        margin: 0 0 0 12px;
        padding: 3px 0 0 0;
        font-size: 0.81em;
        line-height: 1;
        color: #969696; }
        .topHead .wrap nav a.current {
          color: white; }
        .topHead .wrap nav a:hover {
          color: #e1e1e1; }
  .topHead + .topHead {
    width: 100%;
    position: fixed;
    z-index: 100000;
    top: -82px;
    left: 0;
    -webkit-transition: top 500ms;
    -moz-transition: top 500ms;
    transition: top 500ms; }

.mainHead {
  margin: 0 0 56px 0; }
  .mainHead .wrap h1 {
    width: 223px;
    height: 86px;
    margin: 30px 0 0 0;
    text-indent: -999px;
    float: left;
    background-position: -1px -62px; }
  .mainHead .wrap nav {
    width: 492px;
    float: left;
    margin: 0 0 0 245px;
    border-bottom: 1px solid #e1e1e1;
    position: relative;
    z-index: 999; }
    .mainHead .wrap nav a {
      width: 233px;
      margin: 0 0 0 12px;
      padding: 6px 0 0 0;
      font-size: 1em;
      float: left;
      line-height: 1;
      height: 28px;
      border-top: 1px solid #e1e1e1;
      color: #969696; }
      .mainHead .wrap nav a:hover {
        color: #5a5a5a; }
      .mainHead .wrap nav a.current {
        color: #0093be; }
        .mainHead .wrap nav a.current:hover {
          color: #0093be; }
    .mainHead .wrap nav:before {
      content: '';
      display: block;
      width: 12px;
      height: 3px;
      background: white;
      position: absolute;
      z-index: 1000;
      bottom: -1px;
      left: 0; }
    .mainHead .wrap nav:after {
      content: '';
      display: block;
      width: 11px;
      height: 3px;
      background: white;
      position: absolute;
      z-index: 1000;
      bottom: -1px;
      left: 50%;
      margin: 0; }

.hero {
  height: 540px;
  background: #e1e1e1;
  margin: 0 0 79px 0;
  position: relative; }
  .hero .cover {
    position: absolute;
    z-index: 2000;
    height: 100%;
    width: 100px;
    top: 0;
    left: 0;
    background: rgba(255, 255, 255, 0.8); }
    .hero .cover + .cover {
      right: 0;
      left: auto; }
  .hero .slider {
    height: 540px;
    position: relative;
    overflow: hidden;
    z-index: 1000; }
    .hero .slider .two-stories {
      width: 480px;
      height: 540px;
      position: absolute; }
      .hero .slider .two-stories.ic-active {
        z-index: 10000; }
        .hero .slider .two-stories.ic-active + .two-stories {
          z-index: 10000; }
      .hero .slider .two-stories .story {
        width: 480px;
        height: 270px;
        overflow: hidden;
        position: relative; }
        .hero .slider .two-stories .story .overlay {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          box-sizing: border-box;
          padding: 100px 0 0 0;
          opacity: 0;
          filter: alpha(opacity=0);
          -webkit-transition: opacity 300ms;
          -moz-transition: opacity 300ms;
          transition: opacity 300ms;
          background: #0093be; }
          .hero .slider .two-stories .story .overlay p {
            position: absolute;
            top: 20px;
            right: 20px;
            width: 200px;
            text-align: right;
            font-size: 0.75em;
            line-height: 1;
            text-transform: uppercase;
            color: white;
            filter: alpha(opacity=0); }
          .hero .slider .two-stories .story .overlay h1 {
            width: 440px;
            text-align: center;
            margin: 0 auto;
            color: white;
            font-size: 2.13em;
            position: relative;
            top: 25px;
            -webkit-transition: top 350ms;
            -moz-transition: top 350ms;
            transition: top 350ms;
            filter: alpha(opacity=0); }
            .hero .slider .two-stories .story .overlay h1:after {
              content: '';
              display: block;
              width: 27px;
              height: 27px;
              background-position: -89px -251px;
              margin: 20px auto 0 auto; }
        .hero .slider .two-stories .story figure {
          width: 480px;
          height: 270px;
          background: #969696; }
          .hero .slider .two-stories .story figure img {
            height: 100%;
            width: 100%; }
        .hero .slider .two-stories .story:hover .overlay {
          opacity: 1;
          filter: alpha(opacity=100); }
          .hero .slider .two-stories .story:hover .overlay h1 {
            top: 7px;
            filter: alpha(opacity=100); }
            .hero .slider .two-stories .story:hover .overlay h1:after {
              content: '';
              margin: 13px auto 0 auto; }
          .hero .slider .two-stories .story:hover .overlay p {
            filter: alpha(opacity=100); }
  .hero .position {
    text-align: center;
    margin: 22px auto 0 auto; }
    .hero .position .marker {
      width: 12px;
      height: 13px;
      display: inline-block;
      margin: 0 3px;
      cursor: pointer;
      background-position: -152px -161px; }
      .hero .position .marker.current {
        background-position: -137px -161px; }

.news-feed .wrap header {
  position: relative; }
  .news-feed .wrap header h1 {
    font-size: 1.13em;
    line-height: 1;
    color: #0093be;
    text-transform: uppercase;
    margin: 0 0 30px 0; }
  .news-feed .wrap header > a {
    font-size: 0.81em;
    color: #969696;
    position: absolute;
    right: 0;
    bottom: 0; }
.news-feed .wrap .articles {
  width: 972px; }
  .news-feed .wrap .articles .news-item {
    width: 312px;
    margin: 0 12px 105px 0;
    float: left;
    display: block; }
    .news-feed .wrap .articles .news-item figure {
      width: 312px;
      height: 175px;
      background: #5a5a5a;
      margin: 0 0 26px 0; }
      .news-feed .wrap .articles .news-item figure img {
        height: 100%;
        width: 100%; }
    .news-feed .wrap .articles .news-item h1 {
      font-size: 0.88em;
      line-height: 1.43;
      color: #323232; }
    .news-feed .wrap .articles .news-item p {
      font-size: 0.8em;
      line-height: 1.43;
      color: #5a5a5a; }
      .news-feed .wrap .articles .news-item p a {
        color: #0093be; }

.subnav {
  height: 60px;
  background: #e1e1e1;
  margin: 0 0 55px 0; }
  .subnav.top-fixed {
    display: none;
    position: fixed;
    top: -82px;
    left: 0;
    width: 100%;
    z-index: 1000;
    -webkit-transition: top 500ms;
    -moz-transition: top 500ms;
    transition: top 500ms; }
    .subnav.top-fixed.hidden {
      top: 0px; }
    .subnav.top-fixed.visible {
      top: 82px; }
  .subnav .wrap a {
    display: inline-block;
    height: 28px;
    /* 			width: 152px; */
    vertical-align: top;
    box-sizing: border-box;
    padding: 21px 63px 0 0;
    font-size: 1.13em;
    line-height: 1;
    text-transform: uppercase;
    color: #969696; }
    .subnav .wrap a.current {
      color: #5a5a5a; }
    .subnav .wrap a.home {
      padding: 0;
      width: 30px;
      margin: 17px 122px 0 0;
      background-position: -7px -250px; }
      .subnav .wrap a.home:after {
        content: '';
        display: none; }
    .subnav .wrap a:hover {
      color: #5a5a5a; }

.page .title {
  border-top: 1px solid #e1e1e1;
  padding: 12px 0 0 0;
  margin: 0 0 72px 0; }
  .page .title h2 {
    font-size: 1.13em;
    line-height: 1;
    text-transform: uppercase;
    color: #5a5a5a; }
.page .search-title {
  border-top: 1px solid #e1e1e1;
  padding: 12px 0 0 0;
  margin: 0 0 46px 0;
  position: relative; }
  .page .search-title h1 {
    font-size: 0.813em;
    line-height: 1;
    text-transform: uppercase;
    position: relative;
    z-index: 100;
    color: #5a5a5a; }
    .page .search-title h1 em {
      color: #0093be; }
  .page .search-title .searchform {
    width: 235px;
    position: absolute;
    top: 12px;
    right: 0;
    z-index: 200; }
    .page .search-title .searchform .input {
      position: relative;
      width: 220px;
      float: left; }
      .page .search-title .searchform .input input, .page .search-title .searchform .input label {
        font-size: 0.813em;
        line-height: 1;
        color: #969696;
        width: 100%; }
      .page .search-title .searchform .input label {
        position: absolute;
        bottom: 1px;
        left: 0;
        width: 100px;
        color: #0093be; }
    .page .search-title .searchform button {
      width: 15px;
      height: 15px;
      float: left;
      background-position: -246px -246px; }
  .page .search-title .date {
    width: 235px;
    position: absolute;
    top: 12px;
    right: 0;
    z-index: 200;
    font-size: 0.813em;
    line-height: 1;
    text-transform: uppercase;
    text-align: right;
    color: #969696; }
.page .intro {
  padding: 0 0 86px 0;
  border-bottom: 1px solid #e1e1e1;
  position: relative; }
  .page .intro h1 {
    font-size: 2.5em;
    line-height: 1.25;
    color: #969696;
    width: 918px; }
    .page .intro h1 em {
      color: #0093be; }
  .page .intro > a {
    position: absolute;
    right: 0;
    bottom: 14px;
    text-align: right;
    font-size: 0.81em;
    line-height: 1;
    color: #969696; }
.page .section {
  margin: 0 0 42px 0; }
  .page .section header {
    margin: 0 0 30px 0; }
    .page .section header h1 {
      font-size: 1.13em;
      line-height: 1;
      color: #0093be;
      text-transform: uppercase; }
  .page .section .content {
    margin: 0 0 77px 0; }
    .page .section .content .half {
      width: 480px;
      float: left; }
      .page .section .content .half h2 {
        font-size: 1.38em;
        line-height: 1.45;
        width: 438px;
        color: #969696; }
        .page .section .content .half h2 + h2 {
          margin: 38px 0 0 0; }
      .page .section .content .half p {
        font-size: 1em;
        line-height: 1.75;
        color: #969696; }
        .page .section .content .half p + p {
          margin: 30px 0 0 0; }
        .page .section .content .half p em {
          color: #5a5a5a; }
  .page .section figure {
    height: 270px;
    width: 960px;
    background: #5a5a5a; }
    .page .section figure + figcaption {
      text-align: right;
      font-size: 0.81em;
      line-height: 1;
      margin: 14px 0 0 0;
      color: #969696; }
  .page .section + .section {
    border-top: 1px solid #e1e1e1;
    padding-top: 60px; }
  .page .section.blueline {
    border-top: 1px solid #0093be; }
.page .service,
.page .capability {
  padding: 54px 0 72px 0; }
  .page .service .half,
  .page .capability .half {
    width: 480px;
    float: left; }
    .page .service .half h1,
    .page .capability .half h1 {
      font-size: 1.13em;
      line-height: 1;
      color: #0093be;
      margin: 0 0 35px 0;
      text-transform: uppercase; }
    .page .service .half h2,
    .page .capability .half h2 {
      color: #969696;
      font-size: 1.5em;
      line-height: 1.25;
      color: #969696;
      width: 440px;
      margin: 0 0 42px 0; }
      .page .service .half h2 em,
      .page .capability .half h2 em {
        color: #5a5a5a; }
    .page .service .half p,
    .page .capability .half p {
      font-size: 1em;
      line-height: 1.5;
      color: #969696;
      width: 470px;
      margin: 53px 0 0 0; }
      .page .service .half p + p,
      .page .capability .half p + p {
        margin: 0; }
  .page .service.gallery,
  .page .capability.gallery {
    -webkit-transition: linear;
    -webkit-transition-duration: 0.2s;
    -webkit-transition-property: max-height;
    -moz-transition: linear;
    -moz-transition-duration: 0.2s;
    -moz-transition-property: max-height;
    -o-transition: linear;
    -o-transition-duration: 0.2s;
    -o-transition-property: max-height;
    -ms-transition: linear;
    -ms-transition-duration: 0.2s;
    -ms-transition-property: max-height;
    transition: linear;
    transition-duration: 0.2s;
    transition-property: max-height;
    border-top: none !important;
    max-height: 0;
    overflow: hidden;
    padding: 0; }
    .page .service.gallery.open,
    .page .capability.gallery.open {
      border-top: 1px solid #e1e1e1 !important;
      max-height: 300px; }
    .page .service.gallery .half,
    .page .capability.gallery .half {
      padding: 54px 0 72px 0; }
      .page .service.gallery .half.bigimage figure,
      .page .capability.gallery .half.bigimage figure {
        height: 222px;
        width: 395px; }
        .page .service.gallery .half.bigimage figure img,
        .page .capability.gallery .half.bigimage figure img {
          height: 100%;
          width: 100%; }
      .page .service.gallery .half .top,
      .page .capability.gallery .half .top {
        height: 84px;
        position: relative; }
        .page .service.gallery .half .top .caption,
        .page .capability.gallery .half .top .caption {
          color: #5a5a5a;
          font-size: 1em; }
        .page .service.gallery .half .top button,
        .page .capability.gallery .half .top button {
          color: #969696;
          cursor: pointer;
          font-size: 0.8125em;
          position: absolute;
          right: 0;
          top: 0; }
          .page .service.gallery .half .top button:before,
          .page .capability.gallery .half .top button:before {
            background-position: -99px -300px;
            content: ' ';
            display: block;
            height: 16px;
            left: -13px;
            position: absolute;
            top: 6px;
            width: 8px; }
      .page .service.gallery .half .bottom figure,
      .page .capability.gallery .half .bottom figure {
        -webkit-transition: linear;
        -webkit-transition-duration: 0.4s;
        -webkit-transition-property: opacity;
        -moz-transition: linear;
        -moz-transition-duration: 0.4s;
        -moz-transition-property: opacity;
        -o-transition: linear;
        -o-transition-duration: 0.4s;
        -o-transition-property: opacity;
        -ms-transition: linear;
        -ms-transition-duration: 0.4s;
        -ms-transition-property: opacity;
        transition: linear;
        transition-duration: 0.4s;
        transition-property: opacity;
        cursor: pointer;
        float: left;
        height: 62px;
        margin: 0 13px 13px 0;
        opacity: 0.3;
        width: 110px; }
        .page .service.gallery .half .bottom figure:nth-child(4n),
        .page .capability.gallery .half .bottom figure:nth-child(4n) {
          margin-right: 0; }
        .page .service.gallery .half .bottom figure.clicked, .page .service.gallery .half .bottom figure:hover,
        .page .capability.gallery .half .bottom figure.clicked,
        .page .capability.gallery .half .bottom figure:hover {
          opacity: 1; }
        .page .service.gallery .half .bottom figure img,
        .page .capability.gallery .half .bottom figure img {
          height: 100%;
          width: 100%; }
  .page .service .link,
  .page .capability .link {
    width: 100%;
    padding-top: 10px;
    float: left; }
    .page .service .link a,
    .page .capability .link a {
      cursor: pointer;
      font-size: 1em;
      color: #5a5a5a; }
      .page .service .link a.viewgallery,
      .page .capability .link a.viewgallery {
        line-height: 1.5; }
  .page .service + .service,
  .page .capability + .service {
    border-top: 1px solid #e1e1e1; }
.page .capability {
  border-top: 1px solid #e1e1e1;
  padding-bottom: 25px; }
  .page .capability .margin {
    margin-left: 220px; }
    .page .capability .margin h1 {
      font-size: 1.13em;
      line-height: 1;
      color: #0093be;
      margin: 0 0 35px 0;
      text-transform: uppercase; }
    .page .capability .margin p {
      font-size: 1em;
      line-height: 1.5;
      color: #969696;
      width: 700px; }
      .page .capability .margin p + p {
        margin: 0; }
  .page .capability ul {
    margin: 36px 0 0 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid #969696; }
    .page .capability ul li {
      font-size: 1.25em;
      margin: 0;
      padding: 18px 0 0 12px;
      box-sizing: border-box;
      border-bottom: 1px solid #969696;
      height: 56px; }
      .page .capability ul li h4, .page .capability ul li a {
        display: inline-block;
        color: #5a5a5a; }
      .page .capability ul li h4 {
        width: 690px; }
      .page .capability ul li a {
        position: relative;
        padding: 0 0 0 42px;
        color: #0093be; }
        .page .capability ul li a:after {
          content: '';
          display: block;
          position: absolute;
          top: -5px;
          right: -84px;
          width: 31px;
          height: 31px;
          background-position: -286px -249px; }
.page .person {
  padding: 54px 0 39px 0;
  border-top: 1px solid #e1e1e1; }
  .page .person .half {
    width: 480px;
    float: left; }
    .page .person .half h1 {
      font-size: 1.88em;
      line-height: 1.2;
      color: #5a5a5a; }
    .page .person .half h4 {
      font-size: 1em;
      line-height: 1.63;
      color: #5a5a5a; }
    .page .person .half h2 {
      font-size: 1.13em;
      line-height: 1.11;
      margin: 20px 0 0 0;
      width: 306px;
      color: #969696; }
      .page .person .half h2 em {
        color: #5a5a5a; }
      .page .person .half h2 a {
        color: #0093be; }
    .page .person .half h3 {
      font-size: 1.13em;
      line-height: 1.11;
      width: 306px;
      color: #969696; }
      .page .person .half h3 em {
        color: #5a5a5a; }
      .page .person .half h3 a {
        color: #0093be; }
    .page .person .half p {
      font-size: 1em;
      line-height: 1.75;
      color: #969696; }
      .page .person .half p + p {
        margin: 20px 0 0 0; }

.project-nav {
  margin: 0 0 41px 0;
  border-bottom: 1px solid #e1e1e1; }
  .project-nav .ex-wrap {
    width: 970px; }
    .project-nav .ex-wrap a {
      width: 182px;
      height: 38px;
      margin: 0 12px 12px 0;
      float: left;
      background: #b4b4b4;
      color: white;
      font-size: 0.813em;
      line-height: 1;
      box-sizing: border-box;
      padding: 14px 17px; }
      .project-nav .ex-wrap a.current {
        background: #0093be; }
      .project-nav .ex-wrap a:hover {
        background: #969696; }

.projects {
  width: 972px; }
  .projects .project {
    display: block;
    width: 312px;
    margin: 0 12px 54px 0;
    float: left; }
    .projects .project figure {
      width: 312px;
      height: 176px;
      margin: 0 0 21px 0;
      background: #b4b4b4; }
      .projects .project figure img {
        height: 100%;
        width: 100%; }
    .projects .project .content-hold {
      font-size: 1em;
      line-height: 1;
      position: relative; }
      .projects .project .content-hold h1 {
        color: #0093be;
        border-bottom: 1px solid #0093be;
        padding: 0 84px 8px 0; }
      .projects .project .content-hold h2 {
        color: #5a5a5a;
        padding: 6px 0 0 0; }
      .projects .project .content-hold p {
        text-transform: uppercase;
        width: 75px;
        padding: 0;
        position: absolute;
        text-align: right;
        color: #5a5a5a;
        top: 0;
        right: 0;
        cursor: pointer; }

.contact header {
  margin: 0 0 45px 0;
  position: relative; }
  .contact header h1, .contact header h3 {
    font-size: 1em;
    line-height: 1.19;
    color: #5a5a5a; }
  .contact header h1 {
    margin: 0 0 16px 0; }
.contact .social {
  width: 100px;
  position: absolute;
  right: 0;
  bottom: 0; }
  .contact .social a {
    display: block;
    width: 22px;
    height: 22px;
    margin: 0 0 0 6px;
    float: right;
    background-position: -63px -300px; }
    .contact .social a + a {
      background-position: -37px -300px; }
      .contact .social a + a + a {
        background-position: -9px -300px; }
.contact .google-map {
  height: 270px;
  background: #b4b4b4;
  margin: 0 0 100px 0; }

.single-project {
  width: 960px; }
  .single-project .one-third {
    width: 312px;
    margin: 0 12px 0 0;
    float: left; }
    .single-project .one-third header {
      margin: 0 0 12px 0;
      height: 358px;
      position: relative; }
      .single-project .one-third header h1 {
        font-size: 2.13em;
        line-height: 1.06;
        width: 250px;
        position: relative;
        top: -6px;
        color: #5a5a5a; }
      .single-project .one-third header .share {
        height: 41px;
        width: 100%;
        box-sizing: border-box;
        padding: 13px 0 0 0;
        position: absolute;
        bottom: 0;
        left: 0;
        border-top: 1px solid #b4b4b4;
        border-bottom: 1px solid #b4b4b4; }
        .single-project .one-third header .share p {
          font-size: 0.813em;
          line-height: 1;
          text-transform: uppercase;
          color: #5a5a5a; }
        .single-project .one-third header .share a {
          width: 22px;
          height: 22px;
          background-position: -9px -300px;
          position: absolute;
          top: 8px;
          right: 28px; }
          .single-project .one-third header .share a + a {
            right: 0;
            background-position: -37px -300px; }
    .single-project .one-third .categories {
      min-height: 224px; }
      .single-project .one-third .categories a {
        width: 182px;
        height: 38px;
        margin: 0 12px 12px 0;
        float: left;
        background: #0093be;
        color: white;
        font-size: 0.813em;
        line-height: 1;
        box-sizing: border-box;
        padding: 14px 17px; }
  .single-project .two-third {
    width: 636px;
    float: left; }
    .single-project .two-third .slider {
      height: 358px; }
      .single-project .two-third .slider .the-container {
        height: 358px;
        margin: 0 0 12px 0;
        position: relative; }
        .single-project .two-third .slider .the-container figure {
          -webkit-transition: linear;
          -webkit-transition-duration: 0.4s;
          -webkit-transition-property: opacity;
          -moz-transition: linear;
          -moz-transition-duration: 0.4s;
          -moz-transition-property: opacity;
          -o-transition: linear;
          -o-transition-duration: 0.4s;
          -o-transition-property: opacity;
          -ms-transition: linear;
          -ms-transition-duration: 0.4s;
          -ms-transition-property: opacity;
          transition: linear;
          transition-duration: 0.4s;
          transition-property: opacity;
          height: 358px;
          background: #e1e1e1;
          opacity: 0;
          left: 0;
          position: absolute;
          top: 0; }
          .single-project .two-third .slider .the-container figure img {
            height: 100%;
            width: 100%; }
          .single-project .two-third .slider .the-container figure.current {
            opacity: 1; }
      .single-project .two-third .slider .holder {
        width: 648px;
        height: 55px;
        margin: 0 0 28px 0; }
        .single-project .two-third .slider .holder figure {
          -webkit-transition: linear;
          -webkit-transition-duration: 0.4s;
          -webkit-transition-property: opacity;
          -moz-transition: linear;
          -moz-transition-duration: 0.4s;
          -moz-transition-property: opacity;
          -o-transition: linear;
          -o-transition-duration: 0.4s;
          -o-transition-property: opacity;
          -ms-transition: linear;
          -ms-transition-duration: 0.4s;
          -ms-transition-property: opacity;
          transition: linear;
          transition-duration: 0.4s;
          transition-property: opacity;
          cursor: pointer;
          opacity: 0.3;
          width: 96px;
          margin: 0 12px 12px 0;
          height: 55px;
          float: left;
          background: #b4b4b4;
          position: relative; }
          .single-project .two-third .slider .holder figure img {
            height: 100%;
            width: 100%; }
          .single-project .two-third .slider .holder figure.clicked, .single-project .two-third .slider .holder figure:hover {
            opacity: 1; }
    .single-project .two-third .content-holder {
      clear: both;
      margin: 100px 0 50px 0; }
      .single-project .two-third .content-holder p {
        font-size: 1em;
        line-height: 1.63;
        color: #5a5a5a; }

.pagination {
  border-top: 1px solid #e1e1e1;
  padding: 10px 0 0 0;
  margin: 0 0 63px 0; }
  .pagination a {
    width: 50%;
    float: left;
    font-size: 0.813em;
    line-height: 1;
    color: #5a5a5a;
    text-transform: uppercase; }
    .pagination a + a {
      text-align: right; }

.related {
  width: 972px;
  margin: 0 0 50px 0; }
  .related .project {
    display: block;
    width: 312px;
    margin: 0 12px 14px 0;
    float: left; }
    .related .project figure {
      width: 312px;
      height: 176px;
      background: #e1e1e1; }
      .related .project figure img {
        width: 100%;
        height: 100%; }
  .related .link {
    display: block;
    width: 100%;
    float: left;
    font-size: 0.813em;
    line-height: 1;
    text-transform: uppercase;
    color: #0093be; }

.all-news {
  width: 972px; }
  .all-news .news-item {
    width: 312px;
    margin: 0 12px 0 0;
    padding: 11px 0 56px 0;
    float: left;
    border-top: 1px solid #e1e1e1;
    position: relative; }
    .all-news .news-item header {
      margin: 0 0 14px 0; }
      .all-news .news-item header h4, .all-news .news-item header a {
        font-size: 0.813em;
        line-height: 1;
        color: #969696;
        text-transform: uppercase; }
      .all-news .news-item header a {
        width: 175px;
        position: absolute;
        text-align: right;
        top: 11px;
        right: 0;
        color: #0093be; }
    .all-news .news-item figure {
      width: 312px;
      height: 176px;
      margin: 0 0 26px 0;
      background: #b4b4b4; }
      .all-news .news-item figure img {
        height: 100%;
        width: 100%; }
    .all-news .news-item h1 {
      font-size: 0.88em;
      line-height: 1.43;
      color: #323232; }
    .all-news .news-item p {
      font-size: 0.88em;
      line-height: 1.43;
      color: #969696; }
      .all-news .news-item p a {
        color: #0093be; }

.careers, .awards {
  background: #e1e1e1;
  padding: 37px 0 57px 0; }
  .careers .wrap h1, .awards .wrap h1 {
    color: #5a5a5a;
    font-size: 2.13em;
    line-height: 1.06;
    width: 535px; }
    .careers .wrap h1 em, .awards .wrap h1 em {
      color: #5a5a5a; }
    .careers .wrap h1 + h1, .awards .wrap h1 + h1 {
      color: #969696; }
  .careers .wrap h2, .awards .wrap h2 {
    font-size: 1.13em;
    line-height: 1;
    color: #5a5a5a;
    margin: 0 0 40px 0; }
  .careers .wrap ul, .awards .wrap ul {
    margin: 36px 0 0 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid #969696; }
    .careers .wrap ul li, .awards .wrap ul li {
      margin: 0;
      padding: 18px 0 0 12px;
      box-sizing: border-box;
      border-bottom: 1px solid #969696;
      height: 56px; }
      .careers .wrap ul li h4, .careers .wrap ul li a, .awards .wrap ul li h4, .awards .wrap ul li a {
        display: inline-block;
        color: #5a5a5a; }
      .careers .wrap ul li h4, .awards .wrap ul li h4 {
        width: 636px; }
      .careers .wrap ul li a, .awards .wrap ul li a {
        position: relative;
        padding: 0 0 0 42px;
        color: #5a5a5a; }
        .careers .wrap ul li a:after, .awards .wrap ul li a:after {
          content: '';
          display: block;
          position: absolute;
          top: -5px;
          right: -84px;
          width: 30px;
          height: 30px;
          background-position: -166px -249px; }
  .careers .wrap p, .awards .wrap p {
    font-size: 0.88em;
    line-height: 1.4;
    color: #969696;
    width: 396px;
    margin: 26px 0 0 0; }
    .careers .wrap p a, .awards .wrap p a {
      color: #5a5a5a;
      text-decoration: underline; }

.careers {
  margin-top: 20px; }

.awards .wrap h2 {
  color: #5a5a5a; }
.awards .wrap ul {
  border-top: 1px solid #969696; }
  .awards .wrap ul li {
    border-bottom: 1px solid #969696;
    position: relative; }
    .awards .wrap ul li h4 {
      color: #5a5a5a;
      cursor: pointer; }
    .awards .wrap ul li ul {
      height: 0;
      overflow: hidden;
      border: 0; }
      .awards .wrap ul li ul li {
        border: 0;
        padding: 0;
        height: auto; }
        .awards .wrap ul li ul li h4 {
          color: #969696;
          padding: 0 0 0 10px;
          cursor: auto; }
        .awards .wrap ul li ul li:after {
          content: '';
          display: none; }
        .awards .wrap ul li ul li a {
          padding: 0; }
          .awards .wrap ul li ul li a:after {
            display: none; }
    .awards .wrap ul li:after {
      content: '';
      display: block;
      position: absolute;
      top: 12px;
      right: 12px;
      width: 30px;
      height: 30px;
      background-position: -166px -249px; }
    .awards .wrap ul li.open {
      height: auto; }
      .awards .wrap ul li.open > h4 {
        color: #0093be; }
      .awards .wrap ul li.open ul {
        height: auto;
        margin: 33px 0 0 0;
        padding: 0 0 20px 0; }
      .awards .wrap ul li.open:after {
        content: '';
        background-position: -126px -249px; }

.promo > article {
  width: 50%;
  float: left;
  box-sizing: border-box;
  height: 150px;
  padding: 30px 0 0 0;
  background: #58595b;
  /* Old browsers */
  background: -moz-linear-gradient(-45deg, #58595b 0%, #414042 100%);
  /* FF3.6+ */
  background: -webkit-gradient(linear, left top, right bottom, color-stop(0%, #58595b), color-stop(100%, #414042));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(-45deg, #58595b 0%, #414042 100%);
  /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(-45deg, #58595b 0%, #414042 100%);
  /* Opera 11.10+ */
  background: -ms-linear-gradient(-45deg, #58595b 0%, #414042 100%);
  /* IE10+ */
  background: linear-gradient(135deg, #58595b 0%, #414042 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#58595b', endColorstr='#414042',GradientType=1 );
  /* IE6-9 fallback on horizontal gradient */ }
  .promo > article .holder {
    width: 480px;
    float: right; }
    .promo > article .holder h1 {
      font-size: 2.13em;
      line-height: 1;
      color: white;
      margin: 0 0 25px 0; }
    .promo > article .holder h2 {
      font-size: 1.13em;
      line-height: 1;
      color: white; }
    .promo > article .holder form .input {
      position: relative;
      width: 168px;
      height: 37px;
      float: left;
      background: #414042;
      /* Old browsers */
      background: -moz-linear-gradient(-45deg, #414042 1%, #58595b 100%);
      /* FF3.6+ */
      background: -webkit-gradient(linear, left top, right bottom, color-stop(1%, #414042), color-stop(100%, #58595b));
      /* Chrome,Safari4+ */
      background: -webkit-linear-gradient(-45deg, #414042 1%, #58595b 100%);
      /* Chrome10+,Safari5.1+ */
      background: -o-linear-gradient(-45deg, #414042 1%, #58595b 100%);
      /* Opera 11.10+ */
      background: -ms-linear-gradient(-45deg, #414042 1%, #58595b 100%);
      /* IE10+ */
      background: linear-gradient(135deg, #414042 1%, #58595b 100%);
      /* W3C */
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#414042', endColorstr='#58595b',GradientType=1 );
      /* IE6-9 fallback on horizontal gradient */ }
      .promo > article .holder form .input label {
        position: absolute;
        top: 12px;
        left: 13px;
        width: 100%;
        font-size: 0.81em;
        line-height: 1;
        color: #e1e1e1; }
      .promo > article .holder form .input input {
        width: 100%;
        height: 100%;
        box-sizing: border-box;
        padding: 14px 13px;
        background: none;
        font-size: 0.81em;
        line-height: 1;
        color: #e1e1e1; }
      .promo > article .holder form .input + .input {
        width: 216px;
        margin: 0 0 0 11px; }
    .promo > article .holder form button {
      background: none;
      font-size: 0.81em;
      font-weight: normal;
      -webkit-font-smoothing: antialiased;
      line-height: 1;
      color: white;
      margin: 11px 0 0 12px;
      float: left;
      padding: 0 0 3px 0;
      border-bottom: 1px solid #0093be;
      text-transform: uppercase; }
  .promo > article + article {
    padding: 30px 0 0 32px; }
    .promo > article + article .holder {
      float: left; }
      .promo > article + article .holder .jobs a {
        font-size: 0.81em;
        color: white;
        height: 37px;
        padding: 11px 13px;
        background: #0093be; }
        .promo > article + article .holder .jobs a:hover {
          background: #0096c8; }
      .promo > article + article .holder .jobs .apply {
        background: none;
        display: inline-block;
        font-size: 0.81em;
        line-height: 1;
        color: white;
        margin: 11px 0 0 12px;
        padding: 0 0 3px 0;
        height: auto;
        border-bottom: 1px solid #0093be;
        text-transform: uppercase;
        float: right; }

.mainFoot {
  min-height: 190px;
  background: #0093be; }
  .mainFoot .wrap .half {
    width: 480px;
    float: left;
    padding: 30px 0 0 0; }
    .mainFoot .wrap .half > h1 {
      width: 125px;
      height: 30px;
      background-position: -1px -163px;
      text-indent: -999px;
      margin: 0 0 50px 0; }
    .mainFoot .wrap .half article {
      overflow: hidden;
      padding-top: 19px; }
      .mainFoot .wrap .half article h2 {
        text-transform: uppercase;
        color: #77b7c6;
        font-size: 0.81em;
        line-height: 1.3; }
        .mainFoot .wrap .half article h2 a.current {
          color: white; }
      .mainFoot .wrap .half article p {
        font-size: 0.81em;
        color: white;
        line-height: 1.3; }
      .mainFoot .wrap .half article .wrap {
        width: 1440px;
        overflow: hidden;
        position: relative;
        -webkit-transition: left 300ms;
        -moz-transition: left 300ms;
        transition: left 300ms; }
        .mainFoot .wrap .half article .wrap div {
          float: left;
          width: 480px;
          position: relative; }
    .mainFoot .wrap .half .links {
      width: 496px;
      margin: 0; }
      .mainFoot .wrap .half .links a {
        width: 248px;
        float: left;
        height: 16px;
        padding: 3px 0 0 0;
        font-size: 0.81em;
        line-height: 1;
        color: #77b7c6; }
        .mainFoot .wrap .half .links a:hover {
          color: white; }
        .mainFoot .wrap .half .links a.current {
          color: white; }
    .mainFoot .wrap .half .social-links .social {
      display: inline-block;
      width: 20px;
      height: 20px;
      margin: 35px 0 0 0; }
      .mainFoot .wrap .half .social-links .social.t {
        background-position: -7px -215px; }
      .mainFoot .wrap .half .social-links .social.f {
        background-position: -32px -215px; }
      .mainFoot .wrap .half .social-links .social.in {
        background-position: -57px -215px; }
    .mainFoot .wrap .half .copyright p {
      font-size: 0.81em;
      line-height: 1;
      color: white;
      width: 248px;
      float: left;
      margin: 9px 0 0 0; }
      .mainFoot .wrap .half .copyright p + p {
        color: #77b7c6;
        width: 230px; }
      .mainFoot .wrap .half .copyright p a:hover {
        color: white; }

label {
  -webkit-transition: linear;
  -webkit-transition-duration: 0.3s;
  -webkit-transition-property: opacity;
  -moz-transition: linear;
  -moz-transition-duration: 0.3s;
  -moz-transition-property: opacity;
  -o-transition: linear;
  -o-transition-duration: 0.3s;
  -o-transition-property: opacity;
  -ms-transition: linear;
  -ms-transition-duration: 0.3s;
  -ms-transition-property: opacity;
  transition: linear;
  transition-duration: 0.3s;
  transition-property: opacity;
  opacity: 1;
  pointer-events: none; }
  label.hide {
    opacity: 0; }

.readmore-link {
  color: #b4b4b4;
  cursor: pointer;
  font-size: 1em;
  font-weight: normal;
  padding: 0 0 0 15px;
  position: relative; }
  .readmore-link .readmore {
    display: block; }
  .readmore-link .readless {
    display: none; }
  .readmore-link:before {
    background-position: -89px -300px;
    content: ' ';
    display: block;
    height: 16px;
    left: 0;
    position: absolute;
    top: 8px;
    width: 8px; }
  .readmore-link.selected .readmore {
    display: none; }
  .readmore-link.selected .readless {
    display: block; }
  .readmore-link.selected:before {
    background-position: -99px -300px; }

.readmore-text {
  -webkit-transition: linear;
  -webkit-transition-duration: 0.5s;
  -webkit-transition-property: max-height;
  -moz-transition: linear;
  -moz-transition-duration: 0.5s;
  -moz-transition-property: max-height;
  -o-transition: linear;
  -o-transition-duration: 0.5s;
  -o-transition-property: max-height;
  -ms-transition: linear;
  -ms-transition-duration: 0.5s;
  -ms-transition-property: max-height;
  transition: linear;
  transition-duration: 0.5s;
  transition-property: max-height;
  max-height: 0;
  overflow: hidden; }
  .readmore-text.open {
    max-height: 300px; }
  .readmore-text p {
    margin-top: 0 !important; }

.viewgallery .showgallery {
  display: inline; }
.viewgallery .hidegallery {
  display: none; }
.viewgallery.selected .showgallery {
  display: none; }
.viewgallery.selected .hidegallery {
  display: inline; }

/*# sourceMappingURL=desktop.css.map */
