@charset "UTF-8";
/*
------------------------------------------------------------------------------------------------
  Pacific7 CSS - screen.css - MOBILE FIRST STYLES
------------------------------------------------------------------------------------------------
  Created:  01-10-2015
  Author:   Ember Interactive (www.emberinteractive.co.uk)
  Website:  Ember Interactive Limited
------------------------------------------------------------------------------------------------
*/
/*
  1. Use a more-intuitive box-sizing model.
*/
*, *::before, *::after {
  box-sizing: border-box; }

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

/*
  3. Allow percentage-based heights in the application
*/
html, body {
  height: 100%; }

/*
  Typographic tweaks!
  4. Add accessible line-height
  5. Improve text rendering
*/
body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased; }

/*
  6. Improve media defaults
*/
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%; }

/*
  7. Remove built-in form typography styles
*/
input, button, textarea, select {
  font: inherit; }

/*
  8. Avoid text overflows
*/
p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word; }

/*
  9. Create a root stacking context
*/
#root, #__next {
  isolation: isolate; }

/* Fonts */
/* Breakpoints */
/* Fonts */
/* Mixins */
/* Override the bourbon mixin as ie8 doesn't support :: */
/* Hide text within icon link */
/* Switch Font smoothing settings */
/* Screen reader only text */
/* Calculate REM based on pixel input */
/*
-------------------------------------------------------------------- HELPERS FOR GENERATING SVGS

------------------------------------------------------------------------------------------------
*/
/*
--------------------------------------------------------- MIXIN FOR GENERATING ARROWS / CHEVRONS

------------------------------------------------------------------------------------------------
*/
/* CHEVRON RIGHT SMALL */
/* CHEVRON LEFT SMALL */
/* CHEVRON DOWN SMALL */
/* CHEVRON RIGHT */
/* CHEVRON RIGHT LARGE */
/* PLUS LARGE */
/* CROSS */
/* ARC */
/* DOTS */
/*
--------------------------------------------------------------------------------------- clrfix

------------------------------------------------------------------------------------------------
*/
.clr:after {
  clear: both;
  content: "";
  display: table; }

/*
------------------------------------------------------------------------------------ HTML / BODY

------------------------------------------------------------------------------------------------
*/
html {
  font-size: 16px;
  line-height: 1.5;
  font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-weight: 400;
  color: #261c1a;
  min-width: 300px;
  overflow-x: hidden;
  text-rendering: optimizeLegibility;
  text-size-adjust: 100%; }

body {
  margin: 0;
  padding: 0;
  font-size: 1rem; }

/* Base Text */
p {
  margin: 0 0 1.25rem 0;
  padding: 0 4px 0 0;
  font-weight: 500;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.6;
  position: relative; }
  @media screen and (min-width: 30em) {
    p {
      font-size: 14px;
      font-size: 0.875rem; } }
  @media screen and (min-width: 45em) {
    p {
      font-size: 16px;
      font-size: 1rem; } }
  @media print {
    p {
      margin-bottom: 0.75rem; } }

b, strong {
  font-weight: 700; }

a {
  color: #f08536;
  font-weight: 500;
  margin: 0;
  padding: 0;
  outline: none;
  text-decoration: underline;
  word-wrap: break-word; }

a:hover, a.active {
  color: #f08536;
  text-decoration: none; }

a:focus {
  outline: none;
  color: #f08536;
  text-decoration: none; }

/* Headings */
h1, h2, h3, h4, h5, h6 {
  font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  line-height: 1.2;
  font-weight: 600;
  color: #455359;
  margin: 0;
  margin-bottom: 18px;
  margin-bottom: 1.25rem;
  position: relative; }

h1 a, h2 a, h3 a, h4 a {
  text-decoration: none;
  color: #455359; }

h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover {
  text-decoration: underline; }

h1, .h-1 {
  font-size: 24px;
  font-size: 1.5rem; }

h2, .h-2 {
  font-size: 18px;
  font-size: 1.125rem; }

h3, .h-3 {
  font-size: 16px;
  font-size: 1rem; }

h4, .h-4 {
  font-size: 15px;
  font-size: 0.9375rem; }

h5, .h-5 {
  font-size: 14px;
  font-size: 0.875rem; }

h6, .h-6 {
  font-size: 14px;
  font-size: 0.875rem; }

.h-hero {
  font-size: 24px;
  font-size: 1.5rem; }

@media screen and (min-width: 45em) {
  h1, .h-1 {
    font-size: 30px;
    font-size: 1.875rem; }
  h2, .h-2 {
    font-size: 20px;
    font-size: 1.25rem; }
  h3, .h-3 {
    font-size: 17px;
    font-size: 1.0625rem; }
  h4, .h-4 {
    font-size: 16px;
    font-size: 1rem; }
  h5, .h-5 {
    font-size: 15px;
    font-size: 0.9375rem; }
  h6, .h-6 {
    font-size: 15px;
    font-size: 0.9375rem; }
  .h-hero {
    font-size: 48px;
    font-size: 3rem; } }

@media screen and (min-width: 58em) {
  h1, .h-1 {
    font-size: 42px;
    font-size: 2.625rem;
    line-height: 1.3; }
  h2, .h-2 {
    font-size: 24px;
    font-size: 1.5rem; }
  h3, .h-3 {
    font-size: 20px;
    font-size: 1.25rem; }
  h4, .h-4 {
    font-size: 18px;
    font-size: 1.125rem; }
  .h-hero {
    font-size: 58px;
    font-size: 3.625rem; } }

/* IMAGES */
img {
  margin: 0 0 1em 0;
  padding: 0; }

img {
  max-width: 100%;
  height: auto;
  width: auto\9;
  /* ie8 */ }

svg {
  pointer-events: none; }

svg:not(:root) {
  overflow: hidden; }

img[src*='.svg'] {
  width: 100%;
  height: auto;
  max-width: none;
  display: block; }

/* HELPERS */
.hidden {
  display: none; }

.sr-only,
.skip-link {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
  white-space: nowrap !important; }

p.text-smaller,
.text-smaller p,
span.text-smaller {
  font-size: 13px;
  font-size: 0.8125rem; }
  @media screen and (min-width: 30em) {
    p.text-smaller,
    .text-smaller p,
    span.text-smaller {
      font-size: 14px;
      font-size: 0.875rem; } }

p.text-smallest,
.text-smallest p,
span.text-smallest {
  font-size: 13px;
  font-size: 0.8125rem; }

p.text-larger,
.text-larger p,
span.text-larger,
.first-larger p:first-child {
  font-weight: 500;
  font-size: 13px;
  font-size: 0.8125rem; }
  @media screen and (min-width: 30em) {
    p.text-larger,
    .text-larger p,
    span.text-larger,
    .first-larger p:first-child {
      font-size: 15px;
      font-size: 0.9375rem; } }
  @media screen and (min-width: 45em) {
    p.text-larger,
    .text-larger p,
    span.text-larger,
    .first-larger p:first-child {
      font-size: 16px;
      font-size: 1rem; } }
  @media screen and (min-width: 58em) {
    p.text-larger,
    .text-larger p,
    span.text-larger,
    .first-larger p:first-child {
      font-size: 22px;
      font-size: 1.375rem;
      line-height: 1.4; } }

p.text-largest,
.text-largest p,
span.text-largest {
  font-size: 13px;
  font-size: 0.8125rem; }
  @media screen and (min-width: 30em) {
    p.text-largest,
    .text-largest p,
    span.text-largest {
      font-size: 15px;
      font-size: 0.9375rem; } }
  @media screen and (min-width: 45em) {
    p.text-largest,
    .text-largest p,
    span.text-largest {
      font-size: 17px;
      font-size: 1.0625rem; } }
  @media screen and (min-width: 58em) {
    p.text-largest,
    .text-largest p,
    span.text-largest {
      font-size: 20px;
      font-size: 1.25rem; } }

.text-centered {
  text-align: center; }

.text-right {
  text-align: right; }

.text-strong {
  font-weight: 500; }

.text-link,
.arrow-link {
  color: #261c1a;
  text-decoration: none; }

.text-link:hover,
.text-link:focus,
.text-lin:hover,
.text-lin:focus {
  color: #261c1a;
  text-decoration: underline; }

.arrow-link {
  text-transform: uppercase; }

.arrow-link::after {
  content: ' »'; }

.text-uc {
  text-transform: uppercase; }

.cta {
  padding-top: 20px; }
  @media screen and (min-width: 45em) {
    .cta {
      padding-top: 30px; } }

@media screen and (min-width: 45em) {
  .mb-2 {
    margin-bottom: 60px; } }

/*
----------------------------------------------------------------------------------------- LAYOUT

------------------------------------------------------------------------------------------------
*/
.row {
  padding: 0 16px;
  max-width: 82rem;
  margin: 0 auto; }
  .row:after {
    clear: both;
    content: "";
    display: table; }

.row .row {
  padding-left: 0;
  padding-right: 0; }

.row.row-thin {
  max-width: 60rem; }

.row.row-wide {
  max-width: 88rem; }

.row.row-full {
  padding-left: 0;
  padding-right: 0; }

section,
article {
  padding: 60px 0; }
  @media screen and (min-width: 45em) {
    section,
    article {
      padding: 80px 0; } }
  @media screen and (min-width: 58em) {
    section,
    article {
      padding: 140px 0; } }

@media screen and (min-width: 58em) {
  .row {
    padding-left: 30px;
    padding-right: 30px; }
  .row.row-full {
    padding-left: 0;
    padding-right: 0; } }

/* SECTION HELPERS */
.section-collapse {
  padding-top: 0;
  padding-bottom: 0; }

.section-collapse-top {
  padding-top: 0; }

.section-collapse-bottom {
  padding-bottom: 0; }

@media screen and (min-width: 45em) {
  .section-short {
    padding: 60px 0; } }

@media screen and (min-width: 58em) {
  .section-short {
    padding: 100px 0; } }

.section-green {
  background-color: #bfd9c3; }

.section-pale-grey {
  background-color: #f0f0f0; }

.section-mid-grey {
  background-color: #455359;
  color: #fff; }

.section-mid-grey h1,
.section-mid-grey h2,
.section-mid-grey h3,
.section-mid-grey h4 {
  color: #fff; }

.section-with-bg {
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover; }

/* COLUMN BUBBLES */
.col-6.col-with-bubble {
  position: relative;
  padding-bottom: 40px; }
  @media screen and (min-width: 45em) {
    .col-6.col-with-bubble {
      padding-bottom: 40px; } }
  @media screen and (min-width: 58em) {
    .col-6.col-with-bubble {
      padding-bottom: 80px; } }

.col-6 .column-bubble {
  position: absolute;
  right: 0;
  border-radius: 50%;
  overflow: hidden;
  z-index: 2;
  width: 100px;
  bottom: -100px; }
  @media screen and (min-width: 45em) {
    .col-6 .column-bubble {
      width: 160px;
      bottom: -80px;
      transform: translate(0, 30%); } }
  @media screen and (min-width: 58em) {
    .col-6 .column-bubble {
      width: 200px;
      bottom: -140px; } }
  @media screen and (min-width: 80em) {
    .col-6 .column-bubble {
      width: 250px; } }

@media screen and (min-width: 58em) {
  .col-6 .column-bubble.smaller {
    width: 180px; } }

@media screen and (min-width: 80em) {
  .col-6 .column-bubble.smaller {
    width: 210px; } }

.col-6 .column-bubble img {
  display: block;
  margin: 0; }

.col-6 .column-dots-vert {
  width: 16px;
  position: absolute;
  bottom: -80px;
  right: 20px;
  z-index: 3;
  transform: translate(0, -30%); }
  @media screen and (min-width: 45em) {
    .col-6 .column-dots-vert {
      width: 32px;
      bottom: -80px; } }
  @media screen and (min-width: 58em) {
    .col-6 .column-dots-vert {
      bottom: -140px;
      transform: translate(0, -20%); } }
  @media screen and (min-width: 80em) {
    .col-6 .column-dots-vert {
      width: 38px; } }

.section-collapse .col-6.col-with-bubble {
  padding-bottom: 40px; }
  @media screen and (min-width: 45em) {
    .section-collapse .col-6.col-with-bubble {
      padding-bottom: 40px; } }
  @media screen and (min-width: 58em) {
    .section-collapse .col-6.col-with-bubble {
      padding-bottom: 80px; } }

.section-collapse .col-6 .column-bubble {
  bottom: -40px; }
  @media screen and (min-width: 45em) {
    .section-collapse .col-6 .column-bubble {
      bottom: 0; } }
  @media screen and (min-width: 58em) {
    .section-collapse .col-6 .column-bubble {
      bottom: 0; } }

.section-collapse .col-6 .column-dots-vert {
  bottom: -20px; }
  @media screen and (min-width: 45em) {
    .section-collapse .col-6 .column-dots-vert {
      bottom: 0; } }
  @media screen and (min-width: 58em) {
    .section-collapse .col-6 .column-dots-vert {
      bottom: 0; } }

/*
padding: 60px 0;
    @media screen and (min-width: $break-tablet) {//  720/16
        padding: 80px 0;
    }
    @media screen and (min-width: $break-desktop) {//  720/16
        padding: 140px 0;
    }
}

@media screen and (min-width: $break-desktop) {//  720/16
    .row {padding-left: 30px; padding-right: 30px;}
    .row.row-full {padding-left: 0; padding-right: 0;}
}
.section-collapse
/* SECTION HELPERS */
.single-insight blockquote {
  display: block;
  background-color: #bfd9c3;
  padding: 2rem 2.5rem;
  margin: 2rem 0 2rem 0;
  max-width: 45rem;
  position: relative; }
  @media screen and (min-width: 45em) {
    .single-insight blockquote {
      padding: 2.8rem 3.5rem; } }

.single-insight blockquote p {
  position: relative;
  font-size: 13px;
  font-size: 0.8125rem; }
  @media screen and (min-width: 30em) {
    .single-insight blockquote p {
      font-size: 15px;
      font-size: 0.9375rem; } }
  @media screen and (min-width: 45em) {
    .single-insight blockquote p {
      font-size: 17px;
      font-size: 1.0625rem; } }
  @media screen and (min-width: 58em) {
    .single-insight blockquote p {
      font-size: 20px;
      font-size: 1.25rem; } }

.single-insight blockquote p:last-child {
  margin: 0; }

.single-insight blockquote::before,
.single-insight blockquote::after {
  content: '';
  display: block;
  width: 40px;
  height: 40px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40px' height='40px' viewBox='0 0 480 480'%3E%3Ccircle cx='240' cy='240' r='240' fill='%23455359'%3E%3C/circle%3E%3Cpath fill='%23f7f7f7' d='M232.2 260.8v61.1c.1 16.8-13.5 30.5-30.3 30.5h-61.4c-16.8.1-30.5-13.5-30.5-30.3V209.9c0-10.8 2.1-21.6 6.4-31.6a80.91 80.91 0 0 1 43.4-43.4c10-4.3 20.7-6.5 31.6-6.4h10.2c5.6.1 10.1 4.6 10.2 10.2v20.4c-.1 5.6-4.6 10.1-10.2 10.2h-10.2c-22.5 0-40.7 18.2-40.7 40.7v5.1c0 8.4 6.7 15.2 15.1 15.3h35.7c16.8-.1 30.5 13.5 30.5 30.3.2-.1.2 0 .2.1zM374.6 260.8v61.1c.1 16.8-13.5 30.5-30.3 30.5H283c-16.8.1-30.5-13.5-30.5-30.3V209.9c0-10.8 2.1-21.6 6.4-31.6a80.91 80.91 0 0 1 43.4-43.4c10-4.3 20.7-6.5 31.6-6.4h10.2c5.6.1 10.1 4.6 10.2 10.2v20.4c-.1 5.6-4.6 10.1-10.2 10.2h-10.2c-22.5 0-40.7 18.2-40.7 40.7v5.1c0 8.4 6.7 15.2 15.1 15.3H344c16.8-.1 30.5 13.5 30.5 30.3.1-.1.1 0 .1.1z'%3E%3C/path%3E%3C/svg%3E") 0 0 no-repeat;
  background-size: contain;
  position: absolute;
  top: -10px;
  left: -10px; }
  @media screen and (min-width: 45em) {
    .single-insight blockquote::before,
    .single-insight blockquote::after {
      width: 60px;
      height: 60px; } }

.single-insight blockquote::after {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40px' height='40px' viewBox='0 0 480 480'%3E\a     %3Ccircle cx='240' cy='240' r='240' fill='%23455359'%3E%3C/circle%3E%3Cpath fill='%23f7f7f7' d='M252.5 220.1V159c-.1-16.8 13.5-30.5 30.3-30.5h61.4c16.8-.1 30.5 13.5 30.5 30.3V271c0 10.8-2.1 21.6-6.4 31.6a80.91 80.91 0 0 1-43.4 43.4c-10 4.3-20.7 6.5-31.6 6.4H283c-5.6-.1-10.1-4.6-10.2-10.2v-20.4c.1-5.6 4.6-10.1 10.2-10.2h10.2c22.5 0 40.7-18.2 40.7-40.7v-5.1c0-8.4-6.7-15.2-15.1-15.3H283c-16.8.1-30.5-13.5-30.5-30.3v-.1zM110.1 220.1V159c-.1-16.8 13.5-30.5 30.3-30.5h61.4c16.8-.1 30.5 13.5 30.5 30.3V271c0 10.8-2.1 21.6-6.4 31.6a80.91 80.91 0 0 1-43.4 43.4c-10 4.3-20.7 6.5-31.6 6.4h-10.2c-5.6-.1-10.1-4.6-10.2-10.2v-20.4c.1-5.6 4.6-10.1 10.2-10.2h10.2c22.5 0 40.7-18.2 40.7-40.7v-5.1c0-8.4-6.7-15.2-15.1-15.3h-35.7c-16.8.1-30.5-13.5-30.5-30.3-.2.1-.2 0-.2-.1z'%3E%3C/path%3E%3C/svg%3E") 0 0 no-repeat;
  background-size: contain;
  top: auto;
  left: auto;
  bottom: -10px;
  right: -10px; }

.single-insight blockquote.no-quotes::before,
.single-insight blockquote.no-quotes::after {
  display: none; }

/*
------------------------------------------------------------------------------------------- GRID

------------------------------------------------------------------------------------------------
*/
.grid-row {
  display: block;
  flex: 0 1 auto;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between; }

.grid-row.grid-row-sm {
  display: flex; }

@media print, screen and (min-width: 30em) {
  .grid-row {
    display: flex; }
  .grid-row.grid-row-tablet {
    display: block; }
  .grid-row.grid-row-desktop {
    display: block; }
  .grid-row .col-1 {
    flex-basis: calc(150px + ((100% - 330px) / 12 * 6));
    max-width: calc(150px + ((100% - 330px) / 12 * 6)); }
  .grid-row .col-2 {
    flex-basis: calc(150px + ((100% - 330px) / 12 * 6));
    max-width: calc(150px + ((100% - 330px) / 12 * 6)); }
  .grid-row .col-3 {
    flex-basis: calc(150px + ((100% - 330px) / 12 * 6));
    max-width: calc(150px + ((100% - 330px) / 12 * 6)); }
  .grid-row .col-4 {
    flex-basis: calc(150px + ((100% - 330px) / 12 * 6));
    max-width: calc(150px + ((100% - 330px) / 12 * 6)); }
  .grid-row .col-5 {
    flex-basis: calc(150px + ((100% - 330px) / 12 * 6));
    max-width: calc(150px + ((100% - 330px) / 12 * 6)); }
  .grid-row .col-6 {
    flex-basis: calc(150px + ((100% - 330px) / 12 * 6));
    max-width: calc(150px + ((100% - 330px) / 12 * 6)); }
  .grid-row .col-7 {
    flex-basis: calc(150px + ((100% - 330px) / 12 * 6));
    max-width: calc(150px + ((100% - 330px) / 12 * 6)); }
  .grid-row .col-8 {
    flex-basis: calc(150px + ((100% - 330px) / 12 * 6));
    max-width: calc(150px + ((100% - 330px) / 12 * 6)); }
  .grid-row .col-9 {
    flex-basis: calc(150px + ((100% - 330px) / 12 * 6));
    max-width: calc(150px + ((100% - 330px) / 12 * 6)); }
  .grid-row .col-10 {
    flex-basis: calc(150px + ((100% - 330px) / 12 * 6));
    max-width: calc(150px + ((100% - 330px) / 12 * 6)); }
  .grid-row .col-11 {
    flex-basis: calc(150px + ((100% - 330px) / 12 * 6));
    max-width: calc(150px + ((100% - 330px) / 12 * 6)); }
  .grid-row .col-12 {
    flex-basis: calc(150px + ((100% - 330px) / 12 * 6));
    max-width: calc(150px + ((100% - 330px) / 12 * 6)); }
  .grid-row.grid-row-tablet .col-1 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-tablet .col-2 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-tablet .col-3 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-tablet .col-4 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-tablet .col-5 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-tablet .col-6 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-tablet .col-7 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-tablet .col-8 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-tablet .col-9 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-tablet .col-10 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-tablet .col-11 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-tablet .col-12 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-desktop .col-1 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-desktop .col-2 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-desktop .col-3 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-desktop .col-4 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-desktop .col-5 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-desktop .col-6 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-desktop .col-7 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-desktop .col-8 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-desktop .col-9 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-desktop .col-10 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-desktop .col-11 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-desktop .col-12 {
    flex-basis: 100%;
    max-width: 100%; } }

@media print, screen and (min-width: 45em) {
  .grid-row.grid-row-tablet {
    display: flex; }
  .grid-row .col-1 {
    flex-basis: calc(((100% - 330px) / 12 * 1));
    max-width: calc(((100% - 330px) / 12 * 1)); }
  .grid-row .col-2 {
    flex-basis: calc(30px + ((100% - 330px) / 12 * 2));
    max-width: calc(30px + ((100% - 330px) / 12 * 2)); }
  .grid-row .col-3 {
    flex-basis: calc(60px + ((100% - 330px) / 12 * 3));
    max-width: calc(60px + ((100% - 330px) / 12 * 3)); }
  .grid-row .col-4 {
    flex-basis: calc(90px + ((100% - 330px) / 12 * 4));
    max-width: calc(90px + ((100% - 330px) / 12 * 4)); }
  .grid-row .col-5 {
    flex-basis: calc(120px + ((100% - 330px) / 12 * 5));
    max-width: calc(120px + ((100% - 330px) / 12 * 5)); }
  .grid-row .col-6 {
    flex-basis: calc(150px + ((100% - 330px) / 12 * 6));
    max-width: calc(150px + ((100% - 330px) / 12 * 6)); }
  .grid-row .col-7 {
    flex-basis: calc(180px + ((100% - 330px) / 12 * 7));
    max-width: calc(180px + ((100% - 330px) / 12 * 7)); }
  .grid-row .col-8 {
    flex-basis: calc(210px + ((100% - 330px) / 12 * 8));
    max-width: calc(210px + ((100% - 330px) / 12 * 8)); }
  .grid-row .col-9 {
    flex-basis: calc(240px + ((100% - 330px) / 12 * 9));
    max-width: calc(240px + ((100% - 330px) / 12 * 9)); }
  .grid-row .col-10 {
    flex-basis: calc(270px + ((100% - 330px) / 12 * 10));
    max-width: calc(270px + ((100% - 330px) / 12 * 10)); }
  .grid-row .col-11 {
    flex-basis: calc(300px + ((100% - 330px) / 12 * 11));
    max-width: calc(300px + ((100% - 330px) / 12 * 11)); }
  .grid-row .col-12 {
    flex-basis: calc(330px + (100% - 330px));
    max-width: calc(330px + (100% - 330px)); }
  .grid-row.grid-row-tablet .col-1 {
    flex-basis: calc(((100% - 330px) / 12 * 1));
    max-width: calc(((100% - 330px) / 12 * 1)); }
  .grid-row.grid-row-tablet .col-2 {
    flex-basis: calc(30px + ((100% - 330px) / 12 * 2));
    max-width: calc(30px + ((100% - 330px) / 12 * 2)); }
  .grid-row.grid-row-tablet .col-3 {
    flex-basis: calc(60px + ((100% - 330px) / 12 * 3));
    max-width: calc(60px + ((100% - 330px) / 12 * 3)); }
  .grid-row.grid-row-tablet .col-4 {
    flex-basis: calc(90px + ((100% - 330px) / 12 * 4));
    max-width: calc(90px + ((100% - 330px) / 12 * 4)); }
  .grid-row.grid-row-tablet .col-5 {
    flex-basis: calc(120px + ((100% - 330px) / 12 * 5));
    max-width: calc(120px + ((100% - 330px) / 12 * 5)); }
  .grid-row.grid-row-tablet .col-6 {
    flex-basis: calc(150px + ((100% - 330px) / 12 * 6));
    max-width: calc(150px + ((100% - 330px) / 12 * 6)); }
  .grid-row.grid-row-tablet .col-7 {
    flex-basis: calc(180px + ((100% - 330px) / 12 * 7));
    max-width: calc(180px + ((100% - 330px) / 12 * 7)); }
  .grid-row.grid-row-tablet .col-8 {
    flex-basis: calc(210px + ((100% - 330px) / 12 * 8));
    max-width: calc(210px + ((100% - 330px) / 12 * 8)); }
  .grid-row.grid-row-tablet .col-9 {
    flex-basis: calc(240px + ((100% - 330px) / 12 * 9));
    max-width: calc(240px + ((100% - 330px) / 12 * 9)); }
  .grid-row.grid-row-tablet .col-10 {
    flex-basis: calc(270px + ((100% - 330px) / 12 * 10));
    max-width: calc(270px + ((100% - 330px) / 12 * 10)); }
  .grid-row.grid-row-tablet .col-11 {
    flex-basis: calc(300px + ((100% - 330px) / 12 * 11));
    max-width: calc(300px + ((100% - 330px) / 12 * 11)); }
  .grid-row.grid-row-tablet .col-12 {
    flex-basis: calc(330px + (100% - 330px));
    max-width: calc(330px + (100% - 330px)); }
  .grid-row.grid-row-desktop .col-1 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-desktop .col-2 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-desktop .col-3 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-desktop .col-4 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-desktop .col-5 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-desktop .col-6 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-desktop .col-7 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-desktop .col-8 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-desktop .col-9 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-desktop .col-10 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-desktop .col-11 {
    flex-basis: 100%;
    max-width: 100%; }
  .grid-row.grid-row-desktop .col-12 {
    flex-basis: 100%;
    max-width: 100%; } }

@media print, screen and (min-width: 58em) {
  .grid-row.grid-row-desktop {
    display: flex; }
  .grid-row .col-1 {
    flex-basis: calc(((100% - 770px) / 12 * 1));
    max-width: calc(((100% - 770px) / 12 * 1)); }
  .grid-row .col-2 {
    flex-basis: calc(70px + ((100% - 770px) / 12 * 2));
    max-width: calc(70px + ((100% - 770px) / 12 * 2)); }
  .grid-row .col-3 {
    flex-basis: calc(140px + ((100% - 770px) / 12 * 3));
    max-width: calc(140px + ((100% - 770px) / 12 * 3)); }
  .grid-row .col-4 {
    flex-basis: calc(210px + ((100% - 770px) / 12 * 4));
    max-width: calc(210px + ((100% - 770px) / 12 * 4)); }
  .grid-row .col-5 {
    flex-basis: calc(280px + ((100% - 770px) / 12 * 5));
    max-width: calc(280px + ((100% - 770px) / 12 * 5)); }
  .grid-row .col-6 {
    flex-basis: calc(350px + ((100% - 770px) / 12 * 6));
    max-width: calc(350px + ((100% - 770px) / 12 * 6)); }
  .grid-row .col-7 {
    flex-basis: calc(420px + ((100% - 770px) / 12 * 7));
    max-width: calc(420px + ((100% - 770px) / 12 * 7)); }
  .grid-row .col-8 {
    flex-basis: calc(490px + ((100% - 770px) / 12 * 8));
    max-width: calc(490px + ((100% - 770px) / 12 * 8)); }
  .grid-row .col-9 {
    flex-basis: calc(560px + ((100% - 770px) / 12 * 9));
    max-width: calc(560px + ((100% - 770px) / 12 * 9)); }
  .grid-row .col-10 {
    flex-basis: calc(630px + ((100% - 770px) / 12 * 10));
    max-width: calc(630px + ((100% - 770px) / 12 * 10)); }
  .grid-row .col-11 {
    flex-basis: calc(700px + ((100% - 770px) / 12 * 11));
    max-width: calc(700px + ((100% - 770px) / 12 * 11)); }
  .grid-row .col-12 {
    flex-basis: calc(770px + (100% - 770px));
    max-width: calc(770px + (100% - 770px)); }
  .grid-row.grid-row-tablet .col-1 {
    flex-basis: calc(((100% - 770px) / 12 * 1));
    max-width: calc(((100% - 770px) / 12 * 1)); }
  .grid-row.grid-row-tablet .col-2 {
    flex-basis: calc(70px + ((100% - 770px) / 12 * 2));
    max-width: calc(70px + ((100% - 770px) / 12 * 2)); }
  .grid-row.grid-row-tablet .col-3 {
    flex-basis: calc(140px + ((100% - 770px) / 12 * 3));
    max-width: calc(140px + ((100% - 770px) / 12 * 3)); }
  .grid-row.grid-row-tablet .col-4 {
    flex-basis: calc(210px + ((100% - 770px) / 12 * 4));
    max-width: calc(210px + ((100% - 770px) / 12 * 4)); }
  .grid-row.grid-row-tablet .col-5 {
    flex-basis: calc(280px + ((100% - 770px) / 12 * 5));
    max-width: calc(280px + ((100% - 770px) / 12 * 5)); }
  .grid-row.grid-row-tablet .col-6 {
    flex-basis: calc(350px + ((100% - 770px) / 12 * 6));
    max-width: calc(350px + ((100% - 770px) / 12 * 6)); }
  .grid-row.grid-row-tablet .col-7 {
    flex-basis: calc(420px + ((100% - 770px) / 12 * 7));
    max-width: calc(420px + ((100% - 770px) / 12 * 7)); }
  .grid-row.grid-row-tablet .col-8 {
    flex-basis: calc(490px + ((100% - 770px) / 12 * 8));
    max-width: calc(490px + ((100% - 770px) / 12 * 8)); }
  .grid-row.grid-row-tablet .col-9 {
    flex-basis: calc(560px + ((100% - 770px) / 12 * 9));
    max-width: calc(560px + ((100% - 770px) / 12 * 9)); }
  .grid-row.grid-row-tablet .col-10 {
    flex-basis: calc(630px + ((100% - 770px) / 12 * 10));
    max-width: calc(630px + ((100% - 770px) / 12 * 10)); }
  .grid-row.grid-row-tablet .col-11 {
    flex-basis: calc(700px + ((100% - 770px) / 12 * 11));
    max-width: calc(700px + ((100% - 770px) / 12 * 11)); }
  .grid-row.grid-row-tablet .col-12 {
    flex-basis: calc(770px + (100% - 770px));
    max-width: calc(770px + (100% - 770px)); }
  .grid-row.grid-row-desktop .col-1 {
    flex-basis: calc(((100% - 770px) / 12 * 1));
    max-width: calc(((100% - 770px) / 12 * 1)); }
  .grid-row.grid-row-desktop .col-2 {
    flex-basis: calc(70px + ((100% - 770px) / 12 * 2));
    max-width: calc(70px + ((100% - 770px) / 12 * 2)); }
  .grid-row.grid-row-desktop .col-3 {
    flex-basis: calc(140px + ((100% - 770px) / 12 * 3));
    max-width: calc(140px + ((100% - 770px) / 12 * 3)); }
  .grid-row.grid-row-desktop .col-4 {
    flex-basis: calc(210px + ((100% - 770px) / 12 * 4));
    max-width: calc(210px + ((100% - 770px) / 12 * 4)); }
  .grid-row.grid-row-desktop .col-5 {
    flex-basis: calc(280px + ((100% - 770px) / 12 * 5));
    max-width: calc(280px + ((100% - 770px) / 12 * 5)); }
  .grid-row.grid-row-desktop .col-6 {
    flex-basis: calc(350px + ((100% - 770px) / 12 * 6));
    max-width: calc(350px + ((100% - 770px) / 12 * 6)); }
  .grid-row.grid-row-desktop .col-7 {
    flex-basis: calc(420px + ((100% - 770px) / 12 * 7));
    max-width: calc(420px + ((100% - 770px) / 12 * 7)); }
  .grid-row.grid-row-desktop .col-8 {
    flex-basis: calc(490px + ((100% - 770px) / 12 * 8));
    max-width: calc(490px + ((100% - 770px) / 12 * 8)); }
  .grid-row.grid-row-desktop .col-9 {
    flex-basis: calc(560px + ((100% - 770px) / 12 * 9));
    max-width: calc(560px + ((100% - 770px) / 12 * 9)); }
  .grid-row.grid-row-desktop .col-10 {
    flex-basis: calc(630px + ((100% - 770px) / 12 * 10));
    max-width: calc(630px + ((100% - 770px) / 12 * 10)); }
  .grid-row.grid-row-desktop .col-11 {
    flex-basis: calc(700px + ((100% - 770px) / 12 * 11));
    max-width: calc(700px + ((100% - 770px) / 12 * 11)); }
  .grid-row.grid-row-desktop .col-12 {
    flex-basis: calc(770px + (100% - 770px));
    max-width: calc(770px + (100% - 770px)); } }

/* FOR TESTING */
.col-label {
  position: relative;
  box-sizing: border-box;
  min-height: 30px;
  padding: 5px 0;
  margin-bottom: 30px;
  background: #007FFF;
  overflow: hidden;
  text-align: center;
  color: #fff; }

/* MAX WIDTH COLS */
.max-col-3 {
  max-width: 312px; }

.max-col-5 {
  max-width: 628px; }

.max-col-6 {
  max-width: 694px; }

.max-col-7 {
  max-width: 760px; }

.max-col-8 {
  max-width: 826px; }

.max-col-10 {
  max-width: 1040px; }

/*
----------------------------------------------------------------------------------- SITE OVERLAY

------------------------------------------------------------------------------------------------
*/
.overlay {
  position: fixed;
  width: 100%;
  top: 0;
  right: 0;
  left: 0;
  height: 0;
  transition: opacity .3s ease-in-out;
  opacity: 0;
  z-index: 2000; }

.overlay.overlay-visible {
  bottom: 0;
  height: auto; }

.overlay.overlay-animating {
  opacity: 1; }

.overlay:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #333333;
  opacity: 0.8; }

/*
------------------------------------------------------------------------------------ FORM FIELDS

------------------------------------------------------------------------------------------------
*/
input, textarea, select, label {
  font-family: inherit; }

label.control-label {
  color: #261c1a;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.5;
  padding-top: 4px;
  margin-bottom: 8px;
  display: inline-block;
  max-width: 100%;
  width: 100%;
  font-weight: 500; }
  @media screen and (min-width: 30em) {
    label.control-label {
      font-size: 14px;
      font-size: 0.875rem; } }
  @media screen and (min-width: 45em) {
    label.control-label {
      font-size: 15px;
      font-size: 0.9375rem; } }

/* Fields */
input, textarea, button, .btn {
  box-sizing: border-box;
  outline: none; }

.form-control {
  color: #261c1a;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  padding: 5px 14px;
  margin: 0;
  border: 2px solid #fff;
  background-color: #ffffff;
  width: 100%;
  height: 38px;
  outline: none;
  transition: border-color 0.3s ease-out, background 0.3s ease-out;
  border-radius: 2px;
  vertical-align: top;
  -webkit-appearance: none;
  -moz-appearance: none;
  -o-appearance: none;
  appearance: none; }
  @media screen and (min-width: 45em) {
    .form-control {
      padding: 5px 20px;
      height: 50px; } }
  .form-control:focus {
    border-color: #f08536;
    background-color: #fafafc; }

textarea,
textarea.form-control {
  min-height: 144px;
  margin: 0;
  vertical-align: top;
  padding-top: 8px; }

input[type="submit"] {
  border: none; }

input[type="radio"] {
  margin-right: 10px; }

input[type="checkbox"], input[type="radio"] {
  padding: 0 0 0 0;
  margin: -2px 6px 0 0;
  height: 16px;
  cursor: pointer; }

/* misc */
.help-block {
  font-size: 13px;
  font-size: 0.8125rem;
  display: block;
  margin-top: 5px;
  margin-bottom: 0;
  color: #455359; }

/* Small Inputs */
.input-sm {
  height: 37px;
  padding-top: 1px;
  padding-bottom: 0; }

/* large Inputs */
.input-lg {
  height: 44px;
  padding-top: 8px;
  padding-bottom: 8px; }

/* Disabled */
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
  cursor: not-allowed; }

.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
  background-color: #f7f7f7;
  opacity: 0.8; }

input[readonly]:focus {
  border-color: #fff;
  background-color: #f7f7f7; }

/* Placeholder */
::-webkit-input-placeholder {
  /* Chrome */
  color: #d0d0d0; }

:-ms-input-placeholder {
  /* IE 10+ */
  color: #d0d0d0; }

::-moz-placeholder {
  /* Firefox 19+ */
  color: #d0d0d0;
  opacity: 1; }

:-moz-placeholder {
  /* Firefox 4 - 18 */
  color: #d0d0d0;
  opacity: 1; }

/* Checkboxes and Selects */
.checkbox label, .radio label {
  min-height: 20px;
  margin-bottom: 0;
  padding-top: 0;
  font-weight: 400;
  cursor: pointer;
  float: none; }

.checkbox-inline,
.radio-inline {
  position: relative;
  display: inline-block;
  font-weight: 400;
  vertical-align: middle;
  cursor: pointer;
  margin-right: 10px; }

select.form-control {
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  -o-appearance: menulist;
  appearance: menulist; }
  select.form-control:focus {
    background-color: #ffffff; }

select[multiple], select[size] {
  height: auto;
  -webkit-appearance: none;
  -moz-appearance: none;
  -o-appearance: none;
  appearance: none; }

/* Layout */
.form-group {
  clear: both;
  margin-bottom: 22px; }
  .form-group:after {
    clear: both;
    content: "";
    display: table; }

.table .form-group {
  margin-bottom: 6px; }

.form-group:focus-within label.control-label {
  color: #f08536; }

.form-block .hidden {
  display: none; }

.form-group.form-submit {
  padding-top: 16px;
  margin-bottom: 0; }

.form-group.form-submit .btn:last-child {
  margin-right: 0; }

@media screen and (min-width: 45em) {
  .form-horizontal label.control-label {
    width: 25%;
    float: left;
    padding-top: 8px;
    margin-bottom: 0;
    padding-right: 16px;
    text-align: right; }
  .form-horizontal .form-col {
    width: 75%;
    float: left; }
  .form-horizontal .checkbox,
  .form-horizontal .radio {
    min-height: 27px;
    padding-top: 12px;
    margin-top: 0;
    margin-bottom: 0; }
  .form-horizontal .checkbox label,
  .form-horizontal .radio label {
    float: none;
    width: auto;
    padding-top: 0; }
  .form-horizontal .checkbox-group .checkbox,
  .form-horizontal .radio-group .radio {
    width: auto;
    margin-left: 0; }
  .form-horizontal .form-submit {
    padding-left: 25%; }
  .form-horizontal .rating,
  .form-horizontal .rating-static {
    padding-top: 7px; } }

.form-group-split {
  clear: both;
  display: flex; }

.form-group-split .form-group {
  flex: 1;
  margin-right: 32px; }

.form-group-split .form-group:last-of-type {
  margin-right: 0; }

/* Inline Form */
@media screen and (min-width: 45em) {
  .form-inline .control-label {
    width: auto;
    padding-right: 10px; }
  .form-inline .form-group {
    display: inline-block;
    margin-right: 20px; }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle; }
  .form-inline .btn {
    margin-bottom: 0; } }

/* Validation */
.form-group .required .control-label:after {
  content: ' *';
  font-size: 11px;
  font-size: 0.6875rem;
  vertical-align: top; }

.error label.error,
.error label.error-message {
  color: #e0001b;
  font-weight: 400;
  text-align: left;
  float: none;
  width: 100%;
  padding-top: 4px;
  font-size: 14px;
  font-size: 0.875rem; }

.error .form-control {
  border-color: #e0001b;
  border-width: 2px; }

.valid .form-control {
  border-color: #78ac26;
  border-width: 2px; }

.error label.control-label {
  color: #e0001b; }

.form-container:after {
  clear: both;
  content: "";
  display: table; }

.form-container-result {
  display: none; }

/* CUSTOM SELECT */
.select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  border: none;
  padding: 0;
  margin: 0;
  width: 100%;
  font-family: inherit;
  font-size: inherit;
  cursor: inherit;
  line-height: inherit;
  outline: none;
  padding: 0.75em 36px 0.75em 1em; }
  @media screen and (min-width: 45em) {
    .select {
      padding: 1em 36px 1em 1.5em; } }

select::-ms-expand {
  display: none; }

.custom-select {
  position: relative;
  width: 100%;
  min-width: 15ch;
  max-width: 30ch;
  /**/
  border: 2px solid #455359;
  border-radius: 0.25em;
  color: #261c1a;
  /**/
  font-size: 1rem;
  cursor: pointer;
  line-height: 1.1;
  /**/
  background-color: #fff;
  background-image: linear-gradient(to top, #f9f9f9, #fff 33%);
  /* */
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out; }

.custom-select::after {
  content: '';
  display: block;
  width: 0.8em;
  height: 0.5em;
  background-color: #000;
  -webkit-clip-path: polygon(100% 0%, 0 0%, 50% 100%);
  clip-path: polygon(100% 0%, 0 0%, 50% 100%);
  /**/
  position: absolute;
  top: 50%;
  right: 12px;
  margin-top: -0.25em; }

/* Focus styles */
.custom-select .focus {
  pointer-events: none; }

.select:focus + .focus {
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  /*border: 2px solid var(--input-border);*/
  border-radius: inherit;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #455359; }

/* Disabled styles */
.select--disabled {
  cursor: not-allowed;
  background-color: #eee;
  background-image: linear-gradient(to top, #ddd, #eee 33%); }

/* CONTACT FORM 7 */
.bg-red span.wpcf7-not-valid-tip {
  color: #fff; }

.wpcf7 .form-submit {
  display: inline-block;
  margin: 0 auto;
  position: relative; }

.wpcf7 .form-submit .btn {
  margin-right: 0; }

/* CONTACT FORM 7 MESSAGES */
.bg-red div.wpcf7-validation-errors,
.bg-red div.wpcf7-acceptance-missing,
.bg-red div.wpcf7-mail-sent-ok {
  border: 1px solid #fff; }

div.wpcf7-response-output {
  margin-top: 1em !important;
  margin-left: 0 !important;
  margin-right: 0 !important; }

span.wpcf7-not-valid-tip {
  font-size: 0.8em !important; }

/* CONTACT FORM 7 SPINNER */
div.wpcf7 .ajax-loader {
  background-image: none !important;
  position: absolute !important;
  top: 17px !important;
  right: -34px !important; }

div.wpcf7 .ajax-loader,
div.wpcf7 .ajax-loader:after {
  border-radius: 50%;
  width: 20px !important;
  height: 20px !important; }

div.wpcf7 .ajax-loader {
  font-size: 10px;
  position: relative;
  text-indent: -9999em;
  border-top: 3px solid rgba(50, 50, 50, 0.2) !important;
  border-right: 3px solid rgba(50, 50, 50, 0.2) !important;
  border-bottom: 3px solid rgba(50, 50, 50, 0.2) !important;
  border-left: 3px solid #261c1a !important;
  transform: translateZ(0);
  animation: spinnerAnim 0.5s infinite linear;
  opacity: 1;
  transition: opacity 0.4s linear; }

.bg-red div.wpcf7 .ajax-loader,
.footer-newsletter div.wpcf7 .ajax-loader {
  border-top: 3px solid rgba(255, 255, 255, 0.2) !important;
  border-right: 3px solid rgba(255, 255, 255, 0.2) !important;
  border-bottom: 3px solid rgba(255, 255, 255, 0.2) !important;
  border-left: 3px solid #fff !important; }

@keyframes spinnerAnim {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

.recaptcha-notice {
  display: block;
  padding-top: 10px;
  font-size: 0.8125rem; }

.recaptcha-notice a {
  color: #261c1a; }

.grecaptcha-badge {
  visibility: hidden; }

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

/*
----------------------------------------------------------------------- CONTACT FORM 7 PLUGIN CSS

------------------------------------------------------------------------------------------------
*/
div.wpcf7 {
  margin: 0;
  padding: 0; }

div.wpcf7 .screen-reader-response {
  position: absolute;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  width: 1px;
  margin: 0;
  padding: 0;
  border: 0; }

.invalid div.wpcf7-response-output {
  margin: 2em 0.5em 1em;
  padding: 1em 1em;
  border: 2px solid #ee1313;
  color: #ee1313;
  background-color: #ffefef; }

div.wpcf7-mail-sent-ok {
  border: 2px solid #398f14; }

div.wpcf7-mail-sent-ng,
div.wpcf7-aborted {
  border: 2px solid #ee1313; }

div.wpcf7-spam-blocked {
  border: 2px solid #ffa500; }

div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing {
  border: 2px solid #f7e700; }

.wpcf7-form-control-wrap {
  position: relative; }

span.wpcf7-not-valid-tip {
  color: #f00;
  font-size: 1em;
  font-weight: normal;
  display: block; }

.use-floating-validation-tip span.wpcf7-not-valid-tip {
  position: absolute;
  top: 20%;
  left: 20%;
  z-index: 100;
  border: 1px solid #ee1313;
  background: #fff;
  padding: .2em .8em; }

span.wpcf7-list-item {
  display: inline-block;
  margin: 0 0 0 1em; }

span.wpcf7-list-item-label::before,
span.wpcf7-list-item-label::after {
  content: " "; }

.wpcf7-display-none {
  display: none; }

div.wpcf7 .ajax-loader {
  visibility: hidden;
  display: inline-block;
  background-image: url("../img/custom-ajax-loader.gif");
  width: 19px;
  height: 19px;
  border: none;
  padding: 0;
  margin: 0 0 0 4px;
  vertical-align: middle; }
  @media (min-resolution: 120dpi), (min-resolution: 1.25dppx) {
    div.wpcf7 .ajax-loader {
      background-image: url("../img/retina/custom-ajax-loader.gif");
      background-size: 19px 19px; } }

div.wpcf7 .ajax-loader.is-active {
  visibility: visible; }

div.wpcf7 div.ajax-error {
  display: none; }

div.wpcf7 .placeheld {
  color: #888; }

div.wpcf7 input[type="file"] {
  cursor: pointer; }

div.wpcf7 input[type="file"]:disabled {
  cursor: default; }

div.wpcf7 .wpcf7-submit:disabled {
  cursor: not-allowed; }

/*
--------------------------------------------------- CONTACT FORM 7 CONDITIONAL FIELDS PLUGIN CSS

------------------------------------------------------------------------------------------------
*/
/* initially hide all groups (even before JS is loaded), so the page will never render them while loading */
[data-class="wpcf7cf_group"], .wpcf7cf_remove, .wpcf7cf_add {
  display: none; }

.wpcf7cf_repeater_sub {
  margin-bottom: 20px; }

.wpcf7cf_repeater_controls, .wpcf7cf_step_controls {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }

.wpcf7cf_multistep .wpcf7cf_step {
  display: none; }

/* File upload */
.wpcf7-form-control-wrap.CV {
  padding-top: 10px;
  float: left; }

/*
----------------------------------------------------------------------- CONTACT FORM 7 OVERRIDES

------------------------------------------------------------------------------------------------
*/
span.wpcf7-list-item-label {
  font-size: 1.4em; }

span .wpcf7-not-valid {
  border-color: #bd0000; }

span.wpcf7-not-valid-tip {
  color: #bd0000;
  font-size: 1.4em;
  display: block;
  padding: 6px 0; }

div.wpcf7-response-output {
  padding: 15px;
  margin: 0;
  font-size: 16px;
  font-size: 1rem;
  border-width: 1px; }

div.wpcf7-validation-errors {
  border-color: #ebccd1;
  background-color: #f2dede;
  color: #bd0000; }

div.wpcf7-mail-sent-ok {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: #d6e9c6; }

.form-block p:empty {
  display: none; }

div.wpcf7 .ajax-loader {
  margin-top: -16px; }

/*
----------------------------------------------------------------------------------------- BUTTONS

------------------------------------------------------------------------------------------------
*/
.btn {
  border: none;
  background-color: transparent;
  font-family: inherit;
  font-weight: 700;
  font-size: 14px;
  font-size: 0.875rem;
  /* margin: 0 10px 10px 0; */
  padding: 0;
  cursor: pointer;
  /**/
  border-radius: 99em;
  /**/
  display: inline-flex;
  align-items: center;
  justify-content: center;
  /**/
  background-color: #f7f7f7;
  border: 2px solid #f7f7f7;
  color: #261c1a;
  /**/
  text-align: center;
  line-height: 1.1;
  padding: 12px 20px 10px 20px;
  margin: 0 0 16px 0;
  min-width: 10ch;
  min-height: 36px;
  /**/
  outline: none;
  transition: background-color .15s linear, border-color .15s linear, box-shadow .15s ease-in-out;
  /**/
  position: relative;
  text-decoration: none;
  text-transform: uppercase; }
  @media screen and (min-width: 30em) {
    .btn {
      font-size: 15px;
      font-size: 0.9375rem; } }
  @media screen and (min-width: 45em) {
    .btn {
      font-size: 16px;
      font-size: 1rem; } }
  @media screen and (min-width: 58em) {
    .btn {
      font-size: 18px;
      font-size: 1.125rem; } }
  @media screen and (min-width: 45em) {
    .btn {
      padding: 16px 24px 12px 24px;
      margin-bottom: 20px; } }
  @media screen and (min-width: 58em) {
    .btn {
      padding: 22px 28px 18px 28px;
      min-width: 180px; } }

.btn.btn-primary {
  background-color: #f08536;
  border-color: #f08536;
  color: #fff; }

.btn.btn-primary:hover {
  background-color: #df7629;
  border-color: #df7629; }

.btn.btn-secondary {
  background-color: transparent;
  border-color: #455359;
  color: #455359; }

.btn.btn-secondary.btn-inv {
  background-color: transparent;
  border-color: #fff;
  color: #fff; }

.btn-container .btn {
  text-align: center;
  margin-left: 6px;
  margin-right: 6px; }

/*
----------------------------------------------------------------------------------------- HEADER

------------------------------------------------------------------------------------------------
*/
.header {
  background-color: #455359;
  color: #fff; }

.header-inner {
  position: relative;
  z-index: 2001; }

.header-banner {
  background-color: #455359;
  color: #fff;
  position: relative;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: 50% 100%;
  background-size: 140% auto; }
  @media screen and (min-width: 45em) {
    .header-banner {
      background-size: 130% auto;
      min-height: 400px; } }
  @media screen and (min-width: 58em) {
    .header-banner {
      min-height: 420px; } }
  @media screen and (min-width: 80em) {
    .header-banner {
      background-size: 110% auto;
      min-height: 490px; } }
  @media screen and (min-width: 1700px) {
    .header-banner {
      background-size: 1870px auto; } }

.header-banner h1,
.header-banner h2 {
  color: #fff; }

.header-banner p,
.header-banner h1,
.header-banner h2 {
  text-shadow: 1px 1px 2px #455359; }

.header-banner .h-hero span {
  position: relative;
  text-shadow: none;
  display: inline-block;
  padding-left: 2px;
  padding-right: 2px; }
  @media screen and (min-width: 45em) {
    .header-banner .h-hero span {
      padding-left: 6px;
      padding-right: 6px; } }

.header-banner .h-hero span::before {
  content: '';
  position: absolute;
  top: 0;
  right: -2px;
  bottom: -2px;
  left: -2px;
  background-color: #f08536;
  z-index: -1; }
  @media screen and (min-width: 45em) {
    .header-banner .h-hero span::before {
      right: -4px;
      bottom: -4px;
      left: -4px; } }

.header-banner-content {
  padding: 40px 0 30px 0;
  text-align: center;
  position: relative;
  z-index: 10; }
  @media screen and (min-width: 45em) {
    .header-banner-content {
      padding: 70px 0 50px 0; } }

@media screen and (min-width: 45em) {
  .home .header-banner .header-banner-content,
  .header-banner.header-banner-tall .header-banner-content,
  .header-banner.header-banner-home .header-banner-content {
    padding-top: 90px;
    padding-bottom: 100px; } }

@media screen and (min-width: 45em) {
  .home .header-banner .h-hero,
  .header-banner.header-banner-tall .h-hero,
  .header-banner.header-banner-home .h-hero {
    margin-bottom: 40px; } }

@media screen and (min-width: 45em) {
  .home .header-banner .btn-container,
  .header-banner.header-banner-tall .btn-container,
  .header-banner.header-banner-home .btn-container {
    padding-top: 30px; } }

.header-banner .btn-container {
  padding-top: 10px; }

/* HEADER BANNER IMAGES */
.header-banner.header-banner-home {
  background-image: url("../img/header-home.png"); }

.header-banner.header-banner-about {
  background-image: url("../img/header-about.png"); }

.header-banner.header-banner-sectors {
  background-image: url("../img/header-sectors.png"); }

.header-banner.header-banner-transport-infrastructure {
  background-image: url("../img/header-transport-infrastructure.png"); }

.header-banner.header-banner-social-infrastructure {
  background-image: url("../img/header-social-infrastructure.png"); }

.header-banner.header-banner-energy {
  background-image: url("../img/header-energy.png"); }

.header-banner.header-banner-telecom {
  background-image: url("../img/header-telecom.png"); }

.header-banner.header-banner-esg {
  background-image: url("../img/header-esg.png"); }

.header-banner.header-banner-services {
  background-image: url("../img/header-services.png"); }

.header-banner.header-banner-case-studies {
  background-image: url("../img/header-search.png"); }

.header-banner.header-banner-selection {
  background-image: url("../img/header-selection.png"); }

.header-banner.header-banner-case-studies {
  background-image: url("../img/header-case-studies.png"); }

.header-banner.header-banner-contact {
  background-image: url("../img/header-contact.png"); }

/* ELEMENTS */
/*
.banner-img-main {
    width:100%;
    max-width:360px;
    position: absolute;
    bottom:0;
    right:80px;
    transform: translate(0, 30%);
    border-radius: 50%;
    overflow: hidden;
    z-index: 1;
}

.banner-img-main img {
    display: block;
}

.banner-element-circle-green {
    width:400px;
    height:400px;
    background-color: $green;
    border-radius: 50%;
    position: absolute;
    bottom:0;
    left:0;
    transform: translate(-40%, 50%);
    z-index: 2;
}

.banner-element-circle-pale-green {
    width:130px;
    height:130px;
    background-color: $pale-green;
    border-radius: 50%;
    position: absolute;
    bottom:160px;
    right:80px;
    z-index: 2;
}



.banner-element-dots-vert {
    width:32px;
    position: absolute;
    bottom:30px;
    left:110px;
    z-index: 4;
}

.banner-element-dots-horiz {
    width:124px;
    position: absolute;
    bottom:30px;
    right:100px;
    z-index: 4;
}

.banner-element-dots-vert img,
.banner-element-dots-horiz img {
    display: block;
    width:100%;
    height:auto;
    margin:0;
}
*/
/* HAMBURGER / CROSS */
.menu-btn {
  padding: 12px 15px 7px 15px;
  height: 44px;
  display: inline-block;
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
  outline: none; }

.menu-btn-box {
  width: 25px;
  height: 20px;
  display: inline-block;
  position: relative; }

.menu-btn-inner {
  display: block;
  top: 50%;
  margin-top: -2px; }

.menu-btn-inner,
.menu-btn-inner::before,
.menu-btn-inner::after {
  width: 25px;
  height: 4px;
  background-color: #fff;
  border-radius: 0;
  position: absolute; }

.menu-btn:hover .menu-btn-inner,
.menu-btn:hover .menu-btn-inner::before,
.menu-btn:hover .menu-btn-inner::after,
.nav-open .menu-btn .menu-btn-inner,
.nav-open .menu-btn .menu-btn-inner::before,
.nav-open .menu-btn .menu-btn-inner::after {
  background-color: #f08536; }

.menu-btn-inner::before, .menu-btn-inner::after {
  content: "";
  display: block; }

.menu-btn-inner::before {
  top: -8px; }

.menu-btn-inner::after {
  bottom: -8px; }

/* ANIMATION */
/* STATE CHANGE */
.nav-open .menu-btn .menu-btn-inner {
  transform: rotate(45deg); }

.nav-open .menu-btn .menu-btn-inner::before {
  top: 0;
  opacity: 0; }

.nav-open .menu-btn .menu-btn-inner::after {
  bottom: 0;
  transform: rotate(-90deg); }

/*
------------------------------------------------------------------------- SITE HEADER NAVIGATION

------------------------------------------------------------------------------------------------
*/
/* NAVIGATION WITHOUT JS */
.nav-container {
  clear: both;
  position: relative;
  background-color: #323c40; }

.nav-container-inner {
  padding: 14px 0 0 0; }
  @media screen and (min-width: 58em) {
    .nav-container-inner {
      padding: 14px 0; } }

.primary-nav-container {
  clear: both;
  background-color: #bfd9c3; }

.menu-btn {
  display: none;
  float: right; }

.nav-container .logo {
  display: block;
  max-width: 130px;
  flex: 1;
  margin: 0 20px 12px 10px;
  float: left; }
  @media screen and (min-width: 58em) {
    .nav-container .logo {
      max-width: 190px;
      margin-bottom: 0; } }

.nav-container .logo img {
  display: block;
  margin: 0;
  transform: translateY(-4px); }

.nav-container ul {
  margin: 0;
  padding: 0;
  list-style: none; }

.primary-nav {
  margin: 6px 0; }

.primary-nav li {
  padding: 0; }

.primary-nav a {
  color: #455359;
  text-decoration: none;
  text-transform: uppercase;
  font-weight: 700;
  padding: 10px 15px;
  display: block;
  position: relative;
  transition: background-color 0.1s linear, color 0.1s linear; }

.primary-nav a:hover,
.primary-nav a:focus {
  color: #f08536;
  background-color: #edf7ed; }

.primary-nav ul li a {
  padding-left: 30px; }

/*
------------------------------------------------------------------------------------- DESKTOP NAV

------------------------------------------------------------------------------------------------
*/
@media screen and (min-width: 58em) {
  .menu-btn {
    display: none; }
  .nav-container-inner {
    max-width: 80rem;
    margin: 0 auto;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center; }
  .primary-nav-container {
    padding: 0 20px;
    max-height: none !important;
    background: transparent; }
  .primary-nav-container ul {
    font-size: 15px;
    font-size: 0.9375rem; } }
  @media screen and (min-width: 58em) and (min-width: 65em) {
    .primary-nav-container ul {
      font-size: 17px;
      font-size: 1.0625rem; } }

@media screen and (min-width: 58em) {
  .primary-nav {
    display: flex; }
  .primary-nav > li {
    position: relative;
    overflow: visible; }
  .primary-nav a {
    padding: 15px 16px 13px 16px;
    display: block;
    background: transparent;
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; } }
  @media screen and (min-width: 58em) and (min-width: 65em) {
    .primary-nav a {
      padding: 17px 18px 15px 18px;
      vertical-align: middle; } }
  @media screen and (min-width: 58em) and (min-width: 1120px) {
    .primary-nav a {
      padding-left: 20px;
      padding-right: 20px; } }

@media screen and (min-width: 58em) {
  .primary-nav a:hover,
  .primary-nav a:focus,
  .primary-nav > li.current-menu-item > a {
    color: #f08536;
    background: transparent; }
  /* CONTACT NAV */
  .primary-nav li.contact {
    margin-left: 10px; }
  .primary-nav li.contact a {
    background-color: #f08536;
    border-radius: 99em;
    padding-left: 26px;
    padding-right: 26px; }
  .primary-nav li.contact a:hover,
  .primary-nav li.contact a:focus,
  .primary-nav > li.current-menu-item.contact > a {
    color: #455359; }
  /* CHILD NAV CHEVRONS */
  /*
    .primary-nav li.menu-item-has-children > a > span {
        position: relative;
        padding-right: 19px;
    }

    

    $chevron-down-white: svg-chevron-down($white);
    $chevron-down-primary: svg-chevron-down($primary);
    $chevron-down-pale-primary: svg-chevron-down(red);

    .primary-nav li.menu-item-has-children > a > span::after,
    .primary-nav li.menu-item-has-children > a > span::before {
        content: '';
        display: block;
        width: 11px;
        height: 7px;
        //
        position: absolute;
        top:50%;
        margin-top: -3px;
        right:0;
    }

    .primary-nav li.menu-item-has-children > a > span::before {
        background: url(svg-encode($chevron-down-white)) 0 0 no-repeat;
    }

    .primary-nav li.menu-item-has-children.current-menu-item > a > span::before {
        background-image: url(svg-encode($chevron-down-pale-primary));
    }

    .primary-nav li.menu-item-has-children > a > span::after {
        background: url(svg-encode($chevron-down-primary)) 0 0 no-repeat;
        display: none;
    }

    .primary-nav li.menu-item-has-children > a:hover > span::before,
    .primary-nav li.menu-item-has-children > a:focus > span::before,
    .primary-nav li.menu-item-has-children:hover > a > span::before {
        display: none;
    }

    .primary-nav li.menu-item-has-children > a:hover > span::after,
    .primary-nav li.menu-item-has-children > a:focus > span::after,
    .primary-nav li.menu-item-has-children:hover > a > span::after {
        display: block;
    }

    

    .primary-nav li.menu-item-has-children.current-menu-item > a > span::after,
    .primary-nav li.menu-item-has-children.current-page-parent > a > span::after  {
        background-image: url(svg-encode($chevron-down-pale-primary));
    }

    .primary-nav li.menu-item-has-children > a:hover > span::after,
    .primary-nav li.menu-item-has-children > a:focus > span::after,
    .primary-nav li.menu-item-has-children:hover > a > span::after {
        background-image: url(svg-encode($chevron-down-primary));
    }


*/
  /* CHILD NAV UL */
  .primary-nav ul {
    display: none;
    position: absolute;
    left: 50%;
    top: 100%;
    width: 260px;
    margin-left: -130px;
    overflow: hidden;
    height: auto;
    background: transparent;
    padding-top: 20px; }
  .primary-nav ul::before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 12px 20px 12px;
    border-color: transparent transparent #bfd9c3 transparent;
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -12px; }
  .primary-nav ul > li {
    background: #bfd9c3;
    overflow: hidden;
    height: auto; }
  .primary-nav ul li a {
    color: #455359;
    padding-left: 30px;
    padding-right: 30px;
    text-transform: none;
    position: relative; }
  .primary-nav ul li a::after {
    content: '';
    position: absolute;
    right: 30px;
    bottom: 0;
    left: 30px;
    height: 1px;
    background-color: #fff; }
  .primary-nav ul li:last-child a::after {
    display: none; }
  .primary-nav ul li.current-menu-item > a {
    color: #f08536; }
  .primary-nav ul li > a > span {
    position: relative;
    padding-left: 20px; }
  .primary-nav ul li > a > span::after {
    content: '';
    display: block;
    width: 9px;
    height: 15px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9px' height='15px'%3E\a         %3Cg%3E\a             %3Cpath fill='%23455359' d='M9 7.5c0-.3-.1-.7-.4-.9L2.2.4C1.7-.1.9-.1.4.4s-.5 1.3 0 1.8l5.4 5.3-5.4 5.3c-.5.5-.5 1.3 0 1.8s1.3.5 1.9 0l6.3-6.2c.3-.2.4-.6.4-.9z'/%3E\a         %3C/g%3E\a     %3C/svg%3E") 0 0 no-repeat;
    position: absolute;
    top: 50%;
    margin-top: -8px;
    left: 0; }
  /* SHOW CHILD NAV */
  .primary-nav li.menu-item-has-children:hover > a {
    color: #f08536; }
  .primary-nav li.menu-item-has-children:focus-within > a {
    color: #f08536; }
  .primary-nav > li.show-child > ul,
  .primary-nav > li:hover > ul {
    display: block; }
  .primary-nav > li:focus-within > ul {
    display: block; }
  /* HIDE MOBILE BACK BUTTON */
  .primary-nav .li-sub-back {
    display: none; } }

/*
----------------------------------------------------------------------  MOBILE NAVIGATION WITH JS

------------------------------------------------------------------------------------------------
*/
@media screen and (max-width: 57.99em) {
  .js .menu-btn {
    display: block; }
  .js .primary-nav-container {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.25s ease-out, height 0.25s ease-out; }
  /* MULTI LEVEL NAVIGATION WITH JS */
  .js {
    /*
        .primary-nav li.menu-item-has-children.current-menu-item > a > span::after {
            background: url(svg-encode($chevron-right-small-white)) 0 0 no-repeat;
        }
        */ }
    .js .primary-nav {
      position: relative;
      transition: transform 0.3s ease-out;
      backface-visibility: hidden;
      transform: translateZ(0);
      -webkit-font-smoothing: subpixel-antialiased; }
    .js .primary-nav-container.menu-pos-0 .primary-nav {
      transform: translateX(0); }
    .js .primary-nav-container.menu-pos-1 .primary-nav {
      transform: translateX(-100%); }
    .js .primary-nav ul {
      display: none;
      position: absolute;
      width: 100%;
      top: 0;
      left: 100%; }
    .js .primary-nav li.show-child > ul {
      display: block; }
    .js .primary-nav ul li a {
      padding-left: 15px; }
    .js .primary-nav li.menu-item-has-children > a > span {
      width: 100%;
      display: block;
      position: relative; }
    .js .primary-nav li.menu-item-has-children > a > span::after {
      content: '';
      display: block;
      width: 9px;
      height: 15px;
      background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9px' height='15px'%3E\a         %3Cg%3E\a             %3Cpath fill='%23455359' d='M9 7.5c0-.3-.1-.7-.4-.9L2.2.4C1.7-.1.9-.1.4.4s-.5 1.3 0 1.8l5.4 5.3-5.4 5.3c-.5.5-.5 1.3 0 1.8s1.3.5 1.9 0l6.3-6.2c.3-.2.4-.6.4-.9z'/%3E\a         %3C/g%3E\a     %3C/svg%3E") 0 0 no-repeat;
      position: absolute;
      top: 50%;
      margin-top: -8px;
      right: 0; }
    .js .primary-nav .icon-sub-back > span {
      position: relative;
      padding-left: 20px; }
    .js .primary-nav .icon-sub-back > span::before {
      content: '';
      display: block;
      width: 9px;
      height: 15px;
      background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9px' height='15px'%3E\a         %3Cg%3E\a             %3Cpath fill='%23455359' d='m.4 8.4 6.3 6.2c.5.5 1.3.5 1.9 0 .5-.5.5-1.3 0-1.8L3.2 7.5l5.4-5.3c.5-.5.5-1.3 0-1.8S7.3-.1 6.8.4L.4 6.6c-.3.2-.4.6-.4.9 0 .3.1.7.4.9z'/%3E\a         %3C/g%3E\a     %3C/svg%3E") 0 0 no-repeat;
      position: absolute;
      top: 50%;
      margin-top: -8px;
      left: 0; } }

/*
.primary-nav {
    list-style: none;
    margin:0;
    padding:0;
    display: flex;
    align-items: center;
}

.primary-nav a:not(.btn) {
    text-transform: uppercase;
    color:$white;
    display: block;
    padding:4px 15px;
    text-decoration: none;
    font-weight:$font-bold;
}

.primary-nav a:not(.btn):hover,
.primary-nav a.active:not(.btn) {
    color:$orange;
}

.primary-nav a.btn {
    margin-left:10px;
}

.nav-container-inner {
    padding:20px 0 0 0;
    display:flex;
    justify-content: space-between;
    align-items: center;
}


*/
/*
----------------------------------------------------------------------------------------- FOOTER

------------------------------------------------------------------------------------------------
*/
.footer {
  background-color: #1f2426;
  color: #fff;
  padding: 40px 0 80px 0; }

.footer a {
  color: #fff;
  text-decoration: none; }

.footer a:hover {
  text-decoration: underline; }

/* FOOTER MAIN */
.footer-main {
  margin-bottom: 30px;
  display: flex;
  justify-content: space-between;
  align-items: center; }

.footer-main-content p {
  margin-bottom: 0; }

.footer-main-social {
  display: flex; }

.footer-social-link {
  display: block;
  width: 26px;
  margin-right: 10px; }
  @media screen and (min-width: 45em) {
    .footer-social-link {
      width: 36px; } }

.footer-main-social .footer-social-link:last-child {
  margin-right: 0; }

.footer-social-link svg {
  width: 100%;
  height: auto;
  display: block;
  fill: #fff; }

.footer-social-link span {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
  white-space: nowrap !important; }

.footer-copyright {
  font-weight: 700;
  font-size: 13px;
  font-size: 0.8125rem; }
  @media screen and (min-width: 30em) {
    .footer-copyright {
      font-size: 15px;
      font-size: 0.9375rem; } }
  @media screen and (min-width: 45em) {
    .footer-copyright {
      font-size: 16px;
      font-size: 1rem; } }
  @media screen and (min-width: 58em) {
    .footer-copyright {
      font-size: 18px;
      font-size: 1.125rem; } }

/* FOOTER SUB */
.footer-sub {
  border-top: 1px solid #fff;
  padding-top: 30px; }

.footer-nav {
  list-style: none;
  margin: 0;
  padding: 0; }

@media screen and (min-width: 45em) {
  .footer-sub {
    display: flex;
    justify-content: space-between; }
  .footer-address-wrapper {
    display: flex; }
  .footer-address-wrapper .footer-address:first-child {
    margin-right: 80px; }
  .footer-nav-wrapper {
    display: flex; }
  .footer-nav-wrapper .footer-nav {
    margin-right: 140px; } }

/*
-------------------------------------------------------------------------------------- BLOCKQUOTE

------------------------------------------------------------------------------------------------
*/
.blockquote-container {
  max-width: 520px;
  position: relative; }

.blockquote-content-inner {
  padding: 60px 20px; }

.blockquote-content-inner::before {
  content: '';
  background-color: #bfd9c3;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: 20px; }

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

.blockquote footer {
  padding-top: 16px; }

.blockquote footer p {
  margin: 0; }

/* SWITCH TO CIRCLE */
@media screen and (min-width: 45em) {
  .blockquote-content {
    width: 100%;
    padding-top: 100%;
    position: relative; }
  .blockquote-content-inner {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 60px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center; }
  .blockquote-content-inner::before {
    border-radius: 50%; }
  .col-6 .blockquote-content {
    padding-top: 0; }
  .col-6 .blockquote-content-inner {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    padding: 60px 20px;
    text-align: left;
    display: block; }
  .col-6 .blockquote-content-inner::before {
    border-radius: 20px; } }

/* SWITCH TO CIRCLE INSIDE COL */
@media screen and (min-width: 58em) {
  .col-6 .blockquote-content {
    padding-top: 100%; }
  .col-6 .blockquote-content-inner {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 60px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center; }
  .col-6 .blockquote-content-inner::before {
    border-radius: 50%; } }

/* ELEMENTS */
.blockquote-author-img {
  width: 60px;
  position: absolute;
  bottom: -10px;
  left: -10px;
  border-radius: 50%;
  overflow: hidden; }

.blockquote-author-img img {
  display: block;
  margin: 0; }

.blockquote-quote {
  width: 60px;
  position: absolute; }

.blockquote-quote svg {
  display: block;
  margin: 0; }

.blockquote-quote.blockquote-quote-left {
  top: -10px;
  left: -10px; }

.blockquote-quote.blockquote-quote-right {
  bottom: -10px;
  right: -10px; }

.blockquote-container.blockquote-hide-quotes .blockquote-quote,
.blockquote-container.blockquote-hide-quotes footer {
  display: none; }

/* CIRCLE ELEMENTS */
@media screen and (min-width: 45em) {
  .blockquote-author-img {
    width: 144px;
    bottom: 0;
    left: 0; }
  .blockquote-quote {
    width: 100px; }
  .blockquote-quote.blockquote-quote-left {
    top: 0;
    left: 0; }
  .blockquote-quote.blockquote-quote-right {
    bottom: 0;
    right: 0; }
  .col-6 .blockquote-author-img {
    width: 60px;
    bottom: -10px;
    left: -10px; }
  .col-6 .blockquote-quote {
    width: 60px; }
  .col-6 .blockquote-quote.blockquote-quote-left {
    top: -10px;
    left: -10px; }
  .col-6 .blockquote-quote.blockquote-quote-right {
    bottom: -10px;
    right: -10px; } }

/* CIRCLE ELEMENTS IN GRID */
@media screen and (min-width: 58em) {
  .col-6 .blockquote-author-img {
    width: 100px;
    bottom: 0;
    left: 0; }
  .col-6 .blockquote-quote {
    width: 80px; }
  .col-6 .blockquote-quote.blockquote-quote-left {
    top: -10px;
    left: 0; }
  .col-6 .blockquote-quote.blockquote-quote-right {
    bottom: 0;
    right: -10px; } }

@media screen and (min-width: 60em) {
  .col-6 .blockquote-quote {
    width: 90px; }
  .col-6 .blockquote-quote.blockquote-quote-left {
    left: 0; }
  .col-6 .blockquote-quote.blockquote-quote-right {
    right: 0; } }

@media screen and (min-width: 65em) {
  .col-6 .blockquote-author-img {
    width: 144px;
    bottom: -20px; }
  .col-6 .blockquote-quote {
    width: 100px; } }

@media screen and (min-width: 80em) {
  .col-6 .blockquote-author-img {
    width: 160px;
    bottom: -40px; }
  .col-6 .blockquote-quote {
    width: 116px; } }

/* INVERT */
.blockquote-container.blockquote-container-inv {
  color: #fff; }

.blockquote-container.blockquote-container-inv .blockquote-content-inner::before {
  background-color: #455359; }

/*
---------------------------------------------------------------------------------------- FEATURE

------------------------------------------------------------------------------------------------
*/
.feature {
  position: relative;
  height: 100%;
  padding-bottom: 40px; }
  @media screen and (min-width: 58em) {
    .feature {
      padding-bottom: 0; } }

.feature-content {
  max-width: 520px; }

.feature-bubble {
  position: absolute;
  right: 0;
  border-radius: 50%;
  overflow: hidden;
  z-index: 2;
  width: 100px;
  bottom: 40px; }
  @media screen and (min-width: 45em) {
    .feature-bubble {
      width: 160px;
      bottom: -80px;
      transform: translate(0, 30%); } }
  @media screen and (min-width: 58em) {
    .feature-bubble {
      width: 200px;
      bottom: -140px; } }
  @media screen and (min-width: 80em) {
    .feature-bubble {
      width: 250px; } }

.feature-bubble img {
  display: block;
  margin: 0; }

.feature-dots-vert {
  width: 16px;
  position: absolute;
  bottom: 40px;
  right: 20px;
  z-index: 3;
  transform: translate(0, -30%); }
  @media screen and (min-width: 45em) {
    .feature-dots-vert {
      width: 32px;
      bottom: -80px; } }
  @media screen and (min-width: 58em) {
    .feature-dots-vert {
      width: 38px;
      bottom: -140px; } }

.banner-element-dots-vert img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0; }

/*
---------------------------------------------------------------------------------- SPLIT FEATURE

------------------------------------------------------------------------------------------------
*/
@media screen and (min-width: 45em) {
  .feature-split-row {
    display: flex; } }

.feature-split-item-header {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
  min-height: 200px;
  padding: 20px 16px; }
  @media screen and (min-width: 45em) {
    .feature-split-item-header {
      padding: 30px;
      min-height: 400px; } }

.feature-split-item-header-bg {
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }

@media screen and (min-width: 1312px) {
  .feature-split-row .feature-split-item:first-child .feature-split-item-header-bg {
    left: calc(-100vw / 2 + 1312px / 2); } }

@media screen and (min-width: 1312px) {
  .feature-split-row .feature-split-item:last-child .feature-split-item-header-bg {
    right: calc(-100vw / 2 + 1312px / 2); } }

.feature-split-item-header h2 {
  color: #fff;
  margin: 0; }

.feature-split-item-content {
  padding: 20px 16px; }
  @media screen and (min-width: 45em) {
    .feature-split-item-content {
      padding: 30px; } }

.feature-split-item-link {
  display: block;
  color: #261c1a;
  text-decoration: none;
  text-transform: uppercase; }
  @media screen and (min-width: 45em) {
    .feature-split-item-link {
      font-size: 14px;
      font-size: 0.875rem; } }

.feature-split-item-link::after {
  content: ' »'; }

/*
------------------------------------------------------------------------------------ FEATURE LIST

------------------------------------------------------------------------------------------------
*/
@media screen and (min-width: 58em) {
  .section-feature-list,
  .section-feature-list-inv {
    padding: 80px 0 130px 0; } }

.feature-list {
  list-style: none;
  margin: 0 0 40px 0;
  padding: 0;
  font-size: 13px;
  font-size: 0.8125rem; }
  @media screen and (min-width: 30em) {
    .feature-list {
      font-size: 15px;
      font-size: 0.9375rem; } }
  @media screen and (min-width: 45em) {
    .feature-list {
      margin-bottom: 0;
      font-size: 16px;
      font-size: 1rem; } }
  @media screen and (min-width: 58em) {
    .feature-list {
      font-size: 18px;
      font-size: 1.125rem; } }
  @media screen and (min-width: 65em) {
    .feature-list {
      font-size: 22px;
      font-size: 1.375rem;
      line-height: 1.7; } }

.feature-list li {
  position: relative;
  margin-bottom: 20px;
  padding-left: 24px; }
  @media screen and (min-width: 45em) {
    .feature-list li {
      padding-left: 40px; } }

.feature-list li:last-child {
  margin-bottom: 0; }

.feature-list li::before {
  content: '';
  position: absolute;
  width: 11px;
  height: 18px;
  top: 8px;
  left: 0;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22px' height='36px'%3E\a         %3Cg%3E\a             %3Cpath fill='%23fff' d='M22 18c0-.8-.3-1.6-.9-2.2L5.5.9C4.3-.3 2.2-.3 1 .9S-.3 4.1 1 5.3L14.2 18 .9 30.7c-1.3 1.2-1.3 3.2 0 4.4s3.3 1.2 4.6 0L21 20.2c.7-.6 1-1.4 1-2.2z'/%3E\a         %3C/g%3E\a     %3C/svg%3E");
  background-size: contain; }
  @media screen and (min-width: 45em) {
    .feature-list li::before {
      width: 22px;
      height: 36px;
      top: 10px; } }

.section-feature-list-inv .feature-list li::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22px' height='36px'%3E\a         %3Cg%3E\a             %3Cpath fill='%23455359' d='M22 18c0-.8-.3-1.6-.9-2.2L5.5.9C4.3-.3 2.2-.3 1 .9S-.3 4.1 1 5.3L14.2 18 .9 30.7c-1.3 1.2-1.3 3.2 0 4.4s3.3 1.2 4.6 0L21 20.2c.7-.6 1-1.4 1-2.2z'/%3E\a         %3C/g%3E\a     %3C/svg%3E"); }

@media screen and (min-width: 45em) {
  .feature-list {
    display: flex;
    margin: 0 -20px;
    padding-top: 22px; }
  .feature-list li {
    flex: 1;
    flex-basis: 33.333%;
    margin: 0 20px; } }

/* BACKGROUND IMAGES */
.section-feature-list .row {
  position: relative; }

.section-feature-list .row::before {
  content: '';
  background: url("../img/section-feature-list-bg-left.png");
  background-size: contain;
  position: absolute;
  left: 0;
  width: 130px;
  height: 130px;
  transform: translateX(-20%); }
  @media screen and (min-width: 58em) {
    .section-feature-list .row::before {
      width: 260px;
      height: 260px;
      transform: translateX(-80%); } }

.section-feature-list .row::after {
  content: '';
  background: url("../img/section-feature-list-bg-right.png");
  background-size: contain;
  position: absolute;
  right: 0;
  width: 90px;
  height: 90px;
  transform: translateX(20%); }
  @media screen and (min-width: 58em) {
    .section-feature-list .row::after {
      width: 180px;
      height: 180px;
      transform: translateX(80%); } }

.section-feature-list .row::before,
.section-feature-list .row::after {
  bottom: -100px; }
  @media screen and (min-width: 45em) {
    .section-feature-list .row::before,
    .section-feature-list .row::after {
      bottom: -80px; } }
  @media screen and (min-width: 58em) {
    .section-feature-list .row::before,
    .section-feature-list .row::after {
      bottom: -130px; } }

/*
---------------------------------------------------------------------------------------- SUMMARY

------------------------------------------------------------------------------------------------
*/
.summary-item {
  margin: 0 auto 40px auto;
  max-width: 620px;
  display: block;
  text-decoration: none; }
  @media screen and (min-width: 45em) {
    .summary-item {
      width: 100%;
      /*display: flex;*/ } }

a.summary-item:hover .summary-link,
.summary-link:hover {
  color: #f08536;
  text-decoration: underline; }

.summary-item-inner {
  background-color: #455359;
  color: #fff;
  position: relative;
  border-radius: 4px;
  overflow: hidden; }
  @media screen and (min-width: 45em) {
    .summary-item-inner {
      width: 100%;
      display: flex;
      flex-direction: column;
      height: 100%; } }

.summary-content-wrapper {
  flex: 1; }

.grid-row .col-6:last-child .summary-item {
  margin-bottom: 0; }

@media screen and (min-width: 58em) {
  .grid-row.grid-row-desktop .summary-item {
    margin-bottom: 0; } }

.summary-item-inner h2 {
  color: #fff; }

.summary-content {
  min-height: 140px;
  padding: 14px 20px 66px 20px; }
  @media screen and (min-width: 45em) {
    .summary-content {
      padding-top: 26px;
      padding-left: 30px;
      padding-right: 30px; } }
  @media screen and (min-width: 58em) {
    .summary-content {
      min-height: 300px; } }

.summary-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  padding: 20px;
  min-height: 100px;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover; }
  @media screen and (min-width: 45em) {
    .summary-header {
      padding: 30px;
      min-height: 130px; } }

.summary-header .summary-header-text {
  text-transform: uppercase;
  font-size: 18px;
  font-size: 1.125rem;
  margin: 0; }
  @media screen and (min-width: 45em) {
    .summary-header .summary-header-text {
      font-size: 17px;
      font-size: 1.0625rem; } }
  @media screen and (min-width: 58em) {
    .summary-header .summary-header-text {
      font-size: 14px;
      font-size: 0.875rem;
      line-height: 1.5; } }

.summary-footer {
  position: relative; }

.summary-footer::before {
  content: '';
  position: absolute;
  top: 0;
  right: 20px;
  left: 20px;
  border-top: 2px solid #fff; }

.summary-link::after {
  content: '';
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -10px;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21px' height='21px'%3E\a         %3Cg%3E\a             %3Cpath fill='%23fff' d='M21 9h-9V0H9v9H0v3h9v9h3v-9h9V9z'/%3E\a         %3C/g%3E\a     %3C/svg%3E"); }

.summary-footer p {
  margin: 0; }

.summary-link {
  color: #fff;
  text-decoration: none;
  text-transform: uppercase;
  background: transparent;
  border: 0;
  outline: none;
  cursor: pointer;
  display: block;
  width: 100%;
  padding: 16px 20px;
  font-weight: 700;
  text-align: left; }
  @media screen and (min-width: 45em) {
    .summary-link {
      padding-left: 30px;
      padding-right: 30px; } }

/* GRID */
@media screen and (min-width: 45em) {
  .summary-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    -moz-column-gap: 30px;
    column-gap: 30px; }
  .summary-grid-single-row .summary-grid .summary-item:nth-of-type(n+3),
  .summary-grid.summary-grid-single-row .summary-item:nth-of-type(n+3) {
    display: none; } }

@media screen and (min-width: 58em) {
  .summary-grid {
    grid-template-columns: 1fr 1fr 1fr; }
  .summary-grid-single-row .summary-grid .summary-item:nth-of-type(n+3),
  .summary-grid.summary-grid-single-row .summary-item:nth-of-type(n+3) {
    display: block; }
  .summary-grid-single-row .summary-grid .summary-item:nth-of-type(n+4),
  .summary-grid.summary-grid-single-row .summary-item:nth-of-type(n+4) {
    display: none; } }

@media screen and (min-width: 65em) {
  .summary-grid {
    grid-template-columns: 1fr 1fr 1fr 1fr; }
  .summary-grid-single-row .summary-grid .summary-item:nth-of-type(n+4),
  .summary-grid.summary-grid-single-row .summary-item:nth-of-type(n+4) {
    display: block; } }

/* LARGE SUMMARY ITEM */
.summary-item-large .summary-header {
  min-height: 140px; }
  @media screen and (min-width: 45em) {
    .summary-item-large .summary-header {
      min-height: 200px; } }
  @media screen and (min-width: 58em) {
    .summary-item-large .summary-header {
      min-height: 260px; } }

.summary-item-large .summary-header .summary-header-text {
  text-transform: none; }
  @media screen and (min-width: 45em) {
    .summary-item-large .summary-header .summary-header-text {
      font-size: 30px;
      font-size: 1.875rem;
      font-weight: 700; } }
  @media screen and (min-width: 58em) {
    .summary-item-large .summary-header .summary-header-text {
      font-size: 40px;
      font-size: 2.5rem;
      line-height: 1.4; } }

.summary-item-large .summary-content {
  padding-bottom: 76px; }

.summary-item-large .summary-footer::before,
.summary-item-large .summary-link::after {
  display: none; }

.summary-item-large .summary-link {
  padding-bottom: 20px; }
  @media screen and (min-width: 45em) {
    .summary-item-large .summary-link {
      font-size: 14px;
      font-size: 0.875rem; } }
  @media screen and (min-width: 58em) {
    .summary-item-large .summary-link {
      padding-bottom: 40px; } }

.summary-item-large .summary-link span::after {
  content: ' »'; }

/* DROPDOWN MOBILE */
.summary-dropdown {
  padding-top: 20px;
  position: relative;
  display: none; }

.summary-dropdown::before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 10px 17px 10px;
  border-color: transparent transparent #bfd9c3 transparent;
  position: absolute;
  top: 3px;
  left: 50%;
  margin-left: -10px; }

.summary-dropdown-inner {
  background-color: #bfd9c3;
  padding: 20px;
  position: relative; }

.summary-dropdown.summary-dropdown-show {
  display: block; }

/* DROPDOWN GRID */
@media screen and (min-width: 58em) {
  .summary-dropdown-inner {
    padding-left: 0;
    padding-right: 0; }
  .summary-dropdown-row {
    display: flex; }
  .summary-dropdown-row .summary-dropdown-main {
    flex: 1;
    min-width: calc(((100% - 90px) / 4) + 15px);
    padding: 0 15px 0 20px; }
  .summary-dropdown-content {
    padding: 0 50px 0 35px;
    border-left: 1px solid #a8beab; } }

/* DROPDOWN CLOSE BUTTON */
.summary-dropdown-close {
  width: 20px;
  height: 20px;
  background-color: transparent;
  border: 0;
  padding: 0;
  outline: none;
  cursor: pointer;
  position: absolute;
  top: 16px;
  right: 16px;
  display: block;
  overflow: hidden;
  word-wrap: normal;
  /* WORD WRAP IS IMPORTANT!! */
  white-space: nowrap;
  text-indent: 101%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20px' height='20px'%3E\a         %3Cg%3E\a             %3Cpath fill='%23455359' d='M19.9 2.9 17.1.1 10 7.2 2.9.1.1 2.9 7.2 10 .1 17.1l2.8 2.8 7.1-7.1 7.1 7.1 2.8-2.8-7.1-7.1z'/%3E\a         %3C/g%3E\a     %3C/svg%3E"); }

/* DROPDOWN TABLET */
@media screen and (min-width: 45em) {
  /* 1 OF 2 */
  .summary-grid .summary-item:nth-child(2n+1) .summary-dropdown {
    margin-right: calc(-100% - 30px); }
  .summary-grid .summary-item:nth-child(2n+1) .summary-dropdown::before {
    left: calc((100% - 30px) / 4); }
  /* 2 OF 2 */
  .summary-grid .summary-item:nth-child(2n+2) .summary-dropdown {
    margin-left: calc(-100% - 30px); }
  .summary-grid .summary-item:nth-child(2n+2) .summary-dropdown::before {
    left: calc( 100% - ((100% - 30px) / 4)); } }

/* DROPDOWN DESKTOP */
@media screen and (min-width: 58em) {
  /* RESET */
  .summary-grid .summary-item:nth-child(2n+1) .summary-dropdown,
  .summary-grid .summary-item:nth-child(2n+2) .summary-dropdown {
    margin-right: 0; }
  .summary-grid .summary-item:nth-child(2n+1) .summary-dropdown::before,
  .summary-grid .summary-item:nth-child(2n+2) .summary-dropdown::before {
    left: 0; }
  /* 1 OF 4 */
  .summary-grid .summary-item:nth-child(4n+1) .summary-dropdown {
    margin-right: calc(-300% - 90px); }
  .summary-grid .summary-item:nth-child(4n+1) .summary-dropdown::before {
    left: calc((100% - 90px) / 8); }
  /* 2 OF 4 */
  .summary-grid .summary-item:nth-child(4n+2) .summary-dropdown {
    margin-left: calc(-100% - 30px);
    margin-right: calc(-200% - 60px); }
  .summary-grid .summary-item:nth-child(4n+2) .summary-dropdown::before {
    left: calc((((100% - 90px) / 8 ) * 3) + 30px); }
  /* 3 OF 4 */
  .summary-grid .summary-item:nth-child(4n+3) .summary-dropdown {
    margin-left: calc(-200% - 60px);
    margin-right: calc(-100% - 30px); }
  .summary-grid .summary-item:nth-child(4n+3) .summary-dropdown::before {
    left: calc((((100% - 90px) / 8 ) * 5) + 60px); }
  /* 4 OF 4 */
  .summary-grid .summary-item:nth-child(4n+4) .summary-dropdown {
    margin-left: calc(-300% - 90px); }
  .summary-grid .summary-item:nth-child(4n+4) .summary-dropdown::before {
    left: calc((((100% - 90px) / 8 ) * 7) + 90px); } }

/* ARCS AND DOTS */
.summary-item.summary-item-large .summary-header::before {
  content: '';
  width: 80px;
  height: 80px;
  display: none;
  position: absolute;
  top: 0;
  right: 36px;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='122px' height='122px'%3E\a         %3Cg%3E\a             %3Cpath fill='%23f08536' d='M37.7 0H0c0 67.3 54.7 122 122 122V84.3C75.4 84.3 37.7 46.6 37.7 0'/%3E\a         %3C/g%3E\a     %3C/svg%3E");
  background-size: contain; }
  @media screen and (min-width: 45em) {
    .summary-item.summary-item-large .summary-header::before {
      width: 122px;
      height: 122px;
      display: block; } }

.summary-item.summary-item-large .summary-header::after {
  content: '';
  width: 30px;
  height: 121px;
  display: none;
  position: absolute;
  top: 60px;
  right: 60px;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39px' height='157px'%3E\a         %3Cg fill='%23bfd9c3'%3E\a             %3Ccircle cx='2.5' cy='2.5' r='2.5'/%3E\a             %3Ccircle cx='19.5' cy='2.5' r='2.5'/%3E\a             %3Ccircle cx='36.5' cy='2.5' r='2.5'/%3E\a             %3Ccircle cx='2.5' cy='21.5' r='2.5'/%3E\a             %3Ccircle cx='19.5' cy='21.5' r='2.5'/%3E\a             %3Ccircle cx='36.5' cy='21.5' r='2.5'/%3E\a             %3Ccircle cx='2.5' cy='40.5' r='2.5'/%3E\a             %3Ccircle cx='19.5' cy='40.5' r='2.5'/%3E\a             %3Ccircle cx='36.5' cy='40.5' r='2.5'/%3E\a             %3Ccircle cx='2.5' cy='59.5' r='2.5'/%3E\a             %3Ccircle cx='19.5' cy='59.5' r='2.5'/%3E\a             %3Ccircle cx='36.5' cy='59.5' r='2.5'/%3E\a             %3Ccircle cx='2.5' cy='78.5' r='2.5'/%3E\a             %3Ccircle cx='19.5' cy='78.5' r='2.5'/%3E\a             %3Ccircle cx='36.5' cy='78.5' r='2.5'/%3E\a             %3Ccircle cx='2.5' cy='97.5' r='2.5'/%3E\a             %3Ccircle cx='19.5' cy='97.5' r='2.5'/%3E\a             %3Ccircle cx='36.5' cy='97.5' r='2.5'/%3E\a             %3Ccircle cx='2.5' cy='116.5' r='2.5'/%3E\a             %3Ccircle cx='19.5' cy='116.5' r='2.5'/%3E\a             %3Ccircle cx='36.5' cy='116.5' r='2.5'/%3E\a             %3Ccircle cx='2.5' cy='135.5' r='2.5'/%3E\a             %3Ccircle cx='19.5' cy='135.5' r='2.5'/%3E\a             %3Ccircle cx='36.5' cy='135.5' r='2.5'/%3E\a             %3Ccircle cx='2.5' cy='154.5' r='2.5'/%3E\a             %3Ccircle cx='19.5' cy='154.5' r='2.5'/%3E\a             %3Ccircle cx='36.5' cy='154.5' r='2.5'/%3E\a         %3C/g%3E\a     %3C/svg%3E");
  background-size: contain; }
  @media screen and (min-width: 45em) {
    .summary-item.summary-item-large .summary-header::after {
      width: 39px;
      height: 157px;
      display: block; } }

.summary-item.summary-item-large.summary-transport-and-infrastructure .summary-header::before {
  top: 0;
  right: 36px; }

.summary-item.summary-item-large.summary-transport-and-infrastructure .summary-header::after {
  top: 60px;
  right: 60px; }

.summary-item.summary-item-large.summary-social-infrastructure-and-real-estate .summary-header::before {
  top: auto;
  bottom: -20px;
  right: 36px; }

.summary-item.summary-item-large.summary-social-infrastructure-and-real-estate .summary-header::after {
  top: auto;
  bottom: 0;
  right: 30px; }

.summary-item.summary-item-large.summary-energy-renewable-and-nuclear .summary-header::before {
  top: 0;
  right: 120px; }

.summary-item.summary-item-large.summary-energy-renewable-and-nuclear .summary-header::after {
  top: auto;
  bottom: -16px;
  right: 20px; }

.summary-item.summary-item-large.summary-environmental-social-governance .summary-header::before {
  top: 0;
  right: 40px; }

.summary-item.summary-item-large.summary-environmental-social-governance .summary-header::after {
  top: 60px;
  right: 50px; }

.summary-item.summary-item-large.summary-telecoms-and-digital-infrastructure .summary-header::before {
  top: auto;
  bottom: -20px;
  right: 0; }

.summary-item.summary-item-large.summary-telecoms-and-digital-infrastructure .summary-header::after {
  top: auto;
  bottom: 0;
  right: 30px; }

.summary-item.green-bg .summary-item-inner {
  background-color: #bfd9c3;
  color: #261c1a; }

.summary-item.green-bg .summary-link {
  color: #261c1a; }

.summary-item.green-bg .summary-footer::before {
  border-color: #261c1a; }

.summary-item.green-bg .summary-link::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21px' height='21px'%3E\a         %3Cg%3E\a             %3Cpath fill='%23261c1a' d='M21 9h-9V0H9v9H0v3h9v9h3v-9h9V9z'/%3E\a         %3C/g%3E\a     %3C/svg%3E"); }

.summary-intro {
  font-size: 13px;
  font-size: 0.8125rem; }
  @media screen and (min-width: 30em) {
    .summary-intro {
      font-size: 15px;
      font-size: 0.9375rem; } }
  @media screen and (min-width: 45em) {
    .summary-intro {
      font-size: 16px;
      font-size: 1rem; } }
  @media screen and (min-width: 58em) {
    .summary-intro {
      font-size: 22px;
      font-size: 1.375rem;
      line-height: 1.4; } }

/*
----------------------------------------------------------------------------- EXPLAINER SEQUENCE

------------------------------------------------------------------------------------------------
*/
.section-explainer {
  background-image: url("../img/bg-explainer.png");
  background-repeat: no-repeat;
  background-position: 50% 100.5%;
  background-size: 120% auto; }
  @media screen and (min-width: 1600px) {
    .section-explainer {
      background-size: 2288px auto; } }

/*
.testimonials-section {
    position: relative;
    overflow: hidden;
    
    @media screen and (min-width: $break-tablet) {//  720px/16
        background-size: 130% auto;
        min-height:400px;
    }
    @media screen and (min-width: $break-desktop) {//  720px/16
        background-size: 110% auto;
        min-height:420px;
    }
    @media screen and (min-width: $break-desktop-wider) {
        min-height:490px;
    }
    @media screen and (min-width: 1700px) {
        background-size: 1870px auto;
    }

    
    padding-bottom:120px;
    @media screen and (min-width: $break-tablet) {//  720/16
        padding-bottom:160px;
    }
    @media screen and (min-width: $break-desktop) {//  720/16
        padding-bottom:180px;
    }
    @media screen and (min-width: $break-desktop-wide) {//  720/16
        padding-bottom:220px;
    }
    @media screen and (min-width: $break-desktop-wider) {//  720/16
        padding-bottom:260px;
    }
    

}*/
.explainer-sequence-item {
  background-color: #455359;
  color: #fff;
  position: relative;
  margin: 0 auto 20px auto;
  max-width: 300px; }

.explainer-sequence-item h2 {
  line-height: 1;
  color: #fff;
  margin: 0; }

.explainer-sequence-item-content {
  padding: 20px;
  text-align: center; }

.explainer-sequence-item-header {
  padding: 20px;
  width: 100%;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-end; }

.explainer-sequence-item-header::after {
  content: '';
  position: absolute;
  right: 20px;
  bottom: 0;
  left: 20px;
  height: 2px;
  background-color: #fff; }

.explainer-sequence-item-prefix {
  font-weight: 700;
  line-height: 1;
  opacity: 0.3;
  font-size: 60px;
  font-size: 3.75rem;
  transform: translate(0, 8px); }

/* GRID */
@media screen and (min-width: 45em) {
  .explainer-sequence-grid {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    justify-content: space-between; }
  .explainer-sequence-grid .explainer-sequence-item {
    margin: 0 0 20px 0;
    flex: 1;
    flex-basis: calc(150px + ((100% - 330px) / 12 * 6));
    max-width: calc(150px + ((100% - 330px) / 12 * 6)); } }

@media screen and (min-width: 45em) {
  .explainer-sequence-item-prefix {
    font-size: 80px;
    font-size: 5rem;
    transform: translate(0, 10px); } }

@media screen and (min-width: 58em) {
  .explainer-sequence-grid .explainer-sequence-item {
    flex-basis: calc(60px + ((100% - 330px) / 12 * 3));
    max-width: calc(60px + ((100% - 330px) / 12 * 3)); }
  .explainer-sequence-item-prefix {
    font-size: 60px;
    font-size: 3.75rem;
    transform: translate(0, 8px); }
  .explainer-sequence-item h2 {
    font-size: 18px;
    font-size: 1.125rem; } }

@media screen and (min-width: 65em) {
  .explainer-sequence-item-prefix {
    font-size: 70px;
    font-size: 4.375rem; }
  .explainer-sequence-item h2 {
    font-size: 20px;
    font-size: 1.25rem; } }

@media screen and (min-width: 80em) {
  .explainer-sequence-item-prefix {
    font-size: 80px;
    font-size: 5rem;
    transform: translate(0, 10px); }
  .explainer-sequence-item h2 {
    font-size: 24px;
    font-size: 1.5rem; } }

/*
------------------------------------------------------------------------------------ TESTIMONIAL

------------------------------------------------------------------------------------------------
*/
.testimonials-section {
  position: relative;
  overflow: hidden;
  background-image: url("../img/bg-testimonials.png");
  background-repeat: no-repeat;
  background-position: 50% 100.5%;
  background-size: 140% auto;
  padding-bottom: 120px; }
  @media screen and (min-width: 45em) {
    .testimonials-section {
      background-size: 130% auto;
      min-height: 400px; } }
  @media screen and (min-width: 58em) {
    .testimonials-section {
      background-size: 110% auto;
      min-height: 420px; } }
  @media screen and (min-width: 80em) {
    .testimonials-section {
      min-height: 490px; } }
  @media screen and (min-width: 1700px) {
    .testimonials-section {
      background-size: 1870px auto; } }
  @media screen and (min-width: 45em) {
    .testimonials-section {
      padding-bottom: 160px; } }
  @media screen and (min-width: 58em) {
    .testimonials-section {
      padding-bottom: 180px; } }
  @media screen and (min-width: 65em) {
    .testimonials-section {
      padding-bottom: 220px; } }
  @media screen and (min-width: 80em) {
    .testimonials-section {
      padding-bottom: 260px; } }

.testimonial {
  text-align: center;
  color: #455359; }

@media screen and (min-width: 45em) {
  .testimonial-text p {
    font-size: 16px;
    font-size: 1rem; } }

@media screen and (min-width: 58em) {
  .testimonial-text p {
    font-size: 26px;
    font-size: 1.625rem; } }

.testimonial-text p:first-child::before {
  content: '“'; }

.testimonial-text p:last-child::after {
  content: '”'; }

.testimonial-logo {
  display: block;
  max-width: 200px;
  margin: 0 auto; }

.testimonial footer p {
  font-weight: 700; }

.testimonial footer p span {
  font-weight: 400; }

/* GLIDE JS STYLING */
.glide__track .glide__slides {
  padding-top: 20px;
  align-items: center; }

.glide__track .glide__slide {
  margin: 0;
  padding: 0 40px; }
  @media screen and (min-width: 45em) {
    .glide__track .glide__slide {
      padding: 0 80px; } }

.testimonial-arrows {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  pointer-events: none; }

.glide.glide--carousel .testimonial-arrows {
  display: block; }

.testimonial-arrows .row {
  height: 100%;
  padding: 0; }

.testimonial-arrows .glide__arrows {
  display: flex;
  height: 100%; }

.testimonial-arrows .glide__arrows .glide__arrow--right {
  margin-left: auto; }

.testimonial-arrows .glide__arrow {
  margin: 0;
  padding: 0;
  border: 0;
  outline: none;
  color: #f08536;
  background-color: transparent;
  cursor: pointer;
  pointer-events: auto;
  width: 40px; }
  @media screen and (min-width: 45em) {
    .testimonial-arrows .glide__arrow {
      width: 54px; } }

.testimonial-arrows .glide__arrow svg {
  fill: currentColor;
  width: 20px; }
  @media screen and (min-width: 45em) {
    .testimonial-arrows .glide__arrow svg {
      width: 54px; } }

/*
--------------------------------------------------------------------------------------- CAROUSEL

------------------------------------------------------------------------------------------------
*/
.carousel {
  list-style: none;
  margin: 0;
  padding: 0; }

/*
---------------------------------------------------------------------------------------- SECTORS

------------------------------------------------------------------------------------------------
*/
/* SECTORS CARD */
.sectors-card {
  display: block;
  margin: 0 auto 20px auto;
  color: #fff;
  text-decoration: none;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
  position: relative;
  min-height: 300px;
  max-width: 360px;
  border-radius: 4px; }
  @media screen and (min-width: 45em) {
    .sectors-card {
      min-height: 370px; } }

.sectors-card:hover {
  color: #fff;
  text-decoration: none; }

.sectors-card::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #455359;
  transform: translateY(calc(100% - 70px));
  transition: transform 0.3s ease-out; }

.sectors-card:hover::before {
  transform: translateY(0); }

@media not screen and (hover: hover) {
  .sectors-card {
    color: #fff; }
  .sectors-card::before {
    transform: translateY(0); } }

.sectors-card h2 {
  color: #455359;
  transition: color 0.2s ease-out; }

.sectors-card:hover h2 {
  color: #fff; }

.sectors-card p {
  opacity: 0;
  transition: opacity 0.2s ease-out; }

.sectors-card:hover p {
  opacity: 1; }

@media (hover: none) {
  .sectors-card::before {
    transform: translateY(0); }
  .sectors-card h2 {
    color: #fff; }
  .sectors-card p {
    opacity: 1; } }

/* CARD INNER */
.sectors-card-inner {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 20px; }

.sectors-card-inner::after {
  content: '';
  position: absolute;
  right: 26px;
  bottom: 26px;
  width: 13px;
  height: 22px;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13px' height='22px'%3E\a         %3Cg%3E\a             %3Cpath fill='%23fff' d='M13 11c0-.5-.2-1-.5-1.3L3.3.5C2.6-.2 1.4-.2.6.5s-.8 2 0 2.7L8.4 11 .6 18.8c-.8.7-.8 2 0 2.7.8.7 1.9.7 2.7 0l9.1-9.1c.4-.4.6-.9.6-1.4z'/%3E\a         %3C/g%3E\a     %3C/svg%3E"); }

/* SECTION LAYOUT */
@media screen and (min-width: 45em) {
  .sectors-row {
    display: flex; } }

.sectors-intro {
  padding: 60px 30px 44px 16px; }
  @media screen and (min-width: 45em) {
    .sectors-intro {
      padding: 80px 30px 80px 16px; } }
  @media screen and (min-width: 58em) {
    .sectors-intro {
      padding: 120px 30px 120px 30px;
      min-width: 380px;
      flex-basis: 380px; } }

.sectors-cards-container {
  padding: 60px 0 50px 0;
  background-color: #bfd9c3; }
  @media screen and (min-width: 45em) {
    .sectors-cards-container {
      flex: 1;
      width: 50%;
      padding: 80px 0 80px 30px; } }
  @media screen and (min-width: 58em) {
    .sectors-cards-container {
      padding: 120px 0 120px 30px;
      width: calc(100% - 380px); } }
  @media screen and (min-width: 1312px) {
    .sectors-cards-container {
      margin-right: calc(-100vw / 2 + 1324px / 2); } }

.sectors-cards-scroll {
  padding: 0 16px; }
  @media screen and (min-width: 45em) {
    .sectors-cards-scroll {
      padding: 0;
      width: 100%;
      display: flex;
      flex-wrap: nowrap;
      page-break-inside: avoid;
      overflow-x: scroll;
      -webkit-overflow-scrolling: touch; } }

@media screen and (min-width: 45em) {
  .sectors-cards-container .sectors-card {
    max-width: 260px;
    min-width: 260px;
    margin-right: 16px; } }

/*

.sectors-intro {
    padding: 60px 30px 60px 16px;
    @media screen and (min-width: $break-tablet) {//  720/16
        padding: 80px 30px 80px 30px;
        flex-basis:50%;
    }
    @media screen and (min-width: $break-desktop) {//  720/16
        padding: 80px 30px 80px 30px;
        flex:1;
        min-width:360px;
        flex-basis:360px;
    }
}

.sectors-cards-container {
    padding: 60px 0;
    background-color: $green;

    @media screen and (min-width: $break-tablet) {//  720/16
        padding: 80px 0 80px 30px;
        flex-basis:50%;
    }

    @media screen and (min-width: $break-desktop) {//  720/16
        padding: 80px 0 80px 30px;
        flex:1;
    }
    
    @media screen and (min-width: 1312px) {
        margin-right: calc(-100vw / 2 + 1312px / 2);
    }
}

.sectors-cards-scroll {
    width:100%;
    overflow-x: auto;
}

.sectors-cards-row {
    display: flex;
}

.sectors-cards-row .sectors-card {
    max-width:260px;
    min-width:260px;
    margin-right: 16px;
}

*/
/* TEST */
/*
.scroll-test {
    width:100%;
    display: flex;
    overflow-x: scroll;
}

.scroll-test .sectors-card {
    max-width:260px;
    min-width:260px;
    margin-right: 16px;
}

<div class="sectors-cards-scroll">
                    <div class="sectors-cards-row">
*/
/*
----------------------------------------------------------------------------------- CLIENT LOGOS

------------------------------------------------------------------------------------------------
*/
.client-logos-container {
  background-color: #455359; }

.client-logos-row {
  padding: 40px 0 20px 0; }

.client-logo {
  margin: 0 auto 20px auto;
  max-width: 200px; }

.client-logo img {
  display: block;
  margin: 0; }

@media screen and (min-width: 30em) {
  .client-logos-row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -25px;
    padding: 40px 0 20px 0; }
  .client-logo {
    padding: 0 25px;
    margin: 0 0 20px 0;
    flex: 1;
    min-width: 33.3333%;
    max-width: 33.3333%; } }

@media screen and (min-width: 58em) {
  .client-logo {
    min-width: 25%;
    max-width: 25%; } }

@media screen and (min-width: 65em) {
  .client-logos-row {
    flex-wrap: nowrap; }
  .client-logo {
    min-width: 0;
    max-width: none; } }

/*
----------------------------------------------------------------------------------- CONTACT PAGE

------------------------------------------------------------------------------------------------
*/
.contact-intro .grid-row .col-6 {
  padding: 60px 0; }
  @media screen and (min-width: 45em) {
    .contact-intro .grid-row .col-6 {
      padding: 80px 0; } }
  @media screen and (min-width: 58em) {
    .contact-intro .grid-row .col-6 {
      padding: 100px 0; } }

.contact-intro .grid-row .col-6:last-child {
  position: relative;
  background-color: #f0f0f0; }
  @media screen and (min-width: 45em) {
    .contact-intro .grid-row .col-6:last-child {
      padding-left: 10px;
      padding-right: 5px; } }
  @media screen and (min-width: 58em) {
    .contact-intro .grid-row .col-6:last-child {
      padding-left: 15px; } }

.contact-intro .grid-row .col-6:last-child::before {
  content: '';
  position: absolute;
  top: 0;
  right: -15px;
  bottom: 0;
  left: -15px;
  background-color: #f0f0f0;
  z-index: -1; }
  @media screen and (min-width: 58em) {
    .contact-intro .grid-row .col-6:last-child::before {
      left: -30px;
      right: -30px; } }
  @media screen and (min-width: 1312px) {
    .contact-intro .grid-row .col-6:last-child::before {
      right: calc(-100vw / 2 + 1312px / 2); } }

@media screen and (min-width: 1312px) {
  .contact-intro .grid-row .col-6:last-child::before {
    right: calc(-100vw / 2 + 1312px / 2); } }

/*
.feature-split-row .feature-split-item:first-child .feature-split-item-header-bg {
    @media screen and (min-width: 1312px) {
        left: calc(-100vw / 2 + 1312px / 2);
    }
}*/
/* CONTACT BLOCK */
.section-contact-block {
  background-position: 50% 100%;
  background-repeat: no-repeat;
  background-size: 120% auto;
  background-image: url("../img/bg-contact.png");
  padding-bottom: 120px; }
  @media screen and (min-width: 45em) {
    .section-contact-block {
      padding-bottom: 200px; } }
  @media screen and (min-width: 58em) {
    .section-contact-block {
      padding-bottom: 250px; } }
  @media screen and (min-width: 65em) {
    .section-contact-block {
      padding-bottom: 300px; } }
  @media screen and (min-width: 80em) {
    .section-contact-block {
      background-size: auto auto; } }

/* CONTACT FORM */
/*
--------------------------------------------------------------------------------CASE STUDIES PAGE

------------------------------------------------------------------------------------------------
*/
.case-studies-intro {
  padding-bottom: 20px;
  border-bottom: 1px solid #455359;
  margin-bottom: 20px; }

.sector-filter-select {
  min-width: 100%; }

@media screen and (min-width: 58em) {
  .case-studies-intro {
    border-width: 2px;
    margin-bottom: 50px;
    display: flex;
    justify-content: space-between; }
  .sector-filter-select {
    min-width: 320px; }
  .case-studies-intro-field {
    padding-top: 4px; } }

#cc-main .cm--bar.cm--inline .cm__body,
#cc-main .cm--bar.cm--inline .cm__links {
  width: auto;
  max-width: 84rem;
  padding-left: 10px;
  padding-right: 10px;
  box-sizing: content-box; }

#cc-main {
  --cc-btn-primary-bg: #f08536;
  --cc-btn-primary-border-color: #f08536;
  --cc-btn-primary-hover-bg: #df7629;
  --cc-btn-primary-hover-border-color: #df7629; }

/*
-------------------------------------------------------------------------------------- ACCORDION

------------------------------------------------------------------------------------------------
*/
.accordion-btn {
  width: 100%;
  display: flex;
  font-family: inherit;
  text-align: left;
  margin: 0 0 1rem 0;
  padding: 0.625rem 1.25rem;
  border: 0;
  outline: none;
  cursor: pointer;
  background-color: #bfd9c3; }

.accordion-btn:focus {
  outline: 2px solid var(--focus-color, #348eda);
  outline-offset: 2px; }

/* Remove focus for mouse users, but only in browsers that understand :focus-visible */
.accordion-btn:focus:not(:focus-visible) {
  outline: none; }

.accordion-title {
  display: block;
  flex: 1; }

.accordion-icon {
  display: block;
  flex: 0 0 0.875rem;
  padding-top: 0.5rem; }

.accordion-icon svg {
  display: block;
  fill: currentColor;
  width: 100%;
  height: auto; }

.accordion-btn[aria-expanded='true'] .accordion-icon svg {
  transform: rotate(180deg); }

.accordion-hidden {
  display: none; }

/*# sourceMappingURL=../maps/front-app-7881f202c6.css.map */
