/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

hr {
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

details {
    display: block
}

summary {
    display: list-item
}

[hidden],
template {
    display: none
}

/*! HTML5 Boilerplate v6.0.1 | MIT License | https://html5boilerplate.com/ */
html {
    color: #222;
    font-size: 1em;
    line-height: 1.4
}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none
}

::selection {
    background: #b3d4fc;
    text-shadow: none
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0
}

textarea {
    resize: vertical
}

input[type=email],
input[type=number],
input[type=tel],
input[type=text],
textarea {
    border-radius: 0;
    -webkit-appearance: none
}

.browserupgrade {
    margin: .2em 0;
    background: #ccc;
    color: #000;
    padding: .2em 0
}

.column {
    display: block;
    float: left;
    margin-left: 2.98507%;
    text-decoration: none
}

a.column:hover {
    opacity: 1
}

.column.first {
    clear: both;
    margin-left: 0
}

.column.centred {
    clear: both;
    float: none;
    margin: 0 auto
}

.column.right {
    float: right
}

.one-col {
    width: 5.59701%
}

.two-col {
    width: 14.1791%
}

.three-col {
    width: 22.76119%
}

.four-col {
    width: 31.34328%
}

.five-col {
    width: 39.92537%
}

.six-col {
    width: 48.50746%
}

.seven-col {
    width: 57.08955%
}

.eight-col {
    width: 65.67164%
}

.nine-col {
    width: 74.25373%
}

.nine-col-plus {
    width: 77.23881%
}

.ten-col {
    width: 82.83582%
}

.eleven-col {
    width: 91.41791%
}

.twelve-col {
    width: 100%
}

.single-margin-left {
    margin-left: 8.58209%
}

.double-margin-left {
    margin-left: 17.16418%
}

.four-col-wrapper.centre-total-2 .column:first-child,
.triple-margin-left {
    margin-left: 25.74627%
}

.single-margin-right {
    margin-right: 8.58209%
}

.four-col-wrapper.centre-total-1 .column:first-child {
    float: none;
    margin-left: auto;
    margin-right: auto
}

.four-col-wrapper.centre-total-3 .column:first-child {
    margin-left: 12.87313%
}

.show-grid {
    bottom: 0;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 5
}

.show-grid .column {
    background: red;
    height: 100vh;
    opacity: .4
}

.three-col-wrapper .four-col:nth-child(3n+1),
.two-col-wrapper .six-col:nth-child(odd) {
    clear: left;
    margin-left: 0
}

.three-col-wrapper.slim .three-col:nth-child(3n+1) {
    clear: left;
    margin-left: 12.87313%
}

.three-col-wrapper.slim .three-col:nth-child(3n+1):last-child {
    float: none;
    margin-left: auto;
    margin-right: auto
}

.four-col-wrapper .three-col:nth-child(4n+1) {
    clear: left;
    margin-left: 0
}

.green-bg {
    background-color: #50d691
}

.orange-bg {
    background-color: #ffffff
}

.orange-bg,
.switch-to-light {
    -webkit-transition: background-color .4s ease-in-out;
    transition: background-color .4s ease-in-out
}

.grey-bg.switch-to-light.bg-switched,
.orange-bg.bg-switched {
    background-color: #f2f2f2
}

.yellow-bg {
    background-color: #ffc600
}

.grey-bg {
    background-color: #e0e0e0
}

.light-grey-bg {
    background-color: #f2f2f2
}

.white-bg {
    background-color: #fff
}

.black-bg {
    background-color: #000
}

.black-bg,
.black-bg a {
    color: #fff
}

.logo-img {
  border-radius: 50%;      
  width: 64px;             
  height: auto;             
  object-fit: contain;     
}

.in-views{
    margin-top: 30px;
}


body,
html {
    font-size: 18px
}

body {
    background-color: #e0e0e0;
    color: #000;
    font-family: UntitledSans, sans-serif;
    padding: 83px 0 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

body.page-template-page_template-climate,
body.page-template-page_template-home {
    padding: 0
}

body.page-template-page_template-locations,
body.page-template-page_template-locations .region-selector,
body.page-template-page_template-newsletter,
body.page-template-page_template-newsletter .region-selector,
body.single-post,
body.single-post .region-selector {
    background-color: #f2f2f2
}

body.page-template-page_template-awards,
body.page-template-page_template-awards .region-selector,
body.transparent-header .region-selector {
    background-color: #000;
    color: #fff
}

a,
body.page-template-page_template-awards .nav {
    color: #000
}

a {
    opacity: 1;
    -webkit-transition: .25s ease;
    transition: .25s ease
}

.transparent-header .header-selectors a,
body.page-template-page_template-awards a {
    color: #fff
}

body.page-template-page_template-awards .nav a {
    color: #000
}

a:hover {
    opacity: .5
}

img {
    height: auto;
    max-width: 100%;
    width: 100%
}

.wrapper {
    margin: 0 auto;
    width: 90%
}

header {
    background-color: inherit;
    left: 0;
    padding: 1.5em 0;
    position: fixed;
    right: 0;
    top: 0;
    -webkit-transition: top .3s ease-in-out, background-color .2s;
    transition: top .3s ease-in-out, background-color .2s;
    z-index: 4
}

.transparent-header header {
    background-color: transparent
}

.page-template-page_template-climate.transparent-header.show-region-selector header {
    background-color: #000
}

.transparent-header header .transparent-header-bg {
    background-color: #000;
    display: none;
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1
}

.headroom--not-top.headroom--pinned.transparent-header header {
    background-color: #000
}

.headroom--not-top.headroom--pinned.transparent-header.grey-header-home header,
.transparent-header.grey-header-home header .transparent-header-bg,
body.transparent-header.grey-header-home .region-selector {
    background-color: #f2f2f2
}

.transparent-header.grey-header-home.headroom--not-top.headroom--pinned header a.header-logo svg .logotype,
.transparent-header.grey-header-home.show-region-selector header a.header-logo svg .logotype {
    fill: #000
}

.transparent-header.grey-header-home.headroom--not-top.headroom--pinned header a.header-logo svg .logoicon,
.transparent-header.grey-header-home.show-region-selector header a.header-logo svg .logoicon {
    fill: #ff671f
}

.transparent-header.grey-header-home.headroom--not-top.headroom--pinned .toggle-regions svg path,
.transparent-header.grey-header-home.show-region-selector .toggle-regions svg path {
    stroke: #000
}

.transparent-header.grey-header-home.headroom--not-top.headroom--pinned .header-selectors a,
.transparent-header.grey-header-home.show-region-selector .header-selectors a {
    color: #000
}

.transparent-header.grey-header-home .region-selector li.selected a {
    color: #ff671f
}

.transparent-header.grey-header-home .region-selector li {
    border-color: #000
}

.transparent-header.grey-header-home.headroom--not-top.headroom--pinned .toggle-nav span,
.transparent-header.grey-header-home.show-region-selector .toggle-nav span {
    background-color: #000
}

.transparent-header.grey-header-home .region-selector li:last-child {
    border-bottom: 1px solid #000
}

.headroom--unpinned .toggle-nav,
.headroom--unpinned header {
    top: -88px
}

.headroom--unpinned.show-region-selector .toggle-nav,
.headroom--unpinned.show-region-selector header,
.nav-active.headroom--unpinned .toggle-nav {
    top: 0
}

header a.header-logo,
header a.header-logo svg,
header img {
    display: block;
    height: 29px;
    width: 300px
}

header a.header-logo svg .logotype {
    fill: #000
}

header a.header-logo svg .logoicon {
    fill: #ff671f
}

.page-template-page_template-awards header a.header-logo svg .logotype,
.page-template-page_template-climate header a.header-logo svg .logotype,
.page-template-page_template-home header a.header-logo svg .logotype {
    fill: #fff
}

header a {
    text-decoration: none
}

header .wrapper {
    position: relative
}

.header-selectors {
    position: absolute;
    right: 97px;
    top: 0
}

.region-selector-wrapper {
    float: left;
    position: relative
}

.language-selector-wrapper {
    margin-left: 3em;
    float: right;
    min-width: 2em;
    text-align: right;
    text-transform: uppercase
}

.language-selector-wrapper a:last-child {
    margin-left: 1em
}

.region-selector {
    background-color: #e0e0e0;
    display: none;
    left: -7.5em;
    min-width: 13rem;
    padding: 0 2em 2em;
    position: absolute;
    top: -webkit-calc(3em + 1px);
    top: calc(3em + 1px)
}

.region-selector ul {
    list-style: none;
    margin: 0;
    padding: 0
}

.region-selector li {
    border-top: 1px solid #000;
    padding: .5em 0;
    position: relative
}

.page-template-page_template-awards .region-selector li,
.transparent-header .region-selector li {
    border-top: 1px solid #fff
}

.region-selector li.selected:after {
    background-color: #ff671f;
    border-radius: 50%;
    content: "";
    display: block;
    height: 10px;
    margin-top: -5px;
    position: absolute;
    right: 0;
    top: 1.15em;
    width: 10px
}

.region-selector li:last-child {
    border-bottom: 1px solid #000
}

.page-template-page_template-awards .region-selector li:last-child,
.transparent-header .region-selector li:last-child {
    border-bottom: 1px solid #fff
}

.region-selector li a {
    display: block;
    padding: 0 1em 0 0
}

.region-selector li a:hover {
    opacity: .5
}

.region-selector li.selected a {
    color: #ff671f
}

.toggle-nav {
    display: block;
    height: 23px;
    margin-top: 1.5em;
    position: fixed;
    right: 5vw;
    top: 0;
    -webkit-transition: top .3s ease-in-out;
    transition: top .3s ease-in-out;
    width: 40px;
    z-index: 5
}

.nav-panel a:hover,
.toggle-nav:hover,
header a:hover {
    opacity: 1
}

.toggle-nav span {
    background-color: #000;
    display: block;
    height: 3px;
    left: 0;
    opacity: 1;
    position: absolute;
    top: 0;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    -webkit-transition: .2s ease-in-out;
    transition: .2s ease-in-out;
    width: 100%
}

.page-template-page_template-awards .toggle-nav span,
.transparent-header .toggle-nav span {
    background-color: #fff
}

.nav-active.page-template-page_template-awards .toggle-nav span,
.nav-active.transparent-header .toggle-nav span {
    background-color: #000
}

.toggle-nav span:nth-child(2) {
    top: 10px
}

.toggle-nav span:nth-child(3) {
    top: 20px
}

.nav-active .toggle-nav span:first-child {
    top: 10px;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.nav-active .toggle-nav span:last-child {
    top: 10px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg)
}

.nav-active .toggle-nav span:nth-child(2) {
    opacity: 0
}

.nav-panel {
    background: #e0e0e0;
    bottom: 0;
    display: none;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 4
}

.nav-panel .nav,
.nav-panel .nav-image {
    bottom: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 50%
}

.nav-panel .nav-image {
    left: 0;
    right: auto;
    opacity: 0;
    -webkit-transition: opacity .2s ease-in-out;
    transition: opacity .2s ease-in-out
}

.nav-panel .nav-image.imgs-loaded {
    opacity: 1
}

.nav-panel .nav-image div {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0
}

.nav-panel .nav-image div:first-child {
    z-index: 1
}

.nav-panel .nav-image div img {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    object-fit: cover;
    height: 100vh;
    width: 50vw
}

.nav-panel .nav {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 4vw 5vw 4vw 9%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.nav-panel .nav ul li a {
    color: #000;
    text-decoration: none
}

.nav-panel .nav ul li a:hover {
    color: #ff671f
}

.nav-panel .nav ul {
    float: left;
    font-size: 2rem;
    list-style: none;
    margin: 0;
    padding: 0;
    width: 15.5vw
}

.nav-panel .nav ul:nth-child(2) {
    font-weight: 700
}

.nav-panel .search-box {
    border-bottom: 1px solid #000;
    border-top: 1px solid #000;
    font-size: 2rem;
    margin: 3rem 0 3rem -4vw;
    padding: 3rem 0 3rem 4vw;
    position: relative
}

.nav-panel .search-box input {
    background-color: transparent;
    border: none;
    border-radius: 0;
    outline: none
}

.nav-panel .screen-reader-text {
    display: none
}

.nav-panel .search-box .search-submit,
.nav-panel .search-box .temp-search {
    background: url(../img/magnify.svg) no-repeat 50%;
    background-size: 1.5rem;
    border: none;
    border-radius: 0;
    cursor: pointer;
    height: 1.5rem;
    left: 0;
    margin: 0;
    padding: 0;
    width: 1.5rem;
    position: absolute;
    text-indent: -9999px;
    top: 50%;
    margin-top: -.75rem
}

.nav-panel .search-box ::-webkit-input-placeholder {
    color: #999
}

.nav-panel .search-box ::-moz-placeholder {
    color: #999
}

.nav-panel .search-box :-ms-input-placeholder {
    color: #999
}

.nav-panel .search-box :-moz-placeholder {
    color: #999
}

input[type=search]::-ms-clear,
input[type=search]::-ms-reveal {
    display: none;
    width: 0;
    height: 0
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
    display: none
}

.nav-panel-contact {
    text-align: center;
    width: 28.2vw
}

.nav-panel-contact span.button-label {
    display: block;
    font-size: 2rem;
    line-height: 1;
    margin: 0 0 2rem
}

h1,
h2 {
    font-size: 3.529rem;
    text-align: center;
    line-height: 1;
    margin: 0
}

.intro-column,
h3,
h4,
h5 {
    font-size: 1.353rem
}

.intro-column {
    max-width: 800px
}

.intro-column,
.intro-column.short-standfirst {
    text-align: center
}

.intro-column p:first-child {
    margin-top: 3rem
}

.intro-column p:last-child {
    margin-bottom: 0
}

.transition-in {
    opacity: 0;
    -webkit-transition: .75s ease-in-out;
    transition: .75s ease-in-out
}

.transition-in.delay {
    -webkit-transition-delay: 3s;
    transition-delay: 3s
}

.transition-in.float-up {
    -webkit-transform: translateY(100px);
    -ms-transform: translateY(100px);
    transform: translateY(100px)
}

.transition-in.float-up.slower {
    -webkit-transform: translateY(250px);
    -ms-transform: translateY(250px);
    transform: translateY(250px);
    -webkit-transition: 1s ease-in-out;
    transition: 1s ease-in-out
}

.transition-in.float-up.slowest {
    -webkit-transform: translateY(300px);
    -ms-transform: translateY(300px);
    transform: translateY(300px);
    -webkit-transition: 1.25s ease-in-out;
    transition: 1.25s ease-in-out
}

.transition-in.float-up.slower.in-view,
.transition-in.float-up.slowest.in-view,
.transition-in.in-view {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
}

.two-col-wrapper.transition-in-blocks .column {
    opacity: 0;
    -webkit-transition: .75s ease-in-out;
    transition: .75s ease-in-out;
    -webkit-transform: translateY(100px);
    -ms-transform: translateY(100px);
    transform: translateY(100px)
}

.two-col-wrapper.transition-in-blocks .column:nth-child(2n) {
    -webkit-transition-duration: 1s;
    transition-duration: 1s
}

.two-col-wrapper.transition-in-blocks.in-view .column {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
}

.padded,
.panel {
    padding: 6rem 0
}

.large-padded {
    padding: 9rem 0
}

.small-padded-top {
    padding-top: 3rem
}

.padded-bottom {
    padding-bottom: 6rem
}

.large-padded-bottom {
    padding-bottom: 9rem
}

.no-padding-bottom {
    padding-bottom: 0
}

.column.centred.margin-top,
.margin-top {
    margin-top: 3rem
}

.column.centred.large-margin-top,
.large-margin-top {
    margin-top: 6rem
}

.xlarge-margin-top {
    margin-top: 9rem
}

.page-template-default h1 {
    font-size: 2rem
}

.page-template-page_template-home_v1 h1 {
    line-height: 1;
    font-size: 80px;
    margin: 80px 0;
    text-align: center
}

.page-template-page_template-home h1 {
    line-height: 1;
    font-size: 110px;
    font-weight: 300;
    margin: 0 auto;
    max-width: 8em;
    text-align: center
}

.page-template-page_template-home h1 span {
    display: inline-block
}

.transition-in.slide-span span {
    -webkit-transform: translateX(200px);
    -ms-transform: translateX(200px);
    transform: translateX(200px);
    -webkit-transition: .75s ease-in-out;
    transition: .75s ease-in-out
}

.transition-in.slide-span span:last-child {
    -webkit-transform: translateX(-200px);
    -ms-transform: translateX(-200px);
    transform: translateX(-200px)
}

.transition-in.slide-span.in-view span {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0)
}

.page-template-page_template-home h2 {
    font-size: 2rem;
    line-height: 1.2;
    margin: 0;
    text-align: left
}

.label {
    font-size: .882rem;
    display: inline-block;
    line-height: 1.2;
    margin: 1em 0 0;
    padding: 0 0 0 22px;
    position: relative
}

.label svg {
    height: 10px;
    left: 0;
    position: absolute;
    top: .25em;
    width: 17px
}

.label svg path {
    fill: transparent;
    stroke: #000;
    stroke-width: 3px;
    -webkit-transition: .2s ease-in-out;
    transition: .2s ease-in-out
}

a:hover .label svg path {
    fill: #000
}

.black-bg .label svg path,
.page-template-page_template-awards .label svg path {
    stroke: #fff
}

.black-bg a:hover .label svg path,
.page-template-page_template-awards a:hover .label svg path {
    fill: #fff
}

.home-hero-box {
    padding-top: 77px;
    position: relative
}

.trigger {
    height: 1px;
    position: absolute
}

.trigger-1 {
    top: -webkit-calc(50vh - 77px);
    top: calc(50vh - 77px)
}

.trigger-2 {
    top: 55vh
}

.trigger-3 {
    top: 65vh
}

.trigger-4 {
    top: 75vh
}

.trigger-5 {
    top: -40vh
}

.trigger-7 {
    top: 20vh
}

.sticky-panel-wrapper {
    opacity: 1;
    -webkit-transition: opacity .2s ease-in-out;
    transition: opacity .2s ease-in-out
}

.sticky-panel-wrapper.fade-me {
    opacity: 0
}

.home-hero-box .wrapper {
    position: relative;
    z-index: 1
}

.home-svg-wrap {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 20vh;
    z-index: 0;
    overflow: hidden
}

.home-svg-wrap svg {
    margin-left: -10vw;
    fill: #fff;
    height: 63.2vw;
    width: 120vw
}

.home-hero img {
    height: 48vh;
    object-fit: cover
}

.home-intro {
    font-size: 1.353rem;
    margin-left: auto;
    margin-right: auto;
    width: 550px;
    text-align: center
}

.panel.full-height.video-panel {
    background-color: transparent;
    background-image: none
}

.home-hero-slider {
    background-color: #e0e0e0;
    position: relative
}

.home-hero-slider .slick-arrow {
    background: transparent;
    border: 0;
    bottom: 0;
    cursor: url(../img/cursor-left-white-v2.svg), auto;
    height: 100vh;
    left: 0;
    padding: 0;
    position: absolute;
    top: 0;
    width: 50%;
    z-index: 1
}

.home-hero-slider .slick-arrow.slick-next {
    background: transparent;
    cursor: url(../img/cursor-right-white-v2.svg), auto;
    left: auto;
    right: 0
}

.home-hero-slide {
    background-position: 50%;
    background-size: cover;
    height: 100vh
}

.drag-right {
    margin-right: -5vw
}

.home-svg-bg {
    background: #e0e0e0 url(../img/home-svg-bg.svg) no-repeat 50%;
    background-attachment: fixed;
    background-size: cover
}

.trigger-wrapper {
    position: relative
}

.home-square-img-margin {
    margin-top: 14vw
}

.home-landscape-img-margin {
    margin-top: 9.9vw
}

.alm-load-more-btn,
.button {
    background: transparent;
    border: none;
    border-radius: 0;
    color: #000;
    cursor: pointer;
    display: inline-block;
    outline: none;
    padding: 0;
    position: relative;
    text-align: center;
    line-height: 47px;
    text-decoration: none;
    height: 47px;
    width: 192px
}

.button:hover {
    opacity: 1
}

.two-buttons .button {
    margin: 0 1.2vw
}

.two-buttons.margin-top {
    margin-top: 0
}

.two-buttons.margin-top .button {
    margin-top: 3rem
}

.alm-load-more-btn {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 192 47' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='%23000' fill='%23f2f2f2' d='M1.004 1L1 31.054l25.996 15.029h137.005l25.995-15.029L189.993 1z'/%3E%3C/svg%3E");
    background-size: 192px 47px;
    margin-top: 3rem;
    -webkit-transition: .2s ease-in-out;
    transition: .2s ease-in-out
}

.page-template-page_template-awards .alm-load-more-btn {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 192 47' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='%23fff' fill='%23000' d='M1.004 1L1 31.054l25.996 15.029h137.005l25.995-15.029L189.993 1z'/%3E%3C/svg%3E");
    color: #fff
}

.alm-load-more-btn:hover {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 192 47' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='%23FF671F' fill='%23FF671F' d='M1.004 1L1 31.054l25.996 15.029h137.005l25.995-15.029L189.993 1z'/%3E%3C/svg%3E");
    color: #000
}

.button span {
    position: relative;
    z-index: 1
}

.button svg {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0
}

.button svg path {
    fill: transparent;
    stroke: #000;
    -webkit-transition: .25s ease;
    transition: .25s ease
}

.button:hover svg path {
    fill: #ff671f;
    stroke: #ff671f
}

.green-bg .button:hover {
    color: #50d691
}

.yellow-bg .button:hover {
    color: #ffc600
}

.green-bg .button:hover svg path,
.yellow-bg .button:hover svg path {
    fill: #000;
    stroke: #000
}

.black-bg .button svg path {
    fill: #000;
    stroke: #fff
}

.black-bg .button:hover {
    color: #000
}

.black-bg .button:hover svg path {
    fill: #fff;
    stroke: #fff
}

.transparent-bg .button {
    color: #fff
}

.transparent-bg .button svg path {
    fill: transparent;
    stroke: #fff
}

.transparent-bg .button:hover {
    color: #000
}

.transparent-bg .button:hover svg path {
    fill: #fff;
    stroke: #fff
}

.cta-panel {
    color: #000;
    text-align: center
}

.cta-panel .wrapper a {
    color: #000
}

.cta-panel .wrapper h3 {
    font-size: 2rem;
    margin: 0 0 3rem
}

.centre {
    text-align: center
}

.sticky-panel-wrapper {
    position: relative
}

.sticky-panel {
    height: 100vh;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1
}

.sticky-panel-v1 .sticky-panel,
.sticky-panel.stuck {
    position: fixed;
    z-index: -1
}

.sticky-panel.unstuck {
    position: absolute;
    top: 100vh
}

.sticky-panel div {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    -webkit-transition: .4s ease-in-out;
    transition: .4s ease-in-out
}

.sticky-panel div,
.sticky-panel div:after {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0
}

.sticky-panel div:after {
    background: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(75%, rgba(0, 0, 0, .5)));
    background: -webkit-linear-gradient(left, transparent, rgba(0, 0, 0, .5) 75%);
    background: linear-gradient(90deg, transparent, rgba(0, 0, 0, .5) 75%);
    content: ""
}

.sticky-panel div:nth-child(odd):after {
    background: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), color-stop(75%, transparent));
    background: -webkit-linear-gradient(left, rgba(0, 0, 0, .5), transparent 75%);
    background: linear-gradient(90deg, rgba(0, 0, 0, .5), transparent 75%)
}

.sticky-panel div:first-child:after {
    content: none
}

.sticky-panel .sticky-panel-1,
.sticky-panel .sticky-panel-2 {
    opacity: 0
}

.sticky-panel .sticky-panel-1.show-panel,
.sticky-panel .sticky-panel-2.show-panel {
    opacity: 1
}

.vimeo-wrapper {
    background-color: #000;
    overflow: hidden
}

.vimeo-wrapper .video-line {
    color: #fff;
    font-size: 2.25rem;
    opacity: 0;
    position: absolute;
    left: 5%;
    line-height: 1;
    top: 50%;
    text-align: center;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 90%
}

.vimeo-wrapper .video-line.static {
    opacity: 1
}

.vimeo-wrapper.loaded .video-line.line-1 {
    -webkit-animation: a 7s;
    animation: a 7s
}

.vimeo-wrapper.loaded .video-line.line-2 {
    -webkit-animation: a 5.4s;
    animation: a 5.4s;
    -webkit-animation-delay: 7s;
    animation-delay: 7s
}

@-webkit-keyframes a {
    0% {
        opacity: 0
    }

    10% {
        opacity: 1
    }

    90% {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

@keyframes a {
    0% {
        opacity: 0
    }

    10% {
        opacity: 1
    }

    90% {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

a.home-scroll-down {
    bottom: 2rem;
    display: block;
    left: 50%;
    margin-left: -25px;
    position: absolute;
    z-index: 1
}

a.home-scroll-down,
a.home-scroll-down svg {
    height: 50px;
    width: 50px
}

.vimeo-wrapper iframe {
    width: 100vw;
    height: 56.25vw;
    min-height: 100vh;
    min-width: 177.77vh;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.video-placeholder-img {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0
}

.video-placeholder-img img {
    object-fit: cover;
    height: 100%;
    width: 100%
}

.top-panel-gradient {
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, .1)), color-stop(25%, transparent));
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, .1), transparent 25%);
    background: linear-gradient(180deg, rgba(0, 0, 0, .1), transparent 25%);
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
    z-index: 0
}

.scroll-panel {
    color: #fff;
    min-height: 100vh;
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

/*.scroll-panel-2{*/
/*    min-height: 150vh;*/
/*}*/
.scroll-dl{
    line-height: 2.5 !important;
}

.scroll-panel .button {
    margin-top: 20px
}

.copy {
    max-width: 490px
}

.copy p {
    font-size: 14px !important;
}

.titless h1{
    font-size: 16px !important;
}

.diamond-header {
    text-align: center
}

.diamond-header svg {
    display: inline-block;
    height: 1.75rem;
    margin: 0 0 1rem;
    opacity: 0;
    stroke: #000;
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg);
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    -webkit-transition: 1.25s ease-in-out;
    transition: 1.25s ease-in-out;
    width: 3rem
}

.diamond-header.in-view svg {
    opacity: 1;
    -webkit-transform: rotate(0) scale(1);
    -ms-transform: rotate(0) scale(1);
    transform: rotate(0) scale(1)
}

.diamond-header svg path {
    fill: transparent;
    -webkit-transition: fill .5s ease-in-out 1s;
    transition: fill .5s ease-in-out 1s
}

.diamond-header.in-view svg path {
    fill: #000
}

.black-bg .diamond-header.in-view svg path {
    fill: #fff
}

.black-bg .diamond-header svg {
    stroke: #fff
}

.diamond-header h2,
.single-people .diamond-header h2 {
    font-size: 3.529rem;
    text-align: center
}

.quote {
    display: block;
    margin: 0 auto;
    max-width: 850px;
    overflow: hidden;
    text-align: center
}

.quote-slider-wrapper .quote {
    margin: 0 auto 2rem
}

.quote svg {
    height: 31px;
    width: 52px
}

.quote p {
    font-size: 2rem;
    margin: .75rem 0
}

.quote.large-quote p {
    font-size: 3.529rem;
    line-height: 1.2
}

.quote span.quote-line {
    display: block;
    opacity: 0;
    -webkit-transform: translateX(100px);
    -ms-transform: translateX(100px);
    transform: translateX(100px);
    -webkit-transition: opacity .5s ease-in, -webkit-transform .75s ease-out;
    transition: opacity .5s ease-in, -webkit-transform .75s ease-out;
    transition: transform .75s ease-out, opacity .5s ease-in;
    transition: transform .75s ease-out, opacity .5s ease-in, -webkit-transform .75s ease-out
}

.quote span.quote-line:nth-child(odd) {
    -webkit-transform: translateX(-100px);
    -ms-transform: translateX(-100px);
    transform: translateX(-100px)
}

.quote.in-view span.quote-line {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0)
}

.quote span.credit {
    display: block;
    font-size: .882rem
}

footer {
    background-color: #e0e0e0;
    padding: 6rem 0
}

body.page-template-page_template-awards footer a,
footer {
    color: #000
}

footer h4 {
    font-size: 2rem;
    font-weight: 400;
    line-height: 1;
    margin: 0 0 2rem
}

footer .wrapper {
    position: relative
}

footer .small-text p {
    margin: 0
}

footer .small-text {
    position: relative
}

footer .small-text .social-icons {
    left: 0;
    position: absolute;
    top: -3em
}

.social-icons {
    font-size: 1.25em;
    list-style: none;
    margin: 0;
    padding: 0
}

.social-icons li {
    display: inline;
    margin-right: 1em
}

.social-icons li:last-child {
    margin-right: 0
}

.social-icons li a {
    position: relative
}

.social-icons li a:hover {
    opacity: 1
}

.social-icons li a:hover i {
    opacity: .5
}

.social-icons li a .wechat-qr-code {
    bottom: 1.25rem;
    height: 0;
    left: 0;
    max-width: none;
    opacity: 0;
    position: absolute;
    -webkit-transition: .2s ease-in-out;
    transition: .2s ease-in-out;
    width: 0;
    z-index: 1
}

.social-icons li a:hover .wechat-qr-code {
    height: 220px;
    opacity: 1;
    width: 220px
}

.footer-button {
    float: left
}

.footer-button:first-child {
    margin-right: 2.4rem
}

.location-expanders {
    border-bottom: 1px solid #000;
    margin: 0 0 3rem
}

.location-expanders.list-two {
    margin-top: 4rem
}

.show-locations {
    border-top: 1px solid #000;
    color: #000;
    display: block;
    padding: .25em 1em .25em 0;
    position: relative;
    text-decoration: none
}

.toggle-regions {
    display: block;
    margin-top: -4px
}

.toggle-regions svg {
    height: 32px;
    width: 32px
}

.toggle-regions svg path {
    fill: none;
    stroke: #000;
    stroke-width: 1.357
}

.page-template-page_template-awards .toggle-regions svg path,
.transparent-header .toggle-regions svg path {
    stroke: #fff
}

.show-locations:after,
.show-service:after {
    background: url(../img/arrow-down.svg) no-repeat 50%;
    background-size: 1em 1em;
    content: "";
    height: 1em;
    position: absolute;
    right: 0;
    top: .45em;
    width: 1em
}

.show-service:after {
    background-size: 1.5rem;
    bottom: .5rem;
    height: 1.5rem;
    left: 50%;
    margin: 0 0 0 -.75rem;
    right: auto;
    top: auto;
    width: 1.5rem
}

.show-locations.open:after,
.show-service.active:after {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg)
}

.location-list {
    display: none;
    padding: 1em .5em;
    font-weight: 700
}

.location-list ul {
    list-style-type: none;
    margin: 0;
    padding: 0
}

.location-list ul li a {
    text-decoration: none
}

ul.inline {
    list-style-type: none;
    margin: 0;
    padding: 0
}

ul.inline li {
    display: inline;
    float: left;
    margin: 0
}

ul.inline li:after {
    content: "\00a0\00a0|\00a0\00a0"
}

ul.inline li:last-child:after {
    content: none
}

ul.inline li a {
    color: #000;
    text-decoration: none
}

.small-text {
    font-size: .882rem
}

a h2 {
    padding-right: 38px
}

a h2,
a h2 span {
    position: relative
}

a h2 span {
    text-decoration: none;
    background-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000));
    background-image: -webkit-linear-gradient(#000, #000);
    background-image: linear-gradient(#000, #000);
    background-position: 0 90%;
    background-repeat: no-repeat;
    background-size: 0 1px;
    -webkit-transition: background-size .3s;
    transition: background-size .3s
}

.black-bg a h2 span,
.page-template-page_template-awards a h2 span {
    background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#fff));
    background-image: -webkit-linear-gradient(#fff, #fff);
    background-image: linear-gradient(#fff, #fff)
}

a:focus h2 span,
a:hover h2 span {
    background-size: 100% 1px
}

a h2 svg {
    display: inline-block;
    height: .8em;
    margin-left: 0;
    stroke: #000;
    width: .8em;
    -webkit-transition: .25s ease;
    transition: .25s ease;
    position: absolute;
    right: -1.25em;
    bottom: .1em
}

a.link-box.four-col h2 svg,
a.link-box.three-col h2 svg,
a.three-col .link-box h2 svg {
    height: 1rem;
    width: 1rem
}

.black-bg a h2 svg,
.page-template-page_template-awards a h2 svg {
    stroke: #fff
}

a:hover h2 svg {
    right: -1.5em
}

.link-box {
    text-decoration: none
}

.link-box:hover {
    opacity: 1
}

.link-box h1,
.link-box h2 {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.2;
    margin: 1rem 0 0;
    max-width: 36vw;
    text-align: left
}

.link-box.four-col h2,
.link-box.three-col h2,
.three-col .link-box h2 {
    font-size: 1.353rem;
    font-weight: 400;
    line-height: 1.4
}

.alm-wrapper .column,
.search-result-wrapper .column {
    margin-bottom: 3rem;
    margin-top: 3rem
}

.search-results-outer.service .alm-wrapper .column {
    margin-top: 0
}

.block-margins .column {
    margin-top: 6rem
}

.news-thumb-canvas.square {
    margin-top: 33.333333%
}

.news-thumb-canvas.landscape {
    margin-top: 77.2%
}

.max-height-square .news-thumb-canvas.square {
    margin-top: 0
}

.max-height-square .news-thumb-canvas.landscape {
    margin-top: 43.866667%
}

.max-height-landscape .news-thumb-canvas.landscape {
    margin-top: 0
}

.people-box {
    margin-bottom: 3rem;
    margin-top: 3rem
}

.people-box h2 {
    font-size: 1.353rem;
    font-weight: 400;
    margin: .75rem 0 0;
    text-align: left
}

.people-box img {
    object-fit: cover;
    height: 27.3vw
}



a:hover .zoom-image img {
    -webkit-transform: scale(1.03);
    -ms-transform: scale(1.03);
    transform: scale(1.03)
}


.link-box {
	opacity: 0;
	transform: translateY(20px);
	transition: all 0.6s ease-out;
}

.link-box.in-view {
	opacity: 1;
	transform: translateY(0);
}

.zoom-image {
	overflow: hidden;
}
.zoom-image img {
	-webkit-transition: -webkit-transform 0.6s ease;
	transition: transform 0.6s ease;
	transform: scale(1); /* 初始无缩放 */
}
.zoom-image.in-view img {
	transform: scale(1.03); /* 滚动进入后放大 */
}

.zoom-image.medium_landscape {
	position: relative;
	padding: 0 0 56.25%;
}
.zoom-image.medium_landscape img {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	object-fit: cover;
}

.marquee {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden
}

.marquee__inner {
    white-space: nowrap;
    -webkit-animation: b 10s infinite linear;
    animation: b 10s infinite linear
}

.marquee span {
    font-size: 8em;
    line-height: 1.2;
    padding: 0 2vw
}

@-webkit-keyframes b {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    to {
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@keyframes b {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    to {
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

.shape-bg {
    overflow: hidden;
    position: relative
}

.shape-bg .wrapper {
    position: relative;
    z-index: 1
}

.shape-bg svg.bg-shape {
    bottom: 0;
    fill: #ffc600;
    left: 0;
    position: absolute;
    right: 0
}

.size-1-copy {
    font-size: 1.353rem
}

.page-template-page_template-climate .shape-bg svg.bg-shape {
    bottom: auto;
    fill: #50d691;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.climate-hero {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #000;
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    color: #fff;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    min-height: 100vh
}

.climate-hero.vimeo-wrapper .wrapper {
    position: relative;
    z-index: 1
}

.climate-hero h1 {
    line-height: 1.2;
    margin-top: 100px
}

.climate-hero h2 {
    font-weight: 400;
    line-height: 1.2;
    margin: 0 auto;
    max-width: 13em
}

.climate-hero a {
    display: block;
    margin: 2rem auto 0
}

.climate-hero a,
.climate-hero a svg {
    height: 154px;
    width: 70px
}

.climate-years-wrapper {
    padding-top: 4rem;
    position: relative
}

.climate-years-wrapper:after {
    background-color: #000;
    content: "";
    display: block;
    height: 2rem;
    left: 50%;
    margin-left: -1px;
    position: absolute;
    top: 0;
    width: 2px;
    z-index: 1;
    -webkit-transition: 1.5s ease-in-out;
    transition: 1.5s ease-in-out
}

.climate-years-wrapper.in-view:after {
    height: -webkit-calc(100% - 4px);
    height: calc(100% - 4px)
}

.climate-years-arrow {
    bottom: -webkit-calc(100% - 2rem);
    bottom: calc(100% - 2rem);
    fill: #000;
    height: 1rem;
    left: 50%;
    position: absolute;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 2rem;
    -webkit-transition: 1.5s ease-in-out;
    transition: 1.5s ease-in-out;
    z-index: 1
}

.climate-years-wrapper.in-view .climate-years-arrow {
    bottom: 2px
}

.climate-year-row {
    margin-bottom: 3rem
}

.climate-progress-figure,
.climate-year {
    font-size: 10rem;
    font-weight: 300;
    line-height: 1;
    position: relative
}

.climate-year span {
    display: block;
    margin-left: 7.4vw
}

.climate-year:after {
    background-color: #000;
    content: "";
    display: block;
    height: 2px;
    left: 100%;
    position: absolute;
    top: 50%;
    width: 2.7vw;
    z-index: 1
}

.climate-year-details {
    font-size: 1.353rem;
    min-height: 10rem;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex
}

.climate-year-details-inner {
    margin-left: 5vw
}

.climate-year-details-inner ul {
    margin-top: 0
}

.climate-actions {
    font-size: 1.353rem
}

.climate-actions .six-col:first-child {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding-right: 1.25vw
}

.climate-actions .six-col:last-child {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding-left: 1.25vw
}

.climate-actions h3 {
    font-size: 2rem;
    font-weight: 400;
    margin: 0
}

.climate-actions p {
    margin-top: 0
}

.climate-progress {
    text-align: center
}

.climate-progress .column {
    margin-bottom: 6rem
}

.climate-progress .column:nth-child(odd) {
    clear: left;
    margin-left: 0
}

.climate-progress-stat {
    margin: 0 auto;
    width: 82.7%
}

.climate-progress-detail {
    border-top: 1px solid #565758;
    font-size: 1.353rem;
    margin-top: 2rem
}

.climate-progress-detail p {
    margin-bottom: 0
}

.panel.border-top:before {
    background-color: #565758;
    display: block
}

.filter-toggle-wrapper {
    border-bottom: 1px solid #000;
    padding: 0 0 2em
}

.page-template-page_template-awards .filter-toggle-wrapper {
    border: none;
    padding: 0
}

.page-template-page_template-awards .alm-filter-lists {
    clear: both
}

.page-template-page_template-awards .awards-list {
    margin-top: 2rem
}

.page-template-page_template-awards .show-filter:after {
    background-image: url(../img/arrow-down-white.svg)
}

.filter-toggle-btn {
    display: inline-block;
    float: left;
    width: 20rem
}

.alm-filter--textfield.textfield,
.show-filter {
    font-size: 2rem;
    font-weight: 700;
    padding: 0 1em 0 0;
    position: relative;
    text-decoration: none
}

.show-filter.mobile {
    display: none
}

.show-filter:after {
    background: url(../img/arrow-down.svg) no-repeat 50%;
    background-size: .75em .75em;
    content: "";
    height: .75em;
    position: absolute;
    right: 0;
    top: .3em;
    width: .75em
}

.show-filter.active:after {
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg)
}

.filtering .alm-filter .alm-filter--link {
    cursor: default
}

.alm-filter--taxonomy {
    font-size: 1.353rem;
    font-weight: 700;
    padding: 1px 0 0
}

.alm-filter--link {
    cursor: pointer;
    display: inline;
    opacity: 1;
    outline: none;
    -webkit-transition: opacity .5s ease-in-out;
    transition: opacity .5s ease-in-out
}

.alm-filter--link:hover {
    opacity: .5
}

.alm-filter--link.active:hover {
    opacity: 1
}

.alm-filter--taxonomy a {
    text-decoration: none
}

.alm-filter--taxonomy ul {
    display: none;
    list-style: none;
    margin: 0;
    padding: 1em 0 0
}

.alm-filter--taxonomy ul .active {
    color: #ff671f
}

.alm-filter--taxonomy ul li ul {
    font-size: 1rem;
    padding: 0 0 1rem
}

.alm-filter--search {
    position: absolute;
    top: 0;
    right: 0
}

.page-template-page_template-awards .alm-filter--search {
    display: none
}

.alm-filter--textfield.textfield {
    background: transparent;
    border: none;
    color: #e0e0e0;
    line-height: 1;
    max-width: 100%;
    outline: none;
    padding: 0
}

.alm-filter--text-wrap.has-button button {
    background: transparent url(../img/magnify.svg) no-repeat 50%;
    background-size: 1.5em;
    border: none;
    height: 2em;
    left: -2.5em;
    margin-top: -.9em;
    padding: 0;
    position: absolute;
    text-indent: -9999px;
    top: 50%;
    width: 2em
}

.alm-filter--textfield.textfield::-webkit-input-placeholder {
    color: #e0e0e0
}

.alm-outer-wrapper {
    position: relative
}

.alm-wrapper {
    min-height: 50vh
}

.single-people .alm-wrapper {
    min-height: 0
}

.alm-btn-wrap {
    clear: both;
    text-align: center
}

.alm-empty {
    padding: 3em 0
}

.alm-is-filtering .alm-load-more-btn,
.alm-load-more-btn.done {
    display: none
}

.alm-reveal.alm-filters {
    float: left;
    width: 100%
}

.page-template-page_template-insights-php .alm-filter-lists .alm-filter,
.page-template-page_template-projects-php .alm-filter-lists .alm-filter {
    float: left;
    width: 20rem
}

.page-template-page_template-projects-php .alm-filter-lists .alm-filter#alm-filter-3 {
    width: -webkit-calc(100% - 40rem);
    width: calc(100% - 40rem)
}

.slider-wrapper {
    position: relative
}

.slider-wrapper .slider-titles {
    margin-left: 0;
    padding: 2rem 0 5rem
}

.single-location .slider-wrapper .slider-titles {
    border-top: 1px solid #000;
    padding-top: 0
}

.single-location .content-blocks-panel {
    padding-top: 0
}

.slider-wrapper .slider-titles .link-box .label {
    margin-top: 0
}

.slider-wrapper .slider-titles .slider-link {
    display: none
}

.slider-controls-padding {
    padding-bottom: 5rem
}

.slider-controls {
    bottom: 2rem;
    height: 2em;
    left: 0;
    position: absolute;
    text-align: center;
    width: 7em
}

.single-project-slider-wrapper {
    position: relative
}

.single-project-slider-wrapper .slider-controls {
    bottom: -5rem
}

.single-project-slider-wrapper img {
    object-fit: cover;
    height: 50.625vw
}

.quote-slider-wrapper .slider-controls {
    bottom: auto;
    left: auto;
    margin: 0 auto;
    position: relative
}

.slider-number {
    line-height: 2em
}

.slick-arrow {
    background: transparent url(../img/arrow-left.svg) no-repeat 50%;
    background-size: 2em;
    border: 0;
    border-radius: 0;
    cursor: pointer;
    height: 2em;
    left: 0;
    padding: 0;
    position: absolute;
    text-align: left;
    text-indent: -9999px;
    top: 0;
    width: 2em
}

.slick-arrow.slick-next {
    background-image: url(../img/arrow-right.svg);
    left: auto;
    right: 0
}

.slider-wrapper h2 {
    font-size: 2rem;
    margin-top: 1rem;
    text-align: left
}

.eight-col-plus {
    margin-right: -5vw;
    width: 71.2%
}

.project-awards {
    border-top: 1px solid #565758;
    padding: 1rem 0
}

.project-awards p {
    margin: 0
}

.project-awards .award-year {
    display: inline-block;
    width: 3em
}

.project-detail {
    border-top: 1px solid #565758;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    clear: both;
    float: left;
    padding: 1rem 2rem 1rem 0;
    width: 53.07692%
}

.project-detail.full-width {
    width: 100%
}

.project-detail p {
    margin: 0
}

.project-detail strong a {
    text-decoration: none
}

.project-detail:nth-child(2n) {
    clear: none;
    float: right;
    width: 46.92308%
}

.project-detail:nth-child(odd):last-child {
    width: 100%
}

.project-detail:nth-child(odd):last-child p,
.project-detail:nth-child(odd):last-child strong {
    max-width: 49%
}

.next-prev-links {
    border-top: 1px solid #000;
    padding: 1.5rem 0 0
}

.next-prev-links.no-border {
    border-top: none;
    padding: 0
}

.next-prev-links a,
a.back-form-selection {
    background: url(../img/arrow-2-left.svg) no-repeat 0;
    background-size: 22px 22px;
    display: inline-block;
    float: left;
    font-size: 1.353rem;
    padding: 0 0 0 30px;
    text-decoration: none
}

.next-prev-links .next-link a {
    background: url(../img/arrow-2-right.svg) no-repeat 100%;
    background-size: 22px 22px;
    float: right;
    padding: 0 30px 0 0
}

a.back-form-selection {
    font-size: 1em;
    font-weight: 700;
    height: 30px;
    line-height: 30px
}

.page-template-page_template-careers h3 {
    font-size: 1.353rem;
    font-weight: 900;
    margin-top: 6rem
}

.awards-row div,
.careers-row div,
.news-search-row div {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    float: left;
    min-height: 1px;
    padding-right: 2em;
    width: 20%
}

.awards-row div:last-child,
.careers-row div:last-child,
.news-search-row div:last-child {
    padding-right: 0
}

.awards-row div {
    width: 30%
}

.news-search-row div {
    width: -webkit-calc(100% - 2em);
    width: calc(100% - 2em)
}

.awards-row.linked-project div.awards-project {
    width: -webkit-calc(30% - 2em);
    width: calc(30% - 2em)
}

.awards-row div.awards-go,
.news-search-row div.news-search-go {
    width: 2em
}

.careers-row div:first-child {
    width: 40%
}

.awards-row div:first-child {
    width: 10%
}

.awards-row.awards-header,
.careers-row.careers-header {
    padding: 1em 0
}

.awards-row.awards-header div,
.careers-row.careers-header div {
    font-size: .882rem
}

.awards-row,
.news-search-row,
a.careers-row {
    border-top: 1px solid #565758;
    display: block;
    padding: 1em 0
}

.awards-list a.awards-row:last-child,
.careers-list a.careers-row:last-child,
.news-search-list a.news-search-row:last-child {
    border-bottom: 1px solid #565758
}

a.awards-row .awards-go,
a.careers-row .careers-apply,
a.news-search-row .news-search-go {
    position: relative;
    text-align: right
}

a.awards-row .awards-go span,
a.careers-row .careers-apply span,
a.news-search-row .news-search-go span {
    padding-right: 1.5em
}

a.awards-row .awards-go span svg,
a.careers-row .careers-apply span svg,
a.news-search-row .news-search-go span svg {
    height: 1em;
    position: absolute;
    right: 0;
    stroke: #000;
    top: .25em;
    width: 1em;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
    -webkit-transition: .2s ease-in-out;
    transition: .2s ease-in-out
}

.page-template-page_template-climate a.careers-row .careers-apply span svg {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg)
}

a.awards-row:hover .awards-go span svg,
a.careers-row:hover .careers-apply span svg,
a.news-search-row:hover .news-search-go span svg {
    -webkit-transform: translateX(-1em);
    -ms-transform: translateX(-1em);
    transform: translateX(-1em)
}

.awards-row span,
.news-search-row span,
a.careers-row span {
    display: block;
    padding: 0;
    -webkit-transition: padding .2s ease-in-out;
    transition: padding .2s ease-in-out
}

a.careers-row:hover,
a.news-search-row:hover {
    background-color: #fff;
    opacity: 1
}

.page-template-page_template-climate a.careers-row:hover {
    background-color: #50d691
}

a.awards-row:hover {
    background-color: #1f1f1f;
    opacity: 1
}

a.careers-row:hover .careers-position span {
    padding-left: 1em
}

a.careers-row:hover .careers-apply span {
    padding-right: 2.5em
}

a.awards-row:hover .awards-date span,
a.news-search-row:hover .news-search-title span {
    padding-left: 1em
}

a.news-search-row:hover .news-search-go span {
    padding-right: 1em
}

.limit-width {
    max-width: 1000px
}

.single-people h1 {
    margin-bottom: 0
}

.single-people .column.portrait-col {
    max-width: 300px;
    width: 100%
}

.single-people .limit-width h2,
.single-people .limit-width h3 {
    font-size: 1.353rem;
    margin: 0;
    text-align: left
}

.single-people h3 {
    font-weight: 400;
    margin: .25rem 0 2rem
}

.single-people .cta-panel h3 {
    font-weight: 700
}

.light-grey-after,
.split-panel-home,
.white-after {
    position: relative
}

.light-grey-after:before,
.split-panel-home:after,
.split-panel-home:before,
.white-after:before {
    background-color: #fff;
    bottom: 0;
    content: "";
    display: block;
    left: 0;
    position: absolute;
    right: 0;
    top: 50%;
    z-index: -1
}

.split-panel-home:before {
    background-color: #e0e0e0;
    bottom: 48%;
    top: 0
}

.split-panel-home:after {
    top: 52%
}

.light-grey-after:before,
.split-panel-home:after {
    background-color: #f2f2f2
}

.anchor-wrapper {
    position: relative
}

.anchor-wrapper .anchor {
    position: absolute;
    top: -4rem
}

.panel.service-intro-panel {
    position: relative
}

.panel.service-intro-panel:after {
    background-color: #e0e0e0;
    bottom: -3rem;
    content: "";
    display: block;
    height: 3rem;
    left: 0;
    position: absolute;
    width: 100%;
    z-index: 3
}

.service-sub-nav {
    border-top: 83px solid #f2f2f2;
    background-color: #f2f2f2;
    line-height: 1;
    padding: 1rem 0;
    position: -webkit-sticky;
    position: sticky;
    text-align: center;
    top: -83px;
    -webkit-transition: top .3s ease-in-out;
    transition: top .3s ease-in-out;
    z-index: 2
}

.headroom--pinned .service-sub-nav {
    top: 0
}

.service-sub-nav ul {
    font-size: 2rem;
    font-weight: 700;
    list-style: none;
    margin: 0;
    padding: 0
}

.service-sub-nav ul li {
    display: inline-block;
    margin: 0 2rem
}

.service-sub-nav ul li:first-child {
    margin-left: 0
}

.service-sub-nav ul li:last-child {
    margin-right: 0
}

.service-sub-nav ul li a {
    display: inline-block;
    padding-right: 2rem;
    position: relative;
    text-decoration: none
}

.service-sub-nav ul li a:hover {
    color: #ff671f;
    opacity: 1
}

.service-sub-nav ul li a svg {
    position: absolute;
    right: 0;
    top: 50%;
    margin-top: -.375em;
    height: .75em;
    width: .75em;
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .4s ease-in-out;
    transition: .4s ease-in-out
}

.service-sub-nav ul li a svg path {
    stroke: #000;
    -webkit-transition: stroke .2s ease-in-out;
    transition: stroke .2s ease-in-out
}

.service-sub-nav ul li a:hover svg path {
    stroke: #ff671f
}

.spin-people-arrow .people-link svg,
.spin-space-arrow .space-link svg,
.spin-technology-arrow .technology-link svg {
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg)
}

.page-template-page_template-services .panel.service-panel {
    padding-bottom: 3rem
}

.panel.border-top {
    position: relative
}

.panel.border-top:before {
    background-color: #000;
    content: "";
    height: 1px;
    left: 5vw;
    position: absolute;
    top: 0;
    width: 90vw
}

.services-list h4 {
    border-top: 1px solid #000;
    color: #000;
    font-size: 1em;
    font-weight: 500;
    margin: 0;
    opacity: 1;
    padding: 1rem 0 0;
    text-align: center;
    -webkit-transition: color .2s ease-in-out;
    transition: color .2s ease-in-out
}

.services-list .show-service {
    display: block;
    padding: 0 0 3rem;
    position: relative;
    text-decoration: none
}

.services-list .show-service:hover {
    opacity: 1
}

.services-list .show-service:hover h4 {
    color: #ff671f
}

.services-list .service-intro {
    display: none
}

.services-list .service-intro p:first-child {
    margin-top: 0
}

.services-list .service-intro .inner {
    border-top: 1px solid #000;
    padding-top: 1rem
}

.services-list .three-col {
    margin-bottom: 3rem
}

.service-icon-wrapper {
    padding: 0 0 -webkit-calc(200px + 2rem);
    padding: 0 0 calc(200px + 2rem);
    position: relative
}

.single-service .service-icon-wrapper {
    height: 200px;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    width: 200px
}

.service-icon-wrapper svg {
    height: 200px;
    width: 200px;
    left: 50%;
    margin: -100px 0 0 -100px;
    position: absolute;
    top: 50%
}

.service-icon-wrapper svg .fill,
.service-icon-wrapper svg .fill.stroke {
    fill: #f2f2f2;
    -webkit-transition: .2s ease-in-out;
    transition: .2s ease-in-out
}

.single-service .service-icon-wrapper svg .fill {
    fill: #e0e0e0
}

.service-icon-wrapper svg .stroke,
.service-icon-wrapper svg g {
    fill: none;
    -webkit-transition: .2s ease-in-out;
    transition: .2s ease-in-out
}

.service-icon-wrapper svg .stroke {
    stroke: #000;
    stroke-width: 1.333
}

a:hover .service-icon-wrapper svg .stroke {
    stroke: #ff671f
}

.service-icon-wrapper svg .spin {
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0)
}

a:hover .service-icon-wrapper svg .spin {
    -webkit-transform: rotate(-30deg);
    -ms-transform: rotate(-30deg);
    transform: rotate(-30deg)
}

a:hover .service-icon-wrapper svg .spin.spin-60 {
    -webkit-transform: rotate(60deg);
    -ms-transform: rotate(60deg);
    transform: rotate(60deg)
}

a:hover .service-icon-wrapper svg .spin.spin-minus-60 {
    -webkit-transform: rotate(-60deg);
    -ms-transform: rotate(-60deg);
    transform: rotate(-60deg)
}

.service-icon-wrapper svg .flip {
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    -webkit-transform: scaleY(1);
    -ms-transform: scaleY(1);
    transform: scaleY(1)
}

a:hover .service-icon-wrapper svg .flip {
    -webkit-transform: scaleY(-1);
    -ms-transform: scaleY(-1);
    transform: scaleY(-1)
}

.service-icon-wrapper svg .flip-h {
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    -webkit-transform: scaleX(1);
    -ms-transform: scaleX(1);
    transform: scaleX(1)
}

a:hover .service-icon-wrapper svg .flip-h {
    -webkit-transform: scaleX(-1);
    -ms-transform: scaleX(-1);
    transform: scaleX(-1)
}

.service-icon-wrapper svg .move-down,
.service-icon-wrapper svg .move-up {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
}

a:hover .service-icon-wrapper svg .move-up {
    -webkit-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    transform: translateY(-10px)
}

a:hover .service-icon-wrapper svg .move-down {
    -webkit-transform: translateY(10px);
    -ms-transform: translateY(10px);
    transform: translateY(10px)
}

.service-icon-wrapper svg .move-block-down,
.service-icon-wrapper svg .move-block-up {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
}

a:hover .service-icon-wrapper svg .move-block-up {
    -webkit-transform: translateY(-24px);
    -ms-transform: translateY(-24px);
    transform: translateY(-24px)
}

a:hover .service-icon-wrapper svg .move-block-up.up-50 {
    -webkit-transform: translateY(-50px);
    -ms-transform: translateY(-50px);
    transform: translateY(-50px)
}

a:hover .service-icon-wrapper svg .move-block-down {
    -webkit-transform: translateY(24px);
    -ms-transform: translateY(24px);
    transform: translateY(24px)
}

a:hover .service-icon-wrapper svg .move-block-down.down-48 {
    -webkit-transform: translateY(48px);
    -ms-transform: translateY(48px);
    transform: translateY(48px)
}

a:hover .service-icon-wrapper svg .move-block-down.down-25 {
    -webkit-transform: translateY(25px);
    -ms-transform: translateY(25px);
    transform: translateY(25px)
}

a:hover .service-icon-wrapper svg .slide-se {
    -webkit-transform: translate(10.6%, 6%);
    -ms-transform: translate(10.6%, 6%);
    transform: translate(10.6%, 6%)
}

a:hover .service-icon-wrapper svg .slide-ne {
    -webkit-transform: translate(21.4%, -13%);
    -ms-transform: translate(21.4%, -13%);
    transform: translate(21.4%, -13%)
}

a:hover .service-icon-wrapper svg .slide-sw {
    -webkit-transform: translate(-21.4%, 12%);
    -ms-transform: translate(-21.4%, 12%);
    transform: translate(-21.4%, 12%)
}

a:hover .service-icon-wrapper svg .slide-nw {
    -webkit-transform: translate(-10.6%, -6%);
    -ms-transform: translate(-10.6%, -6%);
    transform: translate(-10.6%, -6%)
}

a:hover .service-icon-wrapper svg .slide-ne-small {
    -webkit-transform: translate(10.6%, -6%);
    -ms-transform: translate(10.6%, -6%);
    transform: translate(10.6%, -6%)
}

.embedded-newsletter .indicates-required,
.embedded-newsletter h2 {
    display: none
}

.embedded-newsletter label {
    font-weight: 700
}

.embedded-newsletter label.checkbox {
    display: block;
    font-weight: 400
}

.embedded-newsletter label.checkbox span {
    margin-left: .5em
}

.embedded-newsletter input[type=email],
.embedded-newsletter input[type=text] {
    background-color: transparent;
    border: none;
    border-bottom: 1px solid #000;
    display: block;
    margin: 1em 0;
    outline: none;
    padding: 0;
    width: 100%
}

.embedded-newsletter .content__gdprLegal {
    font-size: .882rem
}

#mergeRow-gdpr {
    margin-top: 3rem
}

.embedded-newsletter .button {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 192 47' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='%23000' d='M1.335 46.394L1.331 16.34 27.326 1.311h163.502l.003 30.056-25.994 15.027z'/%3E%3C/svg%3E");
    background-size: 192px 47px;
    margin-top: 3rem;
    -webkit-transition: .2s ease-in-out;
    transition: .2s ease-in-out
}

.embedded-newsletter .button:hover {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 192 47' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='%23FF671F' fill='%23FF671F' d='M1.335 46.394L1.331 16.34 27.326 1.311h163.502l.003 30.056-25.994 15.027z'/%3E%3C/svg%3E")
}

.page-template-page_template-awards {
    overflow-x: hidden
}

.page-template-page_template-awards .year-wrapper {
    position: relative
}

.page-template-page_template-awards .year-wrapper .awards-year-large {
    font-size: 10rem;
    font-weight: 300;
    left: 50%;
    line-height: 1;
    position: absolute;
    top: 0;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 1
}

a.awards-row img {
    opacity: 0;
    position: absolute;
    max-width: 300px;
    -webkit-transform: scale(.1);
    -ms-transform: scale(.1);
    transform: scale(.1);
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transition: opacity .3s ease-in-out, -webkit-transform .3s ease-in-out;
    transition: opacity .3s ease-in-out, -webkit-transform .3s ease-in-out;
    transition: transform .3s ease-in-out, opacity .3s ease-in-out;
    transition: transform .3s ease-in-out, opacity .3s ease-in-out, -webkit-transform .3s ease-in-out;
    z-index: 1
}

a.awards-row:hover img {
    display: block;
    opacity: 1;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1)
}

.parallax {
    background-attachment: fixed;
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    height: 50vh
}

.wrapper .parallax {
    margin-left: -5vw;
    margin-right: -5vw
}

.insight-image {
    position: relative
}

.insight-image svg {
    bottom: 0;
    fill: #ff671f;
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: opacity .4s ease-in-out;
    transition: opacity .4s ease-in-out
}

a:hover .insight-image svg {
    opacity: 1
}

.single-projects h2 {
    font-size: 1.353rem;
    margin-top: 3rem;
    text-align: left
}

.single-insight h1,
.single-projects h1 {
    font-size: 2rem;
    line-height: 1.2;
    text-align: left
}

.standfirst {
    font-size: 1.353rem
}

.single-service .standfirst {
    font-size: 2rem;
    font-weight: 700
}

.content-blocks .content-block {
    margin: 6rem 0
}

.content-blocks .content-block.client_quote-block {
    margin: 8rem 0
}

.content-blocks .copy-block h3:first-child,
.content-blocks .copy-block p:first-child,
.single-insight .content-blocks .copy-block:first-child,
.single-service .content-blocks .copy-block:first-child {
    margin-top: 0
}

.content-blocks .copy-block p:last-child {
    margin-bottom: 0
}

.content-blocks .copy-block ol li strong:first-child,
.content-blocks .copy-block ul li strong:first-child {
    display: inline-block;
    margin-top: 1rem
}

.content-blocks .triple_image-block .six-col,
.page-template-page_template-about .triple_image-block .six-col {
    margin-top: 14.5%
}

.content-blocks .triple_image-block .three-col,
.page-template-page_template-about .triple_image-block .three-col {
    clear: both;
    margin: 3rem 25.8% 0 0
}

.download_btn-block h3 {
    margin-top: 0
}

#panorama.pnlm-container {
    font-family: inherit;
    height: 40vw
}

#panorama.pnlm-container .pnlm-load-button {
    font-size: .882rem;
    text-transform: lowercase
}

#panorama.pnlm-container .pnlm-load-button p:first-letter {
    text-transform: uppercase
}

blockquote {
    color: #00cddd;
    font-size: 2rem;
    font-weight: 900;
    line-height: 1.2;
    text-align: left
}

.blockquote-block blockquote,
.blockquote-block blockquote p,
.blockquote-column blockquote,
.blockquote-column blockquote p {
    margin: 0
}

.list-wrapper,
.list-wrapper.column.centred {
    border-bottom: 1px solid #565758;
    border-top: 1px solid #565758;
    padding: 2rem 0
}

.list-inner {
    padding: 0 13%
}

.list-inner h3 {
    font-size: 1.353rem
}

.list-inner ol {
    list-style: none;
    margin-left: 0;
    padding: 0
}

.list-inner ol li {
    counter-increment: a;
    margin: 0 0 1em;
    padding: 0 0 0 2em;
    position: relative
}

.list-inner ol li:before {
    content: counter(a) " ";
    left: 0;
    position: absolute;
    top: 0
}

.list-inner ol li:first-child {
    counter-reset: a
}

.column.centred.no-clear,
.no-clear {
    clear: none
}

.single-insight .panel.light-grey-bg {
    position: relative
}

.locations-outer {
    margin-top: 6rem
}

.location-wrapper {
    border-top: 1px solid #565758;
    padding: 3rem 0
}

.location-wrapper .three-col-wrapper {
    float: left
}

.location-wrapper:last-child {
    padding-bottom: 0
}

.location-wrapper h2 {
    font-size: 2rem;
    margin-bottom: 3rem
}

.location-wrapper .three-col-wrapper {
    width: 48.50746%
}

.location-wrapper .three-col-wrapper .four-col {
    margin-left: 6.153845%;
    width: 29.23077%
}

.location-wrapper .three-col-wrapper .four-col:nth-child(3n+1) {
    margin-left: 0
}

.location-wrapper .three-col-wrapper a {
    border-top: 1px solid #565758;
    display: block;
    padding: 1em 0
}

.location-wrapper .three-col-wrapper a:hover {
    border-color: #ff671f;
    color: #ff671f
}

.location-wrapper .three-col-wrapper a h3 {
    font-size: 18px;
    margin: 0
}

.location-wrapper .three-col-wrapper a p {
    margin: 0
}

.time {
    text-transform: lowercase
}

.temp:before {
    content: "| "
}

.single-location-weather .temp:before {
    content: none
}

.single-location-weather .weather {
    font-size: 1.353rem;
    font-weight: 900;
    line-height: 50px;
    text-align: center
}

.weather-svg {
    height: 50px;
    margin: .5rem 0 0;
    width: 50px
}

.single-location-weather .weather-svg {
    margin: 0 1em
}

.weather-svg g {
    display: none;
    fill: none
}

.weather-svg g path {
    -webkit-transition: .2s ease-in-out;
    transition: .2s ease-in-out
}

.weather-svg g path.fill {
    fill: #000
}

.weather-svg g path.stroke {
    stroke: #000;
    stroke-width: 1.333
}

a:hover .weather-svg g path.fill {
    fill: #ff671f
}

a:hover .weather-svg g path.stroke {
    stroke: #ff671f
}

.location-image-box {
    overflow: hidden;
    padding: 0 0 100%;
    position: relative
}

.location-image-box img {
    bottom: 0;
    display: none;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    object-fit: cover;
    height: 100%
}

.location-image-box img:first-child {
    display: block
}

.single-location .slider-wrapper .three-col {
    border-top: 1px solid #000
}

.location-slider-column {
    margin-left: 0;
    position: relative
}

.location-slider-column:before {
    background-color: #f2f2f2;
    bottom: 0;
    content: "";
    display: block;
    left: 0;
    position: absolute;
    top: 0;
    width: 2.65vw;
    z-index: 2
}

.location-slide-inner {
    padding-left: 2.65vw
}

.location-slide-inner img {
    height: 20.55vw;
    object-fit: cover
}

.accreditations-wrapper {
    text-align: center
}

.accreditations-outer {
    border-bottom: 1px solid #565758;
    border-top: 1px solid #565758;
    display: inline-block
}

.accreditation {
    display: inline-block;
    padding: 2rem;
    vertical-align: top;
    width: 200px
}

.accreditation p {
    margin-bottom: 0
}

.ac-logo {
    margin: 0 2rem;
    padding: 0 0 32%;
    position: relative
}

.ac-logo img.landscape {
    left: 0;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 100%
}

.ac-logo img.portrait {
    bottom: 0;
    height: 100%;
    left: 50%;
    position: absolute;
    right: auto;
    top: 0;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: auto
}

.single-location .yellow-bg strong {
    border-bottom: 1px solid #000;
    display: block;
    font-size: 1.353rem;
    padding: 0 0 1rem
}

.small-three-col-wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.small-three-col-wrapper .column {
    display: inline-block;
    margin: 0 2.79851%;
    width: 20.2%
}

.three-col-slider .four-col,
.three-col-slider .four-col:nth-child(3n+1) {
    clear: none;
    margin: 0 1.35vw
}

.three-col-slider .slick-list {
    margin: 0 -1.35vw
}

.three-col-slider .slick-arrow {
    left: -3em;
    margin-top: -1em;
    top: 8vw;
    z-index: 1
}

.three-col-slider .slick-arrow.slick-next {
    left: auto;
    right: -3em
}

.location-services-slider {
    margin: 2rem auto 0;
    width: 78%
}

.location-services-slide {
    padding: 0 1.4vw;
    text-align: center
}

.location-services-slide h4 {
    border-top: 1px solid #000;
    font-size: 1rem;
    font-weight: 400;
    margin-top: 0;
    padding-top: 1rem
}

.location-services-slider .slick-arrow {
    left: -2rem;
    top: 100px
}

.location-services-slider .slick-arrow.slick-next {
    left: auto;
    right: -2rem
}

.location-services-slider .service-icon-wrapper svg .fill {
    fill: #e0e0e0
}

.search-results-outer.service {
    background-color: #f2f2f2
}

.search .panel {
    padding-bottom: 0
}

.search h1 {
    margin-bottom: 3rem
}

.search h1 span,
.search h2 span {
    position: relative
}

.search h2.search-subheader {
    font-size: 2rem;
    margin: 3rem 0 0;
    text-align: left
}

.search h1 sup,
.search h2 sup {
    font-size: 1.353rem;
    font-weight: 400;
    position: absolute;
    left: -webkit-calc(100% + .375rem);
    left: calc(100% + .375rem);
    line-height: 1;
    top: .5em;
    vertical-align: baseline
}

.search h2 sup {
    font-size: 1rem;
    left: -webkit-calc(100% + .25rem);
    left: calc(100% + .25rem);
    top: 0
}

.arrow-link {
    display: inline-block;
    font-weight: 700;
    margin-bottom: 3rem;
    padding-right: 1.5rem;
    position: relative;
    text-decoration: none
}

.arrow-link svg {
    display: inline-block;
    height: 1rem;
    margin-left: 0;
    stroke: #000;
    width: 1rem;
    -webkit-transition: .25s ease;
    transition: .25s ease;
    position: absolute;
    right: 0;
    bottom: .1em
}

.search-wrapper-border {
    border-bottom: 1px solid #565758
}

.light-grey-bg:last-child .search-wrapper-border {
    border-bottom: none
}

.search .news-search-list {
    margin: 3rem 0
}

.news-team-search-wrap .column:first-child {
    margin-left: 8.58209%
}

.news-team-search-wrap .column:nth-child(2) {
    margin-left: 11.56716%
}

.team-search-list {
    border-top: 1px solid #565758;
    list-style-type: none;
    margin: -webkit-calc(3rem + 150px) 0 3rem;
    margin: calc(3rem + 150px) 0 3rem;
    padding: 1rem 0 0;
    position: relative
}

.team-search-list a {
    text-decoration: none
}

.team-search-list a:hover {
    color: #ff671f;
    opacity: 1
}

.team-search-list a img {
    border-radius: 50%;
    height: 130px;
    left: 0;
    object-fit: cover;
    object-position: center top;
    opacity: 0;
    position: absolute;
    top: -150px;
    width: 130px;
    -webkit-transition: opacity .1s ease-in-out;
    transition: opacity .1s ease-in-out
}

.search-no-results .news-team-search-wrap {
    display: none
}

.search.search-no-results h1 {
    margin-bottom: 2rem
}

.no-search-copy p {
    margin-top: 0;
    text-align: center
}

.team-search-list li.show-me a img {
    opacity: 1
}

.search .services-list {
    margin-top: 3rem
}

.search .single-result .column.insight-box,
.search .single-result .services-list .column {
    float: none;
    margin-left: auto;
    margin-right: auto
}

.video-switcher {
    font-size: .882rem;
    margin-top: .5em
}

.video-switcher a {
    margin-right: .5em;
    text-decoration: none
}

.video-switcher a.active {
    color: #ff671f;
    text-decoration: underline
}

.embed-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%
}

.embed-container embed,
.embed-container iframe,
.embed-container object {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.gform_footer img {
    height: 8px;
    width: 64px
}

.column .gform_wrapper.gravity-theme .gfield_error [aria-invalid=true] {
    border: none;
    border-bottom: 1px solid #000
}

.gform_wrapper.gravity-theme .gfield_validation_message,
.gform_wrapper.gravity-theme .validation_message {
    margin: 1rem 0 2rem
}

.embedded-newsletter h2.gform_submission_error,
.gravity-newsletter-signup .gform_wrapper.gravity-theme .gform_fields {
    display: block
}

.gravity-newsletter-signup .gform_wrapper.gravity-theme .gfield_label {
    font-size: 1rem;
    margin: 0
}

.gravity-newsletter-signup .gform_wrapper.gravity-theme .gfield input.large {
    margin: 1rem 0;
    padding: 0
}

.gravity-newsletter-signup .gform_wrapper.gravity-theme .gfield--type-consent {
    margin: 2rem 0 0
}

.gravity-newsletter-signup .gform_wrapper.gravity-theme .gfield--type-consent .gfield_label,
.gravity-newsletter-signup .gform_wrapper.gravity-theme .gfield--type-consent label {
    font-weight: 400;
    margin: 0 0 .5rem
}

.gravity-newsletter-signup .gform_wrapper.gravity-theme .gfield--type-consent .gfield_consent_description {
    border: none;
    font-size: .882rem;
    padding: 0
}

#language-zh-hans .gf_step_page_count:last-child {
    display: none
}

.contact-form-wrapper {
    min-height: 50vh;
    margin: 3rem auto 6rem
}

.contact-form-wrapper .gform_wrapper.gravity-theme .gf_progressbar_percentage span {
    display: none
}

.contact-form-wrapper .gform_wrapper.gravity-theme .gf_progressbar_percentage {
    height: 3px
}

.contact-form-wrapper .gf_progressbar_wrapper {
    position: relative
}

.contact-form-wrapper .gform_wrapper.gravity-theme .gf_progressbar_title {
    color: #1f1f1f;
    font-size: .75rem;
    opacity: .375;
    position: absolute;
    top: 14px
}

.contact-form-wrapper .gform_wrapper.gravity-theme .gf_progressbar {
    margin-bottom: 3rem
}

.contact-form-wrapper .gform_wrapper .gfield_required .gfield_required_text,
.gravity-newsletter-signup .gform_wrapper .gfield_required .gfield_required_text {
    color: #1f1f1f;
    font-size: 1rem;
    font-style: normal;
    opacity: .375
}

.contact-form-wrapper .gform_wrapper .gfield_error label,
.contact-form-wrapper .gform_wrapper .gfield_validation_message,
.contact-form-wrapper .gform_wrapper .gform_validation_errors>h2,
.gform_wrapper .validation_message {
    color: #ff671f
}

.contact-form-wrapper .gform_wrapper .gfield_error [aria-invalid=true],
.contact-form-wrapper .gform_wrapper .gfield_validation_message,
.contact-form-wrapper .gform_wrapper .gform_validation_errors,
.gform_wrapper .validation_message {
    border-color: #ff671f;
    border-radius: 0
}

.contact-form-wrapper .gform_wrapper.gravity-theme .gform_page_footer {
    clear: both;
    margin: 1rem 0 0;
    padding: 0 0 5rem;
    position: relative;
    float: left;
    width: 100%
}

.contact-form-wrapper .gform_wrapper.gravity-theme .gform_page_footer img {
    left: 50%;
    position: absolute;
    top: 14px;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%)
}

.contact-form-wrapper .gform_wrapper.gravity-theme .gfield_label {
    font-size: 1rem;
    font-weight: 400
}

.contact-form-wrapper .gform_wrapper.gravity-theme .gform_page_footer .gform_next_button.button,
.contact-form-wrapper .gform_wrapper.gravity-theme .gform_page_footer .gform_previous_button.button {
    background-color: transparent;
    color: #000;
    font-weight: 700;
    height: 30px;
    line-height: 30px;
    margin: 0;
    padding: 0;
    width: auto
}

.contact-form-wrapper .gform_wrapper.gravity-theme .gform_page_footer .gform_next_button.button {
    background: url(../img/arrow-2-right.svg) no-repeat 100%;
    background-size: 22px 22px;
    padding-right: 30px
}

.contact-form-wrapper .gform_wrapper.gravity-theme .gform_page_footer .gform_previous_button.button {
    background: url(../img/arrow-2-left.svg) no-repeat 0;
    background-size: 22px 22px;
    padding-left: 30px
}

.contact-form-wrapper .gform_page_footer .gform_next_button.button {
    float: right
}

.contact-form-wrapper .gform_page_footer .button[type=submit] {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 192 47' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='%23000' d='M1.335 46.394 1.331 16.34 27.326 1.311h163.502l.003 30.056-25.994 15.027z'/%3E%3C/svg%3E");
    left: 50%;
    margin: 0;
    position: absolute;
    -webkit-transition: background-image .2s ease-in-out;
    transition: background-image .2s ease-in-out;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    top: 4rem
}

.contact-form-wrapper .gform_page_footer .button[type=submit]:hover {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 192 47' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ff671f' stroke='%23ff671f' d='M1.335 46.394 1.331 16.34 27.326 1.311h163.502l.003 30.056-25.994 15.027z'/%3E%3C/svg%3E")
}

.contact-form-wrapper .gform_wrapper.gravity-theme .gfield textarea,
.contact-form-wrapper .gform_wrapper.gravity-theme .ginput_container_email input,
.contact-form-wrapper .gform_wrapper.gravity-theme .ginput_container_phone input,
.contact-form-wrapper .gform_wrapper.gravity-theme .ginput_container_select select,
.contact-form-wrapper .gform_wrapper.gravity-theme .ginput_container_text input,
.embedded-newsletter .gform_wrapper.gravity-theme .ginput_container_select select {
    background-color: #e0e0e0;
    border: 1px solid #565758;
    border-radius: 0;
    font-size: .75rem;
    height: 2rem;
    line-height: 1
}

.embedded-newsletter .gform_wrapper.gravity-theme .ginput_container_select select {
    background-color: #f2f2f2;
    margin-top: 1em
}

.contact-form-wrapper .gform_wrapper.gravity-theme .gfield textarea {
    height: auto;
    resize: none
}

.contact-form-wrapper .gform_wrapper.gravity-theme .gform_fields {
    display: block
}

.contact-form-wrapper .gfield {
    clear: both;
    float: left;
    margin-top: 1rem;
    width: 100%
}

.contact-form-wrapper .gfield.half-width {
    width: 49%
}

.contact-form-wrapper .gfield.half-width.right {
    clear: none;
    float: right
}

.form-selector {
    text-align: center
}

.form-selector a {
    display: inline-block;
    line-height: 1;
    padding: 1em;
    text-decoration: none
}

.form-selector a.active {
    color: #ff671f
}

.mm-form-wrapper {
    display: none;
    padding: 2rem 0
}

.mm-form-wrapper.show-initial {
    display: block
}

.mm-form-wrapper img {
    width: 50px
}

.mm-form-wrapper .gform_wrapper.gravity-theme .gf_progressbar_percentage,
.mm-form-wrapper .gform_wrapper.gravity-theme .gf_progressbar_percentage:not(.percentbar_100) {
    border-radius: 0
}

.mm-form-wrapper .gform_wrapper.gravity-theme .gf_progressbar_percentage.percentbar_blue {
    background-color: #ff671f
}

.gform_validation_error h2 {
    font-size: 1.353rem;
    margin: 0 0 1rem;
    text-align: left
}

.contact-form-wrapper .gfield.moser-form-checkbox {
    margin-top: 1rem
}

.contact-form-wrapper .gfield.moser-form-checkbox legend {
    display: none
}

.gform_wrapper.gravity-theme .gfield.gfield--width-full.careers-intro-link {
    margin-top: 0;
    margin-bottom: 1rem
}

.careers-intro-link a {
    font-weight: 700;
    text-decoration: none
}

.contact-form-wrapper .gform_confirmation_wrapper,
.gform_confirmation_wrapper {
    text-align: center
}

.form-selector.v2023 {
    text-align: left
}

.form-selector.v2023 p.form-select-intro {
    font-size: 1.353rem;
    font-weight: 700
}

.form-selector.v2023 a {
    display: block;
    line-height: 1.4;
    padding: 1em 0
}

.form-selector.v2023 p {
    margin: 2rem 0
}

.contact-form-wrapper {
    min-height: 0;
    margin-bottom: 0
}

.form-selector.v2023 .careers-position {
    width: -webkit-calc(100% - 2em);
    width: calc(100% - 2em)
}

.form-selector.v2023 .careers-apply {
    width: 2em
}

.share-links {
    font-size: 1.5rem;
    text-align: center;
    position: fixed;
    right: -2rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: right .2s ease-in-out;
    transition: right .2s ease-in-out
}

.show-share-links .share-links {
    right: 1rem
}

.share-links ul {
    list-style-type: none;
    margin: 0;
    padding: 0
}

.share-links ul li {
    margin-bottom: .5em
}

.share-links ul li:last-child {
    margin-bottom: 0
}

.contact-form-wrapper .gform_drop_area button {
    display: inline;
    height: auto;
    padding: 0;
    text-decoration: underline;
    text-transform: lowercase;
    width: auto
}

.contact-form-wrapper .gform_drop_area .gform_drop_instructions {
    display: inline
}

body #cookie-law-info-bar {
    box-shadow: none
}

body .wt-cli-ckyes-footer-section {
    display: none !important
}

body .cli-tab-header a.cli-nav-link {
    text-transform: none
}

body .cli-style-v2 .cli-bar-message {
    margin-bottom: 1rem
}

body .cli-style-v2 .cli-bar-btn_container .cli-plugin-button.cli_settings_button {
    border: 1px solid #fff;
    background-color: #000 !important;
    color: #fff !important
}

body .cli-style-v2 .cli-bar-btn_container .cli-plugin-button.wt-cli-accept-all-btn {
    border: 1px solid #ff671f;
    color: #000 !important;
    margin-left: 1rem;
    padding-left: 2rem;
    padding-right: 2rem
}

.hidden {
    display: none !important
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    -webkit-clip-path: none;
    clip-path: none;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
    white-space: inherit
}

.invisible {
    visibility: hidden
}

.clearfix:after,
.clearfix:before {
    content: " ";
    display: table
}

.clearfix:after {
    clear: both
}

@media only screen and (max-width:1700px) {

    .alm-filter--textfield.textfield,
    .show-filter {
        font-size: 1.353rem
    }

    .filter-toggle-btn,
    .page-template-page_template-insights-php .alm-filter-lists .alm-filter,
    .page-template-page_template-projects-php .alm-filter-lists .alm-filter {
        width: 15rem
    }

    .page-template-page_template-projects-php .alm-filter-lists .alm-filter#alm-filter-3 {
        width: -webkit-calc(100% - 30rem);
        width: calc(100% - 30rem)
    }

    .alm-filter--taxonomy {
        font-size: 1rem
    }

    .blockquote-block .five-col,
    .blockquote-column.five-col {
        width: 48.50746%
    }
}

@media only screen and (max-width:1500px) {
    footer .eight-col {
        width: 48.50746%
    }

    footer .two-col {
        width: 22.76119%
    }

    footer .four-col {
        width: 48.50746%
    }
}

@media only screen and (max-width:1300px) {

    body,
    html {
        font-size: 16px
    }

    footer h4 {
        font-size: 1.75rem
    }

    .location-expanders.list-two {
        margin-top: 3.75rem
    }

    .filter-toggle-btn,
    .page-template-page_template-insights-php .alm-filter-lists .alm-filter,
    .page-template-page_template-projects-php .alm-filter-lists .alm-filter {
        width: 12rem
    }

    .page-template-page_template-projects-php .alm-filter-lists .alm-filter#alm-filter-3 {
        width: -webkit-calc(100% - 24rem);
        width: calc(100% - 24rem)
    }

    .blockquote-block .five-col,
    .blockquote-column.five-col,
    .page-template-page_template-climate .column.six-col.centred,
    .page-template-page_template-contact .column.six-col.centred,
    .single-insight .six-col.centred,
    .single-location .six-col.centred,
    .single-people .six-col.centred,
    .single-post .six-col.centred,
    .single-projects .six-col.centred,
    .single-service .six-col.centred {
        width: 65.67164%
    }

    .marquee span {
        font-size: 6rem
    }

    .climate-progress-figure,
    .climate-year {
        font-size: 7rem
    }

    .quote.large-quote p {
        font-size: 3rem
    }
}

@media only screen and (min-width:768px) and (max-height:800px) {

    .nav-panel-contact span.button-label,
    .nav-panel .nav ul,
    .nav-panel .search-box {
        font-size: 1.353rem
    }

    .nav-panel .search-box {
        margin-bottom: 2rem;
        margin-top: 2rem;
        padding-bottom: 2rem;
        padding-top: 2rem
    }

    .nav-panel-contact span.button-label {
        margin-bottom: 1em
    }
}

@media only screen and (min-width:768px) and (max-height:560px) {

    .nav-panel-contact,
    .nav-panel .search-box {
        display: none
    }
}

@media only screen and (max-width:1024px) {

    body,
    html {
        font-size: 16px
    }

    .single-project-slider-wrapper .slider-controls {
        bottom: -6rem
    }

    .nav-panel .nav-image {
        display: none
    }

    .nav-panel .nav {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -moz-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding: 5vw;
        width: 100%
    }

    .nav-panel .nav ul {
        width: 50%
    }

    .nav-panel .search-box {
        margin: 3rem -4vw;
        padding: 3rem 4vw
    }

    .nav-panel-contact {
        width: 100%
    }

    .padded,
    .panel {
        padding: 4rem 0
    }

    .link-box h1,
    .link-box h2 {
        font-size: 1.353rem;
        max-width: 50vw
    }

    .tablet-full-width {
        width: 100%
    }

    .parallax {
        background-attachment: scroll
    }

    .page-template-page_template-awards .year-wrapper .awards-year-large {
        font-size: 7rem
    }

    .blockquote-block .five-col.single-margin-left {
        float: none;
        margin: 0 auto
    }

    blockquote {
        font-size: 1.353rem
    }

    .location-wrapper .three-col-wrapper.double-margin-left {
        margin-left: 0;
        width: 74.25373%
    }

    .location-wrapper .three-col-wrapper .four-col {
        margin-left: 4.0201%;
        width: 30.65327%
    }

    .location-wrapper .two-col {
        width: 22.76119%
    }

    .climate-progress-figure,
    .climate-year {
        font-size: 6rem
    }

    .service-sub-nav {
        border-top: 77px solid #f2f2f2;
        top: -77px
    }

    .headroom--pinned .service-sub-nav {
        top: 0
    }
}

@media only screen and (max-width:1023px) {
    .service-sub-nav ul {
        font-size: 1.353rem
    }

    footer {
        padding: 4rem 0;
        text-align: center
    }

    footer .two-col {
        display: none
    }

    footer .column {
        margin-left: 0;
        width: 100%
    }

    footer h4 {
        margin-bottom: 1.5rem
    }

    .footer-button,
    .footer-button:first-child {
        float: none;
        margin: 0
    }

    .footer-button:first-child {
        margin-bottom: 3rem
    }

    footer .small-text .social-icons {
        left: auto;
        margin: 3rem 0;
        position: static;
        top: auto
    }

    footer ul.inline li {
        display: block;
        float: none;
        margin: 1rem 0
    }

    footer ul.inline li:after {
        content: none
    }

    footer ul.inline li:last-child {
        margin-bottom: 0
    }

    .alm-filter--taxonomy,
    .alm-filter--textfield.textfield,
    .show-filter {
        font-size: 1rem
    }

    .filter-toggle-btn,
    .page-template-page_template-insights-php .alm-filter-lists .alm-filter,
    .page-template-page_template-projects-php .alm-filter-lists .alm-filter {
        width: 10rem
    }

    .page-template-page_template-projects-php .alm-filter-lists .alm-filter#alm-filter-3 {
        width: -webkit-calc(100% - 20rem);
        width: calc(100% - 20rem)
    }

    .four-col-wrapper .three-col,
    .page-template-page_template-home .orange-bg .three-col {
        width: 48.50746%
    }

    .four-col-wrapper .three-col:nth-child(4n+1) {
        clear: none;
        margin-left: 2.98507%
    }

    .four-col-wrapper .three-col:nth-child(odd) {
        clear: left;
        margin-left: 0
    }

    .three-col-wrapper.slim .three-col {
        width: 31.34328%
    }

    .three-col-wrapper.slim .three-col:nth-child(3n+1) {
        margin-left: 0
    }

    .people-box img {
        height: 58vw
    }

    .single-location .slider-wrapper .nine-col-plus,
    .single-location .slider-wrapper .three-col {
        width: 48.50746%
    }

    .single-location .slider-wrapper .nine-col-plus {
        float: right
    }

    .location-slide-inner img {
        height: 43.67vw
    }

    .location-slide-inner {
        padding-left: 0
    }

    .location-slider-column:before {
        content: none
    }

    .small-three-col-wrapper {
        display: block;
        width: 90%
    }

    .small-three-col-wrapper .column {
        margin: 0 0 0 2.98507%;
        width: 31.34328%
    }

    .small-three-col-wrapper .column:nth-child(3n+1) {
        clear: left;
        margin-left: 0
    }

    .quote.large-quote p {
        font-size: 2rem
    }

    .accreditations-outer {
        display: block
    }

    .accreditation {
        width: 150px
    }

    .ac-logo {
        margin: 0 1rem
    }

    .page-template-page_template-about .shape-bg .three-col {
        width: 31.34328%
    }

    .page-template-page_template-about .shape-bg .three-col.triple-margin-left {
        margin-left: 17.16418%
    }

    .page-template-page_template-about .six-col.centred {
        width: 65.67164%
    }

    .page-template-page_template-home .scroll-panel .four-col.single-margin-left,
    .page-template-page_template-home .scroll-panel .four-col.single-margin-right {
        margin-left: 0;
        margin-right: 0;
        width: 100%
    }

    .page-template-page_template-home .scroll-panel .four-col .copy {
        max-width: 100%
    }

    .page-template-page_template-home .scroll-panel .four-col.single-margin-right .copy {
        float: right
    }

    .page-template-page_template-home .scroll-panel .four-col.single-margin-right,
    .page-template-page_template-home .scroll-panel .four-col.single-margin-right h2 {
        text-align: right
    }

    .page-template-page_template-home .orange-bg .three-col.triple-margin-left {
        margin-left: 0
    }

    .page-template-page_template-home .four-col-wrapper .three-col:nth-child(3),
    .page-template-page_template-home .four-col-wrapper .three-col:nth-child(4) {
        display: none
    }

    .large-margin-top {
        margin-top: 4rem
    }

    .large-padded-bottom {
        padding-bottom: 4rem
    }

    .news-team-search-wrap .column:first-child {
        margin-left: 0
    }

    .news-team-search-wrap .column:nth-child(2) {
        width: 31.34328%
    }

    .share-links {
        margin: 1rem auto 2rem;
        text-align: left;
        position: static;
        left: auto;
        right: auto;
        top: auto;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
        width: 65.67164%
    }

    .share-links ul li {
        display: inline;
        margin: 0 1rem 0 0
    }

    .single-location .three-col-slider {
        width: 78%;
        margin-left: auto;
        margin-right: auto
    }

    .single-location .three-col-slider .four-col {
        width: 100%
    }

    .three-col-slider .four-col,
    .three-col-slider .four-col:nth-child(3n+1),
    .three-col-slider .slick-list {
        margin: 0
    }

    .single-location .three-col-slider .slick-arrow {
        top: 20vw
    }

    .location-services-slide {
        padding: 0
    }

    .location-services-slider .slick-arrow.slick-prev {
        left: -3rem
    }

    .location-services-slider .slick-arrow.slick-next {
        right: -3rem
    }
}

@media only screen and (max-width:767px) {
    .page-template-page_template-home .orange-bg .three-col h2 {
        font-size: 1.2em
    }

    .transition-in.float-up.slower,
    .transition-in.float-up.slowest {
        -webkit-transform: translateY(100px);
        -ms-transform: translateY(100px);
        transform: translateY(100px);
        -webkit-transition: .75s ease-in-out;
        transition: .75s ease-in-out
    }

    .quote span.quote-line {
        display: inline
    }

    .padded,
    .panel {
        padding: 15vw 0
    }

    .nav-panel-contact span.button-label,
    .nav-panel .nav ul,
    .nav-panel .search-box {
        font-size: 1.5rem
    }

    .nav-panel .search-box {
        margin: 2rem -34px;
        padding: 2rem 34px
    }

    .mobile-full-width,
    .share-links {
        margin-left: 0;
        width: 100%
    }

    .home-insights .three-col-wrapper,
    .no-mobile,
    .page-template-page_template-about .shape-bg .three-col {
        display: none
    }

    .diamond-header h2,
    .quote.large-quote p,
    .single-people .diamond-header h2,
    h1,
    h2 {
        font-size: 2.5rem
    }

    .diamond-header svg {
        height: 1.46rem;
        width: 2.5rem
    }

    .alm-filter--textfield.textfield,
    .link-box h1,
    .link-box h2,
    .show-filter {
        font-size: 1.5rem;
        max-width: 100%
    }

    .filter-toggle-btn {
        width: auto
    }

    .alm-filter--taxonomy {
        font-size: 1rem
    }

    .xlarge-margin-top {
        margin-top: 15vw
    }

    .large-padded {
        padding: 15vw 0
    }

    .large-padded-bottom {
        padding-bottom: 15vw
    }

    .slider-wrapper .column {
        float: none;
        margin-left: 0;
        width: 100%
    }

    .filter-toggle-btn,
    .filter-toggle-wrapper {
        display: none
    }

    .filter-toggle-btn,
    .page-template-page_template-insights-php .alm-filter-lists .alm-filter,
    .page-template-page_template-projects-php .alm-filter-lists .alm-filter,
    .page-template-page_template-projects-php .alm-filter-lists .alm-filter#alm-filter-3 {
        width: 100%
    }

    .show-filter.mobile {
        display: inline-block
    }

    .alm-filter--inner {
        padding-bottom: 1rem
    }

    .alm-filter--search {
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        padding-right: 34px;
        position: relative;
        right: auto;
        top: auto
    }

    .alm-filter--search .alm-filter--inner {
        padding: 0
    }

    .alm-filter--text-wrap.has-button button {
        left: auto;
        right: 0
    }

    .three-col-wrapper .four-col,
    .three-col-wrapper .four-col:nth-child(3n+1) {
        float: none;
        margin-left: 0;
        width: 100%
    }

    .single-location .three-col-slider.three-col-wrapper .four-col,
    .single-location .three-col-slider.three-col-wrapper .four-col:nth-child(3n+1) {
        float: left;
        margin: 0
    }

    .three-col-wrapper .four-col {
        margin: 15vw 0
    }

    .single-location .news-panel .large-margin-top {
        margin-top: 0
    }

    .services-list .three-col {
        margin-bottom: 15vw
    }

    .column.centred.margin-top,
    .margin-top {
        margin-top: 10vw
    }

    .blockquote-block .five-col.single-margin-left,
    .blockquote-column.five-col,
    .climate-progress .six-col,
    .double_image-block .six-col,
    .list-wrapper,
    .list-wrapper.column.centred,
    .page-template-page_template-about .shape-bg .six-col,
    .page-template-page_template-climate .column.six-col.centred,
    .page-template-page_template-contact .column.six-col.centred,
    .page-template-page_template-home .large-padded-bottom .ten-col,
    .single-insight .eight-col.centred,
    .single-insight .six-col.centred,
    .single-location .six-col.centred,
    .single-location .slider-wrapper .nine-col-plus,
    .single-location .slider-wrapper .three-col,
    .single-people .eight-col.centred,
    .single-people .six-col.centred,
    .single-post .eight-col.centred,
    .single-post .six-col.centred,
    .single-projects .eight-col.centred,
    .single-projects .six-col.centred,
    .single-service .eight-col.centred,
    .single-service .six-col.centred,
    .small-three-col-wrapper .column,
    .three-col-wrapper.slim .three-col {
        margin-left: 0;
        width: 100%
    }

    .climate-progress .column {
        margin-bottom: 15vw
    }

    .climate-progress-figure,
    .climate-year {
        font-size: 4rem
    }

    .page-template-page_template-climate .xlarge-margin-top {
        margin-top: 0
    }

    .page-template-page_template-climate .xlarge-margin-top .column {
        margin-bottom: 0
    }

    .climate-year-row .six-col {
        margin-left: 0;
        text-align: center;
        width: 100%
    }

    .climate-year-details-inner,
    .climate-year span {
        margin-left: 0
    }

    .climate-year-details-inner {
        width: 100%
    }

    .climate-year-details-inner ul {
        text-align: left
    }

    .climate-years-arrow {
        display: none
    }

    .climate-years-wrapper {
        padding-top: 0
    }

    .climate-year:after,
    .climate-years-wrapper:after {
        content: none
    }

    .page-template-page_template-about .shape-bg .six-col:first-child {
        margin-bottom: 10vw
    }

    .page-template-page_template-about .slider-controls,
    .page-template-page_template-projects .slider-controls {
        bottom: 0
    }

    .content-blocks .single_image-block .four-col,
    .content-blocks .triple_image-block .four-col,
    .content-blocks .triple_image-block .six-col,
    .content-blocks .triple_image-block .three-col,
    .page-template-page_template-about .triple_image-block .four-col,
    .page-template-page_template-about .triple_image-block .six-col,
    .page-template-page_template-about .triple_image-block .three-col,
    .page-template-page_template-home .orange-bg .six-col,
    .page-template-page_template-newsletter .eight-col.centred {
        margin: 0;
        width: 100%
    }

    .page-template-page_template-home .orange-bg .six-col:first-child {
        margin-bottom: 15vw
    }

    .content-blocks .triple_image-block .four-col,
    .content-blocks .triple_image-block .six-col,
    .double_image-block .six-col:first-child,
    .page-template-page_template-about .triple_image-block .four-col,
    .page-template-page_template-about .triple_image-block .six-col {
        margin-bottom: 10vw
    }

    .column.centred.large-margin-top,
    .large-margin-top {
        margin-top: 15vw
    }

    .slider-wrapper .slider-titles {
        padding: 10vw 0 15vw
    }

    .single-location .slider-wrapper .slider-titles {
        border-top: 0;
        padding: 0
    }

    .content-blocks .content-block {
        margin: 10vw 0
    }

    .content-blocks .content-block.client_quote-block {
        margin: 15vw 0
    }

    .page-template-page_template-careers h3 {
        font-size: 1rem;
        margin-top: 15vw
    }

    .content-block.double_portrait-block .three-col {
        margin-left: 0;
        width: 42.5vw
    }

    .content-block.double_portrait-block .three-col:last-child {
        float: right
    }

    .list-inner {
        padding: 0
    }

    .quote p {
        font-size: 1.353rem
    }

    .project-detail,
    .project-detail:nth-child(2n) {
        width: 100%
    }

    .project-detail:nth-child(odd):last-child p,
    .project-detail:nth-child(odd):last-child strong {
        max-width: 100%
    }

    .single-project-slider-wrapper .slider-controls {
        bottom: auto;
        left: auto;
        margin: 1.5rem 0 -2rem;
        position: relative
    }

    .four-col-wrapper .three-col,
    .four-col-wrapper .three-col:nth-child(4n+1),
    .four-col-wrapper .three-col:nth-child(odd) {
        float: none;
        margin-left: 0;
        width: 100%
    }

    .four-col-wrapper .three-col.people-box,
    .four-col-wrapper .three-col.people-box:nth-child(4n+1),
    .four-col-wrapper .three-col.people-box:nth-child(odd),
    .single-location .four-col-wrapper .three-col,
    .single-location .four-col-wrapper .three-col:nth-child(4n+1),
    .single-location .four-col-wrapper .three-col:nth-child(odd) {
        float: left;
        margin-left: 5vw;
        width: 42.5vw
    }

    .four-col-wrapper .three-col.people-box:nth-child(odd),
    .single-location .four-col-wrapper .three-col:nth-child(odd) {
        clear: left;
        margin-left: 0
    }

    .people-box h2 {
        font-size: 1rem;
        padding-right: 0
    }

    .page-template-page_template-people .four-col-wrapper .three-col,
    .single-location .four-col-wrapper .three-col {
        margin-bottom: 0;
        margin-top: 15vw
    }

    .news-thumb-canvas.landscape,
    .news-thumb-canvas.square {
        margin-top: 0
    }

    .location-wrapper .three-col-wrapper.double-margin-left {
        width: 100%
    }

    .location-wrapper .two-col {
        display: none
    }

    .location-wrapper .three-col-wrapper .four-col {
        clear: left;
        float: left;
        margin-left: 0;
        margin-top: 0;
        margin-bottom: 10vw;
        width: 42.5vw
    }

    .location-wrapper .three-col-wrapper .four-col:nth-child(2n) {
        clear: none;
        float: right
    }

    .single-location .slider-controls-padding {
        padding-bottom: 10vw
    }

    .single-location .slider-controls {
        bottom: -3rem
    }

    .two-buttons .button {
        margin: 0 2.5vw
    }

    .two-buttons.margin-top {
        margin-top: 10vw
    }

    .two-buttons.margin-top .button {
        margin-top: 5vw
    }

    .small-three-col-wrapper .column {
        margin-bottom: 5vw
    }

    .small-three-col-wrapper .column:last-child {
        margin-bottom: 0
    }

    .single-location .large-margin-top.accreditations-wrapper,
    .single-location .large-margin-top.three-col-wrapper {
        margin-top: 0
    }

    .single-location .large-margin-top.accreditations-wrapper.layout-v2 {
        margin-top: 15vw
    }

    .single-location .large-margin-top.three-col-wrapper.three-col-slider {
        margin-top: 4rem
    }

    .location-slide-inner img {
        height: 90vw
    }

    .accreditation {
        float: none;
        margin: 10vw 0 0;
        padding: 0
    }

    .accreditations-outer {
        padding: 0 0 10vw
    }

    .page-template-page_template-home .scroll-panel .four-col.single-margin-right .copy {
        float: none
    }

    .page-template-page_template-home .scroll-panel .four-col.single-margin-right,
    .page-template-page_template-home .scroll-panel .four-col.single-margin-right h2 {
        text-align: left
    }

    .home-news .three-col:nth-child(2) {
        margin-top: 15vw
    }

    .page-template-page_template-newsletter #mc_embed_signup .clear {
        text-align: center
    }

    .contact-form-wrapper .gfield.half-width {
        width: 100%
    }

    .contact-form-wrapper .gfield.half-width.right {
        clear: both;
        float: left
    }

    .next-prev-links a {
        font-size: 1rem
    }

    .service-sub-nav ul li a {
        padding-right: 1em
    }

    .service-sub-nav ul li {
        margin: 0 1rem 0 0
    }
}

@media only screen and (max-width:767px) and (orientation:portrait) {
    .two-col-wrapper .column {
        float: none;
        margin-top: 15vw;
        margin-left: 0;
        width: 100%
    }

    .two-col-wrapper .column:first-child {
        margin-top: 0
    }

    .two-col-wrapper.search-result-wrapper {
        margin-top: 15vw
    }

    .news-team-search-wrap .column.six-col,
    .news-team-search-wrap .column.three-col {
        margin-left: 0;
        float: none;
        width: 100%
    }

    .single-people .two-col-wrapper .column:first-child {
        margin-top: 15vw
    }

    .page-template-page_template-about .six-col.centred {
        width: 100%
    }

    .page-template-page_template-about .six-col.centred p:first-child {
        margin-top: 0
    }

    .marquee span {
        font-size: 3rem
    }
}

@media only screen and (max-width:666px) {
    header a.header-logo {
        overflow: hidden;
        width: 30px
    }

    header a.header-logo svg {
        -webkit-transform: translateX(-270px);
        -ms-transform: translateX(-270px);
        transform: translateX(-270px)
    }

    .header-selectors {
        right: 0;
        top: 2px;
        width: -webkit-calc(50% + 16px);
        width: calc(50% + 16px)
    }

    .toggle-nav {
        top: 2px
    }

    .toggle-regions svg {
        height: 23px;
        width: 23px
    }

    .toggle-regions {
        margin-top: 0
    }

    .language-selector-wrapper {
        left: 50%;
        margin-left: -8px;
        position: absolute;
        text-align: center;
        top: 0;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%)
    }

    .intro-column {
        width: 100%
    }

    .awards-row.awards-header,
    .careers-row .careers-date-apply,
    .careers-row.careers-header {
        display: none
    }

    .awards-row,
    .careers-row {
        padding-right: 1.5rem;
        position: relative;
        text-decoration: none
    }

    a.careers-row:hover {
        background-color: transparent
    }

    a.awards-row:hover .awards-date span,
    a.careers-row:hover .careers-position span {
        padding: 0
    }

    a.awards-row:hover img,
    a.awards-row img {
        display: none
    }

    a.awards-row .awards-go {
        bottom: 2.25rem;
        position: absolute;
        right: 0
    }

    .awards-row.linked-project div.awards-project,
    .awards-row div,
    .awards-row div:first-child,
    .careers-row div,
    .careers-row div:first-child {
        float: none;
        min-height: 0;
        padding-right: 0;
        width: 100%
    }

    .form-selector.v2023 .careers-row div {
        float: left
    }

    a.careers-row .careers-apply {
        margin-top: .5rem;
        text-align: left
    }

    .form-selector.v2023 a.careers-row .careers-apply {
        margin-top: 0
    }

    .nav-panel .search-box {
        margin: 2rem -5vw;
        padding: 2rem 5vw
    }

    .nav-panel .search-box .search-submit {
        background-size: 1rem 1rem;
        height: 1rem;
        margin-top: -.5rem;
        width: 1rem
    }

    .nav-inner {
        width: 80vw
    }
}

@media only screen and (max-width:393px) {

    body,
    html {
        font-size: 14px
    }

    .nav-panel .search-box {
        margin: 1.5rem -5vw;
        padding: 1rem 5vw
    }

    .nav-panel-contact span.button-label {
        margin-bottom: 1rem
    }

    .service-sub-nav ul {
        font-size: 1rem
    }

    .service-sub-nav ul li {
        margin: 0 1rem 0 0
    }

    .service-sub-nav ul li a {
        padding-right: 1em
    }
}

@media print {

    *,
    :after,
    :before {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important
    }

    a,
    a:visited {
        text-decoration: underline
    }

    a[href]:after {
        content: " (" attr(href) ")"
    }

    abbr[title]:after {
        content: " (" attr(title) ")"
    }

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: ""
    }

    pre {
        white-space: pre-wrap !important
    }

    blockquote,
    pre {
        border: 1px solid #999;
        page-break-inside: avoid
    }

    thead {
        display: table-header-group
    }

    img,
    tr {
        page-break-inside: avoid
    }

    h2,
    h3,
    p {
        orphans: 3;
        widows: 3
    }

    h2,
    h3 {
        page-break-after: avoid
    }
}