@charset "UTF-8";
/*! MDC Theme - Bones */
/* normalize.css 2012-07-07T09:50 UTC - http://github.com/necolas/normalize.css */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

/**
 * Correct `inline-block` display not defined in IE 8/9.
 */
audio,
canvas,
video {
  display: inline-block;
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
}

/* ==========================================================================
   Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background: transparent;
}

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* ==========================================================================
   Typography
   ========================================================================== */
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,
strong,
.strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari 5 and Chrome.
 */
dfn,
em,
.em {
  font-style: italic;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0;
}

/*
 * proper formatting (http://blog.fontdeck.com/post/9037028497/hyphens)
*/
p {
  -epub-hyphens: auto;
  hyphens: auto;
}

/*
 * Addresses margins set differently in IE6/7.
 */
pre {
  margin: 0;
}

/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em;
}

/**
 * Improve readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre-wrap;
}

/**
 * Set consistent quote types.
 */
q {
  quotes: "“" "”" "‘" "’";
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
q:before,
q:after {
  content: "";
  content: none;
}

small, .small {
  font-size: 75%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* ==========================================================================
  Lists
========================================================================== */
/*
 * Addresses margins set differently in IE6/7.
 */
dl,
menu,
ol,
ul {
  margin: 1em 0;
}

dd {
  margin: 0;
}

/*
 * Addresses paddings set differently in IE6/7.
 */
menu {
  padding: 0 0 0 40px;
}

ol,
ul {
  padding: 0;
}

/*
 * Corrects list images handled incorrectly in IE7.
 */
nav ul,
nav ol {
  list-style: none;
  list-style-image: none;
}

/* ==========================================================================
  Embedded content
========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9.
 */
img {
  border: 0;
}

/**
 * Correct overflow displayed oddly in IE 9.
 */
svg:not(:root) {
  overflow: hidden;
}

/* ==========================================================================
   Figures
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */
/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0; /* 1 */
  padding: 0; /* 2 */
}

/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */
button,
input,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 2 */
  margin: 0; /* 3 */
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type=checkbox],
input[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type=search] {
  -webkit-appearance: textfield; /* 1 */ /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto; /* 1 */
  vertical-align: top; /* 2 */
}

/* ==========================================================================
   Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

* {
  box-sizing: border-box;
}

.image-replacement,
.ir {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

.clearfix, .cf, .comment-respond {
  zoom: 1;
}
.clearfix:before, .clearfix:after, .cf:before, .comment-respond:before, .cf:after, .comment-respond:after {
  content: "";
  display: table;
}
.clearfix:after, .cf:after, .comment-respond:after {
  clear: both;
}

/*
use the best ampersand
http://simplebits.com/notebook/2008/08/14/ampersands-2/
*/
span.amp {
  font-family: Baskerville, "Goudy Old Style", Palatino, "Book Antiqua", serif !important;
  font-style: italic;
}

@font-face {
  font-family: "BodyFont-Medium";
  src: url("../fonts/Syne-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "BodyFont-Light";
  src: url("../fonts/Syne-Regular.ttf") format("truetype");
  font-weight: 200;
  font-style: normal;
}
@font-face {
  font-family: "BrandFont-Medium";
  src: url("../fonts/Syne-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "BodyFont-Regular";
  src: url("../fonts/Syne-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "BodyFont-Bold";
  src: url("../fonts/Syne-Bold.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
.hero_title {
  font-family: "BodyFont-Medium";
  font-weight: 400;
  font-size: calc(75px + 20 * (100vw - 768px) / 1152);
  line-height: 105%;
  color: #ECEAE4;
}
@media only screen and (max-width: 800px) {
  .hero_title {
    font-size: 36px;
    line-height: 105%;
  }
}

.hero_copy {
  font-family: "BodyFont-Medium";
  font-weight: 400;
  font-size: 22px;
  line-height: 140%;
  color: #ECEAE4;
}

.h2_headers {
  font-family: "BrandFont-Medium";
  font-weight: 500;
  font-size: calc(65px + 0 * (100vw - 768px) / 1152);
  line-height: 100%;
  color: #1E2025;
}
@media only screen and (max-width: 800px) {
  .h2_headers {
    font-size: 34px;
    line-height: 110%;
  }
}

.h3_headers {
  font-family: "BodyFont-Medium";
  font-weight: 200;
  font-size: 28px;
  line-height: 100%;
}
@media only screen and (max-width: 800px) {
  .h3_headers {
    font-size: 24px;
    line-height: 110%;
  }
}

.sub_header {
  font-family: "BodyFont-Medium";
  font-weight: 200;
  font-size: 40px;
  line-height: 100%;
}
@media only screen and (max-width: 800px) {
  .sub_header {
    font-size: 34px;
    line-height: 110%;
  }
}

.body_copy {
  font-family: "BodyFont-Regular";
  font-weight: 400;
  font-size: 18px;
  line-height: 140%;
  color: #1E2025;
}

.blog_tile_title {
  font-size: 24px;
}

.small_body_copy {
  font-family: "BodyFont-Regular";
  font-weight: 400;
  font-size: 14px;
  line-height: 130%;
  color: #1E2025;
}

/* Lists in copy: bullets align with body text (same hang as paragraphs) */
.body_copy ul,
.body_copy ol,
.small_body_copy ul,
.small_body_copy ol,
.entry-content ul,
.entry-content ol,
.hero_body_copy ul,
.hero_body_copy ol {
  margin: 0.5em 0 1em;
  margin-left: 0;
  padding-left: 1.15em;
  padding-inline-start: 1.15em; /* wins over WP block list when compiled */
  list-style-position: outside;
}
.body_copy ul ul,
.body_copy ol ol,
.body_copy ul ol,
.body_copy ol ul,
.small_body_copy ul ul,
.small_body_copy ol ol,
.small_body_copy ul ol,
.small_body_copy ol ul,
.entry-content ul ul,
.entry-content ol ol,
.entry-content ul ol,
.entry-content ol ul,
.hero_body_copy ul ul,
.hero_body_copy ol ol,
.hero_body_copy ul ol,
.hero_body_copy ol ul {
  margin-top: 0.35em;
  margin-bottom: 0.35em;
  padding-left: 1.1em;
  padding-inline-start: 1.1em;
}
.body_copy li,
.small_body_copy li,
.entry-content li,
.hero_body_copy li {
  margin: 0 0 0.35em;
  padding-left: 0.25em;
}
.body_copy li:last-child,
.small_body_copy li:last-child,
.entry-content li:last-child,
.hero_body_copy li:last-child {
  margin-bottom: 0;
}

.menu_links, .main-navigation ul a,
.main-navigation ul a:visited {
  font-family: "BodyFont-Medium";
  font-weight: 200;
  font-size: 14px;
  text-decoration: none;
}

.quote {
  font-family: "BodyFont-Regular";
  font-size: 50px;
  line-height: 120%;
}
@media only screen and (max-width: 800px) {
  .quote {
    font-size: 30px;
    line-height: 40px;
  }
}

/******************************************************************
Site Name:
Author:

Stylesheet: Sass Functions

You can do a lot of really cool things in Sass. Functions help you
make repeated actions a lot easier. They are really similar to mixins,
but can be used for so much more.

Anyway, keep them all in here so it's easier to find when you're
looking for one.

For more info on functions, go here:
http://sass-lang.com/documentation/Sass/Script/Functions.html

******************************************************************/
/*********************
COLOR FUNCTIONS
These are helpful when you're working
with shadows and such things. It's essentially
a quicker way to write RGBA.

Example:
box-shadow: 0 0 4px black(0.3);
compiles to:
box-shadow: 0 0 4px rgba(0,0,0,0.3);
*********************/
/*********************
RESPONSIVE HELPER FUNCTION
If you're creating a responsive site, then
you've probably already read
Responsive Web Design: http://www.abookapart.com/products/responsive-web-design

Here's a nice little helper function for calculating
target / context
as mentioned in that book.

Example:
width: cp(650px, 1000px);
or
width: calc-percent(650px, 1000px);
both compile to:
width: 65%;
*********************/
.last-col {
  float: right;
  padding-right: 0 !important;
}

/*
Mobile Grid Styles
These are the widths for the mobile grid.
There are four types, but you can add or customize
them however you see fit.
*/
@media (max-width: 767px) {
  .m-all {
    float: left;
    padding-right: 0.75em;
    width: 100%;
    padding-right: 0;
  }
  .m-1of2 {
    float: left;
    padding-right: 0.75em;
    width: 50%;
  }
  .m-1of3 {
    float: left;
    padding-right: 0.75em;
    width: 33.33%;
  }
  .m-2of3 {
    float: left;
    padding-right: 0.75em;
    width: 66.66%;
  }
  .m-1of4 {
    float: left;
    padding-right: 0.75em;
    width: 25%;
  }
  .m-3of4 {
    float: left;
    padding-right: 0.75em;
    width: 75%;
  }
}
/* Portrait tablet to landscape */
@media (min-width: 768px) and (max-width: 1029px) {
  .t-all {
    float: left;
    padding-right: 0.75em;
    width: 100%;
    padding-right: 0;
  }
  .t-1of2 {
    float: left;
    padding-right: 0.75em;
    width: 50%;
  }
  .t-1of3 {
    float: left;
    padding-right: 0.75em;
    width: 33.33%;
  }
  .t-2of3 {
    float: left;
    padding-right: 0.75em;
    width: 66.66%;
  }
  .t-1of4 {
    float: left;
    padding-right: 0.75em;
    width: 25%;
  }
  .t-3of4 {
    float: left;
    padding-right: 0.75em;
    width: 75%;
  }
  .t-1of5 {
    float: left;
    padding-right: 0.75em;
    width: 20%;
  }
  .t-2of5 {
    float: left;
    padding-right: 0.75em;
    width: 40%;
  }
  .t-3of5 {
    float: left;
    padding-right: 0.75em;
    width: 60%;
  }
  .t-4of5 {
    float: left;
    padding-right: 0.75em;
    width: 80%;
  }
}
/* Landscape to small desktop */
@media (min-width: 1030px) {
  .d-all {
    float: left;
    padding-right: 0.75em;
    width: 100%;
    padding-right: 0;
  }
  .d-1of2 {
    float: left;
    padding-right: 0.75em;
    width: 50%;
  }
  .d-1of3 {
    float: left;
    padding-right: 0.75em;
    width: 33.33%;
  }
  .d-2of3 {
    float: left;
    padding-right: 0.75em;
    width: 66.66%;
  }
  .d-1of4 {
    float: left;
    padding-right: 0.75em;
    width: 25%;
  }
  .d-3of4 {
    float: left;
    padding-right: 0.75em;
    width: 75%;
  }
  .d-1of5 {
    float: left;
    padding-right: 0.75em;
    width: 20%;
  }
  .d-2of5 {
    float: left;
    padding-right: 0.75em;
    width: 40%;
  }
  .d-3of5 {
    float: left;
    padding-right: 0.75em;
    width: 60%;
  }
  .d-4of5 {
    float: left;
    padding-right: 0.75em;
    width: 80%;
  }
  .d-1of6 {
    float: left;
    padding-right: 0.75em;
    width: 16.6666666667%;
  }
  .d-1of7 {
    float: left;
    padding-right: 0.75em;
    width: 14.2857142857%;
  }
  .d-2of7 {
    float: left;
    padding-right: 0.75em;
    width: 28.5714286%;
  }
  .d-3of7 {
    float: left;
    padding-right: 0.75em;
    width: 42.8571429%;
  }
  .d-4of7 {
    float: left;
    padding-right: 0.75em;
    width: 57.1428572%;
  }
  .d-5of7 {
    float: left;
    padding-right: 0.75em;
    width: 71.4285715%;
  }
  .d-6of7 {
    float: left;
    padding-right: 0.75em;
    width: 85.7142857%;
  }
  .d-1of8 {
    float: left;
    padding-right: 0.75em;
    width: 12.5%;
  }
  .d-1of9 {
    float: left;
    padding-right: 0.75em;
    width: 11.1111111111%;
  }
  .d-1of10 {
    float: left;
    padding-right: 0.75em;
    width: 10%;
  }
  .d-1of11 {
    float: left;
    padding-right: 0.75em;
    width: 9.0909090909%;
  }
  .d-1of12 {
    float: left;
    padding-right: 0.75em;
    width: 8.33%;
  }
}
.alert-success, .alert-error, .alert-info, .alert-help {
  margin: 10px;
  padding: 5px 18px;
  border: 1px solid;
}

.alert-help {
  border-color: rgb(231.8902439024, 220.3353658537, 88.6097560976);
  background: #ebe16f;
}

.alert-info {
  border-color: rgb(191.1428571429, 227.6326530612, 244.3571428571);
  background: #d5edf8;
}

.alert-error {
  border-color: rgb(247.8125, 204.6875, 206.484375);
  background: #fbe3e4;
}

.alert-success {
  border-color: rgb(221.7207792208, 233.7012987013, 173.7987012987);
  background: #e6efc2;
}

input {
  background-color: #3189CD;
  height: 52px;
  font-size: 16px;
  text-align: center;
  padding: 1px 25px 0px 25px;
  border-radius: 6px;
  color: #fff;
  font-family: "BodyFont-Bold", sans-serif;
  border: 0px;
}
input:hover, input:focus {
  background-color: #1E2025;
  transition: 0.3s;
}

.button_secondary {
  background-color: #f3f3f3;
  height: 52px;
  float: left;
  font-size: 16px;
  text-align: center;
  padding: 15px 25px 0px 25px;
  border-radius: 6px;
  color: #fff;
  font-family: "BodyFont-Bold", sans-serif;
}
.button_secondary:hover, .button_secondary:focus {
  background-color: #fff;
  transition: 0.3s;
  color: #000;
}

.button_primary {
  display: inline-block;
  background-color: #1E2025;
  color: #ECEAE4;
  font-family: "BodyFont-Bold", sans-serif;
  font-size: 14px;
  text-align: center;
  padding: 15px 30px 14px 30px;
  border-radius: 50px;
  text-decoration: none;
  position: relative;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 0px;
  border: 1px solid #ECEAE4;
  box-shadow: 4px 4px 0px 0px #3189CD;
}
.button_primary:hover, .button_primary:focus {
  background-color: #000;
  box-shadow: 2px 2px 0px 0px #3189CD;
  transform: translate(2px, 2px);
  color: #fff;
}

.button--container {
  padding-top: 20px;
}

.blue-btn, #submit, .comment-reply-link {
  display: inline-block;
  position: relative;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-decoration: none;
  color: #fff;
  font-size: 0.9em;
  font-size: 34px;
  line-height: 34px;
  font-weight: normal;
  padding: 0 24px;
  border-radius: 4px;
  border: 0;
  cursor: pointer;
  transition: background-color 0.14s ease-in-out;
}
.blue-btn:hover, #submit:hover, .comment-reply-link:hover, .blue-btn:focus, #submit:focus, .comment-reply-link:focus {
  color: #fff;
  text-decoration: none;
  outline: none;
}
.blue-btn:active, #submit:active, .comment-reply-link:active {
  top: 1px;
}

.blue-btn, #submit, .comment-reply-link {
  background-color: #2980b9;
}
.blue-btn:hover, #submit:hover, .comment-reply-link:hover, .blue-btn:focus, #submit:focus, .comment-reply-link:focus {
  background-color: rgb(37.2991150442, 116.4460176991, 168.3008849558);
}
.blue-btn:active, #submit:active, .comment-reply-link:active {
  background-color: rgb(36.3738938053, 113.5575221239, 164.1261061947);
}

input[type=checkbox], input[type=radio] {
  box-sizing: border-box;
  padding: 0;
  vertical-align: baseline;
  height: auto;
}

input[type=text],
input[type=password],
input[type=datetime],
input[type=datetime-local],
input[type=date],
input[type=month],
input[type=time],
input[type=week],
input[type=number],
input[type=email],
input[type=url],
input[type=search],
input[type=tel],
input[type=color],
select,
textarea,
.field {
  display: block;
  height: 40px;
  line-height: 1em;
  padding: 0 12px;
  margin-bottom: 14px;
  font-size: 1em;
  color: #000000;
  border-radius: 3px;
  vertical-align: middle;
  box-shadow: none;
  border: 0;
  width: 100%;
  max-width: 400px;
  font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
  background-color: #eaedf2;
  transition: background-color 0.24s ease-in-out;
}
input[type=text]:focus, input[type=text]:active,
input[type=password]:focus,
input[type=password]:active,
input[type=datetime]:focus,
input[type=datetime]:active,
input[type=datetime-local]:focus,
input[type=datetime-local]:active,
input[type=date]:focus,
input[type=date]:active,
input[type=month]:focus,
input[type=month]:active,
input[type=time]:focus,
input[type=time]:active,
input[type=week]:focus,
input[type=week]:active,
input[type=number]:focus,
input[type=number]:active,
input[type=email]:focus,
input[type=email]:active,
input[type=url]:focus,
input[type=url]:active,
input[type=search]:focus,
input[type=search]:active,
input[type=tel]:focus,
input[type=tel]:active,
input[type=color]:focus,
input[type=color]:active,
select:focus,
select:active,
textarea:focus,
textarea:active,
.field:focus,
.field:active {
  background-color: rgb(246.6, 247.8, 249.8);
  outline: none;
}
input[type=text].error, input[type=text].is-invalid,
input[type=password].error,
input[type=password].is-invalid,
input[type=datetime].error,
input[type=datetime].is-invalid,
input[type=datetime-local].error,
input[type=datetime-local].is-invalid,
input[type=date].error,
input[type=date].is-invalid,
input[type=month].error,
input[type=month].is-invalid,
input[type=time].error,
input[type=time].is-invalid,
input[type=week].error,
input[type=week].is-invalid,
input[type=number].error,
input[type=number].is-invalid,
input[type=email].error,
input[type=email].is-invalid,
input[type=url].error,
input[type=url].is-invalid,
input[type=search].error,
input[type=search].is-invalid,
input[type=tel].error,
input[type=tel].is-invalid,
input[type=color].error,
input[type=color].is-invalid,
select.error,
select.is-invalid,
textarea.error,
textarea.is-invalid,
.field.error,
.field.is-invalid {
  color: #fbe3e4;
  border-color: #fbe3e4;
  background-color: #fff;
  background-position: 99% center;
  background-repeat: no-repeat;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NDM0NDREQkYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2NDM0NDREQ0YwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjQ3ODRGRkE2RjA0QTExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY0MzQ0NERBRjA0QjExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+U8iT5wAAAedJREFUeNqk1U9I02Ecx/HtV3aIFAc1hcRDUoGXRAq0oNLA2CrsEFmHbikZu0iQYIFGYAiegkCpLipBxPpDEBMUzB0EhSG2LhG7hMR2GviPgUTvB57Bw8P3+U23B16HPX8+e/b8nt93wezZSMCnhXETF3AcB5BDCnH8Dq98ExcGHcFn8Ah3cdDni+fxnPDv9oAnTB7CKu6VCFXtChZy56LxUjt+jfuB8toSOth9wd7xWAWhqrUjYR/FRTwWJm+iIPT/w7bQf5ljiZnBg45dtKFX6H+LU8gIY8OEV6vgTkStwXWE8BPTGDHGPqNPz2mCfSOOYkA99TvCt1bhGPL68zMcwmncMuape10jrI+q4BbHi/FLn31S9z2x5tRhTc+1W506ipM+T3oRD4X+8+qtc4SqFvL0z/Fr14S+Szjis8bz9Lvvaq8cwS/wwGfdlqfPSWqTiFlX77o13u9Ym1PBs8JAytpRoy44X9Ft9E/gvbA+rYKn8NcaaMVc8UHgBw4b9/iqUQZ6hOAJFbyDcUflmsEX4a6+wTtHGfhAIUqa1U29Zc2BytouThD8x6xuN5CtMPi2CrXLZkZf/HyZoRFCP7n+QVR4PV7uI/AjGghN7OU/r1ilnqILtfpNC+o6vIFljBKYlhb/F2AAgaBsWR5wRiIAAAAASUVORK5CYII=);
  outline-color: #fbe3e4;
}
input[type=text].success, input[type=text].is-valid,
input[type=password].success,
input[type=password].is-valid,
input[type=datetime].success,
input[type=datetime].is-valid,
input[type=datetime-local].success,
input[type=datetime-local].is-valid,
input[type=date].success,
input[type=date].is-valid,
input[type=month].success,
input[type=month].is-valid,
input[type=time].success,
input[type=time].is-valid,
input[type=week].success,
input[type=week].is-valid,
input[type=number].success,
input[type=number].is-valid,
input[type=email].success,
input[type=email].is-valid,
input[type=url].success,
input[type=url].is-valid,
input[type=search].success,
input[type=search].is-valid,
input[type=tel].success,
input[type=tel].is-valid,
input[type=color].success,
input[type=color].is-valid,
select.success,
select.is-valid,
textarea.success,
textarea.is-valid,
.field.success,
.field.is-valid {
  color: #e6efc2;
  border-color: #e6efc2;
  background-color: #fff;
  background-position: 99% center;
  background-repeat: no-repeat;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NDM0NDRERkYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2NDM0NDRFMEYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjY0MzQ0NERERjA0QjExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY0MzQ0NERFRjA0QjExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+7olkTQAAAfhJREFUeNqklU9oE0EUhzdroWjw0tBeWlDxkEaIp55TsCU9VKIgCrHBelA8CQ1Kr1WPbZrQ3gqtQqvGqxpQc2jBk6BIIaAGD4qNCKURpDSKiPi98gLDsJt//uBjsztvfnk7895sIPAw6/joGMThFJyAXn2+A+9gA57/TaY/eU0OeBgfhGm4DiGnsb7DAszxBz/NAdcKjMJLuNWCqagHbsscN5+L+hmH4QkMOe1L5jzFfNA2PgT34ajTuY7AGuZB0/hmh5m+gS0r8xv1zRvg+gGCHZiOwnF4DP3iB3sQkYxPd2C6CWfhB9Xwlus5+K1j4jXuaq3a+gM1H9OPcAa+7q9lPidZJqHbiIm7Wg22rsEI7FrPSzAMX/T+ADyAKSsu7Fr1KplehLvwCs5DvfBf65p+MypqRbO1FXK9utH4/QKuaqYTsG3E3INJv00Q46px3+XxanJ/Ute2/vqP4FKDza2KcdljIKdnhS0xXYULTaqmLMZFn8FFSFtvt6x70ExFCS5oUXspq2ssa7oEl1swFa+CGFdgtkHgPDyDKy02zyxNU6lXRUZb1EuHYayNNs+Yh5B0WQo+/8fpJnNTZFuzz2OpjoQ2QruSOQlMy35fEGmEGMxY9e1brxobw7TkWA1h6xfckUPb+JhGoE/Hpfvew7qUld/H9J8AAwDpw3WYrxcZ3QAAAABJRU5ErkJggg==);
  outline-color: #e6efc2;
}
input[type=text][disabled], input[type=text].is-disabled,
input[type=password][disabled],
input[type=password].is-disabled,
input[type=datetime][disabled],
input[type=datetime].is-disabled,
input[type=datetime-local][disabled],
input[type=datetime-local].is-disabled,
input[type=date][disabled],
input[type=date].is-disabled,
input[type=month][disabled],
input[type=month].is-disabled,
input[type=time][disabled],
input[type=time].is-disabled,
input[type=week][disabled],
input[type=week].is-disabled,
input[type=number][disabled],
input[type=number].is-disabled,
input[type=email][disabled],
input[type=email].is-disabled,
input[type=url][disabled],
input[type=url].is-disabled,
input[type=search][disabled],
input[type=search].is-disabled,
input[type=tel][disabled],
input[type=tel].is-disabled,
input[type=color][disabled],
input[type=color].is-disabled,
select[disabled],
select.is-disabled,
textarea[disabled],
textarea.is-disabled,
.field[disabled],
.field.is-disabled {
  cursor: not-allowed;
  border-color: #cfcfcf;
  opacity: 0.6;
}
input[type=text][disabled]:focus, input[type=text][disabled]:active, input[type=text].is-disabled:focus, input[type=text].is-disabled:active,
input[type=password][disabled]:focus,
input[type=password][disabled]:active,
input[type=password].is-disabled:focus,
input[type=password].is-disabled:active,
input[type=datetime][disabled]:focus,
input[type=datetime][disabled]:active,
input[type=datetime].is-disabled:focus,
input[type=datetime].is-disabled:active,
input[type=datetime-local][disabled]:focus,
input[type=datetime-local][disabled]:active,
input[type=datetime-local].is-disabled:focus,
input[type=datetime-local].is-disabled:active,
input[type=date][disabled]:focus,
input[type=date][disabled]:active,
input[type=date].is-disabled:focus,
input[type=date].is-disabled:active,
input[type=month][disabled]:focus,
input[type=month][disabled]:active,
input[type=month].is-disabled:focus,
input[type=month].is-disabled:active,
input[type=time][disabled]:focus,
input[type=time][disabled]:active,
input[type=time].is-disabled:focus,
input[type=time].is-disabled:active,
input[type=week][disabled]:focus,
input[type=week][disabled]:active,
input[type=week].is-disabled:focus,
input[type=week].is-disabled:active,
input[type=number][disabled]:focus,
input[type=number][disabled]:active,
input[type=number].is-disabled:focus,
input[type=number].is-disabled:active,
input[type=email][disabled]:focus,
input[type=email][disabled]:active,
input[type=email].is-disabled:focus,
input[type=email].is-disabled:active,
input[type=url][disabled]:focus,
input[type=url][disabled]:active,
input[type=url].is-disabled:focus,
input[type=url].is-disabled:active,
input[type=search][disabled]:focus,
input[type=search][disabled]:active,
input[type=search].is-disabled:focus,
input[type=search].is-disabled:active,
input[type=tel][disabled]:focus,
input[type=tel][disabled]:active,
input[type=tel].is-disabled:focus,
input[type=tel].is-disabled:active,
input[type=color][disabled]:focus,
input[type=color][disabled]:active,
input[type=color].is-disabled:focus,
input[type=color].is-disabled:active,
select[disabled]:focus,
select[disabled]:active,
select.is-disabled:focus,
select.is-disabled:active,
textarea[disabled]:focus,
textarea[disabled]:active,
textarea.is-disabled:focus,
textarea.is-disabled:active,
.field[disabled]:focus,
.field[disabled]:active,
.field.is-disabled:focus,
.field.is-disabled:active {
  background-color: #d5edf8;
}

input[type=password] {
  letter-spacing: 0.3em;
}

textarea {
  max-width: 100%;
  min-height: 120px;
  line-height: 1.5em;
}

select {
  -webkit-appearance: none; /* 1 */
  -moz-appearance: none;
  appearance: none;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAHCAYAAADXhRcnAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEOEZCMjYxMEYwNUUxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEOEZCMjYxMUYwNUUxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQ4RkIyNjBFRjA1RTExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQ4RkIyNjBGRjA1RTExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Vxkp9gAAAI9JREFUeNpidHFxucHAwKAOxE+AmJmBMPgLxDJAfJMFSKwD4kqoAClgA+P///8ZXF1dPaCGcBKh6QcQB+3evXs7WDMIAA2QB1I7gFgDj0aQFz2BGh+AOEwwUaDAQyBlCMR7cGjcC5KHaQQBuM3IAOiKTiBVhiTUDdRUhq4Oq2aoAelAahIQ5wM1zsCmBiDAADhYMJXVZ9u9AAAAAElFTkSuQmCC);
  background-repeat: no-repeat;
  background-position: 97.5% center;
}

/***

An accessible menu for WordPress
https://github.com/argenteum/accessible-nav-wp

Licensed GPL v.2 (http://www.gnu.org/licenses/gpl-2.0.html)

***/
.header {
  background-color: transparent;
  position: fixed;
  width: 100%;
  top: 15px;
  z-index: 99999;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

.main_menu--container {
  width: 90%;
  max-width: 943px;
  height: 65px;
  background-color: #1E2025;
  box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
  border-radius: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 10px 0 20px;
  position: relative;
  z-index: 99999;
}

.main_menu_logo--container {
  width: auto;
}

.main_menu_logo {
  width: 98px;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 9999999;
}

.main_menu_logo img {
  width: 100%;
  height: auto;
}

.main_menu_links {
  width: auto;
}

.btn-menu-cta {
  background-color: #ECEAE4;
  color: #1D1D1D;
  font-family: "BodyFont-Bold", sans-serif;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  padding: 6px 30px 4px 30px;
  border-radius: 30px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  line-height: 20px;
  white-space: nowrap;
}

.btn-menu-cta:hover {
  background-color: #fff;
  color: #3189CD;
}

.mobile_menu_cta {
  display: none;
}

@media only screen and (max-width: 800px) {
  .main_menu_cta {
    display: none;
  }
}
#menuToggle {
  display: flex;
  align-items: center;
  position: relative;
  z-index: 9999999;
  -webkit-user-select: none;
  -moz-user-select: none;
       user-select: none;
  height: 24px;
}

#menuToggle a {
  text-decoration: none;
  color: #232323;
  transition: color 0.3s ease;
}

#menuToggle a:hover {
  color: tomato;
}

#menuToggle input {
  display: block;
  width: 40px;
  height: 32px;
  position: absolute;
  top: -4px;
  left: -5px;
  cursor: pointer;
  opacity: 0; /* hide this */
  z-index: 2; /* and place it over the hamburger */
  -webkit-touch-callout: none;
}

/*
 * Just a quick hamburger
 */
#menuToggle .burger-lines {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#menuToggle span {
  display: block;
  width: 28px;
  height: 1.5px;
  margin-bottom: 6px;
  position: relative;
  background: #3189CD;
  border-radius: 3px;
  z-index: 1;
  transform-origin: 4px 0px;
  transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1), background 0.5s cubic-bezier(0.77, 0.2, 0.05, 1), opacity 0.55s ease;
}

#menuToggle span:first-child {
  transform-origin: 0% 0%;
  top: 0px;
}

#menuToggle span:last-child {
  transform-origin: 0% 100%;
  margin-bottom: 0;
  top: 0px;
}

/* 
 * Transform all the slices of hamburger
 * into a crossmark.
 */
#menuToggle input:checked ~ .burger-lines span:first-child {
  opacity: 1;
  transform: rotate(45deg) translate(0px, -3px);
  background: #3189CD;
}

/*
 * But let's hide the middle one.
 */
#menuToggle input:checked ~ .burger-lines span:nth-child(2) {
  opacity: 0;
  transform: rotate(0deg) translate(0, -1px);
}

/*
 * Ohyeah and the last one should go the other direction
 */
#menuToggle input:checked ~ .burger-lines span:last-child {
  transform: rotate(-45deg) translate(0px, 3px);
  background: #3189CD;
}

* {
  box-sizing: border-box;
}

@keyframes moveToLeft {
  0% {
    transform: translateX(100vw);
  }
  100% {
    transform: translateX(0px);
  }
}
@keyframes moveToRight {
  0% {
    transform: translateX(0px);
  }
  100% {
    transform: translateX(100vw);
  }
}
.slide-on {
  animation: moveToLeft 0.5s ease-in-out;
  animation-delay: 0ms;
}

.slide-off {
  animation: moveToRight 0.5s ease-in-out;
  animation-delay: 0ms;
  transform: translateX(100vw);
}

.slide-start {
  animation: moveToRight 0s ease-in-out !important;
  animation-delay: 0ms;
  transform: translateX(100vw);
}

.slide-on-container {
  width: 100vw;
}

.slide-off-container {
  width: 0px;
  transition: 0s ease;
  transition-delay: 0.5s;
}

.slide-start-container {
  width: 0px;
}

.mobile-burger-wrapper {
  width: auto;
  display: flex;
  align-items: center;
  height: 100%;
  margin-left: auto;
}

.mobile-burger-wrapper #menuToggle {
  position: relative;
  top: auto;
  right: 10px;
  margin-top: 0px;
}

.mobile-burger-wrapper #menuToggle input {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.nav-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 999998;
  border-radius: 30px 0 0 0;
}

.menu-container {
  overflow-x: hidden;
  position: absolute;
}

.menu-container.slide-on-container {
  pointer-events: auto;
  visibility: visible;
}

@media only screen and (max-width: 799px) {
  .menu-container {
    pointer-events: none;
    visibility: hidden;
  }
}
.menu-container:after {
  display: table;
  clear: both;
  content: "";
}

.site-header-menu {
  font-size: 1.5rem;
  float: left;
  padding-right: 0px;
  background-color: #1E2025;
  width: 100%;
  padding-left: 0px;
  position: relative;
  z-index: 999999;
  top: 0;
  height: 100vh;
}

.main-navigation {
  padding-top: 120px;
  height: auto;
  padding-left: 30px;
}

.main-navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.main-navigation ul li {
  margin-right: 40px;
  padding: 2px 0px 5px 0;
}

.main-navigation ul a,
.main-navigation ul a:visited {
  color: #ECEAE4;
  font-size: 22px;
  transition: color 0.2s ease;
}

/* Hover wins over visited so rollover is always visible */
.main-navigation ul a:hover,
.main-navigation ul a:visited:hover {
  border-bottom: 0px solid;
  color: #3189CD;
}

/* Active/focus keep link visible on tap (avoid going same colour as dark bg) */
.main-navigation ul a:active,
.main-navigation ul a:focus,
.main-navigation ul a:visited:active,
.main-navigation ul a:visited:focus {
  color: #3189CD;
}

.main-navigation ul ul {
  display: none;
  margin-top: 0px;
  margin-left: 25px;
}

.main-navigation ul ul ul {
  display: none;
  margin-left: 25px;
}

.no-js .site-header-menu,
.site-header-menu.toggled-on {
  display: block;
}

.no-js .main-navigation ul,
.main-navigation ul .sub-menu.toggled-on {
  display: block;
}

button.dropdown-toggle,
button.menu-button {
  display: inline;
  background-color: transparent;
  border: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  content: "";
}

button.dropdown-toggle {
  position: absolute;
  right: 30px;
  margin-left: 5px;
  padding: 2px;
  width: 100%;
  height: 40px;
}

.dropdown-toggle:after,
.dropdown-toggle.toggled-on:after {
  font-size: 1.3rem;
}

.menu-button:before,
.menu-button.toggled-on:before {
  margin-right: 5px;
}

.main-navigation a:focus,
button.dropdown-toggle:focus,
button.menu-button:focus {
  outline: 1px dotted grey;
  outline-offset: 2px;
}

.no-js .menu-button {
  display: none;
}

/* Plus symbol to expand sub-menu on mobile */
.dropdown-toggle:after {
  content: url("../images/arrow_white.svg");
  position: absolute;
  right: 0px;
  top: 5px;
  color: #fff;
}

/* Minus symbol to collapse sub-menu on mobile */
.dropdown-toggle.toggled-on:after {
  content: "−";
}

/* 'Hamburger' or bars to expand menu on mobile*/
.menu-button:before {
  /*content: "\2261";*/
}

/* Times (x) to collapse menu on mobile*/
.menu-button.toggled-on:before {
  /*content: "\2573";*/
  font-size: 70%;
}

/* Screen readers */
.screen-readers {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  word-break: normal !important;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

/* Mobile only: keep dropdown arrow beside the label (not full-width away on the right) */
@media only screen and (max-width: 799px) {
  .main-navigation ul li.menu-item-has-children {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    -moz-column-gap: 6px;
         column-gap: 6px;
  }
  .main-navigation ul li.menu-item-has-children > a {
    display: inline-block;
    width: auto;
    max-width: calc(100% - 52px);
    flex: 0 1 auto;
    padding-right: 0;
  }
  .main-navigation ul li.menu-item-has-children > .sub-menu {
    flex: 1 1 100%;
    width: 100%;
    margin-left: 0;
  }
  button.dropdown-toggle {
    position: relative;
    right: auto;
    left: auto;
    width: 40px;
    min-width: 40px;
    height: 44px;
    margin-left: 0;
    flex: 0 0 auto;
    align-self: center;
  }
  .dropdown-toggle:after {
    right: 4px;
    left: auto;
    top: 50%;
    transform: translateY(-50%);
  }
  .dropdown-toggle.toggled-on:after {
    right: 4px;
    left: auto;
    top: 50%;
    transform: translateY(-50%);
  }
}
/* Desktop media query */
@media only screen and (min-width: 800px) {
  .main_menu--container {
    width: calc(100% - 30px);
  }
  button.dropdown-toggle {
    width: auto;
    height: 0px;
  }
  .menu-links--container {
    float: right;
    padding-right: 25px;
    padding-top: 10px;
  }
  .mobile-burger-wrapper {
    display: none;
  }
  .menu-container {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: auto;
    overflow-x: inherit;
    flex-grow: 1;
  }
  .nav-container {
    position: relative;
    width: auto;
    height: auto;
  }
  .site-header-menu {
    display: block;
    margin-left: 0px;
    background-color: inherit;
    transform: translateX(0px);
    position: relative;
    z-index: 999999;
    height: auto;
  }
  .main-navigation {
    padding-top: 0px;
    height: auto;
  }
  .hover_box:hover > a {
    color: #3189CD !important;
    border-bottom: 0px;
  }
  .main-navigation ul a,
  .main-navigation ul a:visited {
    color: #eceae4;
    font-family: "BodyFont-Medium", sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 20px;
    text-decoration: none;
    border: none;
    transition: color 0.2s ease;
  }
  /* Hover highlight wins over visited */
  .main-navigation ul a:hover,
  .main-navigation ul a:visited:hover {
    border-bottom: 0px solid;
    color: #3189CD;
  }
  .main-navigation ul a:active,
  .main-navigation ul a:focus,
  .main-navigation ul a:visited:active,
  .main-navigation ul a:visited:focus {
    color: #3189CD;
  }
  .main-navigation ul {
    position: relative;
    display: flex;
    gap: 50px;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0;
  }
  .main-navigation ul li {
    position: relative;
    margin: 0;
  }
  /* CTA above dropdown; display block for desktop */
  .main_menu_cta {
    display: block;
    position: relative;
    z-index: 1000020;
  }
  .no-js .main-navigation ul ul,
  .main-navigation ul ul {
    position: absolute;
    display: none;
    top: calc(100% + 12px);
    left: 0;
    margin-left: 0;
    padding: 16px 8px;
    min-width: 220px;
    max-width: min(320px, 100vw - 48px);
    background-color: #ECEAE4;
    z-index: 1000010;
    border-radius: 12px;
    box-shadow: rgba(30, 32, 37, 0.18) 0px 12px 32px 0px;
    list-style: none;
  }
  /* Invisible bridge so pointer can move from parent to submenu without closing */
  .no-js .main-navigation ul ul::before,
  .main-navigation ul ul::before {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 0;
    width: 100%;
    height: 14px;
  }
  .no-js .main-navigation ul ul li,
  .main-navigation ul ul li {
    float: none;
    width: auto;
    padding: 0;
    margin: 0;
  }
  .main-navigation ul ul a,
  .main-navigation ul ul a:visited {
    display: block;
    padding: 10px 20px;
    border-radius: 8px;
    color: #1E2025;
    font-size: 16px;
    line-height: 1.35;
    text-decoration: none;
    transition: color 0.2s ease, background-color 0.2s ease;
  }
  .main-navigation ul ul a:hover,
  .main-navigation ul ul a:visited:hover,
  .main-navigation ul ul a:focus,
  .main-navigation ul ul a:visited:focus {
    color: #3189CD;
    background-color: rgba(49, 137, 205, 0.08);
  }
  .main-navigation ul ul a:active,
  .main-navigation ul ul a:visited:active {
    color: #3189CD;
    background-color: rgba(49, 137, 205, 0.12);
  }
  .main-navigation ul .has-sub-menu > li {
    padding-right: 40px;
    color: #3189CD;
  }
  .no-js .main-navigation ul ul ul,
  .main-navigation ul ul ul {
    top: -1px;
    left: 100%;
    margin-left: 0;
    margin-top: -5px;
  }
  ul.sub-menu .dropdown-toggle {
    position: absolute;
    right: 10px;
    top: 4px;
  }
  /* Arrow down */
  .main-navigation ul .dropdown-toggle:after {
    content: url("../images/arrow_white.svg");
    position: inherit;
    top: 0px;
    right: 0px;
  }
  /* Arrow right */
  .main-navigation ul ul .dropdown-toggle:after {
    content: "→";
  }
  /* Arrow up */
  .main-navigation ul .dropdown-toggle.toggled-on:after {
    content: "↑";
  }
  /* Arrow left */
  .main-navigation ul ul .dropdown-toggle.toggled-on:after {
    content: "←";
  }
  .main-navigation ul .dropdown-toggle:after,
  .main-navigation ul ul .dropdown-toggle:after,
  .main-navigation ul .dropdown-toggle.toggled-on:after,
  .main-navigation ul ul .dropdown-toggle.toggled-on:after {
    font-weight: bold;
  }
  button.dropdown-toggle {
    position: inherit;
    right: auto;
  }
  .main-navigation ul li:hover > ul {
    display: block;
  }
}
/* Current page / section — must beat :visited on the anchor */
.main-navigation li.current-menu-item > a,
.main-navigation li.current-menu-item > a:visited,
.main-navigation li.current_page_item > a,
.main-navigation li.current_page_item > a:visited,
.main-navigation li.current-menu-ancestor > a,
.main-navigation li.current-menu-ancestor > a:visited,
.main-navigation li.current_page_ancestor > a,
.main-navigation li.current_page_ancestor > a:visited,
.main-navigation li.current-menu-parent > a,
.main-navigation li.current-menu-parent > a:visited {
  color: #3189CD;
}

/*
 * Theme slider (replaces Flexslider)
 * Supports: .flexslider_hero_image (fade), .flexslider (slide)
 */
.slides,
.slides > li {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Hero slider: fade */
.flexslider_hero_image {
  margin: 0;
  padding: 0;
  position: relative;
}
.flexslider_hero_image .slides {
  position: relative;
  overflow: hidden;
}
.flexslider_hero_image .slides > li {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  transition: opacity 0.6s ease;
  pointer-events: none;
}
.flexslider_hero_image .slides > li.active {
  position: relative;
  opacity: 1;
  pointer-events: auto;
}
.flexslider_hero_image .slides img {
  width: 100%;
  display: block;
  height: auto;
}
.flexslider_hero_image.loading .slides > li:first-child {
  opacity: 1 !important;
  transition: none !important;
}

/* Gallery slider: slide (one visible at a time) */
.flexslider:not(.flexslider_hero_image) {
  margin: 0 0 60px;
  position: relative;
  overflow: hidden;
}
.flexslider:not(.flexslider_hero_image) .slides {
  position: relative;
}
.flexslider:not(.flexslider_hero_image) .slides > li {
  display: none;
  opacity: 0;
  transition: opacity 0.4s ease;
}
.flexslider:not(.flexslider_hero_image) .slides > li.active {
  display: block;
  opacity: 1;
}
.flexslider:not(.flexslider_hero_image) .slides img {
  width: 100%;
  display: block;
  height: auto;
}

.hero_block {
  position: relative;
  width: 100%;
  /* Mobile by default: 70vh */
  height: 70vh;
  overflow: hidden;
}
@media only screen and (min-width: 800px) {
  .hero_block {
    /* Desktop: 100vh */
    height: 100vh;
    border-bottom-left-radius: 30px;
    border-bottom-right-radius: 30px;
  }
}
.hero_block--short {
  height: 40vh;
  min-height: 300px;
}
@media only screen and (min-width: 800px) {
  .hero_block--short {
    height: 40vh;
    min-height: 450px;
  }
}
.hero_block .hero_media_container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.hero_block .hero_media_container .hero_media {
  width: 100%;
  height: 100%;
  background-color: #1D1D1D;
}
.hero_block .hero_media_container .hero_media img, .hero_block .hero_media_container .hero_media video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.hero_block .hero_media_container .hero_media .hero_fade_slider {
  position: relative;
  width: 100%;
  height: 100%;
}
.hero_block .hero_media_container .hero_media .hero_fade_slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  transition: opacity 600ms ease-in-out;
}
.hero_block .hero_media_container .hero_media .hero_fade_slide.is-active {
  opacity: 1;
}
.hero_block .hero_media_container .hero_media {
  /* Still image underneath; video on top, invisible until frames are ready. */
}
.hero_block .hero_media_container .hero_media .hero_video_stack {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.hero_block .hero_media_container .hero_media .hero_video_stack__still {
  position: absolute;
  inset: 0;
  z-index: 0;
  -o-object-fit: cover;
     object-fit: cover;
  pointer-events: none;
}
.hero_block .hero_media_container .hero_media .hero_video_stack__video {
  position: absolute;
  inset: 0;
  z-index: 1;
  -o-object-fit: cover;
     object-fit: cover;
}
.hero_block .hero_media_container .hero_media .hero_video_stack--has-still .hero_video_stack__video {
  opacity: 0;
  transition: opacity 0.5s ease;
}
.hero_block .hero_media_container .hero_media .hero_video_stack--has-still.hero_video_stack--ready .hero_video_stack__video {
  opacity: 1;
}
.hero_block .hero_media_container .hero_media--desktop {
  display: none;
}
@media only screen and (min-width: 800px) {
  .hero_block .hero_media_container .hero_media--desktop {
    display: block;
  }
}
.hero_block .hero_media_container .hero_media--mobile {
  display: block;
}
@media only screen and (min-width: 800px) {
  .hero_block .hero_media_container .hero_media--mobile {
    display: none;
  }
}
.hero_block .hero_media_container .hero_overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000000;
  background: linear-gradient(15deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 70%);
  z-index: 2;
  pointer-events: none;
}
.hero_block .hero_content_container {
  position: relative;
  z-index: 3;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  text-align: left;
  padding: 0px 60px 100px 80px; /* Space for scroll arrow */
  box-sizing: border-box;
}
.hero_block .hero_content_container .os-animation {
  width: 100%;
}
.hero_block .hero_content_container .os-animation.no-body-copy .hero_title {
  margin-bottom: 0;
}
.hero_block .hero_content_container .hero_title {
  padding-bottom: 20px;
  max-width: 950px;
}
.hero_block .hero_content_container .hero_body_copy {
  max-width: 500px;
  padding-left: 5px;
}
.hero_block .hero_content_container .hero_body_copy p {
  color: inherit;
  -epub-hyphens: none;
  hyphens: none;
}
.hero_block--short .hero_content_container {
  padding: 0 40px 60px 48px;
}
.hero_block .hero_scroll_arrow {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 4;
  color: #ffffff;
  animation: hero_bounce 2s infinite;
}
.hero_block .hero_scroll_arrow img {
  width: 20px;
  height: 50px;
  display: block;
}
@keyframes hero_bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0) translateX(-50%);
  }
  40% {
    transform: translateY(-10px) translateX(-50%);
  }
  60% {
    transform: translateY(-5px) translateX(-50%);
  }
}

/* Content Slider */
.content_slider--container {
  width: 90%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.content_slider--container.block_top_padding {
  padding-top: 60px;
}
.content_slider--container.block_bottom_padding {
  padding-bottom: 60px;
}

.content_slider_bg_full:before,
.content_slider_bg_top_half:before,
.content_slider_bg_bottom_half:before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  background: #1e2025;
  z-index: -1;
}

.content_slider_bg_full:before {
  top: 0;
  bottom: 0;
}

.content_slider_bg_top_half:before {
  top: 0;
  height: 50%;
}

.content_slider_bg_bottom_half:before {
  bottom: 0;
  height: 50%;
}

.content_slider_bg_round_top:before {
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
}

.content_slider_bg_round_bottom:before {
  border-bottom-left-radius: 30px;
  border-bottom-right-radius: 30px;
}

.content_slider {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 30px;
}

/* Pauses timer bar when user hovers carousel (JS adds .content_slider--autoplay-paused) */
.content_slider--autoplay-paused .content_slider_nav_timer.is-ticking {
  animation-play-state: paused;
}

.content_slider_slides {
  position: relative;
  min-height: 80vh;
}

.content_slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.45s ease, visibility 0s linear 0.45s;
  width: 100%;
  pointer-events: none;
}
.content_slide.active {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
  pointer-events: auto;
}

.content_slide_inner {
  position: relative;
  min-height: 80vh;
}

.content_slide_image {
  position: absolute;
  inset: 0;
  width: 100%;
}
.content_slide_image:after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
}

.content_slide_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.content_slide_content {
  position: absolute;
  top: 25%;
  left: 100px;
  z-index: 2;
  width: min(560px, 100% - 104px);
  padding-left: 0;
  color: #eceae4;
}

.content_slide_title {
  margin-top: 0;
  margin-bottom: 16px;
  color: #eceae4;
  padding-bottom: 20px;
}

.content_slide_copy {
  margin-bottom: 26px;
  color: #eceae4;
}

.content_slide_copy p {
  color: #eceae4;
}

/* Custom Nav */
.content_slider_nav {
  position: absolute;
  left: 42px;
  right: 42px;
  bottom: 32px;
  z-index: 3;
  display: flex;
  gap: 20px;
  align-items: flex-end;
}

.content_slider_nav_item {
  position: relative;
  cursor: pointer;
  padding: 0 0 14px;
  transition: all 0.3s ease;
  text-align: left;
  flex: 1 1 0;
  max-width: none;
  opacity: 1;
}
.content_slider_nav_item:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 4px;
  border-radius: 30px;
  background: #eceae4;
  z-index: 0;
}

.content_slider_nav_timer {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 4px;
  width: 100%;
  border-radius: 30px;
  transform-origin: left center;
  transform: scaleX(0);
  background: #3189cd;
  pointer-events: none;
  z-index: 1;
}

.content_slider_nav_timer.is-ticking {
  animation: content_slider_nav_timer_fill 6s linear forwards;
}

@keyframes content_slider_nav_timer_fill {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .content_slider_nav_timer.is-ticking {
    animation: none;
    transform: scaleX(1);
  }
}
.nav_item_copy {
  display: block;
  margin-bottom: 0px;
  color: #ECEAE4;
}

@media only screen and (max-width: 799px) {
  .content_slider {
    border-radius: 20px;
  }
  .content_slide_inner {
    min-height: 80vh;
  }
  .content_slider_slides {
    min-height: 60vh;
  }
  .content_slide_content {
    top: 28px;
    left: 24px;
    width: calc(100% - 48px);
  }
  .content_slider_nav {
    left: 24px;
    right: 24px;
    bottom: 18px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 8px;
    align-items: flex-end;
  }
  .content_slider_nav_item {
    flex: 1 1 0;
    min-width: 0;
    padding-bottom: 8px;
  }
  .nav_item_copy {
    display: none;
  }
}
/* Accordion / FAQs (main modules) */
.accordion_block--container {
  width: 100%;
  margin: 0 auto;
  padding: 40px 0;
}
.accordion_block--container.block_top_padding {
  padding-top: 80px;
}
.accordion_block--container.block_bottom_padding {
  padding-bottom: 80px;
}

.accordion_block {
  margin: 0 auto;
  max-width: 900px;
}

.accordion_block_title {
  margin: 0 0 40px;
  padding: 0;
}
.accordion_block_title span,
.accordion_block_title strong {
  color: #3189CD;
}

.accordion_block_list {
  border-top: 1px solid #eaedf2;
}

.accordion_block_item {
  border-bottom: 1px solid #eaedf2;
}
.accordion_block_item summary::-webkit-details-marker {
  display: none;
}
.accordion_block_item summary {
  list-style: none;
}

.accordion_block_summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 0;
  cursor: pointer;
  color: #1E2025;
}
.accordion_block_summary::after {
  content: "";
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  border-right: 2px solid #1E2025;
  border-bottom: 2px solid #1E2025;
  transform: rotate(45deg);
  margin-top: -6px;
  transition: transform 0.25s ease;
}

.accordion_block_item[open] .accordion_block_summary::after {
  transform: rotate(-135deg);
  margin-top: 4px;
}

.accordion_block_question {
  margin: 0;
  text-align: left;
  color: inherit;
}

.accordion_block_answer {
  padding: 0 0 24px;
  margin: 0;
}
.accordion_block_answer p:last-child {
  margin-bottom: 0;
}

html {
  scroll-behavior: smooth;
}

label {
  font-size: 14px;
}

textarea {
  max-width: 400px;
}

/*colours*/
.white {
  background-color: #fff;
}

.dark_grey {
  background-color: #1E2025;
}

.light_grey {
  background-color: #f3f3f3;
}

.brand_colour_highlight {
  background-color: #3189CD;
}

.brand_colour_dark {
  background-color: #1E2025;
}

.brand_colour_light {
  background-color: #ECEAE4;
}

.white_copy {
  color: #fff;
}

.dark_grey_copy {
  color: #1E2025;
}

.light_grey_copy {
  color: #f3f3f3;
}

.brand_colour_highlight_copy {
  color: #3189CD;
}

.brand_colour_dark_copy {
  color: #1E2025;
}

.brand_colour_light_copy {
  color: #ECEAE4;
}

/*Typography*/
h1, h2, h3 {
  margin: 0 !important;
}

/*********************
NAVIGATION STYLES
*********************/
/*********************
GENERAL STYLES
*********************/
/* Force light UI controls on browsers that support color-scheme. */
:root {
  color-scheme: only light;
}

/* Ensure mobile taps activate links/buttons on first tap. */
a,
button,
[role=button],
input[type=button],
input[type=submit] {
  touch-action: manipulation;
}

/* Visually hidden; kept for screen readers & SEO fallback headings (matches WP core pattern). */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

body {
  font-family: "BodyFont-Regular";
  font-size: 18px;
  line-height: 1.4;
  color: #000000;
  background-color: #ECEAE4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  hyphens: none;
  word-break: normal;
  font-weight: 300;
  -epub-hyphens: none;
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}

p {
  margin: 0px;
  -epub-hyphens: none;
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}

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

.os-animation {
  opacity: 0;
}

.os-animation.animated {
  opacity: 1;
}

p {
  margin-bottom: 10px;
}

.logo_scroller--container {
  overflow: hidden;
  width: 100%;
  padding: 60px 0;
  background-color: transparent;
}
.logo_scroller--container.block_top_padding {
  padding-top: 80px;
}
.logo_scroller--container.block_bottom_padding {
  padding-bottom: 80px;
}

.logo_scroller {
  overflow: hidden;
  white-space: nowrap;
  width: 100%;
  position: relative;
}
.logo_scroller_track {
  display: inline-flex;
  align-items: center;
  /* Adjust duration based on number of logos or just keep a constant speed */
  animation: scrollLogos 30s linear infinite;
}
.logo_scroller_track:hover {
  animation-play-state: paused;
}
.logo_scroller_item {
  flex: 0 0 auto;
  padding: 0 40px;
}
.logo_scroller_item img {
  height: 40px; /* Force consistent height so they size proportionally */
  width: auto;
  max-width: none;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}
@media only screen and (max-width: 800px) {
  .logo_scroller_item {
    padding: 0 12px;
  }
  .logo_scroller_item img {
    height: 44px; /* 10% bigger on mobile */
  }
}

@keyframes scrollLogos {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.project_single_intro {
  width: 90%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 40px;
  align-items: start;
  padding: 100px 0 100px 0;
}

.project_single_features {
  margin-top: 4px;
}

.project_single_feature_item {
  margin: 0 0 8px;
}

.project_single_large_copy {
  max-width: 800px;
}
.project_single_large_copy p:last-child {
  margin-bottom: 0;
}

.project_single_gallery {
  width: 90%;
  margin: 0 auto;
  padding-bottom: 60px;
}

.project_single_gallery_item {
  margin-bottom: 30px;
}
.project_single_gallery_item img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 30px;
}

.project_single_gallery_item--full img {
  min-height: 640px;
}

.project_single_gallery_item--split {
  display: grid;
  gap: 30px;
}

.project_single_gallery_item--50_50 {
  grid-template-columns: 1fr 1fr;
}

.project_single_gallery_item--30_70 {
  grid-template-columns: 0.3fr 0.7fr;
}

.project_single_gallery_item--70_30 {
  grid-template-columns: 0.7fr 0.3fr;
}

.project_single_gallery_split_image img {
  min-height: 520px;
}

.project_single_quote {
  width: 70%;
  margin: 0 auto;
  padding: 80px 0 100px 0;
}

.project_single_quote_inner {
  max-width: 980px;
  margin: 0 auto;
  text-align: center;
}

.project_single_quote_text {
  color: #1E2025;
}

.project_single_quote_source {
  margin: 20px 0 0;
  color: #1E2025;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Projects feed */
.projects_feed--container {
  width: 90%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.projects_feed--container.block_top_padding {
  padding-top: 60px;
}
.projects_feed--container.block_bottom_padding {
  padding-bottom: 60px;
}

.projects_feed--container:before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  background: #1E2025;
  z-index: -1;
  display: none;
  border-radius: 0;
}

.projects_feed--container.projects_feed_bg_full:before {
  display: block;
  top: 0;
  bottom: 0;
}

.projects_feed--container.projects_feed_bg_top_half:before {
  display: block;
  top: 0;
  height: 50%;
}

.projects_feed--container.projects_feed_bg_bottom_half:before {
  display: block;
  bottom: 0;
  height: 50%;
}

.projects_feed--container.projects_feed_bg_round_top:before {
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
}

.projects_feed--container.projects_feed_bg_round_bottom:before {
  border-bottom-left-radius: 30px;
  border-bottom-right-radius: 30px;
}

.projects_feed_grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}

.projects_feed_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 30px;
}

.projects_feed_title {
  margin: 0;
}
.projects_feed_title .projects_feed_title_highlight,
.projects_feed_title strong {
  color: #3189CD;
}

.projects_feed--container.projects_feed_bg_full .projects_feed_title {
  color: #ECEAE4;
}

.project_tile {
  position: relative;
  display: block;
  width: 100%;
  min-height: 0;
  aspect-ratio: 3.5/4;
  border-radius: 30px;
  overflow: hidden;
  color: #ECEAE4;
  text-decoration: none;
  border: 1px solid #ECEAE4;
  filter: drop-shadow(5px 5px 0px #3189CD);
  transition: transform 0.3s ease, filter 0.3s ease;
}

.project_tile:hover,
.project_tile:focus-visible {
  filter: drop-shadow(2px 2px 0px #3189CD);
  transform: translate(2px, 2px);
}

.project_tile_image {
  position: absolute;
  inset: 0;
}
.project_tile_image:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(2, 2, 2, 0) 20%, rgba(0, 0, 0, 0.7) 100%);
  z-index: 1;
}
.project_tile_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scale(1);
  transition: transform 0.45s ease;
}

.project_tile:hover .project_tile_image img,
.project_tile:focus-visible .project_tile_image img {
  transform: scale(1.04);
}

.project_tile_content {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 24px;
  z-index: 2;
  max-width: 80%;
}

.project_tile_title {
  margin: 0 0 12px;
  color: #ECEAE4;
  padding-bottom: 10px;
}

.project_tile_cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  color: #ECEAE4;
}
.project_tile_cta:after {
  content: "→";
  line-height: 1;
}

.client_logo_grid--container {
  width: 90%;
  margin: 0 auto;
  padding-top: 60px;
  padding-bottom: 100px;
}

.client_logo_grid_title {
  margin: 40px 0 24px;
}

.client_logo_grid_items {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
  padding-top: 40px;
}

.client_logo_grid_item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  border: 0px solid #eaedf2;
  border-radius: 16px;
  background: #fff;
}
.client_logo_grid_item img {
  display: block;
  width: 100%;
  max-width: 220px;
  height: 70px;
  -o-object-fit: contain;
     object-fit: contain;
}

.client_logo_grid_item--wide {
  padding-top: 24px;
  padding-bottom: 24px;
}

.client_logo_grid_item--mobile-only {
  display: none;
}

/* Blog feed */
.blog_project_single_gallery {
  width: 90%;
  margin: 0 auto;
  padding-bottom: 0px;
}

.blog_home--container {
  width: 90%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.blog_home--container.block_top_padding {
  padding-top: 200px;
}
.blog_home--container.block_bottom_padding {
  padding-bottom: 60px;
}

.blog_title_and_copy--container {
  width: 85%;
  margin: auto;
  padding: 30px 0 80px 0;
}

.blog_feed--container {
  width: 90%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.blog_feed--container.block_top_padding {
  padding-top: 60px;
}
.blog_feed--container.block_bottom_padding {
  padding-bottom: 120px;
}

.blog_feed--container:before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  background: #1E2025;
  z-index: -1;
  display: none;
}

.blog_feed--container.blog_feed_bg_full:before {
  display: block;
  top: 0;
  bottom: 0;
}

.blog_feed--container.blog_feed_bg_top_half:before {
  display: block;
  top: 0;
  height: 50%;
}

.blog_feed--container.blog_feed_bg_bottom_half:before {
  display: block;
  bottom: 0;
  height: 50%;
}

.blog_feed_grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.image_grid--container .blog_feed_grid.image_grid__grid.image_grid__grid--cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.image_grid--container .blog_feed_grid.image_grid__grid.image_grid__grid--cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.image_grid--container .blog_feed_grid.image_grid__grid.image_grid__grid--cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.image_grid--container .blog_feed_grid.image_grid__grid.image_grid__grid--cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.blog_feed_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 30px;
}

.blog_feed_button--mobile {
  display: none;
}

.blog_feed_title {
  margin: 0;
}
.blog_feed_title span,
.blog_feed_title strong {
  color: #3189CD;
}

.blog_feed--container.blog_feed_bg_full .blog_feed_title {
  color: #ECEAE4;
}

/* Single blog “More posts”: .body_copy is dark — force light text on dark band */
body.blog-single-more-posts .blog_feed--container.blog_feed_bg_full .blog_feed_title.sub_header {
  color: #ECEAE4;
}
body.blog-single-more-posts .blog_feed--container.blog_feed_bg_full .blog_tile {
  color: #ECEAE4;
}
body.blog-single-more-posts .blog_feed--container.blog_feed_bg_full .blog_tile_title.body_copy {
  color: #ECEAE4;
}

.blog_single {
  padding-top: 200px;
}

/* Testimonials */
.testimonials--container {
  width: 90%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  text-align: center;
}
.testimonials--container.block_top_padding {
  padding-top: 100px;
}
.testimonials--container.block_bottom_padding {
  padding-bottom: 150px;
}

.testimonials--container:before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  background: #1E2025;
  z-index: -1;
  display: none;
}

.testimonials--container.testimonials_bg_full:before {
  display: block;
  top: 0;
  bottom: 0;
}

.testimonials--container.testimonials_bg_top_half:before {
  display: block;
  top: 0;
  height: 50%;
}

.testimonials--container.testimonials_bg_bottom_half:before {
  display: block;
  bottom: 0;
  height: 50%;
}

.testimonials--container.testimonials_round_top:before {
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
}

.testimonials--container.testimonials_round_bottom:before {
  border-bottom-left-radius: 30px;
  border-bottom-right-radius: 30px;
}

.testimonials_carousel {
  display: grid;
  min-height: 220px;
}

.testimonial_item {
  grid-area: 1/1;
  position: relative;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.45s ease, visibility 0s linear 0.45s;
  pointer-events: none;
  width: 100%;
}
.testimonial_item.active {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
  pointer-events: auto;
}

.testimonials_title,
.testimonial_quote,
.testimonial_quote p,
.testimonial_name {
  color: #1E2025;
}

.testimonial_quote {
  max-width: 700px;
  margin: 0 auto 22px;
}

.testimonial_name {
  margin: 0;
  text-transform: uppercase;
}

.testimonials_nav {
  margin-top: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  display: none;
}

.testimonials_nav_dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 0;
  padding: 0;
  background: #1E2025;
  opacity: 0.8;
  cursor: pointer;
}
.testimonials_nav_dot.active {
  background: #3189CD;
  opacity: 1;
}

.testimonials--container.testimonials_bg_full .testimonials_title,
.testimonials--container.testimonials_bg_full .testimonial_quote,
.testimonials--container.testimonials_bg_full .testimonial_quote p,
.testimonials--container.testimonials_bg_full .testimonial_name,
.testimonials--container.testimonials_bg_top_half .testimonials_title,
.testimonials--container.testimonials_bg_top_half .testimonial_quote,
.testimonials--container.testimonials_bg_top_half .testimonial_quote p,
.testimonials--container.testimonials_bg_top_half .testimonial_name,
.testimonials--container.testimonials_bg_bottom_half .testimonials_title,
.testimonials--container.testimonials_bg_bottom_half .testimonial_quote,
.testimonials--container.testimonials_bg_bottom_half .testimonial_quote p,
.testimonials--container.testimonials_bg_bottom_half .testimonial_name {
  color: #ECEAE4;
}
.testimonials--container.testimonials_bg_full .testimonials_nav_dot,
.testimonials--container.testimonials_bg_top_half .testimonials_nav_dot,
.testimonials--container.testimonials_bg_bottom_half .testimonials_nav_dot {
  background: #ECEAE4;
}

.blog_tile {
  display: block;
  text-decoration: none;
  color: inherit;
}

.blog_tile_image {
  margin-bottom: 16px;
  border-radius: 20px;
  overflow: hidden;
  background: #eceae4;
  aspect-ratio: 4/5;
}
.blog_tile_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  transform: scale(1);
  transition: transform 0.45s ease;
}

.blog_tile:hover .blog_tile_image img,
.blog_tile:focus-visible .blog_tile_image img {
  transform: scale(1.04);
}

.blog_tile_title {
  margin: 0;
  display: inline;
  width: 90%;
}
.blog_tile_title:after {
  content: " →";
  white-space: nowrap;
  line-height: 1;
}

/* Blog index pagination: left-aligned, not full width (overrides global .pagination rules below) */
.blog_home--container .blog_index_pagination {
  margin-top: 40px;
  text-align: left !important;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start !important;
  gap: 8px 14px;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
}

.blog_home--container .blog_index_pagination a,
.blog_home--container .blog_index_pagination span.page-numbers {
  display: inline-block !important;
  text-decoration: none;
  padding: 0.5em 0.65em;
  min-width: 1em;
  line-height: 1.2;
  color: #1E2025 !important;
  border-radius: 4px;
}

.blog_home--container .blog_index_pagination a:hover,
.blog_home--container .blog_index_pagination a:focus {
  color: #3189CD !important;
  background-color: transparent !important;
  background: none !important;
}

.blog_home--container .blog_index_pagination span.page-numbers.current {
  cursor: default;
  font-weight: 600;
  color: #1E2025 !important;
}

.blog_home--container .blog_index_pagination span.page-numbers.current:hover,
.blog_home--container .blog_index_pagination span.page-numbers.current:focus {
  background: none !important;
  background-color: transparent !important;
  color: #1E2025 !important;
}

.blog_single_header {
  width: 85%;
  margin: 0 auto;
  padding: 60px 0 40px;
}

.blog_single_title {
  margin: 0;
  max-width: 980px;
}

.blog_single_meta {
  margin: 16px 0 0;
  max-width: 980px;
  opacity: 0.85;
}

.blog_single_video {
  border-radius: 30px;
  overflow: hidden;
}
.blog_single_video iframe {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  height: auto;
  min-height: 200px;
}

.blog_single_copy--container {
  width: 90%;
  margin: 0 auto;
}
.blog_single_copy--container.block_bottom_padding {
  padding-bottom: 60px;
}

.blog_single_copy--inner {
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.blog_single_copy--heading {
  margin: 0 0 24px;
  padding: 40px 0 30px 0;
}

.blog_single_copy--body {
  text-align: left;
}

.blog_single_quote_block {
  padding: 40px 0 20px;
  text-align: center;
}

.blog_single_cta {
  text-align: center;
}

.title_and_copy--container {
  width: 85%;
  margin: auto;
  padding: 100px 0;
}

.image_copy_block--container {
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  padding: 40px 0;
}
.image_copy_block--container.block_top_padding {
  padding-top: 80px;
}
.image_copy_block--container.block_bottom_padding {
  padding-bottom: 80px;
}

.image_copy_block--container:before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 100%;
  background: #f3f3f3;
  z-index: -1;
  display: none;
  top: 0;
}

.image_copy_block--container.image_copy_block_bg_full:before {
  display: block;
}

.image_copy_block {
  display: flex;
  gap: 70px;
}

.image_copy_block_content {
  width: 45%;
  padding: 0 0 0 60px;
}

.image_copy_block_title {
  padding-bottom: 20px;
}
.image_copy_block_title span,
.image_copy_block_title strong {
  color: #3189CD;
}

.image_copy_block_copy {
  margin-bottom: 25px;
}

.image_copy_block_image {
  width: 55%;
}
.image_copy_block_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 24px 0 0 24px;
  min-height: 420px;
}

.image_copy_block_button {
  margin-top: 20px;
}

.title_and_copy--title {
  padding: 0 0px 20px 0;
}
.title_and_copy--title span,
.title_and_copy--title strong {
  color: #3189CD;
}

.title_and_copy--body {
  padding-left: 50%;
  padding-top: 20px;
}

.stacked_image_list--container {
  width: 100%;
  margin: 0 auto;
  padding: 40px 0;
}
.stacked_image_list--container.block_top_padding {
  padding-top: 80px;
}
.stacked_image_list--container.block_bottom_padding {
  padding-bottom: 80px;
}

.stacked_image_list {
  margin: 0 auto;
}

.stacked_image_list_bg_full .stacked_image_list {
  background: #1E2025;
  border-radius: 30px;
  padding: 88px 70px 70px;
}

.stacked_image_list_title {
  margin: 0 0 44px;
  max-width: 860px;
  padding: 0 0 80px 0;
}
.stacked_image_list_title span,
.stacked_image_list_title strong {
  color: #3189CD;
}

.stacked_image_list_items {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.stacked_image_list_item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 0px;
}

.stacked_image_list_item_left .stacked_image_list_item_image {
  order: 1;
}

.stacked_image_list_item_left .stacked_image_list_item_content {
  order: 2;
  padding-left: 80px;
}

.stacked_image_list_item_right .stacked_image_list_item_image {
  order: 2;
}

.stacked_image_list_item_right .stacked_image_list_item_content {
  order: 1;
  padding-right: 60px;
  padding-left: 8%;
}

.stacked_image_list_item_image img {
  width: 100%;
  aspect-ratio: 670/522;
  min-height: 320px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 30px;
}

.stacked_image_list_item_image {
  position: relative;
  z-index: 2;
}

.stacked_image_list_item_title {
  margin: 0 0 18px;
  line-height: 1;
  max-width: 400px;
  padding: 0 0 20px 0;
}
.stacked_image_list_item_title span,
.stacked_image_list_item_title strong {
  color: #3189CD;
}

.stacked_image_list_item_copy {
  max-width: 460px;
}

.stacked_image_list_item_copy p:last-child {
  margin-bottom: 0;
}

.stacked_image_list_connector {
  width: 110px;
  height: 110px;
  margin: -40px auto -40px;
  background: #3189CD;
  border-radius: 30px;
  position: relative;
  z-index: 1;
}

.stacked_image_list_buttons {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 52px;
}

.stacked_image_list_bg_full .stacked_image_list_title,
.stacked_image_list_bg_full .stacked_image_list_item_title,
.stacked_image_list_bg_full .stacked_image_list_item_copy,
.stacked_image_list_bg_full .stacked_image_list_item_copy p {
  color: #ECEAE4;
}

.fit_out_calculator--container {
  width: 90%;
  margin: 0 auto;
  padding: 40px 0;
}
.fit_out_calculator--container.block_top_padding {
  padding-top: 80px;
}
.fit_out_calculator--container.block_bottom_padding {
  padding-bottom: 80px;
}

.fit_out_calculator_layout {
  display: grid;
  gap: 43px;
  align-items: start;
}

/* Single column by default (tablet / iPad and down). Two columns from 1025px in _800up.scss */
.fit_out_calculator_layout--with_intro {
  grid-template-columns: 1fr;
  padding: 40px 0 0 40px;
}

.fit_out_calculator_intro_title {
  color: #1E2025;
  margin: 0 0 18px;
  padding-bottom: 30px;
}

.fit_out_calculator_intro_copy {
  color: #000000;
}
.fit_out_calculator_intro_copy p:last-child {
  margin-bottom: 0;
}

.fit_out_calculator_panel {
  min-width: 0;
}

.fit_out_calculator_layout:not(.fit_out_calculator_layout--with_intro) .fit_out_calculator_panel {
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

.fit_out_calculator_layout--with_intro .fit_out_calculator_panel {
  justify-self: stretch;
  width: 100%;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

.fit_out_calculator {
  width: 100%;
  max-width: 100%;
  background-color: #1E2025;
  border-radius: 30px;
  padding: 40px;
  color: #ECEAE4;
}

.fit_out_calculator_title {
  color: #ECEAE4;
  margin: 0 0 36px;
  padding-bottom: 20px;
}

.fit_out_calculator_field {
  margin-bottom: 30px;
}
.fit_out_calculator_field label {
  display: block;
  color: #ECEAE4;
  margin-bottom: 9px;
}

/* Fit-out calculator: intro + card side-by-side from small laptop up; iPad and below stay one column */
@media only screen and (min-width: 1025px) {
  .fit_out_calculator_layout--with_intro {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .fit_out_calculator_layout--with_intro .fit_out_calculator_panel {
    justify-self: end;
    margin-left: 0;
    margin-right: 0;
    max-width: 500px;
  }
}
/* Shared box: quantity only — selects use .fit_out_calculator_select below */
.fit_out_calculator_size {
  display: block;
  width: 100%;
  min-width: 100%;
  max-width: none;
  height: 52px;
  box-sizing: border-box;
  border: 1px solid #eaedf2;
  border-radius: 11px;
  background-color: #ECEAE4;
  color: #1E2025;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.2;
  padding: 0 16px;
  -moz-appearance: textfield;
       appearance: textfield;
  -webkit-appearance: none;
  text-align: left;
}

.fit_out_calculator_size::-webkit-outer-spin-button,
.fit_out_calculator_size::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.fit_out_calculator_field .fit_out_finish_dropdown {
  width: 100%;
  min-width: 100%;
  max-width: none;
}

.fit_out_finish_dropdown {
  position: relative;
  width: 100%;
}

/* One closed-field style: native selects + custom finish trigger (same arrow, width, chrome) */
.fit_out_calculator_select {
  display: block;
  width: 100%;
  min-width: 100%;
  max-width: none;
  height: 52px;
  box-sizing: border-box;
  margin: 0;
  border: 1px solid #eaedf2;
  border-radius: 11px;
  background-color: #ECEAE4;
  color: #1E2025;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.2;
  padding: 0 45px 0 16px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 16'%3E%3Cpath fill='%231D1D1D' d='M12 16L0 0h24z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 16px 11px;
}

button.fit_out_finish_toggle.fit_out_calculator_select {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  color: #1E2025;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}
button.fit_out_finish_toggle.fit_out_calculator_select:hover {
  border-color: #3189CD;
  background-color: #f3f3f3;
}
button.fit_out_finish_toggle.fit_out_calculator_select:focus-visible {
  border-color: #3189CD;
  outline: 2px solid #3189CD;
  outline-offset: 2px;
}

.fit_out_finish_toggle_text {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fit_out_finish_toggle_icon {
  display: none;
}

.fit_out_finish_menu {
  position: absolute;
  top: calc(100% + 7px);
  left: 0;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  max-height: 486px;
  overflow-y: auto;
  background: #ECEAE4;
  border-radius: 11px;
  border: 1px solid #eaedf2;
  z-index: 5;
}

.fit_out_finish_option {
  display: block;
  width: 100%;
  border: 0;
  border-bottom: 1px solid #eaedf2;
  background: transparent;
  padding: 18px 16px;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
  -webkit-tap-highlight-color: rgba(30, 32, 37, 0.08);
  transition: background-color 0.15s ease;
}
.fit_out_finish_option:hover {
  background-color: #f3f3f3;
}
.fit_out_finish_option:focus {
  outline: none;
}
.fit_out_finish_option:focus-visible {
  background-color: #f3f3f3;
  outline: 2px solid #3189CD;
  outline-offset: -2px;
  position: relative;
  z-index: 1;
}
.fit_out_finish_option:active {
  background-color: #eaedf2;
}

.fit_out_finish_option:last-child {
  border-bottom: 0;
}

.fit_out_finish_option_title {
  display: block;
  color: #1E2025;
  margin-bottom: 5px;
  padding-bottom: 0;
  transition: color 0.15s ease;
}

.fit_out_finish_option:hover .fit_out_finish_option_title,
.fit_out_finish_option:focus-visible .fit_out_finish_option_title {
  color: #3189CD;
}

.fit_out_finish_option_copy {
  display: block;
  color: #1E2025;
  margin: 0;
  padding-top: 0;
}

.fit_out_calculator_total_wrap {
  margin-top: 7px;
  border: 1px solid #3189CD;
  border-radius: 9px;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

input[type=number] {
  height: 60px;
  border-radius: 10px;
  background-color: #ECEAE4;
}

.fit_out_calculator .fit_out_calculator_size {
  height: 52px;
  border-radius: 11px;
}

.fit_out_calculator_total_label,
.fit_out_calculator_total_value {
  color: #ECEAE4;
  margin: 0;
}

.fit_out_calculator_button {
  margin-top: 25px;
}
.fit_out_calculator_button .button_primary {
  width: 100%;
  text-align: center;
}

.contact-page {
  width: 100%;
  padding: 0 0 80px;
}

.contact-page__header {
  position: relative;
  width: 100%;
  height: 300px;
  overflow: hidden;
  border-bottom-left-radius: 30px;
  border-bottom-right-radius: 30px;
}

.contact-page__header-media {
  position: absolute;
  inset: 0;
}

.contact-page__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.contact-page__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(15deg, rgba(30, 32, 37, 0.85) 0%, rgba(30, 32, 37, 0.2) 70%);
}

.contact-page__header-content {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  padding: 0 60px 48px 80px;
  box-sizing: border-box;
}

.contact-page__header-title {
  max-width: 900px;
  margin: 0 !important;
}

.contact-page__form-wrap {
  width: 90%;
  max-width: 650px;
  margin: 0 auto;
  padding: 72px 0 0;
}

.message_button {
  padding: 15px 0 0 0px;
}

.contact-page__form-title {
  color: #1E2025;
  margin-bottom: 24px !important;
}

.contact-page .wpcf7 form p {
  margin: 0 0 14px;
}

.contact-page .wpcf7 form p:last-child {
  margin-bottom: 0;
}

.contact-page .wpcf7 label {
  display: block;
  font-size: 18px;
  line-height: 1.3;
  color: #1E2025;
}

.contact-page .wpcf7 input[type=text],
.contact-page .wpcf7 input[type=email],
.contact-page .wpcf7 input[type=tel],
.contact-page .wpcf7 select,
.contact-page .wpcf7 textarea {
  width: 100%;
  max-width: none;
  background-color: #fff;
  color: #1E2025;
  border: 0;
  border-radius: 4px;
  padding: 0 14px;
  margin-top: 8px;
  margin-bottom: 0;
  text-align: left;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.2;
}

.contact-page .wpcf7 input[type=text],
.contact-page .wpcf7 input[type=email],
.contact-page .wpcf7 input[type=tel],
.contact-page .wpcf7 select {
  height: 40px;
}

.contact-page .wpcf7 select {
  padding-right: 40px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 16'%3E%3Cpath fill='%231E2025' d='M12 16L0 0h24z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 12px 8px;
}

.contact-page .wpcf7 textarea {
  height: 150px;
  min-height: 120px;
  padding: 12px 14px;
  resize: vertical;
}

.contact-page .wpcf7 input[type=submit] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  max-width: none;
  height: 52px;
  padding: 0 34px;
  border-radius: 50px;
  border: 1px solid #ECEAE4;
  font-family: "BodyFont-Bold", sans-serif;
  font-size: 14px;
  text-transform: uppercase;
  background-color: #1E2025;
  color: #ECEAE4;
  box-shadow: 4px 4px 0 0 #3189CD;
  margin-top: 18px;
}

.contact-page .wpcf7 input[type=submit]:hover,
.contact-page .wpcf7 input[type=submit]:focus {
  background-color: #1D1D1D;
  color: #ECEAE4;
  box-shadow: 2px 2px 0 0 #3189CD;
  transform: translate(2px, 2px);
}

.contact-page .wpcf7-not-valid-tip {
  font-size: 14px;
}

.contact-page .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 10px 14px;
  border-radius: 10px;
}

.contact_form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.policy-page {
  padding: 200px 0 100px;
}

.policy-page__inner {
  width: 85%;
  max-width: 800px;
  margin: 0 auto;
}

.policy-page__header {
  margin-bottom: 40px;
  padding-bottom: 40px;
}

.policy-page__content > * + * {
  margin-top: 16px;
}

.policy-page__content p {
  padding-bottom: 20px;
}

.policy-page__content h2,
.policy-page__content h3,
.policy-page__content h4 {
  color: #1E2025;
  line-height: 120%;
}

.policy-page__content h2 {
  font-family: "BodyFont-Medium";
  font-size: 32px;
}

.policy-page__content h3 {
  font-family: "BodyFont-Medium";
  font-size: 26px;
}

.policy-page__content h4 {
  font-family: "BodyFont-Medium";
  font-size: 22px;
}

.policy-page__content ul,
.policy-page__content ol {
  margin-bottom: 14px;
}

.policy-page__content li {
  margin-bottom: 8px;
}

.policy-page__content a {
  color: #3189CD;
  text-decoration: underline;
}

.policy-page__content a:hover,
.policy-page__content a:focus {
  color: #1E2025;
}

.site-footer {
  position: relative;
  background: #1E2025;
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
  color: #ECEAE4;
  overflow: hidden;
  width: 100%;
  margin: 0 auto;
  box-shadow: 0 -6px 0 2px #3189CD;
}

.site-footer__accent {
  display: none;
}

/* On single project pages, join the dark "More projects" section into footer */
body.single-projects .site-footer {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

body.single-projects .site-footer__accent {
  display: none;
}

/* Single blog: “More posts” dark band meets footer — no highlight stripe or rounded top */
body.blog-single-more-posts .site-footer {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  box-shadow: none;
}

body.blog-single-more-posts .site-footer__accent {
  display: none;
}

.site-footer__inner {
  width: 100%;
  padding: 80px 50px 80px 50px;
}

.site-footer__grid {
  display: grid;
  grid-template-columns: 1fr 0.6fr;
  grid-template-rows: auto auto;
  gap: 34px;
}

.site-footer__left {
  display: flex;
  flex-direction: column;
  gap: 28px;
  justify-content: space-between;
  grid-column: 1;
  grid-row: 1;
}

.site-footer__right {
  grid-column: 2;
  grid-row: 1/-1;
  align-self: start;
}

.site-footer__legal-wrap {
  grid-column: 1;
  grid-row: 2;
}

.site-footer__brand {
  max-width: 180px;
}

.site-footer__logo-link {
  display: inline-block;
}

.site-footer__logo-img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}

.site-footer__legal-wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.site-footer__title {
  margin-bottom: 14px !important;
  max-width: 430px;
}

.site-footer__contact {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 18px;
  line-height: 1.4;
}

.site-footer__contact-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.site-footer__contact-icon {
  display: inline-flex;
  flex: 0 0 20px;
  height: 20px;
  margin-top: 3px;
}
.site-footer__contact-icon svg {
  width: 20px;
  height: 20px;
}

.site-footer__link,
.site-footer__link:visited {
  color: #f3f3f3;
  text-decoration: none;
}

.site-footer__link:hover,
.site-footer__link:focus {
  color: #3189CD;
}

.site-footer__social {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 22px;
}
.site-footer__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #f3f3f3;
  text-decoration: none;
}
.site-footer__social img,
.site-footer__social svg {
  width: 24px;
  height: 24px;
  display: block;
}

.site-footer__copyright,
.site-footer__legal a {
  font-size: 14px;
  line-height: 1.2;
  color: #f3f3f3;
}

.site-footer__copyright {
  margin: 0;
}

.site-footer__legal {
  display: flex;
  align-items: center;
  gap: 18px;
}
.site-footer__legal a {
  text-decoration: underline;
  color: #f3f3f3;
}
.site-footer__legal a:hover,
.site-footer__legal a:focus {
  color: #3189CD;
}
.site-footer__legal a:visited {
  color: #f3f3f3;
}

/* Override global link hover styles inside footer */
.site-footer a:hover,
.site-footer a:focus,
.site-footer a:visited:hover,
.site-footer a:visited:focus {
  color: #3189CD;
}

/*********************
LAYOUT & GRID STYLES
*********************/
.wrap {
  width: 100%;
  margin: 0 auto;
}

/*********************
LINK STYLES
*********************/
a, a:visited {
  color: #3189CD;
  /* on hover */
}
a:hover, a:focus, a:visited:hover, a:visited:focus {
  color: rgb(33.6510989011, 53.8417582418, 102.4489010989);
}
a, a:visited {
  /* on click */
}
a, a:visited {
  /* mobile tap color */
}
a:link, a:visited:link {
  /*
  this highlights links on iPhones/iPads.
  so it basically works like the :hover selector
  for mobile devices.
  */
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.3);
}

/******************************************************************
H1, H2, H3, H4, H5 STYLES
******************************************************************/
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5 {
  /*
  if you're going to use webfonts, be sure to check your weights
  http://css-tricks.com/watch-your-font-weight/
  */
  /* removing text decoration from all headline links */
}
h1 a, .h1 a, h2 a, .h2 a, h3 a, .h3 a, h4 a, .h4 a, h5 a, .h5 a {
  text-decoration: none;
}

/*********************
HEADER STYLES
*********************/
#logo {
  margin: 0.75em 0;
}
#logo a {
  color: #fff;
}

.page-title {
  padding: 0 30px 0 0;
}

/*********************
NAVIGATION STYLES
*********************/
/*
all navs have a .nav class applied via
the wp_menu function; this is so we can
easily write one group of styles for
the navs on the site so our css is cleaner
and more scalable.
*/
/*Keeps highlight on main menu when sub nav is active*/
.nav > li:hover > a {
  background-color: #fff;
}
.nav > li .sub-menu > li:hover > a {
  color: #f3f3f3;
}

.nav {
  border-bottom: 0;
  margin: 0;
}
.nav li {
  float: left;
  position: relative;
  cursor: pointer;
}
.nav li a {
  display: block;
  text-decoration: none;
  padding: 15px 15px 15px 15px;
  font-family: "BodyFont-Medium", sans-serif;
  font-size: 15px;
  color: #f3f3f3;
  /*
  remember this is for mobile ONLY, so there's no need
  to even declare hover styles here, you can do it in
  the style.scss file where it's relevant. We want to
  keep this file as small as possible!
  */
}
.nav li a:hover, .nav li a:focus {
  text-decoration: none;
  background-color: #fff;
}
.nav li {
  /*
  so you really have to rethink your dropdowns for mobile.
  you don't want to have it expand too much because the
  screen is so small. How you manage your menu should
  depend on the project. Here's some great info on it:
  http://www.alistapart.com/articles/organizing-mobile/
  */
}
.nav li ul.sub-menu,
.nav li ul.children {
  visibility: hidden;
}
.nav li ul.sub-menu li a,
.nav li ul.children li a {
  padding-left: 30px;
}
.nav li ul.sub-menu li a:hover, .nav li ul.sub-menu li a:focus,
.nav li ul.children li a:hover,
.nav li ul.children li a:focus {
  background-color: #fff;
}
.nav {
  /* end .menu li */
  /* highlight current page */
}
.nav {
  /* end current highlighters */
} /* end .nav */
/*********************
POSTS & CONTENT STYLES
*********************/
#content {
  margin-top: 1.5em;
}

.hentry footer {
  padding: 1.5em;
}
.hentry footer p {
  margin: 0px;
}

/* end .hentry */
.single-title,
.page-title,
.entry-title {
  margin: 0;
}

/* want to style individual post classes? Booya! */
/* post by id (i.e. post-3) */
/* general post style */
/* general article on a page style */
/* general style on an attatchment */
/* sticky post style */
/* hentry class */
/* style by category (i.e. category-videos) */
/* style by tag (i.e. tag-news) */
/* post meta */
.byline {
  color: #9fa6b4;
  font-style: italic;
  margin: 0;
}
/* entry content */
.entry-content {
  padding: 0;
}
.entry-content p {
  margin: 0 0 0;
}
.entry-content table {
  width: 100%;
  border: 1px solid #eaedf2;
  margin-bottom: 1.5em;
}
.entry-content table caption {
  margin: 0 0 7px;
  font-size: 0.75em;
  color: #9fa6b4;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.entry-content tr {
  border-bottom: 1px solid #eaedf2;
}
.entry-content tr:nth-child(even) {
  background-color: #f8f9fa;
}
.entry-content td {
  padding: 7px;
  border-right: 1px solid #eaedf2;
}
.entry-content td:last-child {
  border-right: 0;
}
.entry-content th {
  background-color: #f8f9fa;
  border-bottom: 1px solid #eaedf2;
  border-right: 1px solid #eaedf2;
}
.entry-content th:last-child {
  border-right: 0;
}
.entry-content blockquote {
  margin: 0 0 1.5em 0.75em;
  padding: 0 0 0 0.75em;
  border-left: 3px solid #2980b9;
  font-style: italic;
  color: #9fa6b4;
}
.entry-content dd {
  margin-left: 0;
  font-size: 0.9em;
  color: #787878;
  margin-bottom: 1.5em;
}
.entry-content img {
  margin: 0 0 1.5em 0;
  max-width: 100%;
  height: auto;
}
.entry-content {
  /*
  image alignment on a screen this size may be
  a bit difficult. It's set to start aligning
  and floating images at the next breakpoint,
  but it's up to you. Feel free to change it up.
  */
}
.entry-content .size-auto,
.entry-content .size-full,
.entry-content .size-large,
.entry-content .size-medium,
.entry-content .size-thumbnail {
  max-width: 100%;
  height: auto;
}
.entry-content pre {
  background: #1D1D1D;
  color: #f8f9fa;
  font-size: 0.9em;
  padding: 1.5em;
  margin: 0 0 1.5em;
  border-radius: 3px;
}

/* end .entry-content */
.wp-caption {
  max-width: 100%;
  background: #eee;
  padding: 5px;
  /* images inside wp-caption */
}
.wp-caption img {
  max-width: 100%;
  margin-bottom: 0;
  width: 100%;
}
.wp-caption p.wp-caption-text {
  font-size: 0.85em;
  margin: 4px 0 7px;
  text-align: center;
}

/* end .wp-caption */
/* image gallery styles */
/* end .gallery */
/* gallery caption styles */
.tags {
  margin: 0;
}

/******************************************************************
PAGE NAVI STYLES
******************************************************************/
.pagination,
.wp-prev-next {
  margin: 1.5em 0;
}

.pagination {
  text-align: left;
  display: flex;
}
.pagination ul {
  display: inline-block;
  background-color: #fff;
  white-space: nowrap;
  padding: 0;
  clear: both;
  border-radius: 3px;
}
.pagination li {
  padding: 0;
  margin: 0;
  float: left;
  display: inline;
  overflow: hidden;
  border-right: 1px solid #eaedf2;
}
.pagination a, .pagination span {
  margin: 0;
  text-decoration: none;
  padding: 0;
  line-height: 1em;
  font-size: 1em;
  font-weight: normal;
  padding: 0.75em;
  min-width: 1em;
  display: block;
  color: #2980b9;
}
.pagination a:hover, .pagination a:focus, .pagination span:hover, .pagination span:focus {
  background-color: #2980b9;
  color: #fff;
}
.pagination .current {
  cursor: default;
  color: #000000;
}
.pagination .current:hover, .pagination .current:focus {
  background-color: #fff;
  color: #000000;
}

/* end .bones_page_navi */
/* fallback previous & next links */
.wp-prev-next .prev-link {
  float: left;
}
.wp-prev-next .next-link {
  float: right;
}

/* end .wp-prev-next */
/******************************************************************
COMMENT STYLES
******************************************************************/
/* h3 comment title */
#comments-title {
  padding: 0.75em;
  margin: 0;
  border-top: 1px solid #f8f9fa;
  /* number of comments span */
}
.commentlist {
  margin: 0;
  list-style-type: none;
}

.comment {
  position: relative;
  clear: both;
  overflow: hidden;
  padding: 1.5em;
  border-bottom: 1px solid #f8f9fa;
}
.comment .comment-author {
  padding: 7px;
  border: 0;
}
.comment {
  /* vcard */
}
.comment .vcard {
  margin-left: 50px;
}
.comment .vcard cite.fn {
  font-weight: 700;
  font-style: normal;
}
.comment .vcard time {
  display: block;
  font-size: 0.9em;
  font-style: italic;
}
.comment .vcard time a {
  color: #9fa6b4;
  text-decoration: none;
}
.comment .vcard time a:hover {
  text-decoration: underline;
}
.comment .vcard .avatar {
  position: absolute;
  left: 16px;
  border-radius: 50%;
}
.comment {
  /* end .commentlist .vcard */
}
.comment:last-child {
  margin-bottom: 0;
}
.comment .children {
  margin: 0;
}
.comment .children {
  /* variations */
}
.comment .children { /* change number for different depth */ }
.comment {
  /* end children */
}
.comment[class*=depth-] {
  margin-top: 1.1em;
}
.comment.depth-1 {
  margin-left: 0;
  margin-top: 0;
}
.comment:not(.depth-1) {
  margin-top: 0;
  margin-left: 7px;
  padding: 7px;
}
.comment {
  /* general comment classes */
}
.comment.odd {
  background-color: #fff;
}
.comment.even {
  background: #f8f9fa;
}
/* comment meta */
/* comment content */
.comment_content p {
  margin: 0.7335em 0 1.5em;
  font-size: 1em;
  line-height: 1.5em;
}

/* end .commentlist .comment_content */
/* comment reply link */
.comment-reply-link {
  font-size: 0.9em;
  float: right;
} /* end .commentlist .comment-reply-link */
/* edit comment link */
.comment-edit-link {
  font-style: italic;
  margin: 0 7px;
  text-decoration: none;
  font-size: 0.9em;
}

/******************************************************************
COMMENT FORM STYLES
******************************************************************/
.comment-respond {
  padding: 1.5em;
  border-top: 1px solid #f8f9fa;
}

#reply-title {
  margin: 0;
}

.logged-in-as {
  color: #9fa6b4;
  font-style: italic;
  margin: 0;
}
.logged-in-as a {
  color: #000000;
}

.comment-form-comment {
  margin: 1.5em 0 0.75em;
}

.form-allowed-tags {
  padding: 1.5em;
  background-color: #f8f9fa;
  font-size: 0.9em;
}

/* comment submit button */
#submit {
  float: right;
  font-size: 1em;
}

/* comment form title */
#comment-form-title {
  margin: 0 0 1.1em;
}

/* cancel comment reply link */
/* logged in comments */
/* allowed tags */
#allowed_tags {
  margin: 1.5em 10px 0.7335em 0;
}

/* no comments */
.nocomments {
  margin: 0 20px 1.1em;
}

/*********************
SIDEBARS & ASIDES
*********************/
.widget ul li {
  /* deep nesting */
}
.no-widgets {
  background-color: #fff;
  padding: 1.5em;
  text-align: center;
  border: 1px solid #ccc;
  border-radius: 2px;
  margin-bottom: 1.5em;
}

/*********************
404 PAGE
*********************/
.error-404 {
  max-width: 720px;
  margin: 0 auto;
  padding: 4rem 1.5rem 5rem;
  text-align: center;
}

.error-404__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

.error-404__code {
  margin: 0;
  line-height: 1;
  color: #3189CD;
}

.error-404__header .h3_headers {
  margin: 0;
}

.error-404__message {
  margin: 0;
  max-width: 34em;
}

.error-404__actions a {
  text-decoration: none;
  display: inline-block;
}

/*********************
FOOTER STYLES
*********************/
.footer {
  clear: both;
  background-color: #1D1D1D;
  color: #f8f9fa;
}

/*
if you checked out the link above:
http://www.alistapart.com/articles/organizing-mobile/
you'll want to style the footer nav
a bit more in-depth. Remember to keep
it simple because you'll have to
override these styles for the desktop
view.
*/
/* end .footer-links */
@media only screen and (max-width: 800px) {
  .hero_block .hero_content_container {
    padding: 0px 30px 40px 30px;
  }
  .hero_block .hero_content_container .hero_body_copy {
    max-width: 500px;
    padding-left: 0px;
  }
  .entry-content .alignleft, .entry-content img.alignleft {
    margin-right: 1.5em;
    display: inline;
    float: left;
  }
  .entry-content .alignright, .entry-content img.alignright {
    margin-left: 1.5em;
    display: inline;
    float: right;
  }
  .entry-content .aligncenter, .entry-content img.aligncenter {
    margin-right: auto;
    margin-left: auto;
    display: block;
    clear: both;
  }
  .title_and_copy--body {
    padding-left: 0%;
    padding-top: 0px;
  }
  .title_and_copy--container {
    padding: 30px 0;
    width: 90%;
  }
  .accordion_block--container {
    width: 90%;
  }
  .accordion_block_title {
    margin-bottom: 28px;
  }
  .accordion_block_summary {
    padding: 18px 0;
  }
  /* CTA under grid on mobile */
  .projects_feed--container.block_bottom_padding {
    padding-bottom: 60px;
  }
  .projects_feed--container.block_top_padding {
    padding-top: 40px;
  }
  .projects_feed--container {
    display: flex;
    flex-direction: column;
  }
  .projects_feed_header {
    display: contents;
  }
  .projects_feed_title {
    order: 1;
    margin-bottom: 16px;
    padding-bottom: 20px;
  }
  .projects_feed_grid {
    order: 2;
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .projects_feed_button {
    order: 3;
    margin-top: 24px;
  }
  .project_tile {
    border-radius: 20px;
    width: 98%;
    height: 98%;
  }
  .project_single_intro {
    width: 90%;
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 50px 0 50px 0;
  }
  .project_single_feature_item {
    margin: 0 0 6px;
  }
  .project_single_gallery {
    width: 90%;
  }
  .project_single_gallery_item {
    margin-bottom: 20px;
  }
  .project_single_gallery_item--full img,
  .project_single_gallery_split_image img {
    min-height: 260px;
    border-radius: 20px;
  }
  .project_single_gallery_item--split,
  .project_single_gallery_item--30_70,
  .project_single_gallery_item--70_30 {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .project_single_quote_text {
    font-size: 36px;
    line-height: 120%;
  }
  .project_single_quote_source {
    margin-top: 14px;
  }
  .client_logo_grid_title {
    margin-bottom: 16px;
  }
  .client_logo_grid_items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
  }
  .client_logo_grid_item {
    padding: 12px;
  }
  .client_logo_grid_item img {
    height: 52px;
  }
  .client_logo_grid_item--mobile-only {
    display: flex;
  }
  .blog_home--container {
    width: 90%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
  }
  .blog_home--container.block_top_padding {
    padding-top: 140px;
  }
  .blog_home--container.block_bottom_padding {
    padding-bottom: 60px;
  }
  .blog_feed--container.block_bottom_padding {
    padding-bottom: 40px;
  }
  .blog_feed--container.block_top_padding {
    padding-top: 40px;
  }
  .blog_feed_grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .image_grid--container .blog_feed_grid.image_grid__grid.image_grid__grid--cols-1,
  .image_grid--container .blog_feed_grid.image_grid__grid.image_grid__grid--cols-2,
  .image_grid--container .blog_feed_grid.image_grid__grid.image_grid__grid--cols-3,
  .image_grid--container .blog_feed_grid.image_grid__grid.image_grid__grid--cols-4 {
    grid-template-columns: 1fr;
  }
  .blog_title_and_copy--container {
    width: 85%;
    margin: auto;
    padding: 10px 0 30px 0;
  }
  .blog_feed_header {
    display: block;
    margin-bottom: 20px;
  }
  .blog_feed_button--desktop {
    display: none;
  }
  .blog_feed_button--mobile {
    display: block;
    margin-top: 24px;
  }
  .blog_feed_title {
    margin-bottom: 16px;
  }
  /* Single blog: “More posts” on mobile — spacing + flush footer; light copy is in _base */
  body.blog-single-more-posts .blog_feed--container.blog_feed_bg_full.block_bottom_padding {
    padding-bottom: 60px;
  }
  body.blog-single-more-posts .site-footer {
    margin-top: 0;
  }
  .blog_single {
    padding-top: 100px;
  }
  .policy-page {
    padding: 110px 0 70px;
  }
  .policy-page__inner {
    width: 90%;
  }
  .policy-page__header {
    margin-bottom: 24px;
    padding-bottom: 14px;
  }
  .policy-page__content h2 {
    font-size: 28px;
  }
  .policy-page__content h3 {
    font-size: 24px;
  }
  .policy-page__content h4 {
    font-size: 20px;
  }
  .policy-page__content > * + * {
    margin-top: 14px;
  }
  .blog_single_header {
    width: 85%;
    padding: 40px 0 28px;
  }
  .blog_single_copy--container.block_bottom_padding {
    padding-bottom: 40px;
  }
  .blog_single_copy--heading {
    margin-bottom: 18px;
  }
  .testimonials_carousel {
    min-height: 280px;
  }
  .testimonial_quote {
    margin-bottom: 18px;
  }
  .testimonials_nav {
    margin-top: 20px;
  }
  .testimonials--container.block_bottom_padding {
    padding-bottom: 40px;
  }
  .testimonials--container.block_top_padding {
    padding-top: 40px;
  }
  .image_copy_block--container {
    width: 90%;
    margin: auto;
  }
  .image_copy_block_content {
    padding: 0 0 0 0px;
  }
  .image_copy_block {
    flex-direction: column;
  }
  .image_copy_block_content,
  .image_copy_block_image {
    width: 100%;
  }
  .image_copy_block--container.block_bottom_padding {
    padding-bottom: 40px;
  }
  .image_copy_block--container.block_top_padding {
    padding-top: 60px;
  }
  .image_copy_block_image img {
    border-radius: 24px;
    min-height: 280px;
  }
  .stacked_image_list {
    width: 100%;
  }
  .stacked_image_list_bg_full .stacked_image_list {
    padding: 56px 24px 50px;
  }
  .stacked_image_list_title {
    margin-bottom: 34px;
    padding: 0 0 30px 0;
  }
  .stacked_image_list_item {
    grid-template-columns: 1fr;
    gap: 24px;
    padding-bottom: 60px;
  }
  .stacked_image_list_item_left .stacked_image_list_item_image,
  .stacked_image_list_item_right .stacked_image_list_item_image,
  .stacked_image_list_item_left .stacked_image_list_item_content,
  .stacked_image_list_item_right .stacked_image_list_item_content {
    order: initial;
    padding: 0;
  }
  .stacked_image_list--container.block_bottom_padding {
    padding-bottom: 40px;
  }
  .stacked_image_list--container.block_top_padding {
    padding-top: 40px;
  }
  .stacked_image_list_item_image img {
    border-radius: 24px;
    min-height: 240px;
  }
  .stacked_image_list_item_title {
    margin-bottom: 14px;
  }
  .stacked_image_list_connector {
    width: 56px;
    height: 56px;
    margin: -16px auto -16px;
    border-radius: 14px;
    display: none;
  }
  .stacked_image_list_buttons {
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-top: 38px;
  }
  .fit_out_calculator--container {
    width: 100%;
    padding: 30px;
  }
  .fit_out_calculator--container.block_top_padding {
    padding-top: 40px;
  }
  .fit_out_calculator--container.block_bottom_padding {
    padding-bottom: 40px;
  }
  /* Fit-out calculator: mobile / ≤800px — spacing, control sizes, full-width card */
  .fit_out_calculator_layout {
    gap: 29px;
  }
  .fit_out_calculator_layout--with_intro {
    padding: 0px;
  }
  .fit_out_calculator_layout--with_intro .fit_out_calculator_panel {
    max-width: none;
  }
  .fit_out_calculator {
    padding: 31px 18px;
    border-radius: 22px;
  }
  .fit_out_calculator_title {
    margin-bottom: 22px;
  }
  .fit_out_calculator_field {
    margin-bottom: 18px;
  }
  .fit_out_calculator_select,
  .fit_out_calculator_size {
    height: 47px;
  }
  .fit_out_calculator .fit_out_calculator_size {
    height: 47px;
    border-radius: 11px;
  }
  .fit_out_calculator_select {
    background-position: right 13px center;
    background-size: 14px 9px;
    padding-right: 40px;
  }
  .fit_out_calculator_total_wrap {
    padding: 13px 14px;
    flex-direction: row;
    align-items: center;
  }
  .fit_out_finish_menu {
    max-height: 378px;
  }
  .fit_out_finish_option {
    padding: 14px 13px;
  }
  .fit_out_calculator_button {
    margin-top: 18px;
  }
  .contact-page {
    padding: 0 0 50px;
  }
  .contact_form {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .contact-page__header {
    height: 300px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
  }
  .contact-page__header-content {
    padding: 0 24px 28px;
  }
  .contact-page__form-wrap {
    width: 92%;
    padding: 40px 0 0;
  }
  .contact-page__form-title {
    font-size: 48px;
  }
  .contact-page .wpcf7 label {
    font-size: 16px;
  }
  .contact-page .wpcf7 input[type=submit] {
    margin-top: 16px;
  }
  .site-footer {
    margin-top: 0px;
  }
  .site-footer__inner {
    padding: 40px 0px 30px 0px;
    width: 90%;
    margin: auto;
  }
  .site-footer__grid {
    display: flex;
    flex-direction: column;
    gap: 50px;
  }
  .site-footer__left {
    justify-content: space-between;
    gap: 20px;
  }
  .site-footer__brand {
    max-width: 150px;
  }
  .site-footer__right {
    max-width: 575px;
  }
  .site-footer__title {
    margin-bottom: 20px !important;
    max-width: 430px;
  }
  .site-footer__contact-icon {
    flex: 0 0 24px;
    height: 24px;
  }
  .site-footer__contact-icon svg {
    width: 24px;
    height: 24px;
  }
  .site-footer__social {
    margin-top: 35px;
  }
  .site-footer__copyright,
  .site-footer__legal a {
    font-size: 16px;
  }
  .site-footer__legal {
    gap: 24px;
  }
  .logo_scroller_item img {
    height: 35px; /* Smaller logos on mobile */
    padding: 0 20px;
  }
  .logo_scroller--container {
    padding: 50px 0 30px 0;
  }
  .error-404 {
    padding: 2.5rem 1.25rem 3rem;
  }
  /* Mobile nav CTA sits under accordion list */
  .mobile_menu_cta {
    display: block;
    padding: 20px 30px 30px;
  }
  .mobile_menu_cta .btn-menu-cta {
    display: inline-flex;
  }
}
@media only screen and (min-width: 800px) {
  .nav {
    border: 0;
  }
  .nav li {
    position: relative;
  }
  .nav li a {
    border-bottom: 0;
  }
  .nav li ul.sub-menu,
  .nav li ul.children {
    margin-top: 0;
    border-top: 0;
    position: absolute;
    z-index: 8999;
  }
  .nav li ul.sub-menu li a,
  .nav li ul.children li a {
    padding-left: 0;
    border-right: 0;
    display: block;
  }
  .nav li ul.sub-menu li:last-child a,
  .nav li ul.children li:last-child a {
    border-bottom: 0;
  }
  .nav li ul.sub-menu ul,
  .nav li ul.children ul {
    top: 0;
    left: 100%;
  }
  .nav li:hover > ul {
    top: auto;
    visibility: visible;
  }
  .sidebar {
    margin-top: 2.2em;
  }
  .widgettitle {
    border-bottom: 2px solid #444;
    margin-bottom: 0.75em;
  }
  .widget {
    padding: 0 10px;
    margin: 2.2em 0;
  }
  .widget ul li {
    margin-bottom: 0.75em;
  }
  .widget ul li ul {
    margin-top: 0.75em;
    padding-left: 1em;
  }
  .image_copy_block {
    flex-direction: row;
    align-items: center;
    min-height: 420px;
  }
}
:root {
  color-scheme: only light;
  scroll-behavior: smooth;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
  height: auto;
}

:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}