@import url(https://fonts.googleapis.com/css?family=Raleway:400,300,700);
body {
  background-color: #fff;
  padding: 0;
  margin: 0;
  position: relative;
  overflow-x: hidden;
  font-family: "Raleway", "Helvetica Neue", Helvetica, Arial, sans-serif;
  width: 100%;
  height: 100%; }

a, a:visited {
  color: #47b9be; }
a:hover, a:focus {
  color: #0e2540; }

section {
  padding: 32px 0; }
  section:first-child {
    padding-top: 64px; }
  section h1 {
    text-align: center;
    font-size: 2em; }

.page {
  padding: 64px 0; }
  .page:first-child {
    padding-top: 96px; }
  .page:last-child {
    padding-bottom: 96px; }

.googlemap {
  width: 100%; }
  @media screen and (min-width: 750px) {
    .googlemap {
      min-height: 50vh; } }

.go-to-top {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 999;
  background-color: #0e2540;
  padding: 16px;
  cursor: pointer;
  -webkit-transition: all, ease, 0.5s;
  -moz-transition: all, ease, 0.5s;
  -ms-transition: all, ease, 0.5s;
  -o-transition: all, ease, 0.5s;
  transition: all, ease, 0.5s; }
  .go-to-top, .go-to-top:visited {
    color: #fff; }
  .go-to-top:hover, .go-to-top:focus {
    color: #47b9be; }
  .go-to-top .label {
    display: none;
    padding-left: 8px; }
  .go-to-top.hide {
    height: 0;
    opacity: 0;
    overflow: hidden; }
  @media screen and (min-width: 750px) {
    .go-to-top .label {
      display: initial; } }

.page-content {
  padding: 96px 16px; }

.hero {
  padding: 32px 0; }

.navbar {
  position: fixed;
  background-color: #fff;
  width: 100%;
  z-index: 999;
  border-bottom: 4px solid #47b9be;
  height: 64px;
  -webkit-transition: all, ease, 0.5s;
  -moz-transition: all, ease, 0.5s;
  -ms-transition: all, ease, 0.5s;
  -o-transition: all, ease, 0.5s;
  transition: all, ease, 0.5s; }
  .navbar.scroll-move {
    top: -64px; }

.navbar > .container {
  width: 100%;
  padding: 0; }

.navbar-brand {
  position: relative;
  height: 64px; }
  .navbar-brand .logo {
    position: absolute;
    height: 32px;
    top: 16px;
    left: 16px; }
  .navbar-brand .title {
    font-size: 24px;
    height: 64px;
    line-height: 64px;
    padding-left: 50px; }

.navbar-hamburger-icon {
  font-size: 24px;
  color: #47b9be;
  position: absolute;
  top: 0;
  right: 16px;
  width: 32px;
  border-radius: 2px;
  text-align: center;
  cursor: pointer;
  height: 64px;
  line-height: 64px;
  -webkit-transition: color, ease, 0.3s;
  -moz-transition: color, ease, 0.3s;
  -ms-transition: color, ease, 0.3s;
  -o-transition: color, ease, 0.3s;
  transition: color, ease, 0.3s; }
  .navbar-hamburger-icon:hover, .navbar-hamburger-icon:focus, .navbar-hamburger-icon.active {
    color: #0e2540; }
  @media screen and (min-width: 750px) {
    .navbar-hamburger-icon {
      display: none; } }

.navbar-menu {
  list-style: none;
  padding: 0;
  margin: 0;
  background-color: #47b9be;
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  -webkit-transition: all, ease, 0.3s;
  -moz-transition: all, ease, 0.3s;
  -ms-transition: all, ease, 0.3s;
  -o-transition: all, ease, 0.3s;
  transition: all, ease, 0.3s;
  position: absolute;
  width: 100%;
  top: 64px; }
  .navbar-menu a {
    width: 100%; }
    .navbar-menu a, .navbar-menu a:visited {
      color: #fff; }
  .navbar-menu > li {
    text-align: center;
    cursor: pointer;
    height: 48px;
    line-height: 48px; }
    .navbar-menu > li:hover, .navbar-menu > li:focus, .navbar-menu > li.active {
      background-color: #92d6d9; }
      .navbar-menu > li:hover a, .navbar-menu > li:focus a, .navbar-menu > li.active a {
        color: #0e2540; }
  .navbar-menu.active {
    max-height: none;
    opacity: 1; }

@media screen and (min-width: 750px) {
  .navbar-brand,
  .navbar-nav {
    display: inline-block; }

  .navbar-nav {
    float: right;
    padding-right: 16px; }

  .navbar-menu {
    max-height: none;
    opacity: 1;
    background-color: transparent;
    position: relative;
    top: initial;
    line-height: 64px;
    -webkit-transition: none;
    -moz-transition: none;
    -ms-transition: none;
    -o-transition: none;
    transition: none; }
    .navbar-menu a, .navbar-menu a:visited {
      color: #47b9be; }
    .navbar-menu > li {
      display: inline-block;
      border: none; }
      .navbar-menu > li:not(first-child) {
        padding-left: 8px; }
      .navbar-menu > li:hover, .navbar-menu > li:focus, .navbar-menu > li.active {
        background-color: #fff; } }
footer {
  background-color: #0e2540;
  color: #fff;
  text-align: center; }
  footer .container > * {
    padding: 16px 0; }
  footer a, footer a:visited {
    color: #fff; }
  footer a:hover, footer a:focus {
    color: #47b9be; }

.footer-link-list {
  margin: 0; }
  .footer-link-list > li {
    width: 100%;
    display: block; }
    @media screen and (min-width: 750px) {
      .footer-link-list > li {
        width: auto;
        display: inline-block; }
        .footer-link-list > li:not(first-child) {
          padding-left: 16px; } }

.partner-links a {
  -webkit-transition: opacity, ease, 0.3s;
  -moz-transition: opacity, ease, 0.3s;
  -ms-transition: opacity, ease, 0.3s;
  -o-transition: opacity, ease, 0.3s;
  transition: opacity, ease, 0.3s; }
  .partner-links a:hover, .partner-links a:focus {
    opacity: .8; }

@-webkit-keyframes fade-out {
  33% {
    opacity: 1; }
  66% {
    opacity: 0; } }
@-moz-keyframes fade-out {
  33% {
    opacity: 1; }
  66% {
    opacity: 0; } }
@-o-keyframes fade-out {
  33% {
    opacity: 1; }
  66% {
    opacity: 0; } }
@keyframes fade-out {
  33% {
    opacity: 1; }
  66% {
    opacity: 0; } }
.carousel {
  list-style: none;
  padding: 0;
  margin: 0; }
  .carousel > li {
    height: 500px;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-size: cover;
    background-repeat: no-repeat;
    z-index: 0;
    opacity: 0;
    -webkit-animation: fade-out 9s infinite both;
    -moz-animation: fade-out 9s infinite both;
    -o-animation: fade-out 9s infinite both;
    animation: fade-out 9s infinite both;
    background-image: url(../images/hero-1.jpg); }
    @media screen and (min-width: 750px) {
      .carousel > li {
        height: 800px; } }
    @media screen and (min-width: 750px) {
      .carousel > li {
        background-image: url(../images/hero-1.jpg); } }
    .carousel > li:nth-child(2) {
      background-image: url(../images/hero-2.jpg);
      /*-- Animation delay: 3s --*/
      -webkit-animation-delay: 3s;
      -moz-animation-delay: 3s;
      animation-delay: 3s; }
      @media screen and (min-width: 750px) {
        .carousel > li:nth-child(2) {
          background-image: url(../images/hero-2.jpg); } }
    .carousel > li:nth-child(3) {
      background-image: url(../images/hero-3.jpg);
      /*-- Animation delay: 6s --*/
      -webkit-animation-delay: 6s;
      -moz-animation-delay: 6s;
      animation-delay: 6s; }
      @media screen and (min-width: 750px) {
        .carousel > li:nth-child(3) {
          background-image: url(../images/hero-3.jpg); } }

input,
textarea {
  outline: none;
  border: 2px solid transparent;
  width: 100%;
  padding: 16px 0; }

input[type="submit"] {
  height: auto; }

textarea {
  resize: vertical; }

.photowall {
  padding: 0;
  margin: 0;
  font-size: 0;
  background-color: #f0f0f0; }

.photowall-item {
  padding: 0;
  margin: 0;
  width: 20%;
  max-height: 200px;
  clear: both;
  display: inline-block;
  position: relative; }
  .photowall-item figcaption {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 0;
    overflow: hidden;
    width: 100%;
    font-size: 12px;
    background-color: rgba(0, 0, 0, 0.5);
    color: #fff;
    -webkit-transition: min-height, ease, 0.3s;
    -moz-transition: min-height, ease, 0.3s;
    -ms-transition: min-height, ease, 0.3s;
    -o-transition: min-height, ease, 0.3s;
    transition: min-height, ease, 0.3s; }
  .photowall-item:hover, .photowall-item:focus, .photowall-item.active {
    cursor: pointer; }
    .photowall-item:hover.empty, .photowall-item:focus.empty, .photowall-item.active.empty {
      cursor: auto; }
    @media screen and (min-width: 750px) {
      .photowall-item:hover figcaption, .photowall-item:focus figcaption, .photowall-item.active figcaption {
        height: auto;
        padding: 1em 0; } }

.photowall-detail {
  color: #fff;
  font-size: initial;
  text-align: left; }
  .photowall-detail.active {
    display: block; }

.close-button {
  display: block;
  position: fixed;
  top: 96px;
  right: 16px;
  color: #47b9be;
  font-size: 28px;
  z-index: 1000;
  padding: 0;
  cursor: pointer; }

.about {
  width: 100%;
  margin: 0 auto;
  position: relative;
  background-image: url(../images/hero-1.jpg);
  background-repeat: no-repeat;
  background-size: auto 100%;
  background-position: top center;
  color: #fff; }
  .about .carousel {
    display: none; }
  @media screen and (min-width: 750px) {
    .about {
      height: 800px; }
      .about .carousel {
        display: block; } }
  .about:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 0; }
    @media screen and (min-width: 750px) {
      .about:before {
        height: 800px;
        z-index: 1; } }

.about-text {
  padding-top: 64px; }
  @media screen and (min-width: 750px) {
    .about-text {
      bottom: 64px;
      z-index: 1;
      position: absolute;
      left: 0;
      right: 0; } }

.about-offices {
  font-size: 0;
  margin-top: 16px; }

.about-office {
  background-color: rgba(14, 37, 64, 0.7);
  padding: .5em;
  text-align: center;
  display: inline-block;
  width: 100%;
  min-height: 4.5em;
  overflow: hidden;
  font-size: initial; }
  @media screen and (min-width: 750px) {
    .about-office {
      width: 20%; } }
  .about-office, .about-office:visited, .about-office:hover {
    color: #fff; }
  .about-office:hover, .about-office:focus {
    background-color: #0e2540; }

.about-read-more {
  text-align: center;
  cursor: pointer;
  padding: 4px;
  opacity: .5;
  -webkit-transition: opacity, ease, 0.3s;
  -moz-transition: opacity, ease, 0.3s;
  -ms-transition: opacity, ease, 0.3s;
  -o-transition: opacity, ease, 0.3s;
  transition: opacity, ease, 0.3s; }
  .about-read-more *, .about-read-more *:visited,
  .about-read-more a,
  .about-read-more a:visited {
    color: #fff; }
  .about-read-more i {
    padding-left: 8px; }
  @media screen and (min-width: 750px) {
    .about-read-more {
      width: 180px; } }
  .about-read-more:hover {
    opacity: 1; }

.about-more {
  max-height: 0;
  opacity: 0;
  -webkit-transition: all, ease, 0.3s;
  -moz-transition: all, ease, 0.3s;
  -ms-transition: all, ease, 0.3s;
  -o-transition: all, ease, 0.3s;
  transition: all, ease, 0.3s;
  overflow: hidden; }
  .about-more.active {
    max-height: none;
    opacity: 1; }
  .about-more p, .about-more h5 {
    margin-bottom: .5rem; }

.highlight {
  margin-bottom: 16px;
  text-align: center; }

.highlight-item {
  display: inline-block;
  position: relative;
  width: 32%;
  font-size: 0;
  padding: 0;
  margin: 0;
  height: 140px; }
  @media screen and (min-width: 750px) {
    .highlight-item {
      height: 180px; } }
  .highlight-item > * {
    position: absolute;
    font-size: initial;
    left: 0;
    right: 0; }
  .highlight-item .highlight-icon {
    top: 0;
    cursor: pointer; }
    .highlight-item .highlight-icon > i {
      position: relative;
      margin: 0 auto;
      font-size: 2em;
      display: block;
      width: 2em;
      height: 2em;
      line-height: 1.8em;
      color: #fff; }
      .highlight-item .highlight-icon > i:before {
        position: absolute;
        display: block;
        background-color: #47b9be;
        width: 2em;
        height: 2em;
        border-radius: 50%;
        border: 0.1em solid transparent;
        -webkit-transition: all, 0.3s, ease;
        -moz-transition: all, 0.3s, ease;
        -ms-transition: all, 0.3s, ease;
        -o-transition: all, 0.3s, ease;
        transition: all, 0.3s, ease; }
      @media screen and (min-width: 750px) {
        .highlight-item .highlight-icon > i {
          font-size: 4em; } }
    .highlight-item .highlight-icon.active i:before, .highlight-item .highlight-icon:focus i:before, .highlight-item .highlight-icon:hover i:before {
      background-color: #37979b;
      border-color: #6dc7cb; }
  .highlight-item figcaption {
    bottom: 0; }

.service-detail {
  padding: 32px 0;
  background-image: url("../images/bg-1.jpg");
  background-position: center center;
  background-size: 100%;
  overflow: hidden; }

.service-list {
  overflow: hidden;
  height: 0;
  position: relative;
  -webkit-transition: height, ease, 0.3s;
  -moz-transition: height, ease, 0.3s;
  -ms-transition: height, ease, 0.3s;
  -o-transition: height, ease, 0.3s;
  transition: height, ease, 0.3s; }
  .service-list.active {
    height: 100%; }

.service-item {
  background-color: rgba(0, 0, 0, 0.8);
  text-align: center;
  width: 100%;
  height: 64px;
  line-height: 64px;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 10px 1%;
  position: relative; }
  .service-item:hover, .service-item:focus {
    cursor: pointer; }
    .service-item:hover .service-item-read-more, .service-item:focus .service-item-read-more {
      max-height: none;
      opacity: 1; }
  .service-item.empty {
    background-color: transparent;
    display: none; }
  .service-item span {
    color: #fff;
    font-size: initial; }
  .service-item .service-item-title {
    width: 100%;
    position: relative;
    display: inline-block;
    vertical-align: middle;
    line-height: normal; }
  .service-item .service-item-read-more {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    display: block;
    background-color: #47b9be;
    -webkit-transition: all, ease, 0.3s;
    -moz-transition: all, ease, 0.3s;
    -ms-transition: all, ease, 0.3s;
    -o-transition: all, ease, 0.3s;
    transition: all, ease, 0.3s; }

@media screen and (min-width: 750px) {
  .service-detail {
    height: 300px;
    padding: 0;
    margin: 0;
    font-size: 0; }

  .service-item {
    display: inline-block;
    width: 20%;
    height: 100px;
    line-height: 100px;
    padding: 0;
    margin: 0; }
    .service-item.empty {
      display: inline-block; } }
.service-close {
  font-size: 1.5em;
  cursor: pointer;
  -webkit-transition: color, ease, 0.3s;
  -moz-transition: color, ease, 0.3s;
  -ms-transition: color, ease, 0.3s;
  -o-transition: color, ease, 0.3s;
  transition: color, ease, 0.3s; }
  .service-close:hover, .service-close:focus {
    color: #47b9be; }

.service-item-description {
  position: absolute;
  height: 100%;
  width: 100%;
  padding: 32px;
  top: 0;
  left: 0;
  background-color: #0e2540;
  color: #fff;
  font-size: initial;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  z-index: -1;
  -webkit-transition: all, ease, 0.3s;
  -moz-transition: all, ease, 0.3s;
  -ms-transition: all, ease, 0.3s;
  -o-transition: all, ease, 0.3s;
  transition: all, ease, 0.3s; }
  .service-item-description.active {
    max-height: none;
    opacity: 1;
    z-index: 100; }

.service-primary {
  padding: 32px 0; }

.service-primary-item {
  position: relative; }
  .service-primary-item .caption {
    display: block;
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;
    padding: 16px;
    background-color: rgba(0, 0, 0, 0.5);
    color: #fff;
    text-align: center; }

.blog {
  background-image: url("../images/bg-2.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 96px 0; }
  @media screen and (min-width: 750px) {
    .blog {
      background-size: 100%; } }

.blog-button {
  line-height: normal; }
  .blog-button, .blog-button:visited {
    color: #fff;
    border-color: #fff; }
  .blog-button:hover, .blog-button:focus {
    background-color: #47b9be; }
  @media screen and (min-width: 750px) {
    .blog-button {
      font-size: 1.2em; } }

.office-image {
  padding: 32px 0;
  text-align: center; }
  .office-image img {
    max-width: 100%;
    max-height: 600px; }

.team-thumbnail {
  padding: 32px 0; }

.team-office {
  padding: 0 16px;
  cursor: pointer; }
  .team-office.active {
    color: #0e2540;
    text-decoration: underline; }

.job-list {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: center; }
  .job-list p {
    margin: 0; }

.job-title {
  font-size: 1.8em; }

@media screen and (min-width: 750px) {
  .job-list {
    text-align: left; }

  .job-item {
    padding: 16px 0; }

  .job-title {
    display: block;
    clear: both; }

  .job-location, .job-date {
    display: inline-block; }

  .job-date {
    float: right; } }
.contact {
  background-color: #47b9be;
  color: #fff; }
  .contact .input-wrapper {
    position: relative; }
  .contact label {
    color: #47b9be;
    position: absolute; }
  .contact input,
  .contact textarea {
    overflow: hidden; }
    .contact input:focus + label, .contact input:not(:placeholder-shown) + label,
    .contact textarea:focus + label,
    .contact textarea:not(:placeholder-shown) + label {
      opacity: 0; }
  .contact textarea {
    height: 316px; }
  .contact .btn.cta {
    background-color: #0e2540; }
    .contact .btn.cta:hover, .contact .btn.cta:focus {
      background-color: #173d6a; }
