/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

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

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

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

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  -webkit-text-decoration: underline; /* 2 */
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

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

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

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

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

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

/**
 * Remove the inner border and padding in Firefox.
 */

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

/**
 * Restore the focus styles unset by the previous rule.
 */

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

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

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

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

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

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

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

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

:root {
  --ease-out: cubic-bezier(0.165, 0.84, 0.44, 1);
  --ease-out-back: cubic-bezier(0.35, 1.47, 0.64, 1);
  scroll-behavior: smooth;
}

:root {
  --text: #151712;
  --green-light: #bcf9f1;
  --green-medium: #2f626a;
  --green-dark: #01424c;

  --white: #fff;
  --light-gray: #f7f7f7;
  --dark-gray: #252525;

  --background-color: var(--light-gray);
  --text-color: var(--text);
  --border-color: var(--text);
  --link-color: var(--green-medium);
  --link-color-hover: var(--text-color);
  --button-color-hover: var(--green-dark);
}

body {
  background: #f7f7f7;
  background: var(--background-color);
  color: #151712;
  color: var(--text-color);
}

a,
a:visited {
  transition: color 250ms ease-out;
  color: #2f626a;
  color: var(--link-color);
}

a:hover,
a:focus {
  color: #151712;
  color: var(--link-color-hover);
}

@font-face {
  font-family: "General Sans";
  font-style: normal;
  font-weight: 200;
  src:
    url("/assets/GeneralSans-Extralight-dbff9d0c.woff2") format("woff2"),
    url("/assets/GeneralSans-Extralight-73966201.woff") format("woff"),
    url("/assets/GeneralSans-Extralight-95831f5f.ttf") format("truetype");
}

@font-face {
  font-family: "General Sans";
  font-style: italic;
  font-weight: 200;
  src:
    url("/assets/GeneralSans-ExtralightItalic-10c6c19b.woff2") format("woff2"),
    url("/assets/GeneralSans-ExtralightItalic-490ecf4d.woff") format("woff"),
    url("/assets/GeneralSans-ExtralightItalic-097c02c0.ttf") format("truetype");
}

@font-face {
  font-family: "General Sans";
  font-style: normal;
  font-weight: 300;
  src:
    url("/assets/GeneralSans-Light-b6f87907.woff2") format("woff2"),
    url("/assets/GeneralSans-Light-fc9d3f39.woff") format("woff"),
    url("/assets/GeneralSans-Light-bc9fc5db.ttf") format("truetype");
}

@font-face {
  font-family: "General Sans";
  font-style: italic;
  font-weight: 300;
  src:
    url("/assets/GeneralSans-LightItalic-c1c91a54.woff2") format("woff2"),
    url("/assets/GeneralSans-LightItalic-433bf7b8.woff") format("woff"),
    url("/assets/GeneralSans-LightItalic-042eaa8d.ttf") format("truetype");
}

@font-face {
  font-family: "General Sans";
  font-style: normal;
  font-weight: 400;
  src:
    url("/assets/GeneralSans-Regular-a081b523.woff2") format("woff2"),
    url("/assets/GeneralSans-Regular-a7ab869c.woff") format("woff"),
    url("/assets/GeneralSans-Regular-4c370112.ttf") format("truetype");
}

@font-face {
  font-family: "General Sans";
  font-style: italic;
  font-weight: 400;
  src:
    url("/assets/GeneralSans-Italic-c15eb1aa.woff2") format("woff2"),
    url("/assets/GeneralSans-Italic-27f09174.woff") format("woff"),
    url("/assets/GeneralSans-Italic-6640f3aa.ttf") format("truetype");
}

@font-face {
  font-family: "General Sans";
  font-style: normal;
  font-weight: 500;
  src:
    url("/assets/GeneralSans-Medium-6f448190.woff2") format("woff2"),
    url("/assets/GeneralSans-Medium-7e286cee.woff") format("woff"),
    url("/assets/GeneralSans-Medium-a8623b3f.ttf") format("truetype");
}

@font-face {
  font-family: "General Sans";
  font-style: italic;
  font-weight: 500;
  src:
    url("/assets/GeneralSans-MediumItalic-a7c82313.woff2") format("woff2"),
    url("/assets/GeneralSans-MediumItalic-89ec82a4.woff") format("woff"),
    url("/assets/GeneralSans-MediumItalic-4de22a93.ttf") format("truetype");
}

@font-face {
  font-family: "General Sans";
  font-style: normal;
  font-weight: 600;
  src:
    url("/assets/GeneralSans-Semibold-85d9bdb9.woff2") format("woff2"),
    url("/assets/GeneralSans-Semibold-e3527a9b.woff") format("woff"),
    url("/assets/GeneralSans-Semibold-83c60506.ttf") format("truetype");
}

@font-face {
  font-family: "General Sans";
  font-style: italic;
  font-weight: 600;
  src:
    url("/assets/GeneralSans-SemiboldItalic-2df7ba8e.woff2") format("woff2"),
    url("/assets/GeneralSans-SemiboldItalic-1c20f71e.woff") format("woff"),
    url("/assets/GeneralSans-SemiboldItalic-0df22468.ttf") format("truetype");
}

@font-face {
  font-family: "General Sans";
  font-style: normal;
  font-weight: 700;
  src:
    url("/assets/GeneralSans-Bold-99eabeb4.woff2") format("woff2"),
    url("/assets/GeneralSans-Bold-b0bb2a38.woff") format("woff"),
    url("/assets/GeneralSans-Bold-5e7721b1.ttf") format("truetype");
}

@font-face {
  font-family: "General Sans";
  font-style: italic;
  font-weight: 700;
  src:
    url("/assets/GeneralSans-BoldItalic-28a5cf40.woff2") format("woff2"),
    url("/assets/GeneralSans-BoldItalic-d7c00234.woff") format("woff"),
    url("/assets/GeneralSans-BoldItalic-1c9d7ae1.ttf") format("truetype");
}

:root {
  --columns: 12;
  --gutter: 2rem;
  --outer-padding: 4rem;

  /*
  @media (--medium) {
    //--columns: 9;
    //--gutter: 1.5rem;
    //--outer-padding: 1.5rem;
  }
  */
}

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

:root {
    --columns: 4;
    --outer-padding: 2rem;
}
  }

@media print {

:root {
    --outer-padding: 0px;
}
  }

:root {

  --column-width: calc((100% - var(--gutter)*(var(--columns) - 1) - var(--outer-padding)*2)/var(--columns));

  /* @mixin grid-limit 1400px; */
}

.grid-overlay {
  display: none;
}

.grid-overlay--active {
  --grid-overlay-width: var(
    --grid-limit,
    calc(100% - var(--outer-padding)*2)
  );
  display: block;
  position: fixed;
  z-index: 9000;
  top: 0px;
  width: calc(100% - 8rem);
  width: var(--grid-overlay-width);
  left: 50%;
  margin-left: calc(-50% - -4rem);
  margin-left: calc(var(--grid-overlay-width)/2*-1);
  height: 100%;
  pointer-events: none;
  background: linear-gradient(
    to right,
    transparent 2rem,
    rgba(255, 0, 255, 0.05) 2rem
  );
  background: linear-gradient(
    to right,
    var(--grid-overlay-gutter, transparent) var(--gutter),
    var(--grid-overlay-column, rgba(255, 0, 255, 0.05)) var(--gutter)
  );
  background-size: calc(8.3333333333% + 0.1666666667rem) 100%;
  background-size: calc((100% + var(--gutter))/var(--columns, 12)) 100%;
  background-position: top 0px left -2rem;
  background-position: top 0px left calc(var(--gutter)*-1);
}

/* ---- Mixins ------------------------------------------------------------- */

/* ---- Definitions -------------------------------------------------------- */

:root {
  --font-sans: "General Sans", Helvetica, sans-serif;

  --font-heading-1: 400 4.5rem/1.1 var(--font-sans);
  --font-heading-2: 500 2.5rem/1.2 var(--font-sans);
  --font-heading-3: 500 1.5rem/1.4 var(--font-sans);
  --font-heading-4: 500 1.25rem/1.75 var(--font-sans);

  --font-medium: 400 1.5rem/1.4 var(--font-sans);
  --font-normal: 400 1.125rem/1.5 var(--font-sans);
  --font-small: 400 1rem/1.5 var(--font-sans);
}

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

:root {
    --font-heading-1: 400 2.125rem/1.2 var(--font-sans);
    --font-heading-2: 500 1.875rem/1.2 var(--font-sans);
    --font-medium: 400 1.125rem/1.5 var(--font-sans);
}
  }

/* ---- Font scale --------------------------------------------------------- */

html {
  --font-scale-coeff: calc((var(--font-scale-to) - var(--font-scale-from))/(var(--font-scale-end)/100 - var(--font-scale-start)/100));
  font-size: calc(0.625rem + 0.4166666667vw);
  font-size: calc((var(--font-scale-from) - (var(--font-scale-start)/100)*var(--font-scale-coeff))/16*1rem + var(--font-scale-coeff)*1vw);
  --font-scale-from: 16;
  --font-scale-to: 18;
  --font-scale-start: 1440;
  --font-scale-end: 1920;
}

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

html {
    --font-scale-from: 14;
    --font-scale-to: 16;
    --font-scale-start: 479;
    --font-scale-end: 1440;
}
  }

@media (--mobile-small) {

html {
    --font-scale-from: 12;
    --font-scale-to: 16;
    --font-scale-start: 1;
    --font-scale-end: 479;
}
  }

body {
  font-family: "General Sans", Helvetica, sans-serif;
  font-family: var(--font-sans);
  font-size: 100%;
}

/* ---- Rules -------------------------------------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol {
  margin: 1rem 0rem;
}

h1:first-child {
    margin-top: 0px;
  }

h3:first-child {
    margin-top: 0px;
  }

h4:first-child {
    margin-top: 0px;
  }

h5:first-child {
    margin-top: 0px;
  }

h6:first-child {
    margin-top: 0px;
  }

p:first-child {
    margin-top: 0px;
  }

h1:last-child {
    margin-bottom: 0px;
  }

h3:last-child {
    margin-bottom: 0px;
  }

h4:last-child {
    margin-bottom: 0px;
  }

h5:last-child {
    margin-bottom: 0px;
  }

h6:last-child {
    margin-bottom: 0px;
  }

p:last-child {
    margin-bottom: 0px;
  }

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
figcaption,
blockquote {
  max-width: 60ch;
}

ul,
ol,
blockquote {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

ul:first-child {
    margin-top: 0px;
  }

ol:first-child {
    margin-top: 0px;
  }

ul:last-child {
    margin-bottom: 0px;
  }

ol:last-child {
    margin-bottom: 0px;
  }

header,
main {
  font: 400 1.125rem/1.5 "General Sans", Helvetica, sans-serif;
  font: var(--font-normal);
}

footer {
  font: 400 1rem/1.5 "General Sans", Helvetica, sans-serif;
  font: var(--font-small);
}

footer .contact-box {
    font: 400 1.125rem/1.5 "General Sans", Helvetica, sans-serif;
    font: var(--font-normal);
  }

h1 {
  font: 400 4.5rem/1.1 "General Sans", Helvetica, sans-serif;
  font: var(--font-heading-1);
  margin-bottom: 2rem;
}

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

h1 {
    margin-bottom: 1rem;
}
  }

h2 {
  font: 500 2.5rem/1.2 "General Sans", Helvetica, sans-serif;
  font: var(--font-heading-2);
  margin-top: 2rem;
}

h2:first-child {
    margin-top: 0px;
  }

h2:last-child {
    margin-bottom: 0px;
  }

h3,
.body h2 {
  font: 500 1.5rem/1.4 "General Sans", Helvetica, sans-serif;
  font: var(--font-heading-3);
  margin-top: 3rem;
  margin-bottom: 1.5rem;
}

h3:not(.does-not-exist):first-child {
    margin-top: 0px;
  }

.body h2:first-child {
    margin-top: 0px;
  }

h3:not(.does-not-exist):last-child {
    margin-bottom: 0px;
  }

.body h2:last-child {
    margin-bottom: 0px;
  }

h4,
h5,
h6,
.body h3 {
  margin-top: 2rem;
  margin-bottom: 1rem;
  font: 500 1.25rem/1.75 "General Sans", Helvetica, sans-serif;
  font: var(--font-heading-4);
}

b,
strong {
  font-weight: 500;
}

ul,
ol {
  padding-left: 2.5rem;
}

.body li {
  margin: 0.5rem 0rem;
}

.body li:first-child {
    margin-top: 0px;
  }

.body li:last-child {
    margin-bottom: 0px;
  }

blockquote {
  font: 400 1.5rem/1.4 "General Sans", Helvetica, sans-serif;
  font: var(--font-medium);
  margin: 2rem 0rem;
}

blockquote:first-child {
    margin-top: 0px;
  }

blockquote:last-child {
    margin-bottom: 0px;
  }

figcaption {
  margin-top: 0.5rem;
  font: 400 1rem/1.5 "General Sans", Helvetica, sans-serif;
  font: var(--font-small);
}

.logo {
  font: 500 2rem/1.3 "General Sans", Helvetica, sans-serif;
  font: 500 2rem/1.3 var(--font-sans);
  text-transform: uppercase;
  -webkit-text-decoration: none;
  text-decoration: none;
}

.logo span:first-child {
    font-weight: 700;
  }

label,
input[type="text"],
input[type="password"],
textarea {
  margin-bottom: 0.5rem;
  font: 400 1rem/1.5 "General Sans", Helvetica, sans-serif;
  font: var(--font-small);
}

label:not(.does-not-exist):first-child {
    margin-top: 0px;
  }

input[type="text"]:first-child {
    margin-top: 0px;
  }

input[type="password"]:first-child {
    margin-top: 0px;
  }

textarea:not(.does-not-exist):first-child {
    margin-top: 0px;
  }

label:not(.does-not-exist):last-child {
    margin-bottom: 0px;
  }

input[type="text"]:last-child {
    margin-bottom: 0px;
  }

input[type="password"]:last-child {
    margin-bottom: 0px;
  }

textarea:not(.does-not-exist):last-child {
    margin-bottom: 0px;
  }

section.hero:not(.does-not-exist) .excerpt,.page .intro .excerpt {
    font: 400 1.5rem/1.4 "General Sans", Helvetica, sans-serif;
    font: var(--font-medium);
  }

section.hero:not(.does-not-exist) .title,.page .intro .title {
    margin-bottom: 1rem;
  }

.page-grid .item h2,.page-grid .item h3 {
    font: 500 1.5rem/1.4 "General Sans", Helvetica, sans-serif;
    font: var(--font-heading-3);
    margin-top: 0rem;
    margin-bottom: 0rem;
  }

.page-grid .item .title {
    font: 400 1rem/1.5 "General Sans", Helvetica, sans-serif;
    font: var(--font-small);
  }

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

.responsive-embed,
figure.image {
  margin: 4rem 0rem;
}

.responsive-embed:not(does-not-exist):first-child {
    margin-top: 0px;
  }

figure.image:first-child {
    margin-top: 0px;
  }

.responsive-embed:not(does-not-exist):last-child {
    margin-bottom: 0px;
  }

figure.image:last-child {
    margin-bottom: 0px;
  }

figure.image {
  width: 100%;
  padding: 0rem;
}

figure.image img {
    display: block;
    width: 100%;
    height: auto;
  }

img {
  display: block;
}

button,
a.button {
  border: 1px solid #2f626a;
  border: 1px solid var(--link-color);
  color: #2f626a;
  color: var(--link-color);
  background-color: transparent;

  display: inline-block;
  -webkit-text-decoration: none;
  text-decoration: none;
  padding: 0.75rem 1.25rem;
  border-radius: 3rem;

  transition: all 250ms ease-out;
}

button:not(.does-not-exist),a.button,button:not(.does-not-exist):hover,a.button:hover,button:not(.does-not-exist):focus,a.button:focus {
    -webkit-text-decoration: none;
    text-decoration: none;
  }

button:not(.does-not-exist):hover,a.button:hover,button:not(.does-not-exist):focus,a.button:focus {
    border-color: #01424c;
    border-color: var(--button-color-hover);
    color: #f7f7f7;
    color: var(--background-color);
    background-color: #01424c;
    background-color: var(--button-color-hover);
  }

button[type="submit"]:not(.does-not-exist),a.button[type="submit"] {
    color: #fff;
    color: var(--white);
    background: #151712;
    background: var(--text-color);
  }

/* Flash messages - matching site layout structure */

main > .flash {
  padding-left: 1rem;
  padding-left: calc(var(--outer-padding)*0.25);
  padding-right: 1rem;
  padding-right: calc(var(--outer-padding)*0.25);
}

.flash {
  border-radius: 0.5rem;
  padding: 1rem;
  max-width: 100%;
  max-width: var(--grid-limit, 100%);
  margin: 0px auto;
  font-size: 1rem;
  line-height: 1.5;
}

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

.flash {
    border-radius: 0.5rem;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}
  }

.flash.notice {
  background-color: #bcf9f1;
  background-color: var(--green-light);
  color: #01424c;
  color: var(--green-dark);
  border: 1px solid #2f626a;
  border: 1px solid var(--green-medium);
}

.flash.alert {
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}

section.contact-box {
  --background-color: var(--green-dark);
  --text-color: var(--green-light);
  --link-color: var(--green-light);
  --button-color-hover: var(--green-light);
}

section.contact-box .inner {
    color: #151712;
    color: var(--text-color);
    background: #01424c;
    background: var(--green-dark);
  }

section.contact-box .content {
    grid-column: 1 / span 12;
    grid-column: 1 / span var(--columns);
  }

section.contact-box .buttons {
    margin-top: 2.5rem;
  }

footer {
  padding-top: 2rem;
}

footer .inner {
    row-gap: 2rem;
  }

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

footer .inner {
      row-gap: 1rem;
  }
    }

footer .contact {
    grid-column: 1 / span 12;
    grid-column: 1 / span var(--columns);
  }

footer .contact .logo {
      display: inline-block;
      margin-bottom: 1rem;
    }

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

footer .contact .logo {
        margin-bottom: 0rem;
    }
      }

footer .social-media {
    grid-column: 1 / span 12;
    grid-column: 1 / span var(--columns);
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
  }

footer .social-media .icon {
      overflow: hidden;
      text-indent: -9000px;
      width: 2rem;
      height: 2rem;
      background-size: contain;
      background-position: 50% 50%;
      background-repeat: no-repeat;
    }

footer .social-media .icon.facebook {
        background-image: url("data:image/svg+xml,%3Csvg width%3D%2232%22 height%3D%2233%22 viewBox%3D%220 0 32 33%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E    %3Cpath d%3D%22M29.333 16.438c0-7.409-5.97-13.415-13.333-13.415-7.364 0-13.334 6.006-13.334 13.415 0 6.696 4.876 12.246 11.25 13.252v-9.374h-3.385v-3.878h3.385v-2.955c0-3.362 1.991-5.22 5.037-5.22 1.459 0 2.984.263 2.984.263v3.3h-1.68c-1.657 0-2.174 1.035-2.174 2.096v2.516h3.698l-.591 3.878h-3.107v9.374c6.374-1.006 11.25-6.556 11.25-13.252z%22 fill%3D%22%23151712%22%2F%3E%3C%2Fsvg%3E");
      }

footer .social-media .icon.instagram {
        background-image: url("data:image/svg+xml,%3Csvg width%3D%2232%22 height%3D%2233%22 viewBox%3D%220 0 32 33%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E    %3Cg clip-path%3D%22url(%23qxiryg2aka)%22%3E        %3Cpath fill-rule%3D%22evenodd%22 clip-rule%3D%22evenodd%22 d%3D%22M21.333 4.357H10.667A6.667 6.667 0 0 0 4 11.024V21.69a6.667 6.667 0 0 0 6.667 6.667h10.666A6.667 6.667 0 0 0 28 21.69V11.024a6.667 6.667 0 0 0-6.667-6.667zm4.334 17.333a4.347 4.347 0 0 1-4.334 4.334H10.667a4.347 4.347 0 0 1-4.334-4.334V11.024a4.347 4.347 0 0 1 4.334-4.334h10.666a4.347 4.347 0 0 1 4.334 4.334V21.69zm-3.334-10.333a1.333 1.333 0 1 0 0-2.667 1.333 1.333 0 0 0 0 2.667zm-6.333-1a6 6 0 1 0 6 6 5.986 5.986 0 0 0-6-6zm-3.667 6a3.667 3.667 0 1 0 7.334 0 3.667 3.667 0 0 0-7.334 0z%22 fill%3D%22%23151712%22%2F%3E    %3C%2Fg%3E    %3Cdefs%3E        %3CclipPath id%3D%22qxiryg2aka%22%3E            %3Cpath fill%3D%22%23fff%22 transform%3D%22translate(0 .033)%22 d%3D%22M0 0h32v32H0z%22%2F%3E        %3C%2FclipPath%3E    %3C%2Fdefs%3E%3C%2Fsvg%3E");
      }

footer .social-media .icon.linkedin {
        background-image: url("data:image/svg+xml,%3Csvg width%3D%2232%22 height%3D%2233%22 viewBox%3D%220 0 32 33%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E    %3Cpath fill-rule%3D%22evenodd%22 clip-rule%3D%22evenodd%22 d%3D%22M6 4.357a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h20a2 2 0 0 0 2-2v-20a2 2 0 0 0-2-2H6zm5.361 5.337c.007 1.275-.947 2.06-2.08 2.055-1.066-.006-1.996-.855-1.99-2.053.005-1.127.896-2.033 2.053-2.006 1.173.026 2.024.886 2.017 2.004zm5.012 3.679H13.01v11.413h3.551v-1.787c-.002-1.351-.003-2.704.004-4.056.002-.328.017-.67.101-.982.317-1.17 1.37-1.926 2.543-1.74.754.118 1.252.555 1.462 1.265.13.445.188.923.194 1.386.015 1.397.012 2.794.01 4.19l-.001 1.48v.242h3.562v-2.082c-.001-1.506-.002-3.012.002-4.518a8.051 8.051 0 0 0-.238-2.01c-.25-.979-.765-1.789-1.603-2.374-.594-.416-1.247-.684-1.976-.714a18.391 18.391 0 0 1-.251-.013c-.373-.02-.752-.04-1.109.031-1.02.205-1.916.672-2.593 1.495-.079.094-.155.19-.27.333l-.026.032v-1.591zM7.576 24.79h3.534V13.38H7.576v11.41z%22 fill%3D%22%23151712%22%2F%3E%3C%2Fsvg%3E");
      }

footer .social-media .icon.x {
        background-image: url("data:image/svg+xml,%3Csvg width%3D%2232%22 height%3D%2233%22 viewBox%3D%220 0 32 33%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E    %3Cpath d%3D%22M22.901 5.69h3.68l-8.04 9.037L28 27.023h-7.406l-5.8-7.458-6.638 7.458H4.474l8.6-9.665L4 5.69h7.594l5.243 6.817 6.064-6.817zM21.61 24.857h2.04L10.485 7.742H8.298L21.61 24.857z%22 fill%3D%22%23151712%22%2F%3E%3C%2Fsvg%3E");
      }

footer .social-media .icon.youtube {
        background-image: url("data:image/svg+xml,%3Csvg width%3D%2232%22 height%3D%2233%22 viewBox%3D%220 0 32 33%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E    %3Cpath d%3D%22M28.79 9.637a3.34 3.34 0 0 0-2.349-2.355C24.353 6.71 16 6.7 16 6.7s-8.352-.01-10.441.538A3.413 3.413 0 0 0 3.204 9.61c-.55 2.088-.556 6.419-.556 6.419s-.005 4.352.541 6.418A3.34 3.34 0 0 0 5.54 24.8c2.11.573 10.44.582 10.44.582s8.353.01 10.441-.537a3.354 3.354 0 0 0 2.356-2.35c.552-2.087.556-6.417.556-6.417s.027-4.353-.542-6.44zM13.329 20.04l.007-8 6.942 4.006-6.949 3.994z%22 fill%3D%22%23151712%22%2F%3E%3C%2Fsvg%3E");
      }

footer .bottom {
    grid-column: 1 / span 12;
    grid-column: 1 / span var(--columns);
    border-top: 1px solid #151712;
    border-top: 1px solid var(--border-color);
    padding-top: 2rem;
    margin-top: 4rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 2rem;
  }

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

footer .bottom {
      margin-top: 2rem;
      padding-top: 1rem;
      flex-direction: column;
  }
    }

footer .links {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
  }

form .field {
    margin-bottom: 1rem;
  }

form .field input[type="text"],form .field input[type="password"],form .field textarea {
      width: 100%;
    }

form label {
    display: block;
  }

input[type="text"],
input[type="password"],
textarea {
  border: 1px solid #2f626a;
  border: 1px solid var(--link-color);
  padding: 0.75rem;
  border-radius: 0.5rem;
}

header {
  padding: 2rem 4rem 0rem 4rem;
  padding: 2rem var(--outer-padding) 0rem var(--outer-padding);
  margin-bottom: 0.875rem;
}

header .inner {
    max-width: 100%;
    max-width: var(--grid-limit, 100%);
    margin: 0px auto;

    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
    align-items: center;
  }

header .mobile-toggle {
    width: 2.5rem;
    height: 2.5rem;
    overflow: hidden;
    text-indent: -9000px;
    background: transparent url("data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2225%22 viewBox%3D%220 0 24 25%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E    %3Cpath d%3D%22M4 6.702h16v2H4v-2zm0 5h16v2H4v-2zm0 5h16v2H4v-2z%22 fill%3D%22%23151712%22%2F%3E%3C%2Fsvg%3E") 50% 50% no-repeat;
    background-size: 1.75rem;
    display: none;
  }

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

header .mobile-toggle {
      display: block;
  }
    }

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

header nav {
      width: 100%;
      display: none;
  }
    }

header nav ul {
      list-style-type: none;
      margin: 0px;
      padding: 0px;
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 0rem 1.25rem;
      max-width: 100%;
    }

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

header nav ul {
        flex-direction: column;
        align-items: stretch;
    }
      }

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

header nav li {
        padding: 0.75rem 0rem;
        border-top: 1px solid #151712;
        border-top: 1px solid var(--border-color);
    }
        header nav li.contact {
          text-align: right;
          padding-top: 1.5rem;
        }
      }

header nav a:visited {
      -webkit-text-decoration: none;
      text-decoration: none;
    }

header nav a {
      -webkit-text-decoration: none;
      text-decoration: none;
    }

header nav a:hover,header nav a:focus {
      -webkit-text-decoration: underline;
      text-decoration: underline;
    }

header nav .language-switcher {
      display: flex;
      gap: 0.5rem;
      align-items: center;
      font-size: 0.875rem;
    }

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

header nav .language-switcher {
        justify-content: flex-end;
    }
      }

header nav .language-switcher .separator {
        color: #151712;
        color: var(--text-color, #333);
        opacity: 0.5;
      }

header nav .language-switcher a {
        font-weight: 400;
      }

header nav .language-switcher a.current {
          font-weight: 700;
          -webkit-text-decoration: underline;
          text-decoration: underline;
        }

header.show-menu {
    background: #f7f7f7;
    background: var(--background-color);
    position: fixed;
    z-index: 200;
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
  }

header.show-menu .mobile-toggle {
      background-image: url("data:image/svg+xml,%3Csvg width%3D%2225%22 height%3D%2224%22 viewBox%3D%220 0 25 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E    %3Cpath d%3D%22m16.357 6.344-4.243 4.242-4.242-4.242-1.414 1.414L10.7 12l-4.242 4.242 1.414 1.414 4.242-4.242 4.243 4.242 1.414-1.414L13.529 12l4.242-4.242-1.414-1.414z%22 fill%3D%22%23151712%22%2F%3E%3C%2Fsvg%3E");
    }

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

header.show-menu nav {
        display: block;
    }
      }

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

footer {
  margin-top: auto;
}

main,
footer {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

section {
  padding-left: 1rem;
  padding-left: calc(var(--outer-padding)*0.25);
  padding-right: 1rem;
  padding-right: calc(var(--outer-padding)*0.25);
}

section .inner {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-columns: repeat(var(--columns), 1fr);
    grid-column-gap: 2rem;
    grid-column-gap: var(--gutter);
    border-radius: 1rem;
    padding: 4rem 3rem;
    padding: 4rem calc(var(--outer-padding)*0.75);
    max-width: 100%;
    max-width: var(--grid-limit, 100%);
    margin: 0px auto;
  }

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

section .inner {
      border-radius: 0.5rem;
      padding-top: 2rem;
      padding-bottom: 2rem;
  }
    }

.breadcrumbs {
  margin-bottom: 3rem;
}

.breadcrumbs .parent-link {
    -webkit-text-decoration: none;
    text-decoration: none;
    background: url("data:image/svg+xml,%3Csvg width%3D%2225%22 height%3D%2224%22 viewBox%3D%220 0 25 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E    %3Cpath d%3D%22M13.793 6.293 8.086 12l5.707 5.707 1.414-1.414L10.914 12l4.293-4.293-1.414-1.414z%22 fill%3D%22%23102024%22%2F%3E%3C%2Fsvg%3E") top 50% left 0rem no-repeat;
    padding-left: 1.5rem;
  }

.breadcrumbs .parent-link:hover,.breadcrumbs .parent-link:focus {
      -webkit-text-decoration: underline;
      text-decoration: underline;
    }

section.hero .content {
    grid-column: 1 / span 10;
    align-self: end;
    z-index: 2;
  }

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

section.hero .content {
      grid-column: 1 / span 12;
      grid-column: 1 / span var(--columns);
  }
    }

section.hero.image {
    --text-color: var(--white);
    --link-color: var(--text-color);
    color: #fff;
    color: var(--text-color);
    position: relative;
  }

section.hero.image .content {
      text-shadow: 2px 2px 2rem rgba(0, 0, 0, 0.75);
    }

section.hero.image .breadcrumbs .parent-link {
      background-image: url("data:image/svg+xml,%3Csvg width%3D%2225%22 height%3D%2224%22 viewBox%3D%220 0 25 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E    %3Cpath d%3D%22M13.793 6.293 8.086 12l5.707 5.707 1.414-1.414L10.914 12l4.293-4.293-1.414-1.414z%22 fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
    }

section.hero.image .inner {
      background-color: #252525;
      background-color: var(--dark-gray);
      background-position: 50% 50%;
      background-repeat: no-repeat;
      background-size: cover;
      min-height: 56.25vw;
      padding-bottom: 4rem;
      padding-top: 8rem;
    }

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

section.hero.image .inner {
        min-height: 75vw;
        padding-bottom: 2rem;
        padding-top: 4rem;
    }
      }

section.hero.image .inner::before {
        content: "";
        background-image: linear-gradient(to top, #000, rgba(0, 0, 0, 0) 50%);
        position: absolute;
        top: 0px;
        bottom: 0px;
        left: 1rem;
        left: calc(var(--outer-padding)*0.25);
        right: 1rem;
        right: calc(var(--outer-padding)*0.25);
        opacity: 0.5;
        z-index: 1;
        border-radius: 1rem;
      }

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

section.hero.image .inner::before {
          border-radius: 0.5rem;
      }
        }

section.page .inner {
    row-gap: 2rem;
  }

section.page .intro {
    grid-column: 1 / span 10;
    margin-bottom: 7rem;
  }

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

section.page .intro {
      grid-column: 1 / span 12;
      grid-column: 1 / span var(--columns);
      margin-bottom: 4rem;
  }
    }

section.page aside {
    grid-column: 1 / span 4;
  }

section.page .main-image {
    grid-column: 5 / span 8;
    margin-bottom: 7rem;
  }

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

section.page .main-image {
      grid-column: 1 / span 12;
      grid-column: 1 / span var(--columns);
      margin-bottom: 4rem;
  }
    }

section.page .body {
    grid-column: 5 / span 8;
  }

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

section.page .body {
      grid-column: 1 / span 12;
      grid-column: 1 / span var(--columns);
  }
    }

section.page .inquiry-form {
    grid-column: 5 / span 7;
  }

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

section.page .inquiry-form {
      grid-column: 1 / span 12;
      grid-column: 1 / span var(--columns);
  }
    }

section.page.article .inner {
      background: #fff;
      background: var(--white);
    }

section.page .image-grid {
    margin: 4rem 0rem;
  }

section.page .image-grid:first-child {
    margin-top: 0px;
  }

section.page .image-grid:last-child {
    margin-bottom: 0px;
  }

section.page .image-grid {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    grid-column-gap: 2rem;
    grid-column-gap: var(--gutter);
    grid-row-gap: 2rem;
    grid-row-gap: var(--gutter);
  }

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

section.page .image-grid {
      grid-template-columns: repeat(12, 1fr);
      grid-template-columns: repeat(var(--columns), 1fr);
  }
    }

section.page .image-grid figure.image {
      grid-column: span 4;
      margin: 0rem;
    }

section.page-grid.background .inner {
    background: #fff;
    background: var(--white);
  }

section.page-grid .inner {
    row-gap: 2rem;
  }

section.page-grid .item {
    grid-column: span 4;
    -webkit-text-decoration: none;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    color: #151712;
    color: var(--text-color);
  }

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

section.page-grid .item {
      grid-column: span 6;
  }
    }

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

section.page-grid .item {
      grid-column: span 4;
  }
    }

section.page-grid .item .item-image {
      background: #f7f7f7;
      background: var(--light-gray);
      padding-bottom: 56.25%;
      position: relative;
    }

section.page-grid .item .item-image,section.page-grid .item .item-image img {
        border-radius: 0.5rem;
      }

section.page-grid .item .item-image img {
        position: absolute;
      }

section.page-grid .item h2,section.page-grid .item h3 {
      color: #2f626a;
      color: var(--link-color);
    }

section.page-grid .item:hover h2,section.page-grid .item:focus h2,section.page-grid .item:hover h3,section.page-grid .item:focus h3 {
        -webkit-text-decoration: underline;
        text-decoration: underline;
        color: #151712;
        color: var(--link-color-hover);
      }

section.page-grid .see-all {
    grid-column: 1 / span 12;
    grid-column: 1 / span var(--columns);
    text-align: right;
  }

.pagination {
  grid-column: span 12;
  grid-column: span var(--columns);
  display: flex;
  gap: 1rem;
  margin: 3rem 0rem;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.pagination a,.pagination a:visited {
    color: inherit;
    -webkit-text-decoration: none;
    text-decoration: none;
  }

.pagination a:hover {
    -webkit-text-decoration: underline;
    text-decoration: underline;
  }

.pagination:first-child {
    margin-top: 0px;
  }

.pagination:last-child {
    margin-bottom: 0px;
  }

.pagination .previous_page,.pagination .next_page {
    border: 1px solid #151712;
    border: 1px solid var(--border-color);
    font-style: normal;
    padding: 0.75rem 1.25rem;
    border-radius: 3rem;
  }

.pagination .current {
    font-style: normal;
    font-weight: 700;
  }

.pagination .previous_page {
    margin-right: auto;
  }

.pagination .next_page {
    margin-left: auto;
  }

.pagination span.previous_page,.pagination span.next_page {
    opacity: 0.5;
    font-style: normal;
  }

@media screen and (max-width: 767px) {
    .pagination a,.pagination .gap {
      display: none;
    }
    .pagination .previous_page,.pagination .next_page {
      display: block;
    }
  }
