/*! 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 {
  --black: #1a1a1a;
  --white: #f5f5f5;

  --background-color: var(--black);
  --background-invert-color: var(--white);
  --text-color: var(--white);
  --text-invert-color: #353535;
  --border-color: #888888;
}

@font-face {
  font-family: "Inter UI";
  font-style: normal;
  font-weight: 400;
  src:
    url("/assets/Inter-UI-Regular-5324dcad.woff2") format("woff2"),
    url("/assets/Inter-UI-Regular-1caed4de.woff") format("woff");
}

@font-face {
  font-family: "Inter UI";
  font-style: italic;
  font-weight: 400;
  src:
    url("/assets/Inter-UI-Italic-a0d3d138.woff2") format("woff2"),
    url("/assets/Inter-UI-Italic-3910f722.woff") format("woff");
}

@font-face {
  font-family: "Inter UI";
  font-style: normal;
  font-weight: 500;
  src:
    url("/assets/Inter-UI-Medium-c388a152.woff2") format("woff2"),
    url("/assets/Inter-UI-Medium-e71adbbe.woff") format("woff");
}

@font-face {
  font-family: "Inter UI";
  font-style: italic;
  font-weight: 500;
  src:
    url("/assets/Inter-UI-MediumItalic-4c2ad74e.woff2") format("woff2"),
    url("/assets/Inter-UI-MediumItalic-052ab21f.woff") format("woff");
}

@font-face {
  font-family: "Inter UI";
  font-style: normal;
  font-weight: 700;
  src:
    url("/assets/Inter-UI-Bold-867e6069.woff2") format("woff2"),
    url("/assets/Inter-UI-Bold-720c8eac.woff") format("woff");
}

@font-face {
  font-family: "Inter UI";
  font-style: italic;
  font-weight: 700;
  src:
    url("/assets/Inter-UI-BoldItalic-23053c5d.woff2") format("woff2"),
    url("/assets/Inter-UI-BoldItalic-10436efd.woff") format("woff");
}

@font-face {
  font-family: "Inter UI";
  font-style: normal;
  font-weight: 900;
  src:
    url("/assets/Inter-UI-Black-c060559e.woff2") format("woff2"),
    url("/assets/Inter-UI-Black-526e2277.woff") format("woff");
}

@font-face {
  font-family: "Inter UI";
  font-style: italic;
  font-weight: 900;
  src:
    url("/assets/Inter-UI-BlackItalic-f46816e3.woff2") format("woff2"),
    url("/assets/Inter-UI-BlackItalic-72305155.woff") format("woff");
}

:root {
  --vw-scale: 0.0625vw;
  --columns: 12;
  --column-px: 85;
  --gutter-px: 35;
  --inner-width: calc(var(--columns)*var(--column-px) + (var(--columns) - 1)*var(--gutter-px));
  --column-width: calc(var(--column-px)/var(--inner-width));
  --gutter-width: calc(var(--gutter-px)/var(--inner-width));
}

:root {
  --font-sans: "Inter UI", Helvetica, Arial, sans-serif;
}

h1 {
  font: bold 48px/1.2 "Inter UI", Helvetica, Arial, sans-serif;
  font: bold 48px/1.2 var(--font-sans);
  margin-bottom: 60px;
}

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

h1 {
    font: bold 32px/1.2 "Inter UI", Helvetica, Arial, sans-serif;
    font: bold 32px/1.2 var(--font-sans);
}
  }

h2 {
  font: normal 17px/1.41 "Inter UI", Helvetica, Arial, sans-serif;
  font: normal 17px/1.41 var(--font-sans);
}

h3,
.contact h2,
.about h2 {
  font: bold 13px/1.38 "Inter UI", Helvetica, Arial, sans-serif;
  font: bold 13px/1.38 var(--font-sans);
  text-transform: uppercase;
  letter-spacing: 1px;
}

body {
  text-rendering: optimizeLegibility;
  font: normal 13px/1.45 "Inter UI", Helvetica, Arial, sans-serif;
  font: normal 13px/1.45 var(--font-sans);
}

.body {
  font: normal 17px/1.45 "Inter UI", Helvetica, Arial, sans-serif;
  font: normal 17px/1.45 var(--font-sans);
}

.excerpt,
.home.page .main,
.home.page .cases .info,
.page .intro,
.page .page-content h2 {
  font: normal 23px/1.3 "Inter UI", Helvetica, Arial, sans-serif;
  font: normal 23px/1.3 var(--font-sans);
}

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

.page .intro {
    font: normal 17px/1.45 "Inter UI", Helvetica, Arial, sans-serif;
    font: normal 17px/1.45 var(--font-sans);
}
  }

.excerpt {
  margin-bottom: 60px;
}

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

body {
  background: #1a1a1a;
  background: var(--background-color);
  color: #f5f5f5;
  color: var(--text-color);
}

header,
footer,
.cases {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.inner {
  width: 87.8125vw;
  width: calc(var(--inner-width)*var(--vw-scale));
  margin-left: auto;
  margin-right: auto;
}

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

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

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

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

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

h2: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;
  }

header:after {
    content: "";
    display: table;
    clear: both;
  }

footer:after {
    content: "";
    display: table;
    clear: both;
  }

header .inner,footer .inner {
    position: relative;
  }

header .logo,footer .logo {
    display: block;
    width: 31.6725978648%;
    width: calc(100%*(var(--column-width)*4 + var(--gutter-width)*3));
    height: 11.25vw;
    height: calc(var(--vw-scale)*180);
    margin-top: 1.8125vw;
    margin-top: calc(var(--vw-scale)*29);
    position: absolute;
    right: 22.5vw;
    right: calc((var(--column-px)*3 + var(--gutter-px)*3)*var(--vw-scale));
  }

header .logo,footer .logo,header .logo a,footer .logo a {
      color: white;
    }

header .logo a,footer .logo a {
      display: block;
      text-indent: -9000px;
      background: url("data:image/svg+xml,%3Csvg id%3D%22Layer_1%22 data-name%3D%22Layer 1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 174.64 45.85%22%3E  %3Cdefs%3E    %3Cstyle%3E      .cls-1 %7B        fill%3A %23f5f5f5%3B      %7D    %3C%2Fstyle%3E  %3C%2Fdefs%3E  %3Ctitle%3EAnyone%3C%2Ftitle%3E  %3Cg%3E    %3Cpath class%3D%22cls-1%22 d%3D%22M35.88%2C33.73v.92H19.67v-.92l4.79-1.13-3.61-10H10.18l-3.5%2C9.7%2C3.72%2C1.46v.92H0v-.92l3.77-1.62L16.33%2C0h3L31.52%2C32.33ZM15.52%2C7.87h-.11L10.83%2C20.69h9.32Z%22%2F%3E    %3Cpath class%3D%22cls-1%22 d%3D%22M61.37%2C32.76l3.39%2C1.13v.75H52.59v-.75l3-1.13V19.18c0-3.5-1.08-5.6-4.42-5.6a11.15%2C11.15%2C0%2C0%2C0-5.44%2C1.35V32.76l3%2C1.13v.75H36.59v-.75L40%2C32.76V14.44L36.59%2C12v-.54l8.62-2.1.22.16-.11%2C4.36.21.11c3.18-3%2C6.3-4.53%2C9.21-4.53%2C4.85%2C0%2C6.63%2C3.66%2C6.63%2C7.49Z%22%2F%3E    %3Cpath class%3D%22cls-1%22 d%3D%22M79.64%2C36.31c-2.69%2C6.63-5.23%2C9.54-8.57%2C9.54-2.86%2C0-4.2-1.67-4.2-3.39a3.21%2C3.21%2C0%2C0%2C1%2C3.23-3.07c1.83%2C0%2C2.91%2C1%2C4.2%2C2.59a20.91%2C20.91%2C0%2C0%2C0%2C3-4.58l.92-2-9.54-23L65.36%2C11v-.7H78.51V11l-3.45%2C1.29%2C5.82%2C15.79h.27l5.28-15.41L83.3%2C11v-.7h9.27V11l-3.5%2C1.78Z%22%2F%3E    %3Cpath class%3D%22cls-1%22 d%3D%22M105.23%2C35.51C97%2C35.51%2C93%2C29.63%2C93%2C22.47c0-6.63%2C4.63-13%2C12.93-13s12.12%2C5.82%2C12.12%2C12.93C118.06%2C29.09%2C113.53%2C35.51%2C105.23%2C35.51ZM105.45%2C11c-3.77%2C0-6.09%2C4.2-6.09%2C11.58S101.84%2C34%2C105.66%2C34s6.09-4.2%2C6.09-11.58S109.44%2C11%2C105.45%2C11Z%22%2F%3E    %3Cpath class%3D%22cls-1%22 d%3D%22M146.08%2C32.76l3.39%2C1.13v.75H137.29v-.75l3-1.13V19.18c0-3.5-1.08-5.6-4.42-5.6a11.15%2C11.15%2C0%2C0%2C0-5.44%2C1.35V32.76l3%2C1.13v.75H121.29v-.75l3.39-1.13V14.44L121.29%2C12v-.54l8.62-2.1.22.16L130%2C13.9l.22.11c3.18-3%2C6.3-4.53%2C9.21-4.53%2C4.85%2C0%2C6.63%2C3.66%2C6.63%2C7.49Z%22%2F%3E    %3Cpath class%3D%22cls-1%22 d%3D%22M157.88%2C20.64c0%2C6.84%2C1.94%2C11.31%2C8%2C11.31A22.11%2C22.11%2C0%2C0%2C0%2C174%2C30.23l.32.65c-3.29%2C2.86-7%2C4.63-10.4%2C4.63-7.38%2C0-12.23-5.07-12.23-12.55%2C0-7.7%2C5.82-13.47%2C12.39-13.47%2C7.11%2C0%2C10.56%2C4.8%2C10.51%2C11.15ZM168.6%2C18.8c-.21-5.06-1.67-7.81-4.85-7.81s-5.55%2C3.29-5.82%2C8.3Z%22%2F%3E  %3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center top;
      background-size: contain;
      width: 100%;
      height: 100%;
    }

header .contact,footer .contact {
    float: right;
    padding: 2.25vw 1.125vw;
    padding: calc(var(--vw-scale)*36) calc(var(--vw-scale)*18);
    border-left: 1px solid #888888;
    border-left: 1px solid var(--border-color);
    margin-left: 2.4911032028%;
    margin-left: calc(100%*var(--gutter-width));
    width: 23.1316725979%;
    width: calc(100%*(var(--column-width)*3 + var(--gutter-width)*2));
  }

header .contact a:visited {
      color: #f5f5f5;
      color: var(--text-color);
      -webkit-text-decoration: underline;
      text-decoration: underline;
    }

footer .contact a:visited {
      color: #f5f5f5;
      color: var(--text-color);
      -webkit-text-decoration: underline;
      text-decoration: underline;
    }

header .contact a,footer .contact a {
      color: #f5f5f5;
      color: var(--text-color);
      -webkit-text-decoration: underline;
      text-decoration: underline;
    }

header .contact a:hover,footer .contact a:hover,header .contact a:focus,footer .contact a:focus {
      -webkit-text-decoration: underline;
      text-decoration: underline;
    }

@media screen and (max-width: 1000px) {
    header .logo,footer .logo {
      position: relative;
      float: none;
      margin-left: 0px;
      margin-bottom: 30px;
      right: 0px;
      width: 66%;
      height: 84px;
      background-position: left bottom;
    }

    header .contact,footer .contact {
      float: left;
      margin-left: 0px;
      padding: 36px 18px;
      width: 100%;
    }
  }

@media screen and (min-width: 1001px) {

header {
    position: absolute;
    width: 100%;
    padding-bottom: 3.75vw;
    padding-bottom: calc(var(--vw-scale)*60);
    z-index: 100;
}

    header .logo {
      transition: width 150ms ease-out;
    }

    header.fixed {
      position: fixed;
      top: 0px;
    }

    header.bottom {
      position: absolute;
      bottom: 0px;
      height: auto;
    }
      header.fixed .logo,header.bottom .logo {
        width: 6.25vw;
        width: calc(var(--vw-scale)*100);
      }

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

header {
      padding-top: 115px;
      padding-bottom: 100px;
}
    }
  }

footer {
  position: relative;
  padding-top: 10vw;
  padding-top: calc(var(--vw-scale)*160);
  padding-bottom: 21.25vw;
  padding-bottom: calc(var(--vw-scale)*340);
}

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

footer {
    padding: 60px 0px 120px 0px;
}
  }

footer .footer-links {
    position: absolute;
    left: 00px;
    bottom: 60px;
    width: 100%;
  }

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

footer .footer-links {
      bottom: 20px;
  }
    }

footer .footer-links a:visited {
      color: #f5f5f5;
      color: var(--text-color);
    }

footer .footer-links a {
      color: #f5f5f5;
      color: var(--text-color);
    }

.home.page section.about:after {
    content: "";
    display: table;
    clear: both;
  }

.home.page section.about {
    background: #f5f5f5;
    background: var(--background-invert-color);
    color: #353535;
    color: var(--text-invert-color);
    padding: 3.75vw 0px;
    padding: calc(var(--vw-scale)*60) 0px;
  }

.home.page section.about a:visited {
      color: #353535;
      color: var(--text-invert-color);
      -webkit-text-decoration: underline;
      text-decoration: underline;
    }

.home.page section.about a {
      color: #353535;
      color: var(--text-invert-color);
      -webkit-text-decoration: underline;
      text-decoration: underline;
    }

.home.page .main {
    float: left;
    width: 31.6725978648%;
    width: calc(100%*(var(--column-width)*4 + var(--gutter-width)*3));
    margin-right: 17.0818505338%;
    margin-right: calc(100%*(var(--column-width)*2 + var(--gutter-width)*2));
    padding: 2.25vw 2.1875vw
      2.25vw 0px;
    padding: calc(var(--vw-scale)*36) calc(var(--gutter-px)*var(--vw-scale))
      calc(var(--vw-scale)*36) 0px;
  }

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

.home.page .main {
    width: 100%;
    margin-left: 0px;
    margin-right: 0px;
    float: none;
      padding: 36px 0px;
  }
  }

.home.page .column {
    float: left;
    width: 23.1316725979%;
    width: calc(100%*(var(--column-width)*3 + var(--gutter-width)*2));
    margin-left: 2.4911032028%;
    margin-left: calc(100%*var(--gutter-width));
    border-left: 1px solid #888888;
    border-left: 1px solid var(--border-color);
    padding: 2.25vw 1.125vw;
    padding: calc(var(--vw-scale)*36) calc(var(--vw-scale)*18);
  }

.home.page .column ul {
      list-style-type: none;
      margin: 0px;
      padding: 0px;
    }

.home.page .column ul ul {
        margin-left: 20px;
      }

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

.home.page .column {
    width: 100%;
    margin-left: 0px;
    margin-right: 0px;
    float: none;
      padding: 36px 18px;
      margin: 30px 0px;
  }
  }

.home.page .cases {
    position: relative;
    overflow: hidden;
    padding-bottom: 7.5vw;
    padding-bottom: calc(var(--vw-scale)*120);
  }

.home.page .cases .case:after {
    content: "";
    display: table;
    clear: both;
  }

.home.page .cases .case {
      margin-bottom: 4.375vw;
      margin-bottom: calc(var(--vw-scale)*70);
    }

.home.page .cases .case:first-child {
        margin-top: 26.875vw;
        margin-top: calc(var(--vw-scale)*430);
      }

.home.page .cases .case .images {
        position: relative;
        width: 74.3772241993%;
        width: calc(100%*(var(--column-width)*9 + var(--gutter-width)*8));
        margin-bottom: 60px;
      }

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

.home.page .cases .case .images {
          width: 178%;
          margin-left: -39%;
      }
        }

.home.page .cases .case .images img {
          width: 100%;
          height: auto;
        }

.home.page .cases .case .images img.overlay {
            position: absolute;
            top: 0px;
            left: 0px;
          }

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

.home.page .cases .case {
        margin-bottom: 30px;
    }
      }

.home.page .cases .case .info {
        width: 48.7544483986%;
        width: calc(100%*(var(--column-width)*6 + var(--gutter-width)*5));
        margin-bottom: 3.75vw;
        margin-bottom: calc(var(--vw-scale)*60);
      }

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

.home.page .cases .case .info {
    width: 100%;
    margin-left: 0px;
    margin-right: 0px;
    float: none;
          margin-bottom: 30px;
      }
  }

.home.page .cases .case .info a:visited {
          color: #f5f5f5;
          color: var(--text-color);
          -webkit-text-decoration: none;
          text-decoration: none;
        }

.home.page .cases .case .info a {
          color: #f5f5f5;
          color: var(--text-color);
          -webkit-text-decoration: none;
          text-decoration: none;
        }

.home.page .cases .case .info a:hover,.home.page .cases .case .info a:focus {
          border-bottom: 2px solid #f5f5f5;
          border-bottom: 2px solid var(--text-color);
        }

.illustration {
  position: relative;
}

.illustration svg {
    position: relative;
    z-index: 10;
  }

.illustration svg .outline {
      fill: none;
      stroke: #888888;
      stroke: var(--border-color);
      stroke-linejoin: round;
      stroke-width: 1px;
      vector-effect: non-scaling-stroke;
      shape-rendering: geometricPrecision;
    }

.illustration svg .outline {
        stroke: #333333;
        stroke-dasharray: 2500px;
        stroke-dashoffset: 2500px;
        animation-name: animate-drawing;
        animation-duration: 3000ms;
        animation-fill-mode: forwards;
        animation-iteration-count: 1;
        animation-timing-function: ease-in-out;
      }

.illustration svg .mask {
      fill: #22a7f0;
    }

@keyframes animate-drawing {
  to {
    stroke: #888888;
    stroke: var(--border-color);
    stroke-dashoffset: 0;
  }
}

.page {
  margin-top: 4.375vw;
  margin-top: calc(var(--vw-scale)*70);
}

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

.page {
    margin-top: 40px;
}
  }

.page .intro {
    margin-bottom: 8.75vw;
    margin-bottom: calc(var(--vw-scale)*140);
  }

.page .intro p {
      width: 57.2953736655%;
      width: calc(100%*(var(--column-width)*7 + var(--gutter-width)*6));
    }

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

.page .intro p {
    width: 100%;
    margin-left: 0px;
    margin-right: 0px;
    float: none;
    }
  }

.page .header {
    position: relative;
    overflow: hidden;
    padding-bottom: 15vw;
    padding-bottom: calc(var(--vw-scale)*240);
    min-height: 500px;
  }

.page .content {
    background: #f5f5f5;
    background: var(--background-invert-color);
    color: #353535;
    color: var(--text-invert-color);
    padding-top: 3.75vw;
    padding-top: calc(var(--vw-scale)*60);
    padding-bottom: 7.5vw;
    padding-bottom: calc(var(--vw-scale)*120);
  }

.page .content a:visited {
      color: #353535;
      color: var(--text-invert-color);
      -webkit-text-decoration: underline;
      text-decoration: underline;
    }

.page .content a {
      color: #353535;
      color: var(--text-invert-color);
      -webkit-text-decoration: underline;
      text-decoration: underline;
    }

.page .page-content {
    margin-left: 25.6227758007%;
    margin-left: calc(100%*(var(--column-width)*3 + var(--gutter-width)*3));
    width: 48.7544483986%;
    width: calc(100%*(var(--column-width)*6 + var(--gutter-width)*5));
  }

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

.page .page-content {
    width: 100%;
    margin-left: 0px;
    margin-right: 0px;
    float: none;
  }
  }

.page .page-content h2 {
      font-weight: bold;
      margin-top: 40px;
    }
