/*

  Functions
  ---
  Useful functions for generating values

*/
/*

  Core
  ---
  Setup important variables, feature flags for project

*/
@font-face {
  font-family: 'ClearSans';
  src: url("../fonts/clearsans-bold.woff") format("woff");
  font-weight: bold;
  font-style: normal; }
@font-face {
  font-family: 'ClearSans';
  src: url("../fonts/clearsans.woff") format("woff");
  font-weight: normal;
  font-style: normal; }
@font-face {
  font-family: 'Aileron';
  src: url("../fonts/aileron-light.woff") format("woff");
  font-weight: lighter;
  font-style: normal; }
@font-face {
  font-family: 'Aileron';
  src: url("../fonts/aileron-heavy.woff") format("woff");
  font-weight: bolder;
  font-style: normal; }
@font-face {
  font-family: 'Aileron';
  src: url("../fonts/aileron-bold.woff") format("woff");
  font-weight: bold;
  font-style: normal; }
@font-face {
  font-family: 'Aileron';
  src: url("../fonts/aileron-regular.woff") format("woff");
  font-weight: normal;
  font-style: normal; }
/*

  Breakpoints
  ---
  Setup breakpoints

*/
/*

  Sizing
  ---
  Useable spacing for elements

*/
/*

  Typography
  ---

*/
/*

  Colors
  ---

*/
/*

  Media
  ---

*/
/*

  Box Shadow
  ---

*/
/*

  Clearfix
  ---
  Micro Clearfix http://www.cssmojo.com/the-very-latest-clearfix-reloaded/

*/
.clearfix:after {
  content: "" !important;
  display: block !important;
  clear: both !important; }

/*

  Hidden
  ---
  Quickly hide accessibly

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

.hidden {
  display: none !important; }

/*

  Centering Tools
  ---

*/
.margin-center {
  margin-left: auto;
  margin-right: auto; }

.transform-center {
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }

/*

  Image Replacement
  ---

*/
.image-replacement {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

/*

  Fonts
  ---
  Finds and inserts the font family based on the type sent. Basic usage is simply:

    @include font(body);

*/
/*

  Font-Size
  ---

*/
/*

  Transitions
  ---

*/
/*

  Padding
  ---

*/
/*

  Margin
  ---

*/
@media screen and (min-width: 48em) {
  .columns--two {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
    -webkit-column-gap: 32px;
       -moz-column-gap: 32px;
            column-gap: 32px;
    -webkit-column-fill: balance-all;
       -moz-column-fill: balance-all;
            column-fill: balance-all;
    orphans: 2;
    widows: 2; } }
@media screen and (min-width: 64em) {
  .columns--two {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
    -webkit-column-gap: 32px;
       -moz-column-gap: 32px;
            column-gap: 32px;
    -webkit-column-fill: balance-all;
       -moz-column-fill: balance-all;
            column-fill: balance-all;
    orphans: 2;
    widows: 2; } }

@media screen and (min-width: 48em) {
  .columns--three {
    -webkit-column-count: 3;
       -moz-column-count: 3;
            column-count: 3;
    -webkit-column-gap: 32px;
       -moz-column-gap: 32px;
            column-gap: 32px;
    -webkit-column-fill: balance-all;
       -moz-column-fill: balance-all;
            column-fill: balance-all;
    orphans: 2;
    widows: 2; } }
@media screen and (min-width: 64em) {
  .columns--three {
    -webkit-column-count: 3;
       -moz-column-count: 3;
            column-count: 3;
    -webkit-column-gap: 32px;
       -moz-column-gap: 32px;
            column-gap: 32px;
    -webkit-column-fill: balance-all;
       -moz-column-fill: balance-all;
            column-fill: balance-all;
    orphans: 2;
    widows: 2; } }

.breakable {
  -webkit-column-break-inside: inherit;
     page-break-inside: inherit;
          break-inside: inherit; }

.column--no-break {
  -webkit-column-break-inside: avoid;
     page-break-inside: avoid;
          break-inside: avoid-column; }

/*

  Flex
  ---

*/
/*

  Border Radius
  ---

*/
/*

  Icons
  ---

*/
/*

  Layout
  ---

*/
[class*="wrapper"] {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: calc(100vw - (2 * 16px)); }
  @media screen and (min-width: 48em) {
    [class*="wrapper"] {
      max-width: calc(48em - (2 * 16px)); } }
  @media screen and (min-width: 64em) {
    [class*="wrapper"] {
      max-width: calc(64em - (2 * 32px)); } }
  @media screen and (min-width: 77.1em) {
    [class*="wrapper"] {
      max-width: calc(77em - (2 * 32px)); } }
  @media screen and (min-width: 90.1em) {
    [class*="wrapper"] {
      max-width: calc(90em - (2 * 32px)); } }
  [class*="wrapper"] > *:last-child {
    margin-bottom: 0 !important; }
  [class*="wrapper"] > *:first-child {
    margin-top: 0 !important; }

/*

  Box-Sizing
  ---
  sensible default box-sizing
  http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice

*/
html {
  box-sizing: border-box; }

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

/*

  Normalize
  ---
  Customized normalize css https://github.com/necolas/normalize.css

*/
html {
  line-height: 24px;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

h1 {
  margin: 0.67em 0; }

strong {
  font-weight: bolder; }

small {
  font-size: 10px; }

button,
input,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 24px;
  margin: 0; }

button,
input {
  overflow: visible; }

button {
  text-transform: none; }

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

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

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

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

/*

  Reset
  ---
  A very simple reset that sits on top of Normalize.css.

*/
body,
h1, h2, h3, h4, h5, h6,
blockquote, p, pre,
dl, dd, ol, ul,
figure,
hr,
fieldset, legend {
  margin: 0;
  padding: 0; }

li > ol,
li > ul {
  margin-bottom: 0; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

fieldset {
  min-width: 0;
  border: 0; }

/*

  Shared
  ---
  Shared declarations for certain elements.

*/
address,
h1, h2, h3, h4, h5, h6,
blockquote, p, pre,
dl, ol, ul,
figure,
hr,
table,
fieldset {
  margin-bottom: 16px; }

dd, ol, ul {
  margin-left: 16px; }

/*

  Page
  ---
  1. Force scrollbars to always be visible
  2. Ensure page always fill at lieast the entire height

*/
html {
  font-size: 16px;
  line-height: 24px;
  overflow-y: scroll;
  min-height: 100vh; }

body {
  color: #32364C;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100vh; }

main {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto; }

body {
  font-family: ClearSans;
  padding-top: 56px; }
  @media screen and (min-width: 64em) {
    body {
      padding-top: 0px; } }

/*

  Headings
  ---

*/
h1 {
  line-height: 1.1; }
  @media screen and (min-width: 20em) {
    h1 {
      font-size: 40px; } }
  @media screen and (min-width: 48em) {
    h1 {
      font-size: 40px; } }
  @media screen and (min-width: 64em) {
    h1 {
      font-size: 48px; } }
  @media screen and (min-width: 77em) {
    h1 {
      font-size: 64px; } }

@media screen and (min-width: 20em) {
  h2 {
    font-size: 32px; } }
@media screen and (min-width: 48em) {
  h2 {
    font-size: 32px; } }
@media screen and (min-width: 64em) {
  h2 {
    font-size: 40px; } }
@media screen and (min-width: 77em) {
  h2 {
    font-size: 48px; } }

@media screen and (min-width: 20em) {
  h3 {
    font-size: 24px; } }
@media screen and (min-width: 48em) {
  h3 {
    font-size: 24px; } }
@media screen and (min-width: 64em) {
  h3 {
    font-size: 32px; } }
@media screen and (min-width: 77em) {
  h3 {
    font-size: 40px; } }

@media screen and (min-width: 20em) {
  h4 {
    font-size: 24px; } }
@media screen and (min-width: 48em) {
  h4 {
    font-size: 24px; } }
@media screen and (min-width: 64em) {
  h4 {
    font-size: 24px; } }
@media screen and (min-width: 77em) {
  h4 {
    font-size: 32px; } }

@media screen and (min-width: 20em) {
  h5 {
    font-size: 16px; } }
@media screen and (min-width: 48em) {
  h5 {
    font-size: 16px; } }
@media screen and (min-width: 64em) {
  h5 {
    font-size: 24px; } }
@media screen and (min-width: 77em) {
  h5 {
    font-size: 24px; } }

@media screen and (min-width: 20em) {
  h6 {
    font-size: 16px; } }
@media screen and (min-width: 48em) {
  h6 {
    font-size: 16px; } }
@media screen and (min-width: 64em) {
  h6 {
    font-size: 16px; } }
@media screen and (min-width: 77em) {
  h6 {
    font-size: 24px; } }

/*

  Paragraph

*/
p + p {
  margin-top: 16px; }
  @media screen and (min-width: 48em) {
    p + p {
      margin-top: 32px; } }

p {
  margin-bottom: 16px; }
  @media screen and (min-width: 48em) {
    p {
      margin-bottom: 32px; } }

/*

  Images
  ---

*/
img {
  max-width: 100%;
  font-style: italic;
  vertical-align: middle; }

img[width],
img[height] {
  max-width: none; }

/*

  Icons
  ---

*/
[class^=icon] {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  display: inline-block; }

.icon--tel {
  background-image: url("../icons/phone.svg"); }
.icon--upload {
  background-image: url("../icons/upload.svg"); }
.icon--facebook {
  background-image: url("../icons/facebook.svg"); }
.icon--twitter {
  background-image: url("../icons/twitter.svg"); }
.icon--linkedin {
  background-image: url("../icons/linkedin.svg"); }
.icon--arrow {
  background-image: url("../icons/arrow.svg");
  width: 31px;
  height: 14px; }
.icon--inline {
  background-image: none; }

nav ul {
  list-style: none;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  margin-left: 0px; }
nav a {
  text-decoration: none; }

/*

  Buttons
  ---

*/
.button {
  color: #fff;
  background-color: #6EACC2;
  border-color: currentColor;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: normal;
  text-align: center;
  border-width: 0;
  cursor: pointer;
  padding-top: 8px;
  padding-right: 16px;
  padding-bottom: 8px;
  padding-left: 16px;
  -webkit-transition-delay: 0;
          transition-delay: 0;
  -webkit-transition-property: if all;
  transition-property: if all;
  -webkit-transition-duration: 300ms;
          transition-duration: 300ms;
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out; }
  @media screen and (min-width: 20em) {
    .button {
      font-size: 16px; } }
  @media screen and (min-width: 48em) {
    .button {
      font-size: 16px; } }
  @media screen and (min-width: 64em) {
    .button {
      font-size: 24px; } }
  @media screen and (min-width: 77em) {
    .button {
      font-size: 24px; } }
  @media screen and (min-width: 48em) {
    .button {
      padding-top: 16px;
      padding-right: 32px;
      padding-bottom: 16px;
      padding-left: 32px; } }
  .button:hover {
    background-color: #92c1d1; }
  .button--ghost {
    background-color: transparent;
    background-image: -webkit-linear-gradient(left, white 0%, white 22%, white 50%, rgba(255, 255, 255, 0) 50.1%, rgba(255, 255, 255, 0) 99%);
    background-image: linear-gradient(to right, white 0%, white 22%, white 50%, rgba(255, 255, 255, 0) 50.1%, rgba(255, 255, 255, 0) 99%);
    background-size: 200% 200%;
    background-position: right;
    border-width: 2px;
    border-style: solid;
    font-weight: bold;
    -webkit-transition-delay: 0;
            transition-delay: 0;
    -webkit-transition-property: if color, background-position, color, background-position, all;
    transition-property: if color, background-position, color, background-position, all;
    -webkit-transition-duration: 300ms;
            transition-duration: 300ms;
    -webkit-transition-timing-function: ease-in-out;
            transition-timing-function: ease-in-out; }
    .button--ghost path {
      -webkit-transition-delay: 0;
              transition-delay: 0;
      -webkit-transition-property: if fill, fill, all;
      transition-property: if fill, fill, all;
      -webkit-transition-duration: 300ms;
              transition-duration: 300ms;
      -webkit-transition-timing-function: ease-in-out;
              transition-timing-function: ease-in-out; }
    .button--ghost:hover {
      color: #6EACC2 !important;
      background-position: left; }
      .button--ghost:hover path {
        fill: #6EACC2; }
  .button--round {
    border-radius: 104px; }
  .button--accent {
    background-color: #60A24F; }
    .button--accent:hover {
      background-color: #7cb86c; }
  .button--block {
    display: block !important;
    width: 100%; }
  .button--short {
    padding-top: 10px;
    padding-bottom: 10px; }

.button .icon {
  margin-left: 10px; }

a.button {
  display: inline-block;
  text-decoration: none; }
  a.button:hover {
    color: #fff; }

section {
  margin-top: 32px;
  margin-bottom: 16px; }
  @media screen and (min-width: 64em) {
    section {
      margin-top: 64px;
      margin-bottom: 64px; } }
  section > h1 {
    text-align: center; }
  section > h1,
  section > .wrapper > h1 {
    text-transform: uppercase;
    font-weight: bolder;
    font-family: Aileron; }
    @media screen and (min-width: 20em) {
      section > h1,
      section > .wrapper > h1 {
        font-size: 32px; } }
    @media screen and (min-width: 48em) {
      section > h1,
      section > .wrapper > h1 {
        font-size: 32px; } }
    @media screen and (min-width: 64em) {
      section > h1,
      section > .wrapper > h1 {
        font-size: 40px; } }
    @media screen and (min-width: 77em) {
      section > h1,
      section > .wrapper > h1 {
        font-size: 48px; } }

section + section {
  margin-top: 32px; }
  @media screen and (min-width: 64em) {
    section + section {
      margin-top: 64px;
      margin-bottom: 64px; } }

section:last-of-type {
  margin-bottom: 0px; }

@media screen and (min-width: 77em) {
  article [class*="wrapper"] {
    max-width: 1120px; } }

article {
  margin-top: 16px; }
  @media screen and (min-width: 64em) {
    article {
      margin-top: 32px; } }
  article > h1 {
    text-align: center; }
    article > h1 span {
      position: relative; }
    article > h1 span::after {
      position: absolute;
      content: '';
      display: block;
      height: 3px;
      left: 0;
      right: 0;
      background: -webkit-linear-gradient(left, transparent 9.9%, currentColor 10%, currentColor 90%, transparent 90.1%);
      background: linear-gradient(to right, transparent 9.9%, currentColor 10%, currentColor 90%, transparent 90.1%); }
  article section {
    margin-bottom: 0px; }
    article section:nth-of-type(2n+2) {
      background-color: #d1e5ec;
      padding-top: 64px;
      padding-bottom: 64px; }
    article section .wrapper {
      -webkit-column-width: 50ch;
         -moz-column-width: 50ch;
              column-width: 50ch;
      -webkit-column-gap: 64px;
         -moz-column-gap: 64px;
              column-gap: 64px;
      -webkit-column-fill: balance-all;
         -moz-column-fill: balance-all;
              column-fill: balance-all;
      orphans: 2;
      widows: 2; }
    article section h1, article section h2, article section h3, article section h4, article section h5, article section h6 {
      line-height: 1;
      font-family: Aileron;
      -webkit-column-span: all;
         -moz-column-span: all;
              column-span: all;
      margin-top: 32px;
      margin-bottom: 16px; }
    article section h2 {
      font-weight: bold; }
      @media screen and (min-width: 20em) {
        article section h2 {
          font-size: 24px; } }
      @media screen and (min-width: 48em) {
        article section h2 {
          font-size: 24px; } }
      @media screen and (min-width: 64em) {
        article section h2 {
          font-size: 24px; } }
      @media screen and (min-width: 77em) {
        article section h2 {
          font-size: 32px; } }
    @media screen and (min-width: 20em) {
      article section h3 {
        font-size: 16px; } }
    @media screen and (min-width: 48em) {
      article section h3 {
        font-size: 16px; } }
    @media screen and (min-width: 64em) {
      article section h3 {
        font-size: 24px; } }
    @media screen and (min-width: 77em) {
      article section h3 {
        font-size: 24px; } }
    article section li {
      margin-bottom: 8px; }
    article section aside {
      display: -ms-grid;
      display: grid;
      grid-gap: 16px;
      -ms-grid-columns: 1fr 2fr;
          grid-template-columns: 1fr 2fr;
      -webkit-column-span: all;
         -moz-column-span: all;
              column-span: all; }
      article section aside h4 {
        margin-top: 0px;
        margin-right: 0px;
        margin-bottom: 0px;
        margin-left: 0px; }
        @media screen and (min-width: 64em) {
          article section aside h4 {
            -ms-grid-column: 1;
                grid-column-start: 1;
            grid-column-end: 1;
            -ms-grid-row: span 3;
                grid-row: span 3;
            -ms-flex-line-pack: start;
                align-content: start; } }
  @media screen and (min-width: 64em) and (min-width: 20em) {
    article section aside h4 {
      font-size: 16px; } }
  @media screen and (min-width: 64em) and (min-width: 48em) {
    article section aside h4 {
      font-size: 16px; } }
  @media screen and (min-width: 64em) and (min-width: 64em) {
    article section aside h4 {
      font-size: 16px; } }
  @media screen and (min-width: 64em) and (min-width: 77em) {
    article section aside h4 {
      font-size: 24px; } }

      article section aside p {
        margin-top: 0px;
        margin-bottom: 16px; }
        @media screen and (min-width: 64em) {
          article section aside p {
            -ms-grid-column: 2;
                grid-column-start: 2;
            grid-column-end: 3; } }

form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  form label {
    font-weight: bold; }
    @media screen and (min-width: 20em) {
      form label {
        font-size: 16px; } }
    @media screen and (min-width: 48em) {
      form label {
        font-size: 16px; } }
    @media screen and (min-width: 64em) {
      form label {
        font-size: 16px; } }
    @media screen and (min-width: 77em) {
      form label {
        font-size: 24px; } }
  form input {
    height: 48px;
    border: 1px solid #83848C;
    margin-bottom: 10px;
    padding-left: 16px;
    padding-right: 16px; }
  form textarea {
    border: 1px solid #83848C;
    padding-top: 16px;
    padding-right: 16px;
    padding-bottom: 16px;
    padding-left: 16px; }
  form button {
    margin-top: 40px; }

a {
  color: #6EACC2;
  text-decoration: none;
  -webkit-transition-delay: 0;
          transition-delay: 0;
  -webkit-transition-property: if color, color, all;
  transition-property: if color, color, all;
  -webkit-transition-duration: 300ms;
          transition-duration: 300ms;
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out; }
  a:hover {
    color: #60A24F; }
  a:active {
    color: #414456; }

[itemprop=address] {
  margin-bottom: 16px; }
  [itemprop=address] [itemprop=streetAddress]:after {
    content: "\A";
    white-space: pre; }

.site-header {
  top: 0;
  width: 100%;
  position: fixed;
  z-index: 999;
  background-color: #fff;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.5); }
  @media screen and (min-width: 64em) {
    .site-header {
      position: static; } }

.brand-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 56px;
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 4px;
  padding-right: 4px;
  padding-bottom: 4px;
  padding-left: 4px; }
  @media screen and (max-width: 63.9em) {
    .brand-header {
      max-width: none; } }
  @media screen and (min-width: 64em) {
    .brand-header {
      height: 80px;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      padding-top: 0px;
      padding-right: 0px;
      padding-bottom: 0px;
      padding-left: 0px; } }

.site-logo {
  display: block;
  background-image: url("../img/kma-logo.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  color: transparent;
  margin-left: 56px;
  margin-right: 56px; }
  @media screen and (min-width: 64em) {
    .site-logo {
      height: 56px;
      background-position: center left;
      margin-top: 0px;
      margin-right: 0px;
      margin-bottom: 0px;
      margin-left: 0px; } }
  .site-logo:hover, .site-logo:active {
    color: transparent; }

.mobile-nav-toggle {
  position: absolute;
  top: 0;
  left: 0;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  height: 56px;
  width: 56px;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 1000;
  padding-top: 16px;
  padding-right: 16px;
  padding-bottom: 16px;
  padding-left: 16px; }
  @media screen and (min-width: 64em) {
    .mobile-nav-toggle {
      display: none; } }
  .mobile-nav-toggle i {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    background-image: url("../icons/bars.svg"); }

#mobile-nav {
  display: none; }
  #mobile-nav:checked ~ .site-header .site-nav {
    display: block; }
  #mobile-nav:checked ~ .site-header .brand-header .mobile-nav-toggle i {
    background-image: url("../icons/times.svg"); }
  #mobile-nav:checked ~ main {
    height: calc(100vh - -size(56px));
    overflow: hidden; }

.site-nav {
  background-color: #fff;
  display: none;
  max-height: calc(100vh - -size(56px));
  overflow-y: scroll;
  position: relative; }
  @media screen and (max-width: 63.9em) {
    .site-nav {
      max-height: none; } }
  @media screen and (min-width: 64em) {
    .site-nav {
      display: inherit;
      background-color: #32364C;
      overflow: visible; } }
  .site-nav ul {
    list-style: none;
    margin: 0; }
    @media screen and (min-width: 64em) {
      .site-nav ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; } }
  @media screen and (min-width: 64em) {
    .site-nav ul > li > ul {
      display: none;
      position: absolute;
      top: 100%;
      left: 0;
      right: 0;
      z-index: 999; } }
  @media screen and (min-width: 64em) {
    .site-nav .wrapper > ul > li.hover > ul,
    .site-nav .wrapper > ul > li:hover > ul {
      display: block;
      background-color: #fff;
      border-bottom: 5px solid #32364C;
      box-shadow: 0 4px 4px rgba(0, 0, 0, 0.5); } }
  .site-nav a,
  .site-nav .link {
    display: block;
    text-decoration: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #32364C;
    background-image: -webkit-linear-gradient(top, white 0%, white 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 100%);
    background-image: linear-gradient(to bottom, white 0%, white 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 100%);
    background-size: 200% 200%;
    background-position: bottom;
    -webkit-transition-delay: 0;
            transition-delay: 0;
    -webkit-transition-property: if color, background-position, color, background-position, all;
    transition-property: if color, background-position, color, background-position, all;
    -webkit-transition-duration: 300ms;
            transition-duration: 300ms;
    -webkit-transition-timing-function: ease-in-out;
            transition-timing-function: ease-in-out;
    padding-top: 16px;
    padding-right: 16px;
    padding-bottom: 16px;
    padding-left: 16px; }
    .site-nav a.login {
      background-color: #53AABF;
      background-position: bottom;
      color: #fff;
    } .site-nav a.login:hover {
      background-color: #53AABF;
      background-position: bottom;
      color: #fff;
    }
    @media screen and (min-width: 64em) {
      .site-nav a,
      .site-nav .link {
        color: #fff;
        font-weight: bold;
        letter-spacing: 1px;
        text-transform: uppercase;
        padding-top: 0px;
        padding-right: 32px;
        padding-bottom: 0px;
        padding-left: 32px;
        height: 88px; }
        .site-nav li.login {
          margin-left: auto;
        }
      }
  @media screen and (min-width: 64em) and (min-width: 20em) {
    .site-nav a,
    .site-nav .link {
      font-size: 16px; } }
  @media screen and (min-width: 64em) and (min-width: 48em) {
    .site-nav a,
    .site-nav .link {
      font-size: 16px; } }
  @media screen and (min-width: 64em) and (min-width: 64em) {
    .site-nav a,
    .site-nav .link {
      font-size: 16px; } }
  @media screen and (min-width: 64em) and (min-width: 77em) {
    .site-nav a,
    .site-nav .link {
      font-size: 16px; } }

    .site-nav a:hover, .site-nav a.is-active,
    .site-nav .link:hover,
    .site-nav .link.is-active {
      background-position: top;
      color: #414456; }
  .site-nav li li a {
    text-transform: inherit;
    display: none;
    padding-left: 32px; }
    @media screen and (min-width: 64em) {
      .site-nav li li a {
        letter-spacing: 0;
        display: block;
        color: #32364C;
        font-weight: normal;
        height: auto;
        padding-top: 0px;
        padding-right: 0px;
        padding-bottom: 0px;
        padding-left: 0px; } }
  @media screen and (min-width: 64em) and (min-width: 20em) {
    .site-nav li li a {
      font-size: 16px; } }
  @media screen and (min-width: 64em) and (min-width: 48em) {
    .site-nav li li a {
      font-size: 16px; } }
  @media screen and (min-width: 64em) and (min-width: 64em) {
    .site-nav li li a {
      font-size: 16px; } }
  @media screen and (min-width: 64em) and (min-width: 77em) {
    .site-nav li li a {
      font-size: 16px; } }

    .site-nav li li a:hover {
      color: #60A24F; }
    .site-nav li li a.main {
      display: block; }
      @media screen and (min-width: 64em) {
        .site-nav li li a.main {
          color: #32364C;
          font-weight: bold; } }
  .site-nav .mega-menu.wrapper {
    display: block; }
    @media screen and (min-width: 64em) {
      .site-nav .mega-menu.wrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding-top: 16px;
        padding-bottom: 16px;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; }
        .site-nav .mega-menu.wrapper > * {
          -webkit-box-flex: 1;
              -ms-flex-positive: 1;
                  flex-grow: 1;
          -ms-flex-negative: 1;
              flex-shrink: 1;
          -ms-flex-preferred-size: calc((100% - 128px) / 3);
              flex-basis: calc((100% - 128px) / 3);
          max-width: calc((100% - 128px) / 3); } }
  @media screen and (min-width: 64em) {
    .site-nav .column {
      position: static;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
      .site-nav .column li {
        margin-bottom: 16px; } }

.secondary-nav {
  display: none; }
  @media screen and (min-width: 64em) {
    .secondary-nav {
      display: inherit; } }
  .secondary-nav a {
    color: #83848C;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: 16px;
    -webkit-transition-delay: 0;
            transition-delay: 0;
    -webkit-transition-property: if color, background-color, color, background-color, all;
    transition-property: if color, background-color, color, background-color, all;
    -webkit-transition-duration: 300ms;
            transition-duration: 300ms;
    -webkit-transition-timing-function: ease-in-out;
            transition-timing-function: ease-in-out;
    font-family: Aileron; }
    .secondary-nav a:first-of-type {
      margin-left: 0px; }
  .secondary-nav path {
    -webkit-transition-delay: 0;
            transition-delay: 0;
    -webkit-transition-property: if fill, fill, all;
    transition-property: if fill, fill, all;
    -webkit-transition-duration: 300ms;
            transition-duration: 300ms;
    -webkit-transition-timing-function: ease-in-out;
            transition-timing-function: ease-in-out; }
  .secondary-nav i {
    height: 24px;
    width: 24px; }
  .secondary-nav span {
    margin-left: 8px; }
  .secondary-nav a:hover {
    color: #414456; }
    .secondary-nav a:hover path {
      fill: #414456; }
  .secondary-nav a:active {
    color: #414456; }
    .secondary-nav a:active path {
      fill: #414456; }

.hero {
  height: 100vh;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (min-width: 48em) {
    .hero {
      height: 624px; } }
  .hero .image {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-image: url("../img/business-3167295_1920.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    z-index: -1; }
    .hero .image:after {
      content: '';
      display: block;
      background-image: url("../img/bg_overlay.svg");
      background-repeat: no-repeat;
      background-position: center center;
      background-size: cover;
      height: 100%;
      width: 100%;
      position: absolute;
      top: 0;
      left: 0; }
  .hero h1 {
    color: #fff;
    text-transform: uppercase;
    font-family: Aileron;
    margin-bottom: 32px; }
  .hero p {
    color: #fff;
    margin-bottom: 32px; }
  .hero br {
    display: none; }
    @media screen and (min-width: 48em) {
      .hero br {
        display: inherit; } }

.floating-buttons {
  display: none;
  position: fixed;
  right: 0;
  top: 25%;
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  z-index: 1; }
  @media screen and (min-width: 48em) {
    .floating-buttons {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  .floating-buttons a {
    border-top-right-radius: 3px;
    border-top-left-radius: 3px;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
    margin-right: 16px; }

.services .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (min-width: 64em) {
    .services .list {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  @media screen and (min-width: 64em) {
    .services .list {
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; } }
.services .service {
  text-align: center;
  margin-bottom: 16px;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
  border-radius: 3px; }
  @media screen and (min-width: 64em) {
    .services .service {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      -ms-flex-negative: 1;
          flex-shrink: 1;
      -ms-flex-preferred-size: calc((100% - 48px) / 4);
          flex-basis: calc((100% - 48px) / 4);
      max-width: calc((100% - 48px) / 4);
      margin-bottom: 0px; } }
  @media screen and (min-width: 64em) {
    .services .service {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      -ms-flex-negative: 1;
          flex-shrink: 1;
      -ms-flex-preferred-size: calc((100% - 96px) / 4);
          flex-basis: calc((100% - 96px) / 4);
      max-width: calc((100% - 96px) / 4); } }
.services h2 {
  margin-top: 16px;
  margin-right: 16px;
  margin-bottom: 16px;
  margin-left: 16px;
  font-family: Aileron; }
  @media screen and (min-width: 20em) {
    .services h2 {
      font-size: 24px; } }
  @media screen and (min-width: 48em) {
    .services h2 {
      font-size: 24px; } }
  @media screen and (min-width: 64em) {
    .services h2 {
      font-size: 32px; } }
  @media screen and (min-width: 77em) {
    .services h2 {
      font-size: 40px; } }
  @media screen and (min-width: 64em) {
    .services h2 {
      white-space: pre;
      line-height: 1.15; } }
.services p {
  margin-top: 16px;
  margin-right: 16px;
  margin-bottom: 16px;
  margin-left: 16px; }
  .services p a {
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px; }

.feature .wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media screen and (min-width: 64em) {
    .feature .wrapper {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  @media screen and (min-width: 64em) {
    .feature .wrapper {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
  .feature .wrapper > * {
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -ms-flex-preferred-size: calc(50% - 8px);
        flex-basis: calc(50% - 8px); }
  @media screen and (min-width: 77em) {
    .feature .wrapper {
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      .feature .wrapper > * {
        -webkit-box-flex: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
        -ms-flex-negative: 1;
            flex-shrink: 1;
        -ms-flex-preferred-size: calc(50% - 16px);
            flex-basis: calc(50% - 16px); } }
.feature .image {
  margin-left: -16px;
  margin-right: -16px;
  margin-bottom: 16px; }
  @media screen and (min-width: 64em) {
    .feature .image {
      margin-bottom: 0px; } }
@media screen and (min-width: 64em) {
  .feature h1 {
    -ms-flex-preferred-size: 100% !important;
        flex-basis: 100% !important; } }

.feature .image {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }
  @media screen and (min-width: 64em) {
    .feature .image {
      -webkit-box-ordinal-group: 4;
          -ms-flex-order: 3;
              order: 3; } }
.feature h1 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }
  @media screen and (min-width: 64em) {
    .feature h1 {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; } }
.feature .content {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3; }
  @media screen and (min-width: 64em) {
    .feature .content {
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; } }
@media screen and (min-width: 64em) {
  .feature p:last-of-type {
    margin-bottom: 0px; } }

.feature--even .image {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }
.feature--even .content {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3; }

.advice-centre .wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (min-width: 64em) {
    .advice-centre .wrapper {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  @media screen and (min-width: 64em) {
    .advice-centre .wrapper {
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      .advice-centre .wrapper > * {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        -ms-flex-negative: 1;
            flex-shrink: 1;
        -ms-flex-preferred-size: calc((100% - 32px) / 3);
            flex-basis: calc((100% - 32px) / 3);
        max-width: calc((100% - 32px) / 3); } }
  @media screen and (min-width: 64em) {
    .advice-centre .wrapper {
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      .advice-centre .wrapper > * {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        -ms-flex-negative: 1;
            flex-shrink: 1;
        -ms-flex-preferred-size: calc((100% - 64px) / 3);
            flex-basis: calc((100% - 64px) / 3);
        max-width: calc((100% - 64px) / 3); } }

.advice-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 24px;
  margin-bottom: 16px; }
  @media screen and (min-width: 77em) {
    .advice-card {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  @media screen and (min-width: 64em) {
    .advice-card {
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      margin-bottom: 0px; } }
  .advice-card header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .advice-card header h1 {
      color: #fff;
      text-transform: uppercase;
      padding-top: 24px;
      padding-right: 24px;
      padding-bottom: 24px;
      padding-left: 24px;
      margin-top: 0px;
      margin-right: 0px;
      margin-bottom: 0px;
      margin-left: 0px; }
      @media screen and (min-width: 20em) {
        .advice-card header h1 {
          font-size: 16px; } }
      @media screen and (min-width: 48em) {
        .advice-card header h1 {
          font-size: 16px; } }
      @media screen and (min-width: 64em) {
        .advice-card header h1 {
          font-size: 24px; } }
      @media screen and (min-width: 77em) {
        .advice-card header h1 {
          font-size: 24px; } }
      @media screen and (min-width: 64em) {
        .advice-card header h1 {
          padding-top: 16px;
          padding-right: 16px;
          padding-bottom: 16px;
          padding-left: 16px;
          text-align: center; } }
  .advice-card .content {
    padding-top: 24px;
    padding-right: 24px;
    padding-bottom: 24px;
    padding-left: 24px; }
    @media screen and (min-width: 77em) {
      .advice-card .content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; } }
    .advice-card .content p {
      margin-bottom: 10px; }
    .advice-card .content a {
      color: #32364C;
      font-weight: bold;
      font-style: italic; }
      .advice-card .content a:hover {
        color: #fff; }
  .advice-card:nth-of-type(1) {
    background-color: #60A24F; }
    .advice-card:nth-of-type(1) .content {
      background-color: #cce2c7; }
  .advice-card:nth-of-type(2) {
    background-color: #414456; }
    .advice-card:nth-of-type(2) .content {
      background-color: #c1c3c9; }
  .advice-card:nth-of-type(3) {
    background-color: #6EACC2; }
    .advice-card:nth-of-type(3) .content {
      background-color: #d1e5ec; }

.email-capture {
  position: relative;
  color: #fff;
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 96px;
  padding-bottom: 96px; }
  .email-capture .image {
    background-image: url("../img/people-woman-coffee-meeting.jpg");
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1; }
    .email-capture .image::after {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background-image: url("../img/bg_overlay-solid.svg"); }
  .email-capture .wrapper {
    -webkit-box-align: center;
        -ms-flex-align: center;
                -ms-grid-row-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media screen and (min-width: 48em) {
      .email-capture .wrapper {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
  .email-capture .content {
    margin-bottom: 32px; }
    @media screen and (min-width: 48em) {
      .email-capture .content {
        margin-bottom: 0;
        -webkit-box-flex: 1;
            -ms-flex: 1 0 50%;
                flex: 1 0 50%; } }
  .email-capture h1 {
    font-weight: bolder;
    text-transform: uppercase;
    font-family: Aileron; }
    @media screen and (min-width: 20em) {
      .email-capture h1 {
        font-size: 32px; } }
    @media screen and (min-width: 48em) {
      .email-capture h1 {
        font-size: 32px; } }
    @media screen and (min-width: 64em) {
      .email-capture h1 {
        font-size: 40px; } }
    @media screen and (min-width: 77em) {
      .email-capture h1 {
        font-size: 48px; } }
  .email-capture p {
    font-weight: lighter;
    text-transform: capitalize;
    white-space: pre-line;
    font-family: Aileron; }
    @media screen and (min-width: 20em) {
      .email-capture p {
        font-size: 24px; } }
    @media screen and (min-width: 48em) {
      .email-capture p {
        font-size: 24px; } }
    @media screen and (min-width: 64em) {
      .email-capture p {
        font-size: 32px; } }
    @media screen and (min-width: 77em) {
      .email-capture p {
        font-size: 40px; } }
  .email-capture form {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    @media screen and (min-width: 48em) {
      .email-capture form {
        -webkit-box-flex: 1;
            -ms-flex: 1 0 50%;
                flex: 1 0 50%; } }
    .email-capture form > * {
      width: 100%; }
  .email-capture label {
    font-weight: bold; }
    @media screen and (min-width: 20em) {
      .email-capture label {
        font-size: 16px; } }
    @media screen and (min-width: 48em) {
      .email-capture label {
        font-size: 16px; } }
    @media screen and (min-width: 64em) {
      .email-capture label {
        font-size: 16px; } }
    @media screen and (min-width: 77em) {
      .email-capture label {
        font-size: 24px; } }
  .email-capture input {
    height: 48px;
    background-color: rgba(255, 255, 255, 0.7);
    border: none;
    margin-bottom: 10px; }
  .email-capture button {
    -webkit-box-flex: 0;
        -ms-flex: 0 0;
            flex: 0 0;
    margin-top: 40px; }

.contact {
  background-color: #F1F1F1; }
  .contact .wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-top: 16px;
    padding-bottom: 16px; }
    @media screen and (min-width: 48em) {
      .contact .wrapper {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
    @media screen and (min-width: 48em) {
      .contact .wrapper {
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; }
        .contact .wrapper > * {
          -webkit-box-flex: 0;
              -ms-flex-positive: 0;
                  flex-grow: 0;
          -ms-flex-negative: 1;
              flex-shrink: 1;
          -ms-flex-preferred-size: calc(50% - 8px);
              flex-basis: calc(50% - 8px); } }
    @media screen and (min-width: 64em) {
      .contact .wrapper {
        padding-top: 64px;
        padding-bottom: 64px;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; }
        .contact .wrapper > * {
          -webkit-box-flex: 0;
              -ms-flex-positive: 0;
                  flex-grow: 0;
          -ms-flex-negative: 1;
              flex-shrink: 1;
          -ms-flex-preferred-size: calc(50% - 32px);
              flex-basis: calc(50% - 32px); } }
  .contact .map {
    border: 8px solid #fff; }
    .contact .map iframe {
      width: 100%;
      height: 100%; }
  .contact dt {
    display: inline;
    width: auto; }
    .contact dt:after {
      content: ": "; }
  .contact dd {
    display: inline;
    margin-left: 0px; }
    .contact dd:after {
      content: "\A";
      white-space: pre; }

.site-footer {
  background-color: #414456;
  color: #fff;
  text-align: center;
  padding-top: 16px; }
  .site-footer a {
    color: #fff; }
    .site-footer a:hover {
      color: #6EACC2; }
  .site-footer .wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .site-footer .footer-nav {
    margin-bottom: 16px; }
    @media screen and (min-width: 64em) {
      .site-footer .footer-nav {
        width: 768px;
        margin-left: auto;
        margin-right: auto; }
        .site-footer .footer-nav ul {
          flex-direction: unset !important;
        }
      }
    .site-footer .footer-nav ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      flex-direction: column;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
  .site-footer .cpa-logo {
    height: 56px; }
    .site-footer .cpa-logo img {
      height: 100%; }

.site-copyright {
  padding-top: 16px;
  padding-bottom: 16px; }
  @media screen and (min-width: 20em) {
    .site-copyright {
      font-size: 10px; } }
  @media screen and (min-width: 48em) {
    .site-copyright {
      font-size: 10px; } }
  @media screen and (min-width: 64em) {
    .site-copyright {
      font-size: 12px; } }
  @media screen and (min-width: 77em) {
    .site-copyright {
      font-size: 16px; } }
  .site-copyright a {
    margin-left: 16px; }

.back-to-top {
  display: none; }
  @media screen and (min-width: 64em) {
    .back-to-top {
      display: inherit;
      position: fixed;
      bottom: 16px;
      right: 16px;
      background-color: rgba(255, 255, 255, 0.7);
      box-shadow: 0 0 4px rgba(0, 0, 0, 0.5); } }
  .back-to-top a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #83848C;
    padding-top: 8px;
    padding-right: 16px;
    padding-bottom: 8px;
    padding-left: 16px; }
  .back-to-top i {
    height: 16px;
    width: 16px;
    margin-right: 8px; }
    .back-to-top i path {
      fill: currentColor; }

.partner-link {
  margin-top: 32px;
  text-align: center;
  text-decoration: underline; }

.staff-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  @media screen and (min-width: 64em) {
    .staff-list {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }

.staff-member {
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 32px; }

.staff-member__image-container {
  border-radius: 100%;
  width: 200px;
  height: 200px;
  overflow: hidden;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0; }

.staff-member__image {
  width: 100%;
  height: 100%; }

.staff-member__details {
  padding: 16px;
  text-align: center; }

.staff-member__name {
  font-weight: bold;
  margin-bottom: 4px; }
  @media screen and (min-width: 20em) {
    .staff-member__name {
      font-size: 16px; } }
  @media screen and (min-width: 48em) {
    .staff-member__name {
      font-size: 16px; } }
  @media screen and (min-width: 64em) {
    .staff-member__name {
      font-size: 24px; } }
  @media screen and (min-width: 77em) {
    .staff-member__name {
      font-size: 24px; } }

.staff-member__designations {
  list-style: none;
  margin: 0; }

.staff-member__designation {
  display: inline-block; }

.barber-and-haime article h1 {
  margin-bottom: 32px; }
.barber-and-haime article .wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (min-width: 64em) {
    .barber-and-haime article .wrapper {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
.barber-and-haime article .content {
  margin-right: 32px;
  margin-bottom: 32px; }
.barber-and-haime article .content .image {
  margin-bottom: 32px;
  margin-left: auto;
  margin-right: auto; }

.page-contact article .wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 32px;
  margin-bottom: 32px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media screen and (min-width: 64em) {
    .page-contact article .wrapper {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .page-contact article .wrapper > * {
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -ms-flex-preferred-size: calc(100%);
        flex-basis: calc(100%); }
.page-contact article label {
  margin-top: 16px;
  margin-bottom: 16px; }
.page-contact .map iframe {
  width: 100%;
  height: 300px; }
.page-contact dt {
  display: inline;
  width: auto; }
  .page-contact dt:after {
    content: ": "; }
.page-contact dd {
  display: inline;
  margin-left: 0px; }
  .page-contact dd:after {
    content: "\A";
    white-space: pre; }

.partners .partner-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 64px 0; }
  @media screen and (min-width: 64em) {
    .partners .partner-list {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
.partners img {
  padding: 8px;
  float: left;
  -ms-flex-preferred-size: 20%;
      flex-basis: 20%;
  border-radius: 100%; }
.partners p {
  margin-top: 32px; }
