﻿a@charset "utf-8";
/* Re */
a, abbr, acronym, address, applet, article, aside, audio, b, blockquote, big, body, center, canvas, caption, cite, code, command, datalist, dd, del, details, dfn, dl, div, dt, em, embed, fieldset, figcaption, figure, font, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, keygen, label, legend, li, meter, nav, object, ol, output, p, pre, progress, q, s, samp, section, small, span, source, strike, strong, sub, sup, table, tbody, tfoot, thead, th, tr, tdvideo, tt, u, ul, var {
 background: transparent;
 border: 0 none;
 font-size: 100%;
 margin: 0;
 padding: 0;
 vertical-align: baseline
}
/* Headings */
h1, h2 {
 font-family: 'Playfair Display', serif
}

h3, h4 {
 font-family: 'Avenir Next W01', sans-serif
}

h5, h6 {
 font-family: Arial, "sans-serif"
}

h1 {
 font-size: 2rem;
 line-height: 2.5rem;
 margin: 0px;
 padding: 0px;
 color: black
}

h2 {
 font-size: 1.55rem;
 line-height: 1.88rem;
 font-weight: normal;
 margin: 30px 0px 8px 0px;
 padding: 0px;
 color: black
}

@media only screen and (max-width: 420px) {
 h2 {
  font-size: 1.1rem;
  line-height: 1.29rem;
  font-weight: normal;
  margin: 30px 0px 8px 0px;
  padding: 0px;
  color: black
 }
}

@media only screen and (max-width: 1400px) {
 h2 {
  font-size: 1.3rem;
  line-height: 1.5rem;
  font-weight: normal;
  margin: 30px 0px 8px 0px;
  padding: 0px;
  color: black
 }
}

h3 {
 font-family: Arial, "sans-serif";
 text-transform: uppercase;
 letter-spacing: 3px;
 font-weight: 500;
 font-size: 0.95rem;
 margin: 75px 0px 25px 0px;
 color: #515151
}

@media only screen and (max-width: 722px) {
 h3 {
  margin: 35px 0px 9px 0px;
 }
}
/* Main */
small {
 font-size: 80%
}

.smaller {
 font-size: 67%
}

sub, sup {
 font-size: 75%;
 line-height: 0;
 position: relative;
}

sup {
 top: -.5em
}

article, aside, details, figcaption, figure, main, footer, header, hgroup, nav, section {
 display: block
}

main {
 padding: 80px 0
}

@media only screen and (max-width: 722px) {
 main {
  padding: 18px 0
 }
}

@media only screen and (max-width: 1024px) {
 main {
  padding: 40px 0
 }
}

::selection {
 background: hsla(263,81%,54%,1.00);
 color: hsla(0,0%,100%,1.00)
}

::-moz-selection {
 background: hsla(263,81%,54%,1.00);
 color: hsla(0,0%,100%,1.00)
}

header::after, section::after, article::after, footer::after, header::before, section::before, article::before, footer::before {
 content: " ";
 display: table
}

html, body {
 height: 100%
}

img {
 border: 0;
 max-width: 100%;
 height: auto
}

*, *::after, *::before {
 margin: 0;
 padding: 0;
 -moz-box-sizing: border-box;
 box-sizing: border-box;
 text-rendering: optimizeLegibility;
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
 -webkit-tap-highlight-color: transparent
}

body {
 font-family: 'Avenir Next W01';
 color: #1A1A1A;
 background-color: #FFF;
 font-size: 18px;
 line-height: 28px;
 font-weight: 400;
 line-height: 23px;
 margin: 0;
 padding: 0;
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale
}

@media only screen and (max-width: 722px) {
 body {
  font-size: 15px;
  line-height: 20px
 }
}

@media only screen and (max-width: 1024px) {
 body {
  font-size: 16px;
  line-height: 22px
 }
}

body.is-black {
 background: #000;
}

a, a:focus, a:visited {
 color: black;
 text-decoration: none;
 transition: 1.6s all
}

 a:hover {
  color: #6B6B6B;
  text-decoration: none;
 }

.wow {
 visibility: hidden;
}

p {
 margin: 0px 0px 35px 0px;
}

 p:last-child {
  margin-bottom: 0
 }

.center-text {
 text-align: center
}

.align-right {
 text-align: right
}

.grey-background {
 background: #737373
}

.white {
 color: #fff
}

.smaller-text {
 font-size: 85%
}

.bottom-margin {
 margin-bottom: 50px
}

.adjusted-margin {
 margin: 25px 0px 0px 0px;
}

.no-top-margin {
 margin-top: 0px
}

.display-none-m {
 display: none;
}

@media only screen and (max-width: 1024px) {
 .display-none-m {
  display: inline;
 }
}

.m-hide {
 display: block;
}

@media only screen and (max-width: 722px) {
 .m-hide {
  display: none;
 }
}
/* Menu */
#main-sidebar {
 width: 80px;
 position: fixed;
 background: #fff;
 box-shadow: 0 4px 15px 0 hsla(0,0%,50%,.25);
 top: 0;
 left: 0;
 bottom: 0;
 transition: 1s all;
 z-index: 10
}

@media only screen and (max-width: 1024px) {
 #main-sidebar {
  width: 100%;
  height: 60px;
  position: relative;
  background: #fff;
  box-shadow: 0 4px 15px 0 hsla(0,0%,50%,.25);
  transition: 1s all;
  z-index: 10
 }
}

.shadow {
 box-shadow: none !important;
 background-color: transparent !important
}
/* Wrappers */
#wrapper {
 overflow: hidden
}

#site-wrapper, #page-wrapper {
 display: block
}

#site-wrapper {
 overflow: hidden
}

#page-wrapper {
 margin-left: 80px
}

@media only screen and (max-width: 1024px) {
 #page-wrapper {
  margin-left: 0px;
  margin-right: 0px;
 }
}

.content-wrapper {
 max-width: 1440px;
 margin: 0px auto;
}

@media only screen and (max-width: 1649px) {
 .content-wrapper {
  padding-right: 40px;
  padding-left: 40px;
  margin: 0px auto;
 }
}

@media only screen and (max-width: 1024px) {
 .content-wrapper {
  padding-right: 25px;
  padding-left: 25px;
  margin: 0px auto;
 }
}

.content-wrapper.home-wrap {
 padding-bottom: 60px
}
/* Header */
#site-logo {
 margin-top: 85px;
 display: inline-block;
 z-index: 3;
 font-family: 'Playfair Display', serif;
 font-weight: 700;
 font-size: 32px;
 position: relative;
 line-height: 29px;
 color: #fff
}
/* Swipey */
#swipey {
 width: 100%;
 height: 100%;
 background: #FFF;
 display: block;
 position: fixed;
 z-index: 9;
 transition: 2s linear;
 right: 100%;
}

 #swipey.transitioned {
  right: 0
 }
/* Big fat burger */
#brgr {
 position: fixed;
 top: 0;
 left: 0
}

@media only screen and (max-width: 1024px) {
 #brgr {
  position: absolute;
  right: 25px;
  top: 18px;
  left: auto
 }
}

.hamburger-icon {
 box-sizing: initial;
 display: block;
 width: 25px;
 margin: 25px;
 height: 25px;
 cursor: pointer;
 background: transparent;
 border-radius: 0;
 border: 0
}

@media only screen and (max-width: 1024px) {
 .hamburger-icon {
  margin: 0;
  padding: 0;
 }
}

.hamburger-icon .brgr-line {
 background: #000;
 height: 2px;
 transition: 1s all;
 margin-bottom: 4px;
 display: block;
 position: relative
}

.brgr-line-extend {
 width: 25px !important
}

.hamburger-icon .brgr-line:nth-child(2) {
 width: 20px
}

.hamburger-icon .brgr-line:nth-child(3) {
 width: 15px
}

.hamburger-icon:hover span {
 background: #3C00CF
}
/* Menu out */
.nav-main {
 width: 595px;
 -webkit-transition: all 2652ms cubic-bezier(1.000, 0.005, 0.120, 1);
 -webkit-transition: all 2652ms cubic-bezier(1.000, 0.005, 0.120, 1.005);
 -moz-transition: all 2652ms cubic-bezier(1.000, 0.005, 0.120, 1.005);
 -o-transition: all 2652ms cubic-bezier(1.000, 0.005, 0.120, 1.005);
 transition: all 2652ms cubic-bezier(1.000, 0.005, 0.120, 1.005);
 -webkit-transition-timing-function: cubic-bezier(1.000, 0.005, 0.120, 1);
 -webkit-transition-timing-function: cubic-bezier(1.000, 0.005, 0.120, 1.005);
 -moz-transition-timing-function: cubic-bezier(1.000, 0.005, 0.120, 1.005);
 -o-transition-timing-function: cubic-bezier(1.000, 0.005, 0.120, 1.005);
 transition-timing-function: cubic-bezier(1.000, 0.005, 0.120, 1.005);
 background-color: #fff;
 z-index: 9;
 position: fixed;
 top: 0;
 left: -515px;
 bottom: 0
}

@media only screen and (max-width: 1024px) {
 .nav-main {
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  background-color: #fff;
  z-index: 9;
  transition: 505ms linear;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
 }
}

.nav-main h2 {
 font-family: inherit;
 font-size: 1.55rem;
 line-height: 2.12rem;
 font-weight: 400;
 margin: 0;
 padding: 0;
 color: #494949;
}

@media only screen and (max-width: 1024px) {
 .nav-main h2 {
  font-family: inherit;
  font-size: 1.351rem;
  line-height: 1.5rem;
  font-weight: 400;
  margin: 0;
  padding: 0;
  color: #494949;
 }
}

.nav-main .inner-wrapper {
 padding: 165px 0px 100px 120px;
 height: 100%
}

@media only screen and (max-width: 1024px) {
 .nav-main .inner-wrapper {
  padding: 100px 25px 55px 25px;
  height: 100%;
 }
}

.nav-main .inner-wrapper .nav-main-content {
 height: 100%;
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 -webkit-flex-direction: column;
 -ms-flex-direction: column;
 flex-direction: column;
 -webkit-justify-content: space-between;
 -ms-flex-pack: justify;
 justify-content: space-between;
 overflow: auto
}

@media only screen and (max-width: 1024px) {
 .nav-main .inner-wrapper .nav-main-content {
  height: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  overflow: hidden
 }
}

.nav-main .inner-wrapper .nav-main-content .sidebar-menu-items {
 -webkit-flex: 1 0 auto;
 -ms-flex: 1 0 auto;
 flex: 1 0 auto;
}

.sidebar-menu-items ul {
 list-style: none;
 list-style-image: none;
 list-style-type: none;
 padding-top: 11px
}

@media only screen and (max-width: 1024px) {
 .sidebar-menu-items ul {
  list-style: none;
  list-style-image: none;
  list-style-type: none;
  padding-top: 65px
 }
}

.sidebar-menu-items li {
 font-size: 1.2em;
 font-weight: bold;
 text-transform: capitalize;
 margin-bottom: 15px;
}

@media only screen and (max-width: 1024px) {
 .sidebar-menu-items li {
  font-size: 1.006rem;
  font-weight: normal;
  text-transform: capitalize;
  border-bottom: 1px solid #ECECEC;
  padding-bottom: 9px;
  margin-bottom: 9px;
  margin-left: 25px;
 }
}

.sidebar-menu-items li a {
 color: #000000;
 text-decoration: none
}

 .sidebar-menu-items li a:hover {
  color: #312B80;
  text-decoration: none;
 }

@media only screen and (max-width: 1024px) {
 .sidebar-menu-items li a {
  color: #000;
  text-decoration: none
 }

  .sidebar-menu-items li a:hover, a:visited {
   color: #000;
   text-decoration: none;
  }
}

.nav-main .inner-wrapper .nav-main-content .sidebar-menu-bottom {
 -webkit-flex: 0 0 auto;
 -ms-flex: 0 0 auto;
 flex: 0 0 auto;
 color: #7E7E7E
}

.sidebar-menu-bottom a {
 color: #494949;
 text-decoration: none
}

 .sidebar-menu-bottom a:hover {
  color: #000
 }

.nav-main #main-menu-logo {
 font-family: 'Playfair Display', serif;
 font-size: 2.1em;
 font-weight: 400;
 position: fixed;
 top: 94px;
 transition: .8s all;
 left: 173px;
 z-index: 10;
 opacity: 0
}

@media only screen and (max-width: 1024px) {
 .nav-main #main-menu-logo {
  font-family: 'Playfair Display', serif;
  font-size: 1.848rem;
  font-weight: 700;
  position: fixed;
  top: 112px;
  transition: .5s all;
  left: 25px;
  z-index: 10;
  opacity: 0
 }
}

#main-menu-logo.is-visible {
 opacity: 1
}

.nav-main-open {
 left: 0
}

@media only screen and (max-width: 1024px) {
 .nav-main-open {
  display: block;
  opacity: 1;
  visibility: visible
 }
}

#nav-overlay {
 position: fixed;
 z-index: 8;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 width: 100%;
 height: 100%;
 background: #CCC;
 background: hsla(0,0%,0%,0.71);
 display: none
}
/* Side bar Logo */
#sidebar-logo {
 position: fixed;
 top: 83px;
 left: 15px;
}

 #sidebar-logo.logo-is-out {
  left: 120px
 }

@media only screen and (max-width: 1024px) {
 #sidebar-logo.logo-is-out {
  left: 25px;
  top: 14px;
 }
}

@media only screen and (max-width: 1024px) {
 #sidebar-logo {
  position: absolute;
  left: 25px;
  top: 10px;
 }
}
/* Bottom rotate feature */
#sidebar-bottom-feature {
 border-radius: 0;
 border: 0;
 padding: 10px 40px;
 -webkit-transform: rotate(-90deg);
 -ms-transform: rotate(-90deg);
 transform: rotate(-90deg);
 -webkit-transform-origin: 0 0;
 -ms-transform-origin: 0 0;
 transform-origin: 0 0;
 position: absolute;
 bottom: 0;
 left: 0;
 width: 250px;
 transform: 1s all;
 height: 80px;
 margin-bottom: -80px;
 background-color: #F1F1F1
}

.display-none {
 opacity: 0
}

#sidebar-bottom-feature #make-enquiry {
 text-transform: uppercase;
 font-size: 0.82rem;
 padding: 18px 0;
 letter-spacing: 2px;
 color: #000
}

@media only screen and (max-width: 1024px) {
 #sidebar-bottom-feature {
  display: none
 }
}
/* Feature */
.overlap-feature {
 margin-top: -76px !important;
}

@media only screen and (max-width: 1000px) {
 .overlap-feature {
  margin-top: 0px !important;
 }
}

@media only screen and (max-width: 720px) {
 .overlap-feature {
  margin-top: 30px !important;
 }
}

.overlap-feature-heavy {
 margin-top: -450px !important
}

@media only screen and (max-width: 1000px) {
 .overlap-feature-heavy {
  margin-top: 0 !important
 }
}

.feature {
 width: 100%;
 min-height: 760px;
 height: 760px;
 height: 81vh;
 position: relative
}

@media only screen and (max-width: 1024px) {
 .feature {
  width: 100%;
  min-height: 760px;
  height: 100vh;
  position: relative;
 }
}

.feature {
 background-size: cover;
 background-position: 50% 78%;
}

 .feature::after {
  content: " ";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  /* IE9 SVG, needs conditional override of 'filter' to 'none' */
  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjQ2Ii8+CiAgICA8c3RvcCBvZmZzZXQ9IjclIiBzdG9wLWNvbG9yPSIjNGM0YzRjIiBzdG9wLW9wYWNpdHk9IjAuNDYiLz4KICAgIDxzdG9wIG9mZnNldD0iMTklIiBzdG9wLWNvbG9yPSIjY2VjZWNlIiBzdG9wLW9wYWNpdHk9IjAuMiIvPgogICAgPHN0b3Agb2Zmc2V0PSI3NCUiIHN0b3AtY29sb3I9IiM0MjQyNDIiIHN0b3Atb3BhY2l0eT0iMC4wNSIvPgogICAgPHN0b3Agb2Zmc2V0PSI5MSUiIHN0b3AtY29sb3I9IiMxNzE3MTciIHN0b3Atb3BhY2l0eT0iMC4yMyIvPgogICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMDAwMDAwIiBzdG9wLW9wYWNpdHk9IjAuMTgiLz4KICA8L2xpbmVhckdyYWRpZW50PgogIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZ3JhZC11Y2dnLWdlbmVyYXRlZCkiIC8+Cjwvc3ZnPg==);
  background: -moz-linear-gradient(left, hsla(0,0%,0%,0.46) 0%, hsla(0,0%,30%,0.46) 7%, hsla(0,0%,81%,0.2) 19%, hsla(0,0%,26%,0.05) 74%, hsla(0,0%,9%,0.23) 91%, hsla(0,0%,0%,0.18) 100%); /* FF3.6-15 */
  background: -webkit-gradient(linear, left top, right top, color-stop(0%,hsla(0,0%,0%,0.46)), color-stop(7%,hsla(0,0%,30%,0.46)), color-stop(19%,hsla(0,0%,81%,0.2)), color-stop(74%,hsla(0,0%,26%,0.05)), color-stop(91%,hsla(0,0%,9%,0.23)), color-stop(100%,hsla(0,0%,0%,0.18))); /* Chrome4-9,Safari4-5 */
  background: -webkit-linear-gradient(left, hsla(0,0%,0%,0.46) 0%,hsla(0,0%,30%,0.46) 7%,hsla(0,0%,81%,0.2) 19%,hsla(0,0%,26%,0.05) 74%,hsla(0,0%,9%,0.23) 91%,hsla(0,0%,0%,0.18) 100%); /* Chrome10-25,Safari5.1-6 */
  background: -o-linear-gradient(left, hsla(0,0%,0%,0.46) 0%,hsla(0,0%,30%,0.46) 7%,hsla(0,0%,81%,0.2) 19%,hsla(0,0%,26%,0.05) 74%,hsla(0,0%,9%,0.23) 91%,hsla(0,0%,0%,0.18) 100%); /* Opera 11.10-11.50 */
  background: -ms-linear-gradient(left, hsla(0,0%,0%,0.46) 0%,hsla(0,0%,30%,0.46) 7%,hsla(0,0%,81%,0.2) 19%,hsla(0,0%,26%,0.05) 74%,hsla(0,0%,9%,0.23) 91%,hsla(0,0%,0%,0.18) 100%); /* IE10 preview */
  background: linear-gradient(to right, hsla(0,0%,0%,0.46) 0%,hsla(0,0%,30%,0.46) 7%,hsla(0,0%,81%,0.2) 19%,hsla(0,0%,26%,0.05) 74%,hsla(0,0%,9%,0.23) 91%,hsla(0,0%,0%,0.18) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#75000000', endColorstr='#2e000000',GradientType=1 ); /* IE6-8 */
  z-index: 2
 }

.feature-black {
 background-color: #000
}

.feature .feature-content {
 top: 50%;
 position: absolute;
 z-index: 3
}

@media only screen and (max-width: 1024px) {
 .feature .feature-content {
  top: 38%;
  position: absolute;
  z-index: 3
 }
}

.feature h2, .feature-right h2 {
 font-family: 'Playfair Display', serif;
 font-size: 1.773em;
 line-height: 1.3;
 font-weight: 400;
 margin: 0;
 padding: 0px 30px 0px 0px;
 color: #FFF
}

@media only screen and (max-width: 722px) {
 .feature h2, .feature-right h2 {
  font-family: 'Playfair Display', serif;
  font-size: 1.155rem;
  line-height: 1.6rem;
  font-weight: 400;
  margin: 0;
  padding: 0;
  color: #FFF
 }
}

@media only screen and (max-width: 1024px) {
 .feature h2, .feature-right h2 {
  font-family: 'Playfair Display', serif;
  font-size: 1.355rem;
  line-height: 1.811rem;
  font-weight: 400;
  margin: 0;
  padding: 0;
  color: #FFF
 }
}
/* Generic feature */
.generic-feature {
 position: relative;
 min-height: 760px;
 height: 760px;
 height: 81vh;
}

@media only screen and (max-width: 1024px) {
 .generic-feature {
  position: relative;
  min-height: 399px;
  height: 75vh;
  height: calc(100vh - 60px);
 }
}

.generic-feature.is-solid::after {
 background: none
}

.feature-right {
 width: 68%;
 top: 0;
 right: 0;
 bottom: 0;
 position: absolute
}

@media only screen and (max-width: 1024px) {
 .feature-right {
  width: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  position: absolute;
  opacity: .7
 }
}

.feature-right {
 background-size: cover;
 background-position: 50% 78%;
}

.generic-feature::after {
 content: " ";
 position: absolute;
 width: 100%;
 height: 100%;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 /* IE9 SVG, needs conditional override of 'filter' to 'none' */
 background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjI0JSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjI1JSIgc3RvcC1jb2xvcj0iI2ZjZmNmYyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMCIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
 background: -moz-linear-gradient(left, hsla(0,0%,100%,1) 0%, hsla(0,0%,100%,1) 24%, hsla(0,0%,99%,1) 25%, hsla(0,0%,0%,0) 100%); /* FF3.6-15 */
 background: -webkit-gradient(linear, left top, right top, color-stop(0%,hsla(0,0%,100%,1)), color-stop(24%,hsla(0,0%,100%,1)), color-stop(25%,hsla(0,0%,99%,1)), color-stop(100%,hsla(0,0%,0%,0))); /* Chrome4-9,Safari4-5 */
 background: -webkit-linear-gradient(left, hsla(0,0%,100%,1) 0%,hsla(0,0%,100%,1) 24%,hsla(0,0%,99%,1) 25%,hsla(0,0%,0%,0) 100%); /* Chrome10-25,Safari5.1-6 */
 background: -o-linear-gradient(left, hsla(0,0%,100%,1) 0%,hsla(0,0%,100%,1) 24%,hsla(0,0%,99%,1) 25%,hsla(0,0%,0%,0) 100%); /* Opera 11.10-11.50 */
 background: -ms-linear-gradient(left, hsla(0,0%,100%,1) 0%,hsla(0,0%,100%,1) 24%,hsla(0,0%,99%,1) 25%,hsla(0,0%,0%,0) 100%); /* IE10 preview */
 background: linear-gradient(to right, hsla(0,0%,100%,1) 0%,hsla(0,0%,100%,1) 24%,hsla(0,0%,99%,1) 25%,hsla(0,0%,0%,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00000000',GradientType=1 ); /* IE6-8 */
 z-index: 2
}

.generic-feature .feature-content {
 top: 62%;
 width: 55%;
 position: absolute;
 z-index: 3
}

@media only screen and (max-width: 722px) {
 .generic-feature .feature-content {
  top: 32.6%;
  width: 86%;
  position: absolute;
  z-index: 3
 }
}

.generic-feature .feature-content.is-solid {
 top: 19%
}
/* Page Titles */
.generic-feature #page-intro {
 width: 100%
}

 .generic-feature #page-intro h1 {
  margin: 0px 0px 45px 0px;
  padding: 0;
  font-size: 2.4em;
  line-height: 1.2;
  letter-spacing: 2px;
  font-weight: normal
 }

 .generic-feature #page-intro h2 {
  margin: 0px 0px 0px 0px;
  padding: 0;
  font-size: 1em;
  line-height: 1.44em;
  font-family: 'Avenir Next W01', sans-serif;
  font-weight: normal
 }
/* Cols */
.fr {
 float: right
}

.fl {
 float: left
}

.row-p-36 {
 padding-left: 36px;
 padding-right: 36px
}

@media only screen and (max-width: 722px) {
 .row-p-36 {
  padding-left: 0px;
  padding-right: 0px
 }
}

.row-six-col {
 width: 66.666666666%;
}

@media only screen and (max-width: 722px) {
 .row-six-col {
  width: 100%;
 }
}

.row-twentynine-col {
 width: 29%;
}

@media only screen and (max-width: 722px) {
 .row-twentynine-col {
  width: 100%;
 }
}

.row-thi-col {
 width: 33.333333333%;
}

@media only screen and (max-width: 722px) {
 .row-thi-col {
  width: 100%;
 }
}

.row-half-col {
 width: 50%;
}

@media only screen and (max-width: 722px) {
 .row-half-col {
  width: 100%;
 }
}

.row-four-col {
 width: 40%;
}

@media only screen and (max-width: 722px) {
 .row-four-col {
  width: 100%;
 }
}

.row-fournine-col {
 width: 49%
}

@media only screen and (max-width: 722px) {
 .row-fournine-col {
  width: 100%
 }
}

.row-fourtwo-col {
 width: 42.22%
}

@media only screen and (max-width: 722px) {
 .row-fourtwo-col {
  width: 100%
 }
}

.row-fourfifth-col {
 width: 45%
}

@media only screen and (max-width: 722px) {
 .row-fourfifth-col {
  width: 100%
 }
}

.row-fivefive-col {
 width: 55%
}

@media only screen and (max-width: 722px) {
 .row-fivefive-col {
  width: 100%
 }
}

.row-sixfive-col {
 width: 65%
}
/*@media only screen and (max-width: 1240px) {
				.row-sixfive-col {
						width: 100%	
				}
				}*/
@media only screen and (max-width: 722px) {
 .row-sixfive-col {
  width: 100%
 }
}

.row-full-col {
 width: 100%;
}

.group:after {
 visibility: hidden;
 display: block;
 content: " ";
 clear: both;
 height: 0;
}

* html .group {
 zoom: 1;
}
/* IE6 */
*:first-child + html .group {
 zoom: 1;
}
/* IE7 */
/* Safe float */
.thr-row {
 width: 33%;
 vertical-align: top;
 display: inline-block;
 *display: inline;
 zoom: 1
}

@media only screen and (max-width: 722px) {
 .thr-row {
  width: 100%;
  vertical-align: top;
  display: block;
  margin-bottom: 20px
 }
}

.fifth-row {
 width: 19%;
 vertical-align: top;
 display: inline-block;
 *display: inline;
 zoom: 1
}

@media only screen and (max-width: 722px) {
 .fifth-row {
  width: 100%;
  display: block;
  margin-bottom: 20px;
 }
}

.quart-row {
 width: 24.5%;
 vertical-align: top;
 display: inline-block;
 *display: inline;
 zoom: 1
}

@media only screen and (max-width: 722px) {
 .quart-row {
  width: 100%;
  display: block;
  margin-bottom: 25px;
 }
}

@media only screen and (max-width: 931px) {
 footer .quart-row {
  width: 100%;
  display: block;
  margin-bottom: 25px;
 }
}

.row-stretch {
 width: 100%;
 display: inline-block;
 font-size: 0;
 line-height: 0
}

@media only screen and (max-width: 722px) {
 .row-stretch {
  display: none
 }
}
/* Blockquotes */
blockquote {
 position: relative;
 display: block;
 padding: 40px 0;
 margin: 80px 0
}

@media only screen and (max-width: 722px) {
 blockquote {
  position: relative;
  display: block;
  padding: 40px 0;
  margin: 30px 0
 }
}

blockquote.adjust-top-margin {
 margin-top: 19px
}

.block-lines {
 border-top: 1px solid #787878;
 border-bottom: 1px solid #787878
}

blockquote.quoted-text {
 padding: 45px;
 background: #2A2A2A;
 color: #fff
}

@media only screen and (max-width: 720px) {
 blockquote.quoted-text {
  padding: 16px;
  background: #000;
  color: #fff
 }
}

blockquote h2 {
 font-weight: normal;
 font-size: 1.5em;
 margin: 0;
 line-height: 1.5em;
 padding-right: 30px
}
/* Panels */
.panel {
 position: relative;
}

 .panel .panel-height {
  height: 60%
 }

@media only screen and (max-width: 1190px) {
 .panel .panel-height {
  height: 75%
 }
}

@media only screen and (max-width: 981px) {
 .panel .panel-height {
  height: 100%
 }
}

.panel .panel-height {
 bottom: auto;
 top: 0
}

.panel .panel-height {
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 z-index: -1
}

.panel .spacer {
 display: block;
 height: 99px
}

@media only screen and (max-width: 722px) {
 .panel .spacer {
  display: block;
  height: 45px
 }
}
/* Wide figures */
#listing {
 display: block;
 margin-bottom: 80px
}

 #listing a, a:visited, a:hover, a:focus {
  color: #000
 }

 #listing p:last-child {
  margin: 0
 }

 #listing h2 {
  margin-bottom: 30px;
  font-size: 1.88em;
  line-height: 1.17em
 }

 #listing .listing-area {
  position: relative;
  width: 100%;
  padding: 166px 0;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 0;
  transition: 1.5s ease;
  overflow: hidden
 }

  #listing .listing-area.left-listing::after {
   content: " ";
   /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,ffffff+63&0.81+0,0+63 */
   /* IE9 SVG, needs conditional override of 'filter' to 'none' */
   background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjgxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjYzJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2dyYWQtdWNnZy1nZW5lcmF0ZWQpIiAvPgo8L3N2Zz4=);
   background: -moz-linear-gradient(left, hsla(0,0%,100%,0.81) 0%, hsla(0,0%,100%,0) 63%); /* FF3.6-15 */
   background: -webkit-gradient(linear, left top, right top, color-stop(0%,hsla(0,0%,100%,0.81)), color-stop(63%,hsla(0,0%,100%,0))); /* Chrome4-9,Safari4-5 */
   background: -webkit-linear-gradient(left, hsla(0,0%,100%,0.81) 0%,hsla(0,0%,100%,0) 63%); /* Chrome10-25,Safari5.1-6 */
   background: -o-linear-gradient(left, hsla(0,0%,100%,0.81) 0%,hsla(0,0%,100%,0) 63%); /* Opera 11.10-11.50 */
   background: -ms-linear-gradient(left, hsla(0,0%,100%,0.81) 0%,hsla(0,0%,100%,0) 63%); /* IE10 preview */
   background: linear-gradient(to right, hsla(0,0%,100%,0.81) 0%,hsla(0,0%,100%,0) 63%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
   filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cfffffff', endColorstr='#00ffffff',GradientType=1 ); /* IE6-8 */
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   z-index: 0
  }

  #listing .listing-area.right-listing::after {
   content: " ";
   /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+1,ffffff+62&0+0,0.81+62 */
   /* IE9 SVG, needs conditional override of 'filter' to 'none' */
   background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjElIiBzdG9wLWNvbG9yPSIjZmZmZmZmIiBzdG9wLW9wYWNpdHk9IjAuMDEiLz4KICAgIDxzdG9wIG9mZnNldD0iNjIlIiBzdG9wLWNvbG9yPSIjZmZmZmZmIiBzdG9wLW9wYWNpdHk9IjAuODEiLz4KICA8L2xpbmVhckdyYWRpZW50PgogIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZ3JhZC11Y2dnLWdlbmVyYXRlZCkiIC8+Cjwvc3ZnPg==);
   background: -moz-linear-gradient(left, hsla(0,0%,100%,0) 0%, hsla(0,0%,100%,0.01) 1%, hsla(0,0%,100%,0.81) 62%); /* FF3.6-15 */
   background: -webkit-gradient(linear, left top, right top, color-stop(0%,hsla(0,0%,100%,0)), color-stop(1%,hsla(0,0%,100%,0.01)), color-stop(62%,hsla(0,0%,100%,0.81))); /* Chrome4-9,Safari4-5 */
   background: -webkit-linear-gradient(left, hsla(0,0%,100%,0) 0%,hsla(0,0%,100%,0.01) 1%,hsla(0,0%,100%,0.81) 62%); /* Chrome10-25,Safari5.1-6 */
   background: -o-linear-gradient(left, hsla(0,0%,100%,0) 0%,hsla(0,0%,100%,0.01) 1%,hsla(0,0%,100%,0.81) 62%); /* Opera 11.10-11.50 */
   background: -ms-linear-gradient(left, hsla(0,0%,100%,0) 0%,hsla(0,0%,100%,0.01) 1%,hsla(0,0%,100%,0.81) 62%); /* IE10 preview */
   background: linear-gradient(to right, hsla(0,0%,100%,0) 0%,hsla(0,0%,100%,0.01) 1%,hsla(0,0%,100%,0.81) 62%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
   filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#cfffffff',GradientType=1 ); /* IE6-8 */
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   z-index: 0
  }

 #listing figcaption {
  position: relative;
  z-index: 1
 }
/* Homepage */
.homepage-feature {
 margin-bottom: 50px;
 position: relative;
 z-index: 3
}

 .homepage-feature .img {
  height: 0;
  padding-bottom: 45%;
  background-size: cover;
  background-position: 50% 50%;
  position: relative;
  background-color: #fff;
 }

@media only screen and (max-width: 722px) {
 .homepage-feature .img {
  height: 0;
  padding-bottom: 65%;
  background-size: cover;
  background-position: 50% 50%;
  position: relative;
  background-color: #fff;
 }
}

.homepage-feature h3 {
 margin: 90px 0px 20px 0px;
 padding: 0px 0px 30px 0px;
 font-family: 'Avenir Next W01';
 font-weight: 300;
 border-bottom: 1px solid #AEACCC;
 text-transform: uppercase;
 font-size: 0.9em;
 letter-spacing: 3px;
 color: #949494
}

@media only screen and (max-width: 1509px) {
 .homepage-feature p {
  font-size: 0.85em;
  margin-bottom: 16px
 }
}

@media only screen and (max-width: 1400px) {
 .homepage-feature h3 {
  margin: 40px 0px 20px 0px;
  padding: 0px 0px 30px 0px;
  font-family: 'Avenir Next W01';
  font-weight: 300;
  border-bottom: 1px solid #AEACCC;
  text-transform: uppercase;
  font-size: 0.9em;
  letter-spacing: 3px;
  color: #949494
 }
}

@media only screen and (max-width: 1200px) {
 .homepage-feature h3 {
  margin: 10px 0px 20px 0px;
  padding: 0px 0px 30px 0px;
  font-family: 'Avenir Next W01';
  font-weight: 300;
  border-bottom: 1px solid #AEACCC;
  text-transform: uppercase;
  font-size: 0.9em;
  letter-spacing: 3px;
  color: #949494
 }
}

@media only screen and (max-width: 722px) {
 .homepage-feature h3 {
  margin: 20px 0px 20px 0px;
  padding: 0px 0px 30px 0px;
  font-family: 'Avenir Next W01';
  font-weight: 300;
  border-bottom: 1px solid #AEACCC;
  text-transform: uppercase;
  font-size: 0.9em;
  letter-spacing: 3px;
  color: #949494
 }
}

.homepage-feature h2 {
 font-family: 'Playfair Display', serif;
 font-weight: 400;
 margin: 0px 0px 20px 0px;
 padding: 0px;
 font-size: 22px;
 line-height: 29px;
 color: hsla(0,0%,0%,1.00);
}
/* Rows - added alignment padding */
.row {
 margin-right: -40px;
 margin-left: -40px;
}

@media only screen and (max-width: 722px) {
 .row {
  margin-right: 0px;
  margin-left: 0px;
 }
}

.row-space {
 padding-left: 40px;
 padding-right: 40px;
}

@media only screen and (max-width: 722px) {
 .row-space {
  padding-left: 0px;
  padding-right: 0px;
 }
}

@media only screen and (max-width: 1440px) {
 .row-space.row-space-m {
  padding: 0
 }
}
/* Grids */
#profile-listing, #services-listing, #news-listing {
 display: block
}

@media only screen and (max-width: 1200px) {
 #profile-listing, #services-listing {
  display: block;
  padding: 0px 25px
 }

 #news-listing {
  display: block;
  padding: 0px
 }
}

.grid {
 display: -ms-flexbox;
 display: -webkit-flex;
 display: flex;
 -webkit-flex-direction: row;
 -ms-flex-direction: row;
 flex-direction: row;
 -webkit-flex-wrap: wrap;
 -ms-flex-wrap: wrap;
 flex-wrap: wrap;
 -webkit-justify-content: space-between;
 -ms-flex-pack: justify;
 justify-content: space-between;
 -webkit-align-content: stretch;
 -ms-flex-line-pack: stretch;
 align-content: stretch;
 -webkit-align-items: flex-start;
 -ms-flex-align: start;
 align-items: flex-start;
}

 .grid.news {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
 }

@media only screen and (max-width: 1000px) {
 .grid.news .row-twentynine-col {
  width: 45%
 }
}

@media only screen and (max-width: 752px) {
 .grid.news {
  display: block;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
 }

  .grid.news .row-twentynine-col {
   width: 100%
  }
}

.grid .item.news-thumb {
 margin-right: 0px;
}

 .grid .item.news-thumb:nth-child(3) {
  margin-right: 0px;
 }

.grid .item.news-zoom {
 overflow: hidden;
 display: block;
}

.grid .item {
 position: relative;
 margin: 80px 0px 80px 0px
}

@media only screen and (max-width: 722px) {
 .grid .item {
  position: relative;
  margin: 10px 0px 45px 0px
 }
}

@media only screen and (max-width: 1024px) {
 .grid .item {
  position: relative;
  margin: 15px 0px 65px 0px;
 }
}

.grid .item.services-grid {
 margin: 20px 0
}

.grid .item .overlay h2 {
 color: #fff;
 margin: 0px 0px 14px 0px
}

@media only screen and (max-width: 722px) {
 .grid .item .overlay h2 {
  color: #fff;
  margin: 0px 0px 8px 0px
 }
}

.grid .item .news-image-smaller h2 {
 margin: 0px 0px 0px 0px
}

.grid .item .overlay-large h2 {
 font-size: 1.85rem;
 line-height: 1.88rem;
 margin: 0px 0px 65px 0px
}

@media only screen and (max-width: 1200px) {
 .grid .item .overlay-large h2 {
  font-size: 1.2rem;
  line-height: 1.2rem;
  margin: 0px 0px 45px 0px
 }
}

.grid .item .news-image h2 {
 color: black;
 margin: 0px 0px 22px 0px
}

.grid .item.profile-pic {
 cursor: pointer;
 overflow: hidden;
}

.grid .item.services-pic {
 overflow: hidden;
}

.grid .item .img {
 height: 0;
 padding-bottom: 77%;
 background-size: cover;
 background-position: 40% 20%;
 position: relative;
 background-repeat: no-repeat;
 background-color: #fff
}

 .grid .item .img.contain {
  background-size: contain !important
 }

 .grid .item .img.news-image {
  padding-bottom: 65%
 }

 .grid .item .img.news-image-smaller {
  padding-bottom: 44%
 }
/* Standard bottom right overlay */
.grid .item .overlay {
 background: #292929;
 padding: 30px;
 position: absolute;
 bottom: -50%;
 right: 0;
 width: 80%;
 transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1)
}

@media only screen and (max-width: 722px) {
 .grid .item .overlay {
  background: #292929;
  padding: 9px;
  position: relative;
  bottom: 0;
  right: 0;
  width: 100%;
  transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1)
 }
}

@media only screen and (max-width: 1024px) {
 .grid .item .overlay {
  background: #292929;
  padding: 9px;
  position: relative;
  bottom: 0;
  right: 0;
  width: 100%;
  transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1)
 }
}

.grid .item .overlay.news-image {
 background: #FFF;
 padding: 30px;
 position: absolute;
 bottom: 0;
 right: 0;
 width: 80%;
}

.grid .item .overlay.news-image-smaller {
 background: #000;
 padding: 30px;
 position: relative;
 width: 100%;
}

.news-image-smaller p {
 margin: 0px 0px 0px 0px
}

.news-image p {
 margin-bottom: 8px
}

.grid .item:hover .overlay:not(.news-image-smaller) {
 bottom: 0
}
/* Larger overlay */
#services-listing ul {
 list-style: none;
 margin-bottom: 25px;
 padding: 0
}

 #services-listing ul li::before {
  content: "> ";
 }

#services-listing .grid .item::after {
 content: " ";
 position: absolute;
 top: 0;
 left: 0;
 bottom: 0;
 right: 0;
 background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjY2JSIgc3RvcC1jb2xvcj0iIzU3NTc1NyIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC42OCIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
 background: -moz-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(87,87,87,0) 66%, rgba(0,0,0,0.68) 100%);
 background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0)), color-stop(66%,rgba(87,87,87,0)), color-stop(100%,rgba(0,0,0,0.68)));
 background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(87,87,87,0) 66%,rgba(0,0,0,0.68) 100%);
 background: -o-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(87,87,87,0) 66%,rgba(0,0,0,0.68) 100%);
 background: -ms-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(87,87,87,0) 66%,rgba(0,0,0,0.68) 100%);
 background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(87,87,87,0) 66%,rgba(0,0,0,0.68) 100%);
 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ad000000',GradientType=0 );
 z-index: 0
}

@media only screen and (max-width: 722px) {
 #services-listing .grid .item::after {
  content: " ";
  position: relative;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: 000;
  z-index: 0
 }
}

.grid .item .overlay-large {
 padding: 40px;
 position: absolute;
 transform: translateY(80%);
 width: 100%;
 left: 0;
 top: 0;
 right: 0;
 bottom: 0;
 z-index: 1;
 transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1)
}

@media only screen and (max-width: 1024px) {
 .grid .item .overlay-large {
  padding: 14px;
  background: #000;
  position: relative;
  transform: none;
  z-index: 1;
  transition: none;
 }
}

.grid .item:hover .overlay-large {
 background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjIwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjY1Ii8+CiAgICA8c3RvcCBvZmZzZXQ9IjI0JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjc4Ii8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC42OCIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
 background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.65) 20%, rgba(0,0,0,0.78) 24%, rgba(0,0,0,0.68) 100%);
 background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0,0,0,0)), color-stop(20%,rgba(0,0,0,0.65)), color-stop(24%,rgba(0,0,0,0.78)), color-stop(100%,rgba(0,0,0,0.68)));
 background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 20%,rgba(0,0,0,0.78) 24%,rgba(0,0,0,0.68) 100%);
 background: -o-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 20%,rgba(0,0,0,0.78) 24%,rgba(0,0,0,0.68) 100%);
 background: -ms-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 20%,rgba(0,0,0,0.78) 24%,rgba(0,0,0,0.68) 100%);
 background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 20%,rgba(0,0,0,0.78) 24%,rgba(0,0,0,0.68) 100%);
 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#ad000000',GradientType=0 );
 transform: translateY(0);
}

@media only screen and (max-width: 1024px) {
 .grid .item:hover .overlay-large {
  background: #000;
  transform: none;
  position: relative;
 }
}

.grid .item .overlay-large .main-overlay-content {
 opacity: 0;
 -webkit-transition: 500ms ease;
 transition: 500ms ease;
}

@media only screen and (max-width: 1024px) {
 .grid .item .overlay-large .main-overlay-content {
  opacity: 1;
  -webkit-transition: 500ms ease;
  transition: 500ms ease;
 }
}

.grid .item:hover .overlay-large .main-overlay-content {
 opacity: 1;
 -webkit-transform: translateY(-25px);
 transform: translateY(-25px);
 transition-delay: none;
 -webkit-transition-delay: none;
}

.grid .item .overlay-large .main-overlay-content p, li {
 color: #B3B3B3;
}

@media only screen and (max-width: 1240px) {
 .grid .item .overlay-large .main-overlay-content p, li {
  color: #B3B3B3;
  font-size: .875em;
 }

 .grid .item .overlay-large .main-overlay-content li {
  color: #B3B3B3;
  font-size: .875em;
  padding-bottom: 6px
 }
}

@media only screen and (max-width: 1240px) {
 .grid .item .overlay-large .main-overlay-content p:last-child {
  margin-bottom: 0;
 }
}

.grid .item .overlay-large .bottom-overlay-content {
 opacity: 0;
 -webkit-transition: 500ms ease;
 transition: 500ms ease;
 margin-top: 25px;
 position: absolute;
 bottom: 25px;
 display: none
}

@media only screen and (max-width: 1024px) {
 .grid .item .overlay-large .bottom-overlay-content {
  opacity: 0;
  -webkit-transition: 500ms ease;
  transition: 500ms ease;
  margin-top: 25px;
  position: relative;
  display: none;
  bottom: 0
 }
}

.grid .item:hover .overlay-large .bottom-overlay-content {
 opacity: 0;
 -webkit-transform: translateY(-25px);
 transform: translateY(-25px);
 transition-delay: 1.6s;
 -webkit-transition-delay: 1.6s;
}

.grid .item .img:not(.no-zoom) {
 -webkit-transition: all 500ms cubic-bezier(0.500, 0.505, 0.590, 1.000);
 -moz-transition: all 500ms cubic-bezier(0.500, 0.505, 0.590, 1.000);
 -o-transition: all 500ms cubic-bezier(0.500, 0.505, 0.590, 1.000);
 transition: all 500ms cubic-bezier(0.500, 0.505, 0.590, 1.000); /* custom */
 -webkit-transition-timing-function: cubic-bezier(0.500, 0.505, 0.590, 1.000);
 -moz-transition-timing-function: cubic-bezier(0.500, 0.505, 0.590, 1.000);
 -o-transition-timing-function: cubic-bezier(0.500, 0.505, 0.590, 1.000);
 transition-timing-function: cubic-bezier(0.500, 0.505, 0.590, 1.000); /* custom */
}

.grid .item:hover .img:not(.no-zoom) {
 -webkit-transform: scale(1.2, 1.2);
 transform: scale(1.2, 1.2);
 -webkit-transition: all 750ms cubic-bezier(0.500, 0.505, 0.590, 1.000);
 -moz-transition: all 750ms cubic-bezier(0.500, 0.505, 0.590, 1.000);
 -o-transition: all 750ms cubic-bezier(0.500, 0.505, 0.590, 1.000);
 transition: all 750ms cubic-bezier(0.500, 0.505, 0.590, 1.000); /* custom */
 -webkit-transition-timing-function: cubic-bezier(0.500, 0.505, 0.590, 1.000);
 -moz-transition-timing-function: cubic-bezier(0.500, 0.505, 0.590, 1.000);
 -o-transition-timing-function: cubic-bezier(0.500, 0.505, 0.590, 1.000);
 transition-timing-function: cubic-bezier(0.500, 0.505, 0.590, 1.000); /* custom */
}
/* Bread */
#breadcrumb {
 margin-bottom: 8px;
}

 #breadcrumb ul {
  margin: 0;
  padding: 0;
  position: relative;
 }

  #breadcrumb ul li {
   display: inline;
   color: black;
   font-size: .875em;
   padding: 0px 5px 0px 0px;
  }

 #breadcrumb span {
  padding: 0px 6px 0px 0px;
 }

  #breadcrumb span::before {
   content: ">";
   font-size: .7em;
  }

 #breadcrumb ul li a {
  color: #6B6B6B;
  text-decoration: none;
 }

  #breadcrumb ul li a:visited {
   color: #6b6b6b;
  }

  #breadcrumb ul li a:hover {
   color: black;
   text-decoration: underline;
  }
/* Rounded button */
.std-role-button {
 position: relative;
 padding: 10px 0;
}

 .std-role-button span {
  text-transform: uppercase;
  text-decoration: none;
  font-size: .9em;
  letter-spacing: 2px;
 }

@media only screen and (max-width: 1000px) {
 .std-role-button span {
  text-transform: uppercase;
  text-decoration: none;
  font-size: .766em;
  letter-spacing: 1px;
 }
}

.std-role-button .fwd-icon {
 box-sizing: content-box;
 background-color: 0 0;
 border: 1px solid #000;
 color: #000;
 background: #fff;
 border-radius: 25px;
 padding: 5px 13px;
 height: 25px;
 width: 25px;
 transition: all .4s;
 margin-left: 20px;
}

@media only screen and (max-width: 1400px) {
 .std-role-button .fwd-icon {
  box-sizing: content-box;
  background-color: 0 0;
  border: 1px solid #000;
  color: #000;
  background: #A4A4A4;
  border-radius: 25px;
  padding: 4px 10px;
  height: 15px;
  width: 15px;
  transition: all .4s;
  margin-left: 10px;
 }
}

.clickable-panel {
 display: block;
}

 .clickable-panel:hover .fwd-icon {
  color: #fff;
  background: #000
 }
/* Image pad */
.img {
 height: 0;
 padding-bottom: 45%;
 background-size: cover;
 background-position: 50% 50%;
 position: relative;
 background-color: #fff
}

 .img.land {
  padding-bottom: 63%
 }

 .img.square {
  padding-bottom: 100%
 }

 .img.portrait {
  padding-bottom: 120%
 }

 .img.extreme-portrait {
  padding-bottom: 150%
 }
/* Insights */
.insights {
 text-align: center
}

 .insights h3 {
  text-transform: uppercase;
  margin: 22px 0px;
  padding: 0px;
  letter-spacing: 5px
 }

 .insights h2 {
  font-size: 27px;
  line-height: 32px;
  font-weight: normal;
  margin: 0px 0px 30px 0px
 }

.insight-image {
 margin: 0px 0px 90px 0px
}

 .insight-image figure {
  display: block;
  position: relative;
  margin: 25px 0
 }

  .insight-image figure figcaption {
   position: absolute;
   bottom: -30px;
   color: #A996D8;
   font-size: 0.9em;
   font-style: italic
  }

@media only screen and (max-width: 420px) {
 .insight-image figure figcaption {
  position: absolute;
  bottom: -45px;
  color: #666;
  font-size: 0.9em;
  font-style: italic
 }
}
/* Forms */
form {
 display: block
}

.form-area {
 margin: 25px 0px
}

.full-w-form {
 font-size: 0.9em;
 line-height: 1;
 letter-spacing: normal;
 padding: 8px 0;
 border: 0;
 border-bottom: 1px solid #ccc;
 box-shadow: none;
 font-family: inherit;
 color: #666;
 background: transparent;
 border-radius: 0;
 height: 42px;
 width: 100%
}

@media only screen and (max-width: 420px) {
.full-w-form {
  font-size: 0.9em;
  line-height: 1;
  letter-spacing: normal;
  padding: 8px 0;
  margin: 8px 0;
  border: 0;
  border-bottom: 1px solid #ccc;
  box-shadow: none;
  font-family: inherit;
  color: #666;
  background: transparent;
  border-radius: 0;
  height: 42px;
  width: 100%
 }
}

.form-area .error {
 margin-left: 25px;
 display: inline;
 color: red
}

@media only screen and (max-width: 420px) {
 .form-area .error {
  margin-left: 25px;
  font-size: .77em
 }
}

#contact-form .full-w-form.height-auto {
 height: auto !important
}

.submit {
 border: 1px solid hsla(0,0%,0%,1.00);
 padding: 13px 23px;
 display: inline-block;
 cursor: pointer;
 background: #2E2E2E;
 color: #fff;
 -webkit-border-radius: 20px;
 -moz-border-radius: 20px;
 border-radius: 20px;
 margin: 0
}

@media only screen and (max-width: 720px) {
 .submit {
  border: 1px solid hsla(0,0%,0%,1.00);
  padding: 7px 20px;
  cursor: pointer;
  background: #2E2E2E;
  color: #fff;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
  transition: 500ms all;
  margin: 0
 }
}

.submit:hover {
 background: #B8B8B8;
 color: #000
}

button span {
 display: none
}
/* Footer */
footer {
 padding: 100px 0px;
 background: #0E0E0E;
 color: #A3A3A3
}

@media only screen and (max-width: 420px) {
 footer {
  background: #000;
  color: #fff
 }
}

@media only screen and (max-width: 420px) {
 footer {
  padding: 30px 0px;
 }
}

@media only screen and (max-width: 420px) {
 footer #site-logo {
  font-size: 1.445rem;
  line-height: 1.565rem;
 }
}

@media only screen and (max-width: 420px) {
 footer p {
  font-size: .78rem;
  line-height: 1.11rem;
  margin-bottom: 7px
 }
}

@media only screen and (max-width: 420px) {
 footer form {
  margin: 10px 0px 45px 0px;
 }
}

footer .align-right {
 text-align: right;
}

@media only screen and (max-width: 931px) {
 footer .align-right {
  text-align: left
 }
}

footer h2, footer h3 {
 font-family: 'Playfair Display', serif;
 font-weight: normal;
 text-transform: none;
 letter-spacing: 0px
}

footer h2 {
 font-size: 1.285em;
 color: #fff
}

footer h3 {
 font-size: 1.285em;
 color: #fff
}

footer h2 {
 margin: 39px 0px
}

footer h3 {
 margin: 0;
 padding: 0
}

@media only screen and (max-width: 722px) {
 footer h2 {
  font-size: 1.2em;
  margin: 46px 0px 12px 0px;
 }

 footer h3 {
  font-size: 1.05em;
  padding: 0
 }
}

footer #site-logo {
 margin-top: 0px;
 font-weight: 400
}

footer .row {
 font-size: 0.85em
}

 footer .row a, a:visited {
  color: #A3A3A3;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-decoration: none
 }

footer p {
 margin: 0px 0px 9px 0px;
}

footer dl {
 margin: 0;
 padding: 0
}

@media only screen and (max-width: 722px) {
 footer dl {
  margin: 0px 0px 50px 0px;
  padding: 0
 }
}

footer dl dd {
 margin: 0;
 color: #A3A3A3;
 padding: 0px 0px 4px 0px
}

@media only screen and (max-width: 722px) {
 footer dl dd {
  font-size: .875rem;
 }
}

footer .row a:hover, a:focus {
 color: #FFF;
 text-decoration: underline;
 text-transform: uppercase
}

footer .full-w-form {
 font-size: 0.9em;
 line-height: 1;
 letter-spacing: normal;
 padding: 8px 0;
 border: 0;
 border-bottom: 2px solid #fff;
 box-shadow: none;
 color: #FFF;
 background: transparent;
 border-radius: 0;
 height: 42px;
 width: 100%
}

@media only screen and (max-width: 931px) {
 footer .full-w-form {
  font-size: 0.9em;
  line-height: 1;
  letter-spacing: normal;
  padding: 5px 0;
  border: 0;
  border-bottom: 1px solid #6F6F6F;
  box-shadow: none;
  color: #FFF;
  background: transparent;
  border-radius: 0;
  height: 39px;
  width: 40%
 }
}

@media only screen and (max-width: 722px) {
 footer .full-w-form {
  font-size: 0.9em;
  line-height: 1;
  letter-spacing: normal;
  padding: 5px 0;
  border: 0;
  border-bottom: 1px solid #6F6F6F;
  box-shadow: none;
  color: #FFF;
  background: transparent;
  border-radius: 0;
  height: 39px;
  width: 100%
 }
}

footer .form-area {
 margin: 15px 0px
}

@media only screen and (max-width: 722px) {
 footer .form-area {
  margin: 15px 0px 7px 0px;
 }
}

footer .boring-terms {
 color: #636363;
 font-size: 0.784em
}

@media only screen and (max-width: 722px) {
 footer .boring-terms {
  width: 100%;
  font-size: 0.677em
 }
}

footer .boring-terms a, a:visited, a:focus {
 color: #636363;
 text-decoration: none;
 text-transform: none
}

 footer .boring-terms a:hover {
  text-decoration: underline
 }
