@charset "UTF-8";
/* ==== Buttons and text links === */
/* ==== Fade in Transition === */
@font-face {
  font-family: "Circular Std Black";
  font-style: normal;
  font-weight: normal;
  src: url("../fonts/CircularStd-Black.woff") format("woff");
}
@font-face {
  font-family: "Circular Std Book";
  font-style: normal;
  font-weight: normal;
  src: url("../fonts/CircularStd-Book.woff") format("woff");
}
@font-face {
  font-family: "Circular Std Medium";
  font-style: normal;
  font-weight: normal;
  src: url("../fonts/CircularStd-Medium.woff") format("woff");
}
/*------------------------------------*\
  #RESET
\*------------------------------------*/
/**
 * As well as using Normalize.css, it is often advantageous to remove all
 * margins from certain elements.
 */
html {
  box-sizing: border-box;
}

*, *:before, *:after {
  box-sizing: inherit;
}

body,
h1, h2, h3, h4, h5, h6,
blockquote, pre,
dl, dd,
form, fieldset, legend,
figure,
table, th, td, caption,
hr {
  margin: 0;
  padding: 0;
}

p {
  margin-top: 0;
}

/**
 * Remove trailing margins from nested lists.
 */
li > ul,
li > ol {
  margin-bottom: 0;
}

/**
 * Remove trailing margins from nested lists.
 */
li > ul,
li > ol {
  margin-bottom: 0;
}

/*------------------------------------*\
  #FORMS
\*------------------------------------*/
button:hover,
html [type=button]:hover,
[type=reset]:hover,
[type=submit]:hover {
  cursor: pointer;
}

form {
  margin-bottom: 5%;
}
form input,
form textarea {
  padding: 12px 10px;
  width: 100%;
  display: block;
  font-family: "brown-light", sans-serif;
  font-size: 1.125rem;
  color: #495464;
  margin-bottom: 10px;
  border: solid 1px red;
  background-color: #F7F7F7;
}
form textarea {
  height: 140px;
}

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #495464;
  opacity: 1; /* Firefox */
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #495464;
}

::-ms-input-placeholder { /* Microsoft Edge */
  color: #495464;
}

.formie-button .fui-submit {
  background-color: #0aa7db;
  border: solid 1px #0aa7db;
  border-radius: 0;
}
.formie-button .fui-submit:hover {
  background-color: #F1CA19;
  border: solid 1px #F1CA19;
  color: #495464;
}

.errors {
  padding: 10px;
  background-color: #D11E1E;
  margin-bottom: 10px;
  color: white;
  font-size: 1.125rem;
  line-height: 22px;
}
.errors li {
  display: inline-block;
}

.c-required::before {
  content: "*";
  color: #D11E1E;
  position: absolute;
  left: -13px;
}

.l-flex-grid {
  display: flex;
  display: -ms-flexbox;
  flex-wrap: wrap;
  justify-content: space-evenly;
  width: 100%;
}

.grid__item {
  width: 100%;
  margin-bottom: 1em;
  list-style-type: none;
  position: relative;
  display: block;
}
@media (min-width: 48em) {
  .grid__item {
    margin: 0 2% 2rem 0;
    width: auto;
  }
}
.grid__item:last-child {
  margin-right: 0;
}
@media (min-width: 48em) {
  .grid__item {
    width: 100%;
    margin-bottom: 1em;
    list-style-type: none;
    position: relative;
    display: flex;
  }
}
@media (min-width: 48em) and (min-width: 48em) {
  .grid__item {
    margin: 0 2% 2rem 0;
    width: auto;
  }
}
@media (min-width: 48em) {
  .grid__item:last-child {
    margin-right: 0;
  }
}
.grid--columns-2 .grid__item {
  width: 100%;
  margin-bottom: 1em;
  list-style-type: none;
  position: relative;
}
@media (min-width: 48em) {
  .grid--columns-2 .grid__item {
    margin: 0 2% 2rem 0;
    width: auto;
  }
}
.grid--columns-2 .grid__item:last-child {
  margin-right: 0;
}
@media (min-width: 48em) {
  .grid--columns-2 .grid__item {
    width: 49%;
  }
  .grid--columns-2 .grid__item:nth-child(2n) {
    margin-right: 0;
  }
}
.grid--columns-3 .grid__item {
  width: 100%;
  margin-bottom: 1em;
  list-style-type: none;
  position: relative;
}
@media (min-width: 48em) {
  .grid--columns-3 .grid__item {
    margin: 0 2% 2rem 0;
    width: auto;
  }
}
.grid--columns-3 .grid__item:last-child {
  margin-right: 0;
}
@media (min-width: 48em) {
  .grid--columns-3 .grid__item {
    width: 49%;
  }
  .grid--columns-3 .grid__item:nth-child(1n) {
    margin-right: 2%;
  }
  .grid--columns-3 .grid__item:nth-child(2n) {
    margin-right: 0;
  }
}
@media (min-width: 64em) {
  .grid--columns-3 .grid__item {
    width: 31%;
  }
  .grid--columns-3 .grid__item:nth-child(2n) {
    margin-right: 2%;
  }
  .grid--columns-3 .grid__item:nth-child(3n) {
    margin-right: 0;
  }
}
.grid--columns-4 .grid__item {
  width: 100%;
  margin-bottom: 1em;
  list-style-type: none;
  position: relative;
}
@media (min-width: 48em) {
  .grid--columns-4 .grid__item {
    margin: 0 2% 2rem 0;
    width: auto;
  }
}
.grid--columns-4 .grid__item:last-child {
  margin-right: 0;
}
@media (min-width: 37.5em) {
  .grid--columns-4 .grid__item {
    width: 49%;
  }
  .grid--columns-4 .grid__item:nth-child(1n) {
    margin-right: 2%;
  }
  .grid--columns-4 .grid__item:nth-child(2n) {
    margin-right: 0;
  }
}
@media (min-width: 48em) {
  .grid--columns-4 .grid__item {
    width: 32%;
  }
  .grid--columns-4 .grid__item:nth-child(2n) {
    margin-right: 2%;
  }
  .grid--columns-4 .grid__item:nth-child(3n) {
    margin-right: 0;
  }
}
@media (min-width: 64em) {
  .grid--columns-4 .grid__item {
    width: 23.5%;
  }
  .grid--columns-4 .grid__item:nth-child(2n) {
    margin-right: 2%;
  }
  .grid--columns-4 .grid__item:nth-child(3n) {
    margin-right: 2%;
  }
  .grid--columns-4 .grid__item:nth-child(4n) {
    margin-right: 0;
  }
}

.c-homepage-hero {
  font-family: "Circular Std Medium";
  font-style: normal;
  font-weight: normal;
  src: url("../fonts/CircularStd-Medium.woff") format("woff");
  font-size: 2.125rem;
  line-height: 38px;
  margin: 1rem 0;
  color: white;
}
@media (min-width: 64em) {
  .c-homepage-hero {
    font-size: 3.25rem;
    line-height: 55px;
  }
}

h1 {
  font-family: "Circular Std Medium";
  font-style: normal;
  font-weight: normal;
  src: url("../fonts/CircularStd-Medium.woff") format("woff");
  font-size: 2.125rem;
  line-height: 38px;
  color: #495464;
  padding-bottom: 6px;
}
@media (min-width: 64em) {
  h1 {
    font-size: 2.5rem;
    line-height: 44px;
  }
}

h2 {
  font-family: "Circular Std Book";
  font-style: normal;
  font-weight: normal;
  src: url("../fonts/CircularStd-Book.woff") format("woff");
  font-size: 1.625rem;
  line-height: 30px;
  color: #0aa7db;
  padding-bottom: 6px;
}
@media (min-width: 64em) {
  h2 {
    font-size: 2.0625rem;
    line-height: 36px;
  }
}

h3 {
  font-family: "Circular Std Book";
  font-style: normal;
  font-weight: normal;
  src: url("../fonts/CircularStd-Book.woff") format("woff");
  font-size: 1.375rem;
  line-height: 26px;
  font-weight: normal;
  color: #0aa7db;
  padding-bottom: 6px;
}
@media (min-width: 64em) {
  h3 {
    font-size: 1.75rem;
    line-height: 34px;
  }
}

h4 {
  font-family: "Circular Std Book";
  font-style: normal;
  font-weight: normal;
  src: url("../fonts/CircularStd-Book.woff") format("woff");
  font-size: 1.75rem;
  line-height: 32px;
  font-weight: normal;
  margin-bottom: 1rem;
}

.h-desktop {
  display: none;
}
@media (min-width: 48em) {
  .h-desktop {
    display: block;
  }
}

.h-mobile {
  display: block;
}
@media (min-width: 48em) {
  .h-mobile {
    display: none;
  }
}

.h-pos-relative {
  position: relative;
}

.h-block-marbtm {
  margin-bottom: 50px;
}
@media (min-width: 48em) {
  .h-block-marbtm {
    margin-bottom: 70px;
  }
}

.h-inlineblock {
  display: inline-block;
}

.h-padtop-30 {
  padding-top: 30px;
}

.h-padbtm-20 {
  padding-bottom: 20px;
}

.h-padbtm-40 {
  padding-bottom: 40px;
}

.h-martop-120 {
  margin-top: 120px;
}

/*------------------------------------*\
  #IMAGES
\*------------------------------------*/
img {
  width: 100%;
  height: auto;
  line-height: 0;
}

.c-image {
  width: inherit;
}

/**
 * High-level, page-level styling.
 *
 * 1. Set the default `font-size` and `line-height` for the entire project,
 *    sourced from our default variables. The `font-size` is calculated to exist
 *    in ems, the `line-height` is calculated to exist unitlessly.
 * 2. Force scrollbars to always be visible to prevent awkward ‘jumps’ when
 *    navigating between pages that do/do not have enough content to produce
 *    scrollbars naturally.
 * 3. Ensure the page always fills at least the entire height of the viewport.
 * 4. Prevent certain mobile browsers from automatically zooming fonts.
 * 5. Fonts on OSX will look more consistent with other systems that do not
 *    render text using sub-pixel anti-aliasing.
 */
html {
  font-size: 1em; /* [1] */
  line-height: 1.5; /* [1] */
  overflow-y: scroll; /* [2] */
  min-height: 100%; /* [3] */
  -webkit-text-size-adjust: 100%; /* [4] */
  -ms-text-size-adjust: 100%; /* [4] */
  -moz-osx-font-smoothing: grayscale; /* [5] */
  -webkit-font-smoothing: antialiased; /* [5] */
  color: #495464;
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  font-style: normal;
  /* These are technically the same, but use both */
  overflow-wrap: break-word;
  word-wrap: break-word;
  /* Instead use this non-standard one: */
  word-break: break-word;
  scroll-behavior: smooth;
}

a {
  transition: all 0.3s ease-in-out;
  text-decoration: none;
  color: #495464;
}
a:hover {
  color: #0aa7db;
}

.c-home-intro {
  font-family: "Circular Std Book";
  font-style: normal;
  font-weight: normal;
  src: url("../fonts/CircularStd-Book.woff") format("woff");
  font-size: 1.375rem;
  line-height: 26px;
  font-weight: normal;
  margin-bottom: 1rem;
}
@media (min-width: 48em) {
  .c-home-intro {
    font-size: 1.75rem;
    line-height: 32px;
  }
}

.c-textalign-centre {
  text-align: center;
}

.c-text-white {
  color: white;
}

.c-text-body {
  color: #495464;
}

@media (min-width: 48em) {
  figure img {
    width: inherit;
  }
}

.c-textalign-center {
  text-align: center;
}

@media (min-width: 48em) {
  .image-style-align-left {
    float: left;
    padding: 6px 20px 6px 0;
  }
}

@media (min-width: 48em) {
  .image-style-align-right {
    float: right;
    padding: 6px 0 6px 20px;
  }
}

.image-style-align-center {
  text-align: center;
}

/*------------------------------------*\
  #VARIOUS BLOCK STYLES
\*------------------------------------*/
.l-content {
  width: 100%;
  display: block;
  position: relative;
  margin-top: 80px;
}
@media (min-width: 48em) {
  .l-content {
    margin-top: 0;
  }
}

.l-row-wrap {
  width: 100%;
  position: relative;
  padding: 0;
}
.l-row-wrap.c-bkgd-grey {
  background-color: grey;
}
.l-row-wrap.c-bkgd-dusty {
  background-color: #809BB7;
}

.l-row-restricted {
  padding: 0 20px;
  width: 100%;
}
@media (min-width: 48em) {
  .l-row-restricted {
    width: calc(100% - 80px);
    margin: 0 40px;
    padding: 0;
  }
}
@media (min-width: 83.375em) {
  .l-row-restricted {
    max-width: 1240px;
    margin: 0 auto;
  }
}

.c-row {
  position: relative;
}

.c-10-col {
  width: 100%;
  margin: 0;
  display: inline-block;
}
@media (min-width: 48em) {
  .c-10-col {
    width: calc(100% - 180px);
    margin: 0 90px;
  }
}
@media (min-width: 83.375em) {
  .c-10-col {
    width: calc(100% - 256px);
    margin: 0 128px;
  }
}

.c-8-col {
  width: 100%;
  margin: 0;
  display: inline-block;
}
@media (min-width: 48em) {
  .c-8-col {
    width: calc(100% - 320px);
    margin: 0 160px;
  }
}
@media (min-width: 83.375em) {
  .c-8-col {
    width: calc(100% - 512px);
    margin: 0 256px;
  }
}

.c-5050 {
  display: flex;
  position: relative;
  flex-direction: column;
}
@media (min-width: 64em) {
  .c-5050 {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: space-between;
    flex-direction: row;
  }
}
.c-5050 .c-5050-left,
.c-5050 .c-5050-right {
  position: relative;
  flex: 0 1 100%;
}
@media (min-width: 64em) {
  .c-5050 .c-5050-left,
  .c-5050 .c-5050-right {
    flex: 0 1 48%;
  }
}
.c-5050 .c-5050-left .inside,
.c-5050 .c-5050-right .inside {
  width: 100%;
  position: relative;
  padding-bottom: 30px;
}
@media (min-width: 83.375em) {
  .c-5050 .c-5050-left .inside,
  .c-5050 .c-5050-right .inside {
    padding: 0 20px;
  }
}
@media (min-width: 64em) {
  .c-5050 .c-5050-left .inside,
  .c-5050 .c-5050-right .inside {
    padding: 0;
  }
}
.c-5050 .c-5050-left {
  margin-bottom: 30px;
}
@media (min-width: 64em) {
  .c-5050 .c-5050-left {
    margin-bottom: 0;
  }
}

.c-3366 {
  display: block;
}
@media (min-width: 48em) {
  .c-3366 {
    display: flex;
    height: 100%;
    align-items: stretch;
  }
}
.c-3366 .c-3366-left {
  width: 100%;
  position: relative;
}
@media (min-width: 48em) {
  .c-3366 .c-3366-left {
    width: 33%;
  }
}
.c-3366 .c-3366-right {
  width: 100%;
  display: inline-block;
  position: relative;
}
@media (min-width: 48em) {
  .c-3366 .c-3366-right {
    width: 66%;
  }
}

.c-6633 {
  display: block;
}
@media (min-width: 48em) {
  .c-6633 {
    display: flex;
    height: 100%;
    align-items: stretch;
  }
}
.c-6633 .c-6633-left {
  width: 100%;
  position: relative;
}
@media (min-width: 48em) {
  .c-6633 .c-6633-left {
    width: 66%;
  }
}
.c-6633 .c-6633-right {
  width: 100%;
  display: inline-block;
  position: relative;
}
@media (min-width: 48em) {
  .c-6633 .c-6633-right {
    width: 33%;
  }
}

.c-hero-casestudy {
  max-height: 730px;
  overflow: hidden;
  line-height: 0;
}
.c-hero-casestudy img {
  height: 300px;
  overflow: hidden;
  width: initial;
}
@media (min-width: 37.5em) {
  .c-hero-casestudy img {
    width: 100%;
    height: auto;
  }
}

.c-casecontent {
  display: block;
}
@media (min-width: 48em) {
  .c-casecontent {
    display: flex;
    height: 100%;
    align-items: stretch;
  }
}
.c-casecontent h1 {
  color: #0aa7db;
}
.c-casecontent .c-casecontent-left {
  background-color: white;
  width: 100%;
  position: relative;
  transition: all 0.3s ease-in-out;
}
@media (min-width: 48em) {
  .c-casecontent .c-casecontent-left {
    width: 49%;
  }
}
.c-casecontent .c-casecontent-left a {
  color: #809BB7;
}
.c-casecontent .c-casecontent-left .c-icon-wrap {
  display: block;
  position: relative;
  top: 100px;
  width: 50%;
  height: 160px;
  margin: 0 auto;
  text-align: center;
  background: transparent url("../assets/icon-grid.png") no-repeat 50% 0;
  background-size: 98px 114px;
}
.c-casecontent .c-casecontent-left .c-icon-wrap p {
  position: absolute;
  border: 0;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}
.c-casecontent .c-casecontent-left:hover {
  background-color: #0aa7db;
}
.c-casecontent .c-casecontent-left:hover a {
  color: white;
}
.c-casecontent .c-casecontent-left:hover .c-icon-wrap {
  background: transparent url("../assets/icon-grid-hover.png") no-repeat 50% 0;
}
.c-casecontent .c-casecontent-right {
  background-color: white;
  width: 100%;
  display: inline-block;
  padding: 30px;
  position: relative;
  top: -200px;
}
@media (min-width: 48em) {
  .c-casecontent .c-casecontent-right {
    width: 50%;
  }
}

.c-category {
  color: #809BB7;
  font-family: "Circular Std Book";
  font-style: normal;
  font-weight: normal;
  src: url("../fonts/CircularStd-Book.woff") format("woff");
  font-size: 1.375rem;
}

.prev-next {
  margin-top: 30px;
}
.prev-next .c-previous,
.prev-next .c-next {
  display: inline-block;
}
.prev-next .c-previous .c-arrow,
.prev-next .c-next .c-arrow {
  width: 46px;
  height: 46px;
}
.prev-next .c-next {
  margin-left: 20px;
}

.c-previous-x,
.c-next-x,
.c-down-x {
  display: block;
}

.c-down-x {
  width: 45px;
  margin-top: 1rem;
}

.c-list-team {
  color: white;
}
.c-list-team h2, .c-list-team h3 {
  color: white;
}
.c-list-team a {
  color: white;
}
.c-list-team a:hover {
  color: #0aa7db;
}

.map_container {
  position: relative;
  overflow: hidden;
}
.map_container .triangle-down-right {
  width: 100%;
  height: 100%;
  background: white;
  position: relative;
  bottom: 0;
  right: 0;
  z-index: 1;
  transform: rotate(0deg);
}
@media (min-width: 48em) {
  .map_container .triangle-down-right {
    width: 200%;
    height: 200%;
    position: absolute;
    bottom: -142%;
    right: -76%;
    transform: rotate(-28deg);
  }
}
.map_container .contact_details {
  position: relative;
  bottom: 0;
  right: 0;
  width: 100%;
  padding: 30px;
}
@media (min-width: 48em) {
  .map_container .contact_details {
    position: absolute;
    bottom: 60px;
    z-index: 2;
    width: 40%;
  }
}

#googleMap {
  height: 400px !important;
}
@media (min-width: 48em) {
  #googleMap {
    height: 780px !important;
  }
}

body.home .bar1,
body.home .bar2,
body.home .bar3 {
  background-color: white;
}
body.home .l-header.scrolling .c-burgermenu .bar1,
body.home .l-header.scrolling .c-burgermenu .bar2,
body.home .l-header.scrolling .c-burgermenu .bar3 {
  background-color: #495464;
}

.c-burgermenu {
  display: inline-block;
  cursor: pointer;
  position: absolute;
  top: 16px;
  right: 0;
  z-index: 555;
  height: 47px;
  width: 50px;
  padding: 6px 10px;
}
.c-burgermenu:hover .bar2 {
  width: 26px;
  margin-left: 0;
}
.c-burgermenu .bar1,
.c-burgermenu .bar2,
.c-burgermenu .bar3 {
  width: 28px;
  height: 2px;
  background-color: #495464;
  margin: 7px 0px;
  transition: 0.4s;
}
.c-burgermenu.change .bar1 {
  background-color: white;
  -webkit-transform: rotate(-45deg) translate(-4px, 5px);
  transform: rotate(-45deg) translate(-4px, 5px);
  margin-top: 10px;
}
.c-burgermenu.change .bar2 {
  opacity: 0;
}
.c-burgermenu.change .bar3 {
  background-color: white;
  -webkit-transform: rotate(45deg) translate(-8px, -8px);
  transform: rotate(45deg) translate(-8px, -8px);
}

.c-btn {
  transition: all 0.3s ease-in-out;
  font-size: 1rem;
  text-decoration: none;
  display: inline-block;
  text-align: center;
  border: solid 0 transparent;
  position: relative;
  width: auto;
}

.c-btn-primary {
  border: 2px solid white;
  background-color: transparent;
  border-radius: 50px;
  color: white;
  padding: 10px 40px;
  margin: 10px 0;
  line-height: normal;
}
.c-btn-primary:hover {
  color: white;
  border: 2px solid #0aa7db;
  background-color: #0aa7db;
}

.c-btn-secondary {
  border: 2px solid #72777a;
  background-color: transparent;
  border-radius: 50px;
  color: #72777a;
  padding: 10px 40px;
  margin: 10px 0;
  line-height: normal;
}
.c-btn-secondary:hover {
  color: white;
  border: 2px solid #72777a;
  background-color: #72777a;
}

button.c-btn {
  transition: all 0.3s ease-in-out;
  font-size: 1rem;
  padding: 14px 25px 12px;
  text-decoration: none;
  display: inline-block;
  background-color: #0aa7db;
  color: white;
  margin: 10px 0;
  border: solid 1px #0aa7db;
  text-transform: uppercase;
}
button.c-btn:hover {
  background-color: #F1CA19;
  color: white;
  text-decoration: none;
  border: solid 1px #F1CA19;
}

footer {
  display: inline-block;
  width: 100%;
  position: relative;
  color: #BCC9DC;
  background-color: #495464;
}
footer .l-row-wrap {
  margin-bottom: 0;
}
footer a {
  color: #BCC9DC;
}
footer a:hover {
  color: #0aa7db;
}

.c-footer-blocks {
  display: block;
  padding-top: 40px;
  padding-bottom: 40px;
  border-top: solid 1px #BCC9DC;
  border-bottom: solid 1px #BCC9DC;
}
@media (min-width: 48em) {
  .c-footer-blocks {
    display: flex;
    padding: 40px 0 20px;
  }
  .c-footer-blocks > div {
    width: 33%;
    padding-right: 20px;
  }
}

.c-connect {
  padding: 20px 15px;
}
@media (min-width: 48em) {
  .c-connect {
    padding: 15px 0;
  }
}

.c-block-social {
  height: 40px;
  width: 40px;
  display: inline-block;
  position: relative;
  border-radius: 50%;
  border: solid 1px #495464;
  position: absolute;
  top: 12px;
  margin-left: 10px;
  background-color: #39414e;
}
@media (min-width: 48em) {
  .c-block-social {
    top: 6px;
  }
}
.c-block-social:hover {
  border: solid 1px #0aa7db;
}
.c-block-social .c-icon-li {
  max-width: 22px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.c-copyright {
  padding: 20px 0 10px;
}
.c-copyright .c-5050-right {
  text-align: right;
}

.c-footer-nav {
  padding: 0;
  margin: 0;
}
.c-footer-nav li {
  display: inline-block;
  list-style-type: none;
  padding-right: 20px;
}

.c-cube-footerlogo {
  fill: white;
  display: inline-block;
}

a.c-madeby {
  color: white;
}

.c-accreditations-logos {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.c-accreditations-logos li {
  display: inline-block;
  margin-left: 2px;
}
.c-accreditations-logos img {
  width: 58px;
}

body.home .l-header {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  z-index: 350;
  padding: 0 20px;
  transition: all 0.3s ease-in-out;
  background-color: rgba(255, 255, 255, 0.2);
  transition: all 0.3s ease-in-out;
  height: 80px;
}
@media (min-width: 48em) {
  body.home .l-header {
    width: 100%;
  }
}
body.home .l-header .c-header-logo {
  display: none;
}
body.home .l-header .c-header-wrapper .c-header-tel a {
  color: white;
}
body.home .l-header.scrolling {
  position: fixed;
  background-color: rgba(255, 255, 255, 0.9);
}
body.home .l-header.scrolling .c-header-wrapper .c-header-tel a {
  color: #495464;
}
body.home .l-header.scrolling .c-header-wrapper .c-header-logo {
  display: block;
}
body.home .l-content {
  margin-top: 0;
}

.l-header {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  z-index: 350;
  padding: 0 20px;
  transition: all 0.3s ease-in-out;
  background-color: rgba(255, 255, 255, 0.9);
  transition: all 0.3s ease-in-out;
  height: 80px;
}
@media (min-width: 48em) {
  .l-header {
    width: 100%;
  }
}

.c-header-wrapper {
  display: block;
  height: 80px;
}
@media (min-width: 48em) {
  .c-header-wrapper {
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
}
.c-header-wrapper .c-header-tel {
  display: none;
}
@media (min-width: 48em) {
  .c-header-wrapper .c-header-tel {
    margin-right: 60px;
    display: block;
  }
}
.c-header-wrapper .c-header-tel a {
  color: #495464;
}

.c-header-logo {
  width: 200px;
  position: absolute;
  top: 20px;
  left: 0;
  z-index: 55;
  display: block;
}

.c-nav-mobile {
  display: inline-block;
  position: absolute;
  top: 10px;
  right: 0;
  z-index: 2;
  width: 50px;
}
.c-nav-mobile .c-overlay-menu {
  font-family: "Circular Std Medium";
  font-style: normal;
  font-weight: normal;
  src: url("../fonts/CircularStd-Medium.woff") format("woff");
  transition: transform 0.5s ease-in-out;
  transform: translateX(100%);
  width: 100%;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 300;
  background: linear-gradient(90deg, #7abacd 36%, #1bacdc 81%);
  max-width: 480px;
}
.c-nav-mobile .c-nav-center {
  position: absolute;
  top: 20%;
  left: 50%;
  transform: translate(-50%, -20%);
  width: 80%;
}
.c-nav-mobile ul {
  font-size: 1.875rem;
  padding: 0;
  opacity: 0;
  transition: all 0.5s ease-in-out;
}
.c-nav-mobile ul li {
  display: block;
  margin-bottom: 10px;
}
.c-nav-mobile ul li a {
  color: white;
}
.c-nav-mobile ul li a:hover {
  color: #F1CA19;
}
.c-nav-mobile .c-header-logo {
  margin: 10px 20px;
}
.c-nav-mobile.open {
  transform: inherit;
}
.c-nav-mobile.open .c-header-logo {
  margin: 10px 20px;
}
.c-nav-mobile.open .c-overlay-menu {
  transform: translateX(0%);
}
.c-nav-mobile.open ul {
  opacity: 1;
}
.c-nav-mobile.open ul li a:hover {
  color: #0aa7db;
}

@media (min-width: 48em) {
  .c-nav-tel {
    display: none;
  }
}

.c-hero {
  width: 100%;
  line-height: 0;
  position: relative;
  background-color: #495464;
}
.c-hero.c-hero-nopic {
  height: 100px;
  background-color: white;
}
@media (min-width: 48em) {
  .c-hero.c-hero-nopic {
    height: 180px;
    padding-top: 80px;
  }
}
.c-hero.c-hero-nopic h1 {
  color: #0aa7db;
}
.c-hero .c-hero-wrapper {
  max-width: 1084px;
  position: absolute;
  margin: auto;
  width: 100%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  padding: 0 30px;
  z-index: 55;
}
.c-hero .c-hero-wrapper.nopad {
  max-width: initial;
  padding: 0;
}
.c-hero .c-hero-header {
  font-size: 2.125rem;
  line-height: 38px;
  margin: 22px 0 16px;
  text-transform: uppercase;
  color: #F1CA19;
}
@media (min-width: 48em) {
  .c-hero .c-hero-header {
    margin: 1rem 0;
  }
}
@media (min-width: 83.375em) {
  .c-hero .c-hero-header {
    font-size: 2.875rem;
    line-height: 52px;
  }
}
.c-hero .c-hero-text {
  position: relative;
  z-index: 300;
  width: 100%;
  padding-top: 25px;
}
.c-hero .c-hero-pic {
  height: 500px;
  width: 100vw;
  object-fit: cover;
  object-position: 50% 50%;
  overflow: hidden;
}
@media (min-width: 48em) {
  .c-hero .c-hero-pic {
    height: auto;
  }
}
.c-hero .c-hero-pic img {
  height: 100%;
  width: auto;
}
@media (min-width: 48em) {
  .c-hero .c-hero-pic img {
    height: auto;
    width: 100%;
  }
}
.c-hero .c-subheader {
  font-size: 1.125rem;
  display: block;
  padding: 10px 0 20px 0;
}

.c-hero-logo {
  padding: 0;
  text-align: center;
  width: 300px;
}
.c-hero-logo img {
  max-width: 480px;
}

.c-hero-alt {
  width: 100%;
  position: relative;
  background-color: #0aa7db;
}
@media (min-width: 48em) {
  .c-hero-alt.c-services {
    background: transparent url("../assets/service-background.jpg") no-repeat 0;
    background-size: cover;
  }
}
.c-hero-alt h1 {
  color: white;
}
.c-hero-alt .c-hero-wrapper {
  position: relative;
  height: auto;
  display: block;
}
@media (min-width: 48em) {
  .c-hero-alt .c-hero-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 793px;
  }
}
.c-hero-alt .c-hero-wrapper .bbb {
  width: 100%;
  padding: 40px 0;
}
@media (min-width: 48em) {
  .c-hero-alt .c-hero-wrapper .bbb {
    padding: 0 50px;
  }
}
.c-hero-alt .c-hero-wrapper .c-hero-text {
  text-align: center;
  margin-bottom: 30px;
}
@media (min-width: 48em) {
  .c-hero-alt.c-services .c-hero-wrapper .bbb {
    padding: 0;
  }
}
@media (min-width: 64em) {
  .c-hero-alt.c-services .c-hero-wrapper .bbb {
    padding: 0 50px;
  }
}

.c-hero ul.slick-dots {
  height: 0;
  margin: 0;
}

.c-home-intro {
  padding: 40px 0;
}

.c-xx {
  width: 49px;
}

/*------------------------------------*\
  #LIST STYLING
\*------------------------------------*/
.c-list {
  margin: 0 0 20px;
  padding: 0;
}
.c-list li {
  list-style-type: none;
}
.c-list li .c-info {
  margin-top: 16px;
}

.c-list-services {
  display: block;
  line-height: inherit;
}
@media (min-width: 48em) {
  .c-list-services {
    display: flex;
    justify-content: space-between;
  }
}
.c-list-services li {
  display: inline-block;
  max-width: 14%;
  color: #BCC9DC;
  line-height: initial;
  text-align: center;
}
.c-list-services .c-service-icon {
  max-width: 170px;
}
.c-list-services .c-service-hover:hover {
  color: white;
}
.c-service-hidden {
  color: white;
  line-height: initial;
  text-align: center;
}

.c-list-casestudies h2 {
  color: #495464;
}
@media (min-width: 64em) {
  .c-list-casestudies h2 {
    font-size: 1.25rem;
    line-height: 24px;
  }
}
.c-list-casestudies h3 {
  color: #495464;
}
@media (min-width: 64em) {
  .c-list-casestudies h3 {
    font-size: 1rem;
    line-height: 22px;
  }
}
.c-list-casestudies li a:hover h2, .c-list-casestudies li a:hover h3 {
  color: #0aa7db;
}

.c-bkgd-dusty .c-list-casestudies li a h2, .c-bkgd-dusty .c-list-casestudies li a h3, .c-bkgd-dusty .c-list-casestudies li a p {
  color: white;
}
.c-bkgd-dusty .c-list-casestudies li a:hover h2, .c-bkgd-dusty .c-list-casestudies li a:hover h3 {
  color: #21262c;
}

.c-filter-list {
  margin: 10px 0 20px;
  padding: 20px 0;
  border-top: solid 1px #495464;
  border-bottom: solid 1px #495464;
}
.c-filter-list li {
  background: transparent url("../assets/icon-plus.png") no-repeat 0;
  padding-left: 20px;
  list-style-type: none;
  display: inline-block;
  margin-right: 20px;
}
.c-filter-list li.active a {
  color: #0aa7db;
}

/*------------------------------------*\
  #SECTOR LANDING PAGE
\*------------------------------------*/
.c-list-sectorLanding {
  display: block;
  line-height: inherit;
}
@media (min-width: 48em) {
  .c-list-sectorLanding {
    display: flex;
    justify-content: space-between;
  }
}
.c-list-sectorLanding div {
  display: inline-block;
  color: #BCC9DC;
  line-height: initial;
  text-align: center;
  width: 49%;
  min-height: 160px;
  background-repeat: no-repeat;
  background-position: 50% 0;
  transition: all 0.3s ease-in-out;
  background-size: 100px;
  margin-bottom: 0;
  background-image: none;
}
@media (min-width: 48em) {
  .c-list-sectorLanding div {
    width: 100%;
    margin-bottom: initial;
  }
}
@media (min-width: 64em) {
  .c-list-sectorLanding div {
    background-size: 140px;
    min-height: 160px;
  }
}
.c-list-sectorLanding div.sector-commercial {
  background-image: url("../assets/sectors/commercial-off.png");
}
.c-list-sectorLanding div.sector-commercial:hover {
  background-image: url("../assets/sectors/commercial-on.png");
}
.c-list-sectorLanding div.sector-education {
  background-image: url("../assets/sectors/education-off.png");
}
.c-list-sectorLanding div.sector-education:hover {
  background-image: url("../assets/sectors/education-on.png");
}
.c-list-sectorLanding div.sector-health {
  background-image: url("../assets/sectors/health-off.png");
}
.c-list-sectorLanding div.sector-health:hover {
  background-image: url("../assets/sectors/health-on.png");
}
.c-list-sectorLanding div.sector-heritage {
  background-image: url("../assets/sectors/heritage-off.png");
}
.c-list-sectorLanding div.sector-heritage:hover {
  background-image: url("../assets/sectors/heritage-on.png");
}
.c-list-sectorLanding div.sector-residential {
  background-image: url("../assets/sectors/residential-off.png");
}
.c-list-sectorLanding div.sector-residential:hover {
  background-image: url("../assets/sectors/residential-on.png");
}
.c-list-sectorLanding div a {
  font-size: 1.125rem;
  width: 100%;
  height: 160px;
  position: absolute;
  display: flex;
  align-items: flex-end;
  text-align: center;
  justify-content: center;
}
@media (min-width: 48em) {
  .c-list-sectorLanding div a {
    height: 170px;
  }
}
@media (min-width: 64em) {
  .c-list-sectorLanding div a {
    height: 220px;
  }
}
.c-list-sectorLanding div:hover a {
  color: white;
}
.c-list-sectorLanding.minimal {
  margin: 0 150px;
  border-top: solid 1px #495464;
  padding-top: 30px;
}
.c-list-sectorLanding.minimal li {
  background-size: 40%;
  min-height: 150px;
}
.c-list-sectorLanding.minimal li:hover a {
  color: #0aa7db;
}

.c-sectorcontent {
  display: block;
}
@media (min-width: 48em) {
  .c-sectorcontent {
    display: flex;
    height: 100%;
    align-items: stretch;
  }
}
.c-sectorcontent .c-sectorcontent-left {
  width: 100%;
  position: relative;
  transition: all 0.3s ease-in-out;
  background-color: white;
}
@media (min-width: 48em) {
  .c-sectorcontent .c-sectorcontent-left {
    width: 33%;
  }
}
.c-sectorcontent .c-sectorcontent-left a {
  color: #809BB7;
}
.c-sectorcontent .c-sectorcontent-left .c-icon-wrap {
  display: block;
  position: relative;
  top: 100px;
  width: 50%;
  height: 160px;
  margin: 0 auto;
  text-align: center;
  background: transparent url("../assets/icon-grid.png") no-repeat 50% 0;
  background-size: 98px 114px;
}
.c-sectorcontent .c-sectorcontent-left .c-icon-wrap p {
  position: absolute;
  border: 0;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}
.c-sectorcontent .c-sectorcontent-right {
  width: 100%;
  display: inline-block;
  padding: 30px;
  position: relative;
  top: -70px;
  background-color: white;
}
@media (min-width: 48em) {
  .c-sectorcontent .c-sectorcontent-right {
    width: 66%;
  }
}
.c-sectorcontent.c-featured .c-sectorcontent-left,
.c-sectorcontent.c-featured .c-sectorcontent-right {
  background-color: transparent;
}
.c-sectorcontent.c-featured .c-sectorcontent-right {
  top: 0;
}

.c-sector-grid {
  border-top: solid 1px #495464;
  padding-top: 30px;
  display: block;
}
@media (min-width: 48em) {
  .c-sector-grid {
    display: flex;
    flex-wrap: wrap;
  }
}

.c-featured {
  padding-top: 50px;
  padding-bottom: 50px;
}

/*------------------------------------*\
  #SERVICES LANDING PAGE
\*------------------------------------*/
.c-list-servicesLanding {
  display: block;
  line-height: inherit;
}
@media (min-width: 48em) {
  .c-list-servicesLanding {
    display: flex;
    justify-content: space-between;
  }
}
.c-list-servicesLanding div {
  display: inline-block;
  color: #BCC9DC;
  line-height: initial;
  text-align: center;
  width: 49%;
  min-height: 160px;
  background-repeat: no-repeat;
  background-position: 50% 0;
  transition: all 0.3s ease-in-out;
  background-size: 100px;
  margin-bottom: 0;
  background-image: none;
}
@media (min-width: 48em) {
  .c-list-servicesLanding div {
    background-size: 90px;
    width: 100%;
    margin-bottom: initial;
  }
}
@media (min-width: 64em) {
  .c-list-servicesLanding div {
    background-size: 120px;
    min-height: 210px;
  }
}
.c-list-servicesLanding div.service-appraisals {
  background-image: url("../assets/services/service-conapp.png");
}
.c-list-servicesLanding div.service-appraisals:hover {
  background-image: url("../assets/services/service-conapp-hover.png");
}
.c-list-servicesLanding div.service-bim {
  background-image: url("../assets/services/service-bim.png");
}
.c-list-servicesLanding div.service-bim:hover {
  background-image: url("../assets/services/service-bim-hover.png");
}
.c-list-servicesLanding div.service-modelling {
  background-image: url("../assets/services/service-therm.png");
}
.c-list-servicesLanding div.service-modelling:hover {
  background-image: url("../assets/services/service-therm-hover.png");
}
.c-list-servicesLanding div.service-pubhealth {
  background-image: url("../assets/services/service-pubh.png");
}
.c-list-servicesLanding div.service-pubhealth:hover {
  background-image: url("../assets/services/service-pubh-hover.png");
}
.c-list-servicesLanding div.service-mechanical {
  background-image: url("../assets/services/service-mech.png");
}
.c-list-servicesLanding div.service-mechanical:hover {
  background-image: url("../assets/services/service-mech-hover.png");
}
.c-list-servicesLanding div.service-electrical {
  background-image: url("../assets/services/service-elec.png");
}
.c-list-servicesLanding div.service-electrical:hover {
  background-image: url("../assets/services/service-elec-hover.png");
}
.c-list-servicesLanding div a {
  font-size: 1.125rem;
  width: 100%;
  height: 170px;
  position: absolute;
  display: flex;
  align-items: flex-end;
  text-align: center;
  justify-content: center;
  color: white;
}
@media (min-width: 48em) {
  .c-list-servicesLanding div a {
    color: #aebdd2;
  }
}
@media (min-width: 64em) {
  .c-list-servicesLanding div a {
    height: 220px;
  }
}
.c-list-servicesLanding div:hover a {
  color: white;
}
.c-list-servicesLanding.minimal {
  margin: 0 150px;
  border-top: solid 1px #495464;
  padding-top: 30px;
}
.c-list-servicesLanding.minimal li {
  background-size: 40%;
  min-height: 150px;
}
.c-list-servicesLanding.minimal li:hover a {
  color: #0aa7db;
}

.c-service-icon-entry {
  width: 60px;
}
@media (min-width: 48em) {
  .c-service-icon-entry {
    width: 134px;
  }
}

.c-reveal-wrapper {
  text-align: center;
  position: absolute;
  margin: 0 auto;
  width: 50%;
  left: 50%;
  transform: translateX(-50%);
  color: white;
  font-size: 1.125rem;
}
.c-reveal-wrapper .c-reveal-electrical,
.c-reveal-wrapper .c-reveal-mechanical,
.c-reveal-wrapper .c-reveal-pubhealth,
.c-reveal-wrapper .c-reveal-modelling,
.c-reveal-wrapper .c-reveal-bim,
.c-reveal-wrapper .c-reveal-appraisals {
  display: none;
}

/* Arrows */
.slick-prev,
.slick-next {
  font-size: 0rem;
  position: absolute;
  top: 50%;
  display: block;
  width: 45px;
  height: 40px;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
  z-index: 300;
}

.c-slider-item {
  position: relative;
}

ul.slick-dots {
  position: relative;
  bottom: 10px;
  left: 0;
  text-align: center;
}
@media (min-width: 48em) {
  ul.slick-dots {
    position: absolute;
    right: 0;
    left: initial;
  }
}
ul.slick-dots li {
  display: inline-block;
  padding-left: 10px;
}

.slick-dots {
  position: absolute;
  bottom: 40px;
  right: 30px;
  padding-left: 0;
  list-style-type: none;
}
.slick-dots li {
  display: inline-block;
  margin: 0 15px 0 0;
}
.slick-dots li:last-child {
  margin: 0;
}
.slick-dots button {
  display: block;
  width: 16px;
  height: 16px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  background: transparent url("../assets/dot.png") no-repeat 0 0;
  text-indent: -9999px;
}
.slick-dots li.slick-active button {
  background: transparent url("../assets/dot-active.png") no-repeat 0 0;
}

/* Arrows */
.slick-prev,
.slick-next {
  font-size: 0rem;
  position: absolute;
  top: 50%;
  display: block;
  width: 45px;
  height: 40px;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
  z-index: 300;
}

.slick-prev {
  left: 0;
  background-image: url("../assets/arrow-left.svg");
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 20px;
  background-color: #F1CA19;
  width: 48px;
  height: 58px;
}
.slick-prev.slick-disabled {
  display: none !important;
}

.slick-next {
  right: 0;
  background-image: url("../assets/arrow-right.svg");
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 20px;
  background-color: #F1CA19;
  width: 48px;
  height: 58px;
}
.slick-next.slick-disabled {
  display: none !important;
}

.c-slider-gallery {
  max-height: 450px;
  overflow: hidden;
  margin: 60px 0;
}
.c-slider-gallery .c-slider-item {
  padding: 0 20px;
}

.c-list-clients .c-slider-item {
  margin-right: 40px;
}

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