@charset "UTF-8";
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  touch-action: none;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-list, .slick-track, .slick-slide, .slick-slide img {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  zoom: 1;
}

.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal;
}
.slick-prev, .slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0;
  font-size: 0;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  margin-top: -10px;
  padding: 0;
  border: none;
  outline: none;
}

.slick-prev:focus, .slick-next:focus {
  outline: none;
}

.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before {
  opacity: 0.25;
}

.slick-prev:before, .slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: #fff;
  opacity: 0.85;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}

.slick-prev:before {
  content: "←";
}

.slick-next {
  right: -25px;
}

.slick-next:before {
  content: "→";
}

.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -45px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0px;
  width: 100%;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0px 5px;
  padding: 0px;
  cursor: pointer;
}

.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: 0;
  line-height: 0;
  font-size: 0;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}

.slick-dots li button:focus {
  outline: 0;
}

.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: #000;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
  opacity: 0.75;
}

/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

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

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

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

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

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

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

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

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

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

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

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

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

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

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}

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

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit; /* 1 */
  font: inherit; /* 2 */
  margin: 0; /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}

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

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

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

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

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

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type=checkbox],
input[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

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

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

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

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

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}

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

td,
th {
  padding: 0;
}

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

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

/* ==============================================================
   Grid
   ============================================================== */
/* Breakpoints
   ============================================================== */
/* Padding
   ============================================================== */
/* ==============================================================
   Mixins
   ============================================================== */
/* ==============================================================
   Helpers
   ============================================================== */
.is-not-displayed {
  display: none !important;
}

.is-visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

/* ==============================================================
   Color
   ============================================================== */
/* ==============================================================
   Typography
   ============================================================== */
/* ==============================================================
   Variables
   ============================================================== */
/* ==============================================================
   Helpers
   ============================================================== */
/* ==============================================================
   Fonts
   ============================================================== */
/* ==============================================================
   Headings
   ============================================================== */
/* ==============================================================
   Body Copy
   ============================================================== */
/* ==============================================================
   Base Typography
   ============================================================== */
html {
  font-size: 62.5%;
}

body {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: subpixel-antialiased;
  color: #222;
}
@media (min-width: 62.5em) {
  body {
    line-height: 2;
  }
}

/* ==============================================================
   Text Selection
   ============================================================== */
::-moz-selection {
  background: #999999;
  text-shadow: none;
}

::selection {
  background: #999999;
  text-shadow: none;
}

/* ==============================================================
   Base
   ============================================================== */
:root {
  --global-grid-columns: 12;
  --span-1: calc((1 / var(--global-grid-columns) * 100%));
  --span-3: calc((3 / var(--global-grid-columns) * 100%));
  --span-4: calc((4 / var(--global-grid-columns) * 100%));
  --span-6: calc((6 /var(--global-grid-columns) * 100%));
  --span-8: calc((8 / var(--global-grid-columns) * 100%));
  --span-10: calc((10 / var(--global-grid-columns) * 100%));
  --span-12: calc((12 / var(--global-grid-columns) * 100%));
}

* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
}

img {
  display: block;
  height: auto;
  max-width: 100%;
}

.lazyload,
.lazyloading {
  opacity: 0;
}

.lazyloaded {
  opacity: 1;
  transition: opacity 300ms;
}

/* ==============================================================
   About Service
   ============================================================== */
.about-service {
  padding-bottom: 2.3076923077em;
}
.about-service svg {
  display: block;
  margin: 0 auto;
}
.about-service .heading-set {
  margin-top: 2.3076923077em;
  margin-bottom: 1.2307692308em;
  min-height: 3.3076923077em;
}

.about-service__description {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-bottom: 2.6666666667em;
  line-height: 1.9;
}

/* ==============================================================
   Additional Service Line
   ============================================================== */
.additional-service-line {
  margin-top: 5%;
}
.additional-service-line p {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 10px;
  font-size: 1rem;
  line-height: 2.2;
  display: inline-block;
  margin-right: 1.1538461538em;
  line-height: 1.9;
}
.additional-service-line strong {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 700;
  font-size: 11px;
  font-size: 1.1rem;
  line-height: 1.6;
  text-transform: uppercase;
  color: #222;
}
.additional-service-line a {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 10px;
  font-size: 1rem;
  line-height: 2.2;
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #222;
}

/* ==============================================================
   Anchor
   ============================================================== */
.anchor {
  position: absolute;
  margin-top: -40px;
}

/* ==============================================================
   Anim Panel
   ============================================================== */
.anim-panel {
  position: fixed;
  top: 20px;
  right: 20px;
  width: 300px;
  z-index: 99999;
}
.anim-panel .ui-slider {
  margin-top: 8px;
}

.anim-panel__button {
  cursor: pointer;
  display: inline-block;
  font-family: "Helvetica Neue", Helvetica, Arial;
  font-size: 12px;
  line-height: 1;
  color: #fff;
  padding: 5px;
}
.anim-panel__button:hover {
  color: #000;
}
.anim-panel__button.is-active {
  color: #000;
}

/* ==============================================================
   Approach Intro Graphic
   ============================================================== */
.approach-intro-graphic {
  position: relative;
}
.approach-intro-graphic svg {
  display: block;
  margin: 0 auto;
}

.approach-intro-graphic__before,
.approach-intro-graphic__after {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 700;
  font-size: 11px;
  font-size: 1.1rem;
  line-height: 1.6;
  text-transform: uppercase;
  font-size: 10px;
  font-size: 1rem;
  line-height: auto;
  position: absolute;
  color: #0085a1;
  top: 1.3em;
}

.approach-intro-graphic__before {
  left: -5em;
}
.approach-intro-graphic__before span {
  display: inline-block;
  border-bottom: 1px solid #0085a1;
  width: 5em;
  margin: 0 0.3em;
}

.approach-intro-graphic__after {
  right: -3.2em;
}

/* ==============================================================
   Author
   ============================================================== */
.author--small .author__image {
  width: 60px;
  margin-right: 1.5rem;
}

.author__meta {
  display: flex;
  align-items: center;
  margin-bottom: 2rem;
  text-decoration: none;
  color: inherit;
}
@media (min-width: 39.375em) {
  .author__meta {
    margin-bottom: 1rem;
    align-items: flex-start;
    position: relative;
  }
}

.author__image {
  display: inline-block;
  margin-right: 2rem;
  width: 60px;
}
.author__image img {
  max-width: 100%;
  display: block;
}

.author__byline {
  display: inline-block;
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 19px;
  font-size: 1.9rem;
  line-height: auto;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.4;
  border-bottom: 0;
}

@media (min-width: 39.375em) {
  .author:not(.author--small) .author__byline,
  .author:not(.author--small) .author__description {
    margin-left: calc(120px + 3rem);
  }
}
@media (min-width: 39.375em) {
  .author:not(.author--small) .author__image {
    position: absolute;
    width: 120px;
    margin-right: 3rem;
  }
}

.author__description a {
  text-decoration: none;
  color: inherit;
}

.author__bio {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media (min-width: 39.375em) {
  .author__bio {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: auto;
  }
}
.author__bio a {
  border-bottom: 2px solid #bdbdbd;
}
.author__bio a:hover {
  border-color: #222;
}

/* ==============================================================
   Block
   ============================================================== */
.block {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* Centering
   ============================================================== */
/* Padding
   ============================================================== */
@media (min-width: 0) and (max-width: 39.375em) {
  .block {
    padding-right: 12.5%;
    padding-left: 12.5%;
  }
}

@media (min-width: 0) and (max-width: 39.375em) {
  .block--container {
    padding: 0;
  }
}

.block--padding-all {
  padding: 12.5%;
}
@media (min-width: 39.375em) {
  .block--padding-all {
    padding: 8.3333333333%;
  }
}

@media (min-width: 39.375em) {
  .block--padding-top {
    padding-top: calc((1 / 12 * 100%));
    padding-top: var(--span-1);
  }
}

@media (min-width: 39.375em) {
  .block--padding-right {
    padding-right: calc((1 / 12 * 100%));
    padding-right: var(--span-1);
  }
}

@media (min-width: 39.375em) {
  .block--padding-bottom {
    padding-bottom: calc((1 / 12 * 100%));
    padding-bottom: var(--span-1);
  }
}

@media (min-width: 39.375em) {
  .block--padding-left {
    padding-left: calc((1 / 12 * 100%));
    padding-left: var(--span-1);
  }
}

@media (min-width: 0) and (max-width: 39.375em) {
  .block--mobile-padding-top {
    padding-top: 12.5%;
  }
}

@media (min-width: 0) and (max-width: 39.375em) {
  .block--mobile-padding-bottom {
    padding-bottom: 12.5%;
  }
}

.block--no-padding {
  padding: 0;
}

/* Gutter
   ============================================================== */
@media (min-width: 39.375em) {
  .block--gutter-left {
    padding-left: 1.8461538462em;
  }
}

@media (min-width: 39.375em) {
  .block--gutter-right {
    padding-right: 1.8461538462em;
  }
}

@media (min-width: 39.375em) {
  .block--gutter-left.block--gutter-right {
    padding-left: 0.9230769231em;
    padding-right: 0.9230769231em;
  }
}

/* Width
   ============================================================== */
.block--full {
  width: calc((12 / 12 * 100%));
  width: var(--span-12);
}

@media (min-width: 39.375em) {
  .block--half {
    width: calc((6 /12 * 100%));
    width: var(--span-6);
  }
}

@media (min-width: 39.375em) {
  .block--two-thirds {
    width: calc((8 / 12 * 100%));
    width: var(--span-8);
  }
}

@media (min-width: 39.375em) {
  .block--third {
    width: calc((4 / 12 * 100%));
    width: var(--span-4);
  }
}

@media (min-width: 39.375em) {
  .block--quarter {
    width: calc((6 /12 * 100%));
    width: var(--span-6);
  }
}
@media (min-width: 62.5em) {
  .block--quarter {
    width: calc((3 / 12 * 100%));
    width: var(--span-3);
  }
}

/* Gutters
   ============================================================== */
/* Floating
   ============================================================== */
@media (min-width: 39.375em) {
  .block--left {
    float: left;
  }
}

@media (min-width: 39.375em) {
  .block--right {
    float: right;
  }
}

/* On Dark
   ============================================================== */
.block--on-dark {
  color: #fff !important;
}

/* Container
   ============================================================== */
.block--container {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}
.block--container::after {
  content: " ";
  display: block;
  clear: both;
}

@media (min-width: 39.375em) {
  .block--container--match-heights {
    display: table;
    table-layout: fixed;
  }
  .block--container--match-heights .block {
    display: table-cell;
    float: none;
    vertical-align: top;
  }
}

@media (min-width: 0) and (max-width: 39.375em) {
  .block--container--no-small-bg {
    background-image: none !important;
  }
}

/* Background Colors
   ============================================================== */
.block--bg-blue {
  background-color: #0085a1;
}

.block--bg-med-blue {
  background-color: #66b6c7;
}

.block--bg-light-blue {
  background-color: #ebf5f7;
}

/* Center
   ============================================================== */
.block--center-vertical:before {
  display: inline-block;
  margin-right: -0.3076923077em;
  width: 0.3%;
  height: 100%;
  content: "";
  vertical-align: middle;
}
.block--center-vertical .block__inner {
  display: inline-block;
  width: 99.6%;
  vertical-align: middle;
}

.block--center-horizontal {
  text-align: center;
}

/* Content Types
   ============================================================== */
.block--quote .quote + .button-small,
.block--intro .quote + .button-small {
  display: inline-block;
  margin-top: 12.5%;
}
@media (min-width: 39.375em) {
  .block--quote .quote + .button-small,
  .block--intro .quote + .button-small {
    margin-top: 4.5em;
  }
}

.block--image {
  text-align: center;
}
@media (min-width: 0) and (max-width: 39.375em) {
  .block--image.block--full:not(.block--padding-left):not(.block--padding-right) {
    padding-left: 0;
    padding-right: 0;
  }
}

.block--video video {
  max-width: 100%;
  margin: 0 auto;
  display: block;
}

.block--embedded-video {
  position: relative;
  cursor: pointer;
}
.block--embedded-video iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 0;
}
.block--embedded-video svg {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 25%;
  height: 25%;
  transform: translateX(-50%) translateY(-50%) translateZ(0);
  z-index: 2;
  transition: all 1s cubic-bezier(0.19, 1, 0.22, 1);
  opacity: 0.75;
}
.block--embedded-video img {
  position: relative;
  z-index: 2;
  transform: translateZ(0);
  transition: opacity 1s cubic-bezier(0.19, 1, 0.22, 1);
}
.block--embedded-video:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  background: black;
  z-index: 1;
}
.block--embedded-video:hover img {
  opacity: 0.8;
}
.block--embedded-video:hover svg {
  opacity: 1;
}
.block--embedded-video.is-playing img,
.block--embedded-video.is-playing svg, .block--embedded-video.is-playing:after {
  opacity: 0;
  pointer-events: none;
}

.block--gallery {
  text-align: center;
}
.block--gallery > .block__inner > img,
.block--gallery > .block__inner > span {
  display: block;
}
.block--gallery img + img,
.block--gallery span + span {
  margin-top: calc((1 / 12 * 100%));
  margin-top: var(--span-1);
}

.block--page-header {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  padding-top: 0;
}
.block--page-header::after {
  content: " ";
  display: block;
  clear: both;
}
@media (min-width: 39.375em) {
  .block--page-header {
    padding-top: calc(calc((1 / 12 * 100%)) / 2 * 100%);
    padding-top: calc(var(--span-1) / 2 * 100%);
  }
}
.block--page-header .heading-set {
  margin-top: 4rem;
}
.block--page-header .quote {
  margin-top: 6%;
}
@media (min-width: 39.375em) {
  .block--page-header .quote {
    width: calc((10 / 12 * 100%));
    width: var(--span-10);
  }
}
.block--page-header .button-small {
  display: inline-block;
  float: left;
  clear: left;
  margin-top: 3.8461538462em;
}
@media (min-width: 39.375em) {
  .block--page-header .button-small {
    margin-top: 5%;
  }
}

.block--cta {
  text-align: center;
}
.block--cta .outline-button, .block--cta .fui-btn {
  display: inline-block;
  margin-top: 3.2307692308em;
}

.block--embedded-case-study-intro .quote {
  margin-top: 2.3076923077em;
}
.block--embedded-case-study-intro .button-small {
  display: inline-block;
  margin-top: 3.4615384615em;
}

.block--social {
  background-position: bottom right;
  padding-right: 25%;
  background-size: 80%;
}
@media (min-width: 39.375em) {
  .block--social {
    padding-right: 12%;
    padding-bottom: 14%;
    background-size: auto;
  }
}
.block--social .markdown-block--on-dark a {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 700;
  font-size: 10px;
  font-size: 1rem;
  line-height: 1.6;
  text-transform: uppercase;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding: 0.8em 1.3em;
  background-color: #222;
  color: #fff;
  text-decoration: none;
  text-align: center;
  display: inline-block;
  margin-top: 1em;
  background-color: white;
  color: #0085a1;
}
.block--social .markdown-block--on-dark a:hover {
  background-color: #1D1D1D !important;
}
.block--social .markdown-block--on-dark a:hover {
  text-decoration: none;
}

/* Ratio
   ============================================================== */
.block--ratio-1-1 .block__inner,
.block--ratio-2-1 .block__inner,
.block--ratio-3-1 .block__inner {
  position: absolute;
}

.block--ratio-1-1 {
  padding-top: 48%;
}
@media (min-width: 39.375em) {
  .block--ratio-1-1 {
    padding-top: 48%;
  }
}
@media (min-width: 75em) {
  .block--ratio-1-1 {
    padding-top: 40%;
  }
}

.block--ratio-3-1 {
  padding-top: 40%;
}

.block .heading-set + .markdown-block {
  margin-top: 12.5%;
}
@media (min-width: 39.375em) {
  .block .heading-set + .markdown-block {
    margin-top: 17%;
  }
}
.block img {
  display: block;
  width: 100%;
}

/* ==============================================================
   Blurb
   ============================================================== */
@media (min-width: 39.375em) {
  .blurb {
    opacity: 0;
    transform: translateY(3.0769230769em);
    transition: 1s cubic-bezier(0.19, 1, 0.22, 1);
    transition-property: transform, opacity;
  }
  .blurb.is-revealed {
    opacity: 1;
    transform: translateY(0);
  }
}

.blurb__image,
.blurb__content {
  display: block;
}
@media (min-width: 39.375em) {
  .blurb__image,
  .blurb__content {
    display: inline-block;
    vertical-align: middle;
  }
}

.blurb__image {
  margin: 0 auto 0.7692307692em;
}
@media (min-width: 39.375em) {
  .blurb__image {
    margin: 0;
    margin-right: 1.5384615385em;
    width: 4.6153846154em;
  }
}
@media (min-width: 62.5em) {
  .blurb__image {
    width: auto;
  }
}

@media (min-width: 39.375em) {
  .blurb__content {
    max-width: 12.6923076923em;
  }
}
@media (min-width: 62.5em) {
  .blurb__content {
    max-width: 18.0769230769em;
  }
}

.blurb__content__heading {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 10px;
  font-size: 1rem;
  line-height: 2.2;
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #0085a1;
}

.blurb__content__body {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 10px;
  font-size: 1rem;
  line-height: 2.2;
  color: #0085a1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* On Dark
   ============================================================== */
.blurb--on-dark .blurb__content__heading,
.blurb--on-dark .blurb__content__body {
  color: #fff;
}

/* ==============================================================
   Breadcrumb
   ============================================================== */
.breadcrumb a,
.breadcrumb span {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 700;
  font-size: 10px;
  font-size: 1rem;
  line-height: 1.6;
  text-transform: uppercase;
  color: #0085a1;
  text-decoration: none;
}
.breadcrumb span {
  color: #80c2d0;
}
.breadcrumb a + a:before,
.breadcrumb a + span:before,
.breadcrumb span + span:before {
  content: "";
  display: block;
  content: ">";
  display: inline-block;
  color: #aca8a1;
  margin: 0 6px;
}
.breadcrumb a:hover {
  text-decoration: underline;
}

/* ==============================================================
   Button - Small
   ============================================================== */
.button-small {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 700;
  font-size: 10px;
  font-size: 1rem;
  line-height: 1.6;
  text-transform: uppercase;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding: 0.8em 1.3em;
  background-color: #222;
  color: #fff;
  text-decoration: none;
  text-align: center;
}
.button-small:hover {
  background-color: #1D1D1D !important;
}

/* ==============================================================
   Caption
   ============================================================== */
.caption__heading {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 700;
  font-size: 11px;
  font-size: 1.1rem;
  line-height: 1.6;
  text-transform: uppercase;
  color: #222;
  margin-bottom: 0.2727272727em;
}

.caption__body {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #222;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.caption__photo-credit {
  display: inline-block;
  vertical-align: middle;
}
.caption__photo-credit svg {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  top: -2px;
}

/* On Dark
   ============================================================== */
.caption--on-dark .caption__heading,
.caption--on-dark .caption__body {
  color: #fff;
}
.caption--on-dark .caption__heading {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* News
   ============================================================== */
.caption--news {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #919191;
}
@media (min-width: 39.375em) {
  .caption--news {
    display: flex;
    justify-content: space-between;
    align-content: center;
  }
}
@media (min-width: 39.375em) {
  .caption--news .caption__body {
    width: 70%;
  }
}

/* Home
   ============================================================== */
.caption--home {
  margin-top: 3rem;
}

/* ==============================================================
   Checkbox Input
   ============================================================== */
.checkbox-input__wrapper {
  position: relative;
  display: flex;
  padding-left: 3rem;
}

.checkbox-input {
  position: absolute;
  z-index: -1;
  opacity: 0;
}
.checkbox-input:checked ~ .checkbox-input__label::after {
  background-image: url("../images/checkmark.svg");
}

.checkbox-input__label {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 700;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  vertical-align: top;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.checkbox-input__label::before, .checkbox-input__label::after {
  position: absolute;
  display: block;
  width: 2rem;
  height: 2rem;
  content: "";
  left: -3rem;
  box-sizing: border-box;
}
.checkbox-input__label::before {
  pointer-events: none;
  background-color: #fff;
  border: 2px solid #0085a1;
  top: -0.125rem;
}
.checkbox-input__label::after {
  background-repeat: no-repeat;
  background-position: 50% 30%;
  top: 50%;
  transform: translateY(-50%);
}

/* ==============================================================
   Client Block
   ============================================================== */
.client-block {
  position: relative;
  aspect-ratio: 2/1;
  display: flex;
  flex-basis: 27%;
}
@media (min-width: 39.375em) {
  .client-block {
    flex-basis: 24%;
  }
}
.client-block img {
  margin: auto;
  max-height: 6rem;
}
@media (min-width: 62.5em) {
  .client-block img {
    max-height: 8rem;
  }
}

/* ==============================================================
   Code Language
   ============================================================== */
.code-language {
  position: absolute;
  right: 0;
  top: 0;
  display: inline-block;
  padding: 8px 10px;
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 700;
  font-size: 10px;
  font-size: 1rem;
  line-height: 1.6;
  text-transform: uppercase;
  border-left: 1px solid #d9edf1;
  border-bottom: 1px solid #d9edf1;
  border-bottom-left-radius: 3px;
  background-color: rgba(247, 251, 252, 0.8);
}

/* ==============================================================
   Contact Info
   ============================================================== */
.contact-info p {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.contact-info strong {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 700;
  padding-right: 0.4166666667em;
}
.contact-info__careers {
  padding-top: 2.8461538462em;
}

/* Footer
   ============================================================== */
.contact-info--footer p, .contact-info--footer a {
  color: #DDDDDD;
}
.contact-info--footer a:hover {
  color: #ffffff;
}

/*
Custom Block Classes

One-off or limited use block classes used for custom styling
*/
@media (min-width: 39.375em) {
  .block--indigo-letterhead {
    position: relative;
    top: -12rem;
  }
}
@media (min-width: 62.5em) {
  .block--indigo-letterhead {
    position: relative;
    top: -18rem;
  }
}

@media (min-width: 0) and (max-width: 39.375em) {
  .block--indigo-curating-the-story {
    position: relative;
    top: -5rem;
  }
}

@media (min-width: 39.375em) {
  .block--indigo-natural-system {
    margin-top: -8%;
  }
}

@media (min-width: 0) and (max-width: 39.375em) {
  .block--indigo-educating-everyone {
    background-color: #F65437;
    padding-bottom: 4rem;
    margin-bottom: 3rem;
  }
}

@media (min-width: 39.375em) {
  .block--indigo-tablet {
    position: relative;
    top: -1rem;
  }
}
@media (min-width: 62.5em) {
  .block--indigo-tablet {
    position: relative;
    top: -7rem;
  }
}

@media (min-width: 39.375em) {
  .block--indigo-van {
    margin-top: -9rem;
  }
}
@media (min-width: 62.5em) {
  .block--indigo-van {
    margin-top: -17rem;
  }
}

@media (min-width: 39.375em) {
  .block--dmdii-tablet-and-phone {
    position: relative;
    z-index: 1;
    margin-bottom: -7.5%;
  }
}

.block--freeman-color-override p {
  color: #015d9a;
}
.block--freeman-color-override a.button-small, .block--freeman-color-override.social-case-study-block a:last-child {
  background: #015d9a !important;
}
.block--freeman-color-override a.button-small:hover, .block--freeman-color-override.social-case-study-block a:last-child:hover {
  background: #013e67 !important;
}

.block--freeman-content-and-design-left {
  padding-top: 4.5%;
}

@media (min-width: 39.375em) {
  .block--freeman-content-and-design-right {
    margin-top: -18rem;
  }
}

@media (min-width: 39.375em) {
  .block--freeman-onward-img {
    padding-top: 8rem;
    padding-right: 4%;
  }
  .block--freeman-onward-img img {
    float: right;
    min-width: 48rem;
    max-width: 60rem;
  }
}

.block--freeman-quote p:last-child {
  font-weight: bold;
}
.block--freeman-quote p:last-child em {
  font-weight: normal;
}
@media (max-width: 39.375em) {
  .block--freeman-quote {
    background-image: none !important;
  }
}
@media (min-width: 39.375em) {
  .block--freeman-quote {
    padding: 3.6rem 0;
    background-position: center left;
    background-size: auto 120%;
  }
}
@media (min-width: 62.5em) {
  .block--freeman-quote {
    background-size: auto 110%;
    background-position: center center;
    padding: 4.8rem 0;
  }
}
@media (min-width: 75em) {
  .block--freeman-quote {
    background-size: cover;
  }
}

.block--freeman-video-container {
  position: relative;
}

.block--freeman-video-caption {
  color: #015d9a;
  float: left;
}
@media (min-width: 62.5em) {
  .block--freeman-video-caption {
    float: none;
    padding: 0;
    position: absolute;
    width: 15%;
  }
}
.block--freeman-video-caption h3 {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  position: relative;
  text-transform: uppercase;
  letter-spacing: 1px;
  line-height: 1.3;
  margin-bottom: 0.6rem;
}
@media (min-width: 62.5em) {
  .block--freeman-video-caption p {
    font-size: 1.2rem;
    line-height: 1.5;
  }
}

@media (min-width: 62.5em) {
  .block--freeman-video-caption-1 {
    left: 3.5%;
    top: 33%;
    text-align: right;
  }
}

@media (min-width: 62.5em) {
  .block--freeman-video-caption-2 {
    right: 3.5%;
    top: 55%;
  }
}

@media (min-width: 62.5em) {
  .block--freeman-video-caption-3 {
    left: 3.5%;
    top: 39.5%;
    text-align: right;
  }
}

@media (min-width: 62.5em) {
  .block--freeman-video-caption-4 {
    right: 3.5%;
    bottom: 13%;
  }
}

@media (min-width: 62.5em) {
  .block--freeman-video-caption-5 {
    left: 3.5%;
    bottom: 23.5%;
    text-align: right;
  }
}

@media (min-width: 62.5em) {
  .block--freeman-video-caption-6 {
    right: 3.5%;
    top: 31%;
  }
}

.block--deskpass-colors p {
  color: #1E3746;
}
.block--deskpass-colors .button-small {
  background: #64D7D7 !important;
}
.block--deskpass-colors .button-small:hover {
  background: #63C7CA !important;
}

.block--hines-map-tablet {
  margin-top: 5%;
}
@media (min-width: 62.5em) {
  .block--hines-map-tablet {
    margin-top: 10%;
  }
}
@media (min-width: 75em) {
  .block--hines-map-tablet {
    margin-top: 0;
  }
}

.block--hines-map-tablet-callout {
  margin-top: -42.8%;
  display: none;
}
@media (min-width: 62.5em) {
  .block--hines-map-tablet-callout {
    display: block;
    margin-top: -22.8%;
  }
}
/* ==============================================================
   Divider Contact Info
   ============================================================== */
.divider-contact {
  margin-top: 2.6923076923em;
}

.divider-contact__item {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: uppercase;
  display: inline-block;
  margin: 0 1.0833333333em;
  color: #0085a1;
  text-decoration: none;
  text-transform: none;
  line-height: 2.5em;
}
.divider-contact__item:hover {
  color: #302614;
}
@media (min-width: 39.375em) {
  .divider-contact__item {
    padding-left: 3.5em;
    background-position: left center;
    background-repeat: no-repeat;
  }
}

@media (min-width: 39.375em) {
  .divider-contact__item--tel {
    background-image: url("../images/odc-linked_contact-tel.svg");
  }
}

@media (min-width: 39.375em) {
  .divider-contact__item--email {
    background-image: url("../images/odc-linked_contact-email.svg");
  }
}

@media (min-width: 39.375em) {
  .divider-contact__item--next {
    background-image: url("../images/odc-linked_contact-next.svg");
  }
}

.dropdown {
  position: relative;
  z-index: 100;
  cursor: pointer;
  text-transform: uppercase;
}
.dropdown:hover .dropdown__items {
  pointer-events: auto;
  opacity: 1;
  transform: translateY(0);
}

.chevron {
  display: inline-block;
  vertical-align: middle;
  margin-left: 3px;
  top: -3px;
  position: relative;
}
@media (min-width: 39.375em) {
  .chevron {
    top: -5px;
  }
}

.dropdown__items {
  pointer-events: none;
  position: absolute;
  top: 100%;
  right: 0;
  border: 2px solid #d0d0d0;
  background-color: white;
  text-align: left;
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
.dropdown__items a {
  display: block;
  text-decoration: none;
  color: inherit;
  padding: 1rem 2rem;
}
.dropdown__items a:hover {
  background-color: #DDDDDD;
}
.dropdown__items:before, .dropdown__items:after {
  content: "";
  display: block;
  bottom: 100%;
  left: 75%;
  border: solid transparent;
  width: 0;
  height: 0;
  position: absolute;
  z-index: 99;
  pointer-events: none;
}
.dropdown__items:after {
  border-color: transparent;
  border-bottom-color: #fff;
  border-width: 10px;
  margin-left: -10px;
}
.dropdown__items:before {
  border-color: transparent;
  border-bottom-color: #d0d0d0;
  border-width: 13px;
  margin-left: -13px;
}

/* ==============================================================
   Featured Project
   ============================================================== */
.featured-project {
  position: relative;
  overflow: hidden;
  height: 0;
  padding-top: 71.4%;
  background-color: #ECECEC;
}
@media (min-width: 39.375em) {
  .featured-project {
    padding-top: 35.7%;
  }
}

.featured-project__image,
.featured-project__image img {
  position: absolute;
  top: -2px;
  left: -2px;
  max-width: 102%;
  width: 102%;
  transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}

.featured-project__description {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
  opacity: 0;
  transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
.featured-project__description .heading-set {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
  margin: auto;
  width: 19.2307692308em;
  height: 9.2307692308em;
  transition: 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: scale(0.8);
}

.featured-project__description__bg {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
  top: -0.3846153846em;
  right: -0.3846153846em;
  bottom: -0.3846153846em;
  left: -0.3846153846em;
  opacity: 0.95;
}

@media (min-width: 62.5em) {
  .featured-project--small {
    padding-top: 23.8%;
  }
}

.featured-project:hover .featured-project__image {
  transform: scale(1.3);
}
.featured-project:hover .featured-project__description {
  opacity: 1;
}
.featured-project:hover .heading-set {
  opacity: 1;
  transform: scale(1);
}

.featured-project:active .heading-set,
.featured-project:active .heading-set {
  opacity: 0.7;
  transition: 0.15s;
}

/* ==============================================================
   Footer Contact Link
   ============================================================== */
.footer-contact-link, .four-oh-four-footer .four-oh-four-link {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: uppercase;
  display: block;
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  transition: 0.15s;
}
.footer-contact-link:hover, .four-oh-four-footer .four-oh-four-link:hover {
  color: #fff;
}
.footer-contact-link span, .four-oh-four-footer .four-oh-four-link span {
  display: inline-block;
  position: relative;
}
.footer-contact-link span:after, .four-oh-four-footer .four-oh-four-link span:after {
  position: absolute;
  right: 0;
  left: 0;
  width: 100%;
  display: block;
  padding-top: 3px;
  border-bottom: 2px solid #DDDDDD;
  content: "";
}

/* ==============================================================
   404 page styles
   ============================================================== */
.four-oh-four {
  background-color: #0085a1;
}
.four-oh-four svg {
  max-width: 100%;
  width: 100%;
  max-height: 75vw;
}

.four-oh-four-footer {
  text-align: center;
  margin-top: -4em;
  padding-bottom: 5em;
}
@media (min-width: 39.375em) {
  .four-oh-four-footer {
    padding-bottom: 10em;
  }
}
.four-oh-four-footer .four-oh-four-link {
  display: inline-block;
}

/* ==============================================================
   Heading Set
   ============================================================== */
.heading-set {
  margin-bottom: 12.5%;
  text-decoration: none;
  display: block;
}
@media (min-width: 39.375em) {
  .heading-set {
    margin-bottom: 0;
  }
}

.heading-set__primary {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: uppercase;
  color: #222;
  margin-bottom: 1.0666666667em;
}
.heading-set__primary:after {
  display: block;
  width: 34px;
  height: 0;
  border-bottom: 4px solid;
  content: "";
  color: inherit;
  margin-top: 1.5em;
}

.heading-set__secondary {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: auto;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #222;
}
@media (min-width: 62.5em) {
  .heading-set__secondary {
    font-size: 25px;
    font-size: 2.5rem;
    line-height: auto;
  }
}

/* Centered
   ============================================================== */
.heading-set--centered {
  text-align: center;
  margin-bottom: 0;
}
.heading-set--centered .heading-set__primary {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: auto;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #222;
  margin-bottom: 0.5em;
}
@media (min-width: 62.5em) {
  .heading-set--centered .heading-set__primary {
    font-size: 25px;
    font-size: 2.5rem;
    line-height: auto;
  }
}
.heading-set--centered .heading-set__primary:after {
  content: none;
}
.heading-set--centered .heading-set__secondary {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: uppercase;
  color: #222;
}

.heading-set--centered--lc .heading-set__primary {
  text-transform: none;
}

.heading-set--centered--alt-subhead .heading-set__secondary {
  color: #222 !important;
}

.heading-set--centered--s .heading-set__primary {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 19px;
  font-size: 1.9rem;
  line-height: auto;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.4;
  margin-bottom: 0.8em;
}

/* Large
   ============================================================== */
@media (min-width: 39.375em) {
  .heading-set--large .heading-set__primary {
    font-style: normal;
    font-weight: normal;
    font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
    font-weight: 400;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-transform: uppercase;
    color: #222;
    margin-bottom: 1.7307692308em;
  }
  .heading-set--large .heading-set__primary:after {
    content: none;
  }
  .heading-set--large .heading-set__secondary {
    font-style: normal;
    font-weight: normal;
    font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
    font-weight: 400;
    font-size: 36px;
    font-size: 3.6rem;
    line-height: 1.3;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #222;
  }
}
@media (min-width: 39.375em) and (min-width: 62.5em) {
  .heading-set--large .heading-set__secondary {
    font-size: 50px;
    font-size: 5rem;
    line-height: 1.3;
  }
}
@media (min-width: 39.375em) {
  .heading-set--large .heading-set__secondary:after {
    display: block;
    width: 34px;
    height: 0;
    border-bottom: 4px solid;
    content: "";
    margin-top: 0.74em;
  }
}

/* On Dark
   ============================================================== */
.heading-set--on-dark .heading-set__primary {
  color: #fff;
}
.heading-set--on-dark .heading-set__primary:after {
  border-color: #fff;
}
.heading-set--on-dark .heading-set__secondary {
  color: #fff;
}
.heading-set--on-dark .heading-set__secondary:after {
  border-color: #fff;
}

.heading-set--on-dark--alt-subhead-1 .heading-set__secondary {
  color: #919191;
}

.heading-set--on-dark--alt-subhead-2 .heading-set__secondary {
  color: #222;
}

/* Link List
   ============================================================== */
.heading-set--link-list .heading-set__primary {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: uppercase;
  color: #DDDDDD;
  margin-bottom: 0.7333333333em;
}
.heading-set--link-list .heading-set__primary:after {
  display: block;
  width: 34px;
  height: 0;
  border-bottom: 4px solid;
  content: "";
  border-bottom: 3px solid #DDDDDD;
  width: 22px;
  margin-top: 1em;
}
.heading-set--link-list .heading-set__secondary {
  color: rgba(255, 255, 255, 0.5);
}

/* Alt
   ============================================================== */
.heading-set--alt .heading-set__primary {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 19px;
  font-size: 1.9rem;
  line-height: auto;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #222;
  text-transform: none;
  margin-bottom: 0.6315789474em;
}
.heading-set--alt .heading-set__primary:after {
  content: none;
}
.heading-set--alt .heading-set__secondary {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: uppercase;
  color: #222;
}

/* Minor
   ============================================================== */
.heading-set--minor {
  text-align: center;
}
.heading-set--minor .heading-set__primary {
  margin-bottom: 1.0666666667em;
}
.heading-set--minor .heading-set__primary:after {
  margin-right: auto;
  margin-left: auto;
}
.heading-set--minor .heading-set__secondary {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 19px;
  font-size: 1.9rem;
  line-height: auto;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: uppercase;
}

/* Upper
   ============================================================== */
.heading-set--upper .heading-set__primary {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: uppercase;
  color: inherit;
  margin-bottom: 0;
}
.heading-set--upper .heading-set__primary:after {
  content: none;
}

/* ==============================================================
   Input Set
   ============================================================== */
.input-set {
  display: flex;
  justify-content: space-between;
}
.input-set + .input-set {
  margin-top: 2rem;
}

.input-set__input-wrapper {
  height: 2.7692307692em;
  flex-grow: 1;
}

.input-set--checkbox .input-set__input-wrapper {
  height: auto;
}

/* Identify sub-group of modifiers
   ============================================================== */
/* ==============================================================
   Home Intro Loader
   ============================================================== */
.home-intro-loader {
  overflow: hidden;
  width: 11.5384615385em;
  height: 3.1538461538em;
}
.home-intro-loader:before {
  content: "";
  display: block;
  width: 19.2307692308em;
  height: 3.1538461538em;
  background-image: url("../images/home-intro-loader.svg");
  animation-name: home-intro-loading;
  animation-duration: 0.5s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

@keyframes home-intro-loading {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-4.6923076923em);
  }
}
/* ==============================================================
   Issue
   ============================================================== */
.issue__circle {
  display: table;
  width: 100px;
  height: 100px;
  color: #222;
  text-decoration: none;
  text-align: center;
  margin-bottom: 2.1538461538em;
  background-color: #DDDDDD;
  border-radius: 50%;
}

.issue__circle__centered {
  display: table-cell;
  height: 100%;
  vertical-align: middle;
}

.issue__number {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: auto;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media (min-width: 62.5em) {
  .issue__number {
    font-size: 25px;
    font-size: 2.5rem;
    line-height: auto;
  }
}

.issue__type {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: uppercase;
}

/* ==============================================================
   Link List
   ============================================================== */
.link-list a {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 2.2;
  color: #fff;
  text-decoration: none;
  display: inline-block;
}

/* Footer
   ============================================================== */
.link-list--footer a {
  color: #DDDDDD;
}
.link-list--footer a:hover {
  color: #ffffff;
  text-decoration: underline;
}

/* Bulleted
   ============================================================== */
.link-list--bulleted a {
  color: #222;
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 700;
  padding-left: 1.4166666667em;
  position: relative;
}
.link-list--bulleted a:hover {
  opacity: 0.8;
}
.link-list--bulleted a:before {
  content: "»";
  position: absolute;
  left: 0;
}

/* ==============================================================
   Markdown Block
   ============================================================== */
.markdown-block p {
  margin-bottom: 2rem;
}
.markdown-block h1 {
  margin-bottom: 2rem;
}
.markdown-block h2 {
  margin-bottom: 2rem;
}
.markdown-block h3 {
  margin-bottom: 2rem;
}
.markdown-block h4 {
  margin-bottom: 2rem;
}
.markdown-block h5 {
  margin-bottom: 2rem;
}
.markdown-block h6 {
  margin-bottom: 2rem;
}
.markdown-block ul {
  margin-bottom: 2rem;
}
.markdown-block ol {
  margin-bottom: 2rem;
}
.markdown-block a {
  margin-bottom: 2rem;
}
.markdown-block dl {
  margin-bottom: 2rem;
}
.markdown-block dt {
  margin-bottom: 2rem;
}
.markdown-block a {
  color: inherit;
  text-decoration: none;
  border-bottom: 2px solid lightgray;
  transition: border-color 0.2s ease;
}
.markdown-block a:hover {
  border-color: #1D1D1D;
}
.markdown-block strong {
  font-weight: 700;
}
.markdown-block em {
  font-style: italic;
}
.markdown-block h2 {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.3;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media (min-width: 39.375em) {
  .markdown-block h2 {
    font-size: 30px;
    font-size: 3rem;
    line-height: 1.3;
  }
}
.markdown-block p + h2 {
  padding-top: 4rem;
}
.markdown-block h1, .markdown-block h3 {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: auto;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media (min-width: 62.5em) {
  .markdown-block h1, .markdown-block h3 {
    font-size: 25px;
    font-size: 2.5rem;
    line-height: auto;
  }
}
@media (min-width: 39.375em) {
  .markdown-block h1, .markdown-block h3 {
    font-style: normal;
    font-weight: normal;
    font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
    font-weight: 400;
    font-size: 19px;
    font-size: 1.9rem;
    line-height: auto;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}
.markdown-block hr {
  border: 0;
  border-top: 2px solid #DDDDDD;
  margin: 4rem 0;
}
.markdown-block code {
  font-family: Consolas, Monaco, "Andale Mono", monospace;
  background-color: #f5fafb;
  -webkit-font-smoothing: subpixel-antialiased;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: auto;
}
@media (min-width: 39.375em) {
  .markdown-block blockquote,
  .markdown-block .blockquote {
    margin-left: -7.5%;
  }
}
.markdown-block ol {
  counter-reset: ol-counter;
  list-style-type: none;
}
.markdown-block ol li,
.markdown-block ol dd {
  margin-bottom: 1.5rem;
  padding-left: 3rem;
  position: relative;
}
@media (min-width: 39.375em) {
  .markdown-block ol li,
  .markdown-block ol dd {
    padding-left: 4rem;
  }
}
.markdown-block ol li:nth-child(-n+9):before,
.markdown-block ol dd:nth-child(-n+9):before {
  content: "0" counter(ol-counter);
}
.markdown-block ol li:before,
.markdown-block ol dd:before {
  content: counter(ol-counter);
  counter-increment: ol-counter;
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: lightgray;
  position: absolute;
  top: 3px;
  left: 0;
}
@media (min-width: 39.375em) {
  .markdown-block ol li:before,
  .markdown-block ol dd:before {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.6;
  }
}
@media (min-width: 39.375em) {
  .markdown-block ol li:before,
  .markdown-block ol dd:before {
    font-size: 1.4rem;
    top: 0;
  }
}
@media (min-width: 62.5em) {
  .markdown-block ol li:before,
  .markdown-block ol dd:before {
    top: 4px;
  }
}
.markdown-block ol .services__title:before {
  top: 0px;
}
@media (min-width: 39.375em) {
  .markdown-block ol .services__title:before {
    top: 2px;
  }
}

/* On Dark
   ============================================================== */
.markdown-block--on-dark p, .markdown-block--on-dark h1, .markdown-block--on-dark h2, .markdown-block--on-dark h3, .markdown-block--on-dark h4, .markdown-block--on-dark h5, .markdown-block--on-dark h6, .markdown-block--on-dark ul, .markdown-block--on-dark ol, .markdown-block--on-dark a, .markdown-block--on-dark dl, .markdown-block--on-dark dt {
  color: #fff;
}
.markdown-block--on-dark a:hover {
  border-color: #fff;
}

/* Blue
   ============================================================== */
.markdown-block--blue p, .markdown-block--blue h1, .markdown-block--blue h2, .markdown-block--blue h3, .markdown-block--blue h4, .markdown-block--blue h5, .markdown-block--blue h6, .markdown-block--blue ul, .markdown-block--blue ol, .markdown-block--blue a, .markdown-block--blue dl, .markdown-block--blue dt {
  color: #0085a1;
}

/* Caption
   ============================================================== */
.markdown-block--caption p, .markdown-block--caption h1, .markdown-block--caption h2, .markdown-block--caption h3, .markdown-block--caption h4, .markdown-block--caption h5, .markdown-block--caption h6, .markdown-block--caption ul, .markdown-block--caption ol, .markdown-block--caption a, .markdown-block--caption dl, .markdown-block--caption dt {
  color: #8d887e;
}
.markdown-block--caption h1 {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: uppercase;
  color: #b7b3ad;
}
.markdown-block--caption p {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Soft
   ============================================================== */
.markdown-block--soft p, .markdown-block--soft h1, .markdown-block--soft h2, .markdown-block--soft h3, .markdown-block--soft h4, .markdown-block--soft h5, .markdown-block--soft h6, .markdown-block--soft ul, .markdown-block--soft ol, .markdown-block--soft a, .markdown-block--soft dl, .markdown-block--soft dt {
  color: #8d887e;
}

/* Embedded Case Study Align
   ============================================================== */
@media (min-width: 39.375em) {
  .markdown-block--embedded-case-study-align {
    padding-top: 9.3076923077em;
  }
}

/* Small
   ============================================================== */
.markdown-block--s p, .markdown-block--s h1, .markdown-block--s h2, .markdown-block--s h3, .markdown-block--s h4, .markdown-block--s h5, .markdown-block--s h6, .markdown-block--s ul, .markdown-block--s ol, .markdown-block--s a, .markdown-block--s dl, .markdown-block--s dt {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.markdown-block--s a {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 700;
  color: #222;
}
.markdown-block--s h3,
.markdown-block--s strong {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 700;
}

/* Legible
   ============================================================== */
.markdown-block--legible {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media (min-width: 62.5em) {
  .markdown-block--legible {
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 1.8;
  }
}

.mini-newsletter {
  border-top: 2px solid #DDDDDD;
  padding-top: 2rem;
  margin-top: 2rem;
}

/* ==============================================================
   Primary Navigation
   ============================================================== */
.nav-primary:after {
  content: "";
  display: table;
  clear: both;
}

.nav-primary__item {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: uppercase;
  font-size: 10px;
  font-size: 1rem;
  line-height: auto;
  float: left;
  padding: 0.3636363636em 0.4545454545em;
  color: #757575;
  text-decoration: none;
}
@media (min-width: 39.375em) {
  .nav-primary__item {
    font-style: normal;
    font-weight: normal;
    font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
    font-weight: 400;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-transform: uppercase;
    padding: 0.4166666667em 0.6666666667em;
  }
}
.nav-primary__item:hover {
  color: #222;
}

/* Knockout
   ============================================================== */
.nav-primary--knockout .nav-primary__item {
  color: #fff !important;
  opacity: 1;
}
.nav-primary--knockout .nav-primary__item:hover {
  opacity: 0.8;
}

.nav-primary__item.is-current {
  color: #222;
  opacity: 1;
}

/* ==============================================================
   Newsletter Signup
   ============================================================== */
.newsletter-signup__description {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 10px;
  font-size: 1rem;
  line-height: 2.2;
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-bottom: 5em;
  color: #fff;
  line-height: 2;
}
.newsletter-signup__description a {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 700;
  font-size: 11px;
  font-size: 1.1rem;
  line-height: 1.6;
  text-transform: uppercase;
  font-size: 10px;
  font-size: 1rem;
  line-height: auto;
  padding-right: 0.4em;
  color: #fff;
}

.newsletter-signup__label {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 700;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: block;
  margin-bottom: 2rem;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.newsletter-signup__form.is-loading {
  position: relative;
}
.newsletter-signup__form.is-loading::before {
  z-index: 1;
  position: absolute;
  top: calc(50% - 1.5rem);
  right: 0;
  bottom: 0;
  left: calc(50% - 1.5rem);
  width: 3rem;
  height: 3rem;
  content: "";
  border: 0.25rem solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: spin 0.75s linear infinite;
}
.newsletter-signup__form.is-loading > * {
  opacity: 0.3;
}
.newsletter-signup__response {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media (min-width: 62.5em) {
  .newsletter-signup__response {
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 1.6;
  }
}

.newsletter-signup--contact {
  margin-top: 1em;
}

/* ==============================================================
   ODC Logo Link
   ============================================================== */
/* Footer
   ============================================================== */
.odc-logo-link--footer img {
  height: 1.4615384615em;
  opacity: 0.8;
  transition: 0.15s;
}
.ie9 .odc-logo-link--footer img {
  height: 2.0769230769em;
  width: 6.0769230769em;
}
.odc-logo-link--footer:hover img {
  opacity: 1;
}

/* ==============================================================
   Outline Button
   ============================================================== */
.outline-button, .fui-btn {
  text-indent: -9999em;
  position: relative;
  display: block;
  width: 15.5em;
  height: 4.1538461538em;
  color: transparent;
  text-align: center;
}
.outline-button:before, .fui-btn:before, .outline-button:after, .fui-btn:after {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: uppercase;
  line-height: 1.3333333333em;
  content: "";
  display: block;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
  border: 4px solid #222;
  color: #222;
  text-decoration: none;
  padding: 1.3333333333em;
  content: attr(title);
  text-indent: 0;
  transform-origin: 50% 50% -2.0769230769em;
  transition: 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  display: block;
}
.outline-button:after, .fui-btn:after {
  color: #fff;
  background-color: #222;
  transform: rotateX(-90deg);
}
.outline-button:hover:before, .fui-btn:hover:before {
  transform: rotateX(90deg);
  opacity: 0.2;
}
.outline-button:hover:after, .fui-btn:hover:after {
  transform: rotateX(0);
}

/* ==============================================================
   Pagination
   ============================================================== */
.pagination__link {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 700;
  font-size: 11px;
  font-size: 1.1rem;
  line-height: 1.6;
  text-transform: uppercase;
  color: #222;
  text-decoration: none;
}
.pagination__link:hover {
  text-decoration: underline;
}

.pagination__link--newer {
  padding-right: 1.1818181818em;
}

.pagination__link + .pagination__link {
  border-left: 1px solid #aca8a1;
  padding-left: 1.1818181818em;
}

/* ==============================================================
   Post
   ============================================================== */
.post {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}
.post::after {
  content: " ";
  display: block;
  clear: both;
}

.post__heading {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}
.post__heading::after {
  content: " ";
  display: block;
  clear: both;
}
.post__heading .post__heading__image + .caption {
  margin-top: -2rem;
  margin-left: -5%;
  margin-right: -5%;
}
@media (min-width: 62.5em) {
  .post__heading .post__heading__image + .caption {
    margin-top: -5.25rem;
    margin-bottom: 6.25rem;
  }
}

.post__heading--no-image {
  margin-bottom: 4.5rem;
}
@media (min-width: 62.5em) {
  .post__heading--no-image {
    margin-bottom: 8.5rem;
  }
}

.post__heading__title {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.3;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media (min-width: 39.375em) {
  .post__heading__title {
    font-size: 32px;
    font-size: 3.2rem;
    line-height: 1.3;
  }
}
@media (min-width: 62.5em) {
  .post__heading__title {
    font-size: 40px;
    font-size: 4rem;
    line-height: 1.2;
  }
}

.post__heading__image,
.post__heading__image .caption {
  margin-left: -5%;
  margin-right: -5%;
}

.post__heading__image {
  width: 110%;
  position: relative;
  overflow: hidden;
  background-color: #DDDDDD;
  margin-top: 2rem;
  margin-bottom: 3rem;
}
@media (min-width: 62.5em) {
  .post__heading__image {
    margin-top: 4.5rem;
    margin-bottom: 6.25rem;
  }
}
.post__heading__image video {
  width: 100%;
  max-width: 100%;
  display: block;
}
.post__heading__image img {
  width: 100%;
  max-width: 100%;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  right: 0;
  bottom: 0;
  height: auto;
  transform: translate(-50%, -50%);
}
.post__heading__image img.lazyload, .post__heading__image img.is-loading {
  opacity: 0;
}
.post__heading__image img.is-loaded {
  opacity: 1;
  transition: opacity 0.3s linear;
}

@media (min-width: 62.5em) {
  .post__heading__inner {
    width: 66.6666666667%;
  }
}

.post__details {
  margin-bottom: 3.5rem;
}
.post__details .social-share,
.post__details .mini-newsletter {
  display: none;
}
@media (min-width: 62.5em) {
  .post__details .social-share,
  .post__details .mini-newsletter {
    display: block;
  }
}
@media (min-width: 62.5em) {
  .post__details {
    float: left;
    width: calc((3 / 12 * 100%));
    width: var(--span-3);
    margin-right: calc((1 / 12 * 100%));
    margin-right: var(--span-1);
  }
}
@media (min-width: 75em) {
  .post__details {
    padding-right: 5%;
  }
}

.markdown-block--large-text > p:first-of-type {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: auto;
  letter-spacing: -0.025em;
}
@media (min-width: 62.5em) {
  .markdown-block--large-text > p:first-of-type {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: auto;
  }
}

@media (min-width: 62.5em) {
  .post__content {
    float: left;
    width: calc((8 / 12 * 100%));
    width: var(--span-8);
    max-width: 700px;
  }
}
.post__content .markdown-block,
.post__content pre,
.post__content .post__content__embed,
.post__content .post__content__image,
.post__content .blockquote,
.post__content .button-small,
.post__content ol,
.post__content ul {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-bottom: 4rem;
}
@media (min-width: 62.5em) {
  .post__content .markdown-block,
  .post__content pre,
  .post__content .post__content__embed,
  .post__content .post__content__image,
  .post__content .blockquote,
  .post__content .button-small,
  .post__content ol,
  .post__content ul {
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 1.8;
  }
}
.post__content ul {
  padding-left: 2rem;
}
.post__content ul li {
  position: relative;
}
.post__content ul li:before {
  content: "";
  display: block;
  position: absolute;
  left: -2rem;
  top: 1.15rem;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #d6d4d0;
}
.post__content ul li + li {
  margin-top: 1.5rem;
}
.post__content .post__content__image-container {
  margin-top: 2rem;
  margin-bottom: 3rem;
}
@media (min-width: 39.375em) {
  .post__content .post__content__image-container {
    margin-bottom: 4.5rem;
  }
}
@media (min-width: 62.5em) {
  .post__content .post__content__image-container {
    margin-bottom: 6.25rem;
  }
}
.post__content .post__content__image-container .caption {
  padding-top: 1rem;
}
.post__content .outline-button, .post__content .fui-btn {
  margin-top: 5em !important;
}
.post__content .button-small {
  display: inline-block;
}
.post__content .markdown-block {
  width: 100%;
}
.post__content .post__content__image + .button-small {
  margin-top: 3.8461538462em !important;
}
.post__content .social-share {
  padding: 2rem 0;
}
@media (min-width: 39.375em) {
  .post__content .social-share {
    text-align: center;
  }
}
.post__content .social-share__title {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 19px;
  font-size: 1.9rem;
  line-height: auto;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.post__content .author {
  border-top: 2px solid #DDDDDD;
  margin-top: 4rem;
  padding-top: 5rem;
  padding-bottom: 5rem;
}

/* Content Types
   ============================================================== */
.post__content__embed {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.post__content__embed video {
  display: block;
  max-width: 100%;
}
.post__content__embed .caption {
  margin-top: 1rem;
}

@media (min-width: 62.5em) {
  .post__content__embed--full-width {
    margin-left: -50%;
  }
}
@media (min-width: 81.25em) {
  .post__content__embed--full-width {
    margin-left: calc(-50% - 5rem);
    margin-right: -13.3333%;
  }
}

.post__content__image img {
  width: 100%;
  display: block;
}
.post__content__image img + .caption,
.post__content__image .caption + img,
.post__content__image a + .caption {
  margin-top: 1rem;
}

.post__content__image + .caption {
  margin-top: -4rem;
}

@media (min-width: 62.5em) {
  .post__content__image--full-width:not(.post__heading__image) {
    margin-left: -50%;
  }
}
@media (min-width: 81.25em) {
  .post__content__image--full-width:not(.post__heading__image) {
    margin-left: calc(-50% - 5rem);
    margin-right: -13.3333%;
  }
}
@media (min-width: 62.5em) {
  .post__content__image--full-width:not(.post__heading__image) + .caption {
    margin-left: -50%;
  }
}
@media (min-width: 81.25em) {
  .post__content__image--full-width:not(.post__heading__image) + .caption {
    margin-left: calc(-50% - 5rem);
    margin-right: -13.3333%;
  }
}

/* ==============================================================
   States
   ============================================================== */
.post__content__embed.is-responsive {
  position: relative;
  padding-bottom: 55.65%;
  height: 0;
}
.post__content__embed.is-responsive iframe {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
}

@media (min-width: 0) and (max-width: 39.375em) {
  .post__content__embed.is-mobile-hidden {
    display: none;
  }
}

.post-meta {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: uppercase;
  font-size: 10px;
  font-size: 1rem;
  line-height: 1.3;
  color: #919191;
}
@media (min-width: 62.5em) {
  .post-meta {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.5;
  }
}

.post-meta--top {
  margin-bottom: 1.5rem;
}
@media (min-width: 39.375em) {
  .post-meta--top {
    margin-bottom: 2rem;
  }
}

.post-meta--bottom {
  margin-top: 1.5rem;
  margin-bottom: 3.5rem;
}
@media (min-width: 39.375em) {
  .post-meta--bottom {
    margin-bottom: 5.5rem;
  }
}

.post-meta__item {
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.25rem;
}
@media (min-width: 39.375em) {
  .post-meta__item {
    margin-right: 0.5rem;
  }
}
.post-meta__item a {
  color: #222;
  text-decoration: none;
}

.post-meta__item--button a {
  display: inline-block;
  background-color: #383838;
  color: white;
  padding: 0.75rem 1.5rem 0.65rem 1.5rem;
  position: relative;
  z-index: 3;
  height: 32px;
  top: -16px;
}
.post-meta__item--button a:hover {
  background-color: #222;
}

/* ==============================================================
   Project Details
   ============================================================== */
.project-details__heading {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: uppercase;
  color: #fff;
  padding-top: 1.6666666667em;
  margin-bottom: 0.1666666667em;
}

.project-details__item {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #fff;
  text-decoration: none;
}
.project-details__item:link:hover {
  text-decoration: underline;
}

/* ==============================================================
   Quote
   ============================================================== */
.quote p {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 200;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.6;
}
@media (min-width: 62.5em) {
  .quote p {
    font-size: 23px;
    font-size: 2.3rem;
    line-height: auto;
  }
}
.quote p strong {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 10px;
  font-size: 1rem;
  line-height: 2.2;
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding-right: 1em;
}
.quote p a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid;
}
.quote p + p {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 10px;
  font-size: 1rem;
  line-height: 2.2;
  margin-top: 11.25%;
}
@media (min-width: 39.375em) {
  .quote p + p {
    margin-top: 2.6em;
  }
}

/* Big
   ============================================================== */
.quote--big {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media (min-width: 39.375em) {
  .quote--big {
    padding: 4% 0;
  }
  .quote--big p {
    font-size: 32px;
    font-size: 3.2rem;
    line-height: 1.5;
  }
  .quote--big p + p {
    margin-top: 5.5em;
  }
}

.services {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: left;
}
@media (min-width: 39.375em) {
  .services {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.6;
  }
}

.services__label {
  text-transform: uppercase;
  color: #919191;
  margin-bottom: 2rem;
}

.services__list {
  counter-reset: ol-counter;
  list-style-type: none;
}
.services__list li,
.services__list dd {
  margin-bottom: 1.5rem;
  padding-left: 3rem;
  position: relative;
}
@media (min-width: 39.375em) {
  .services__list li,
  .services__list dd {
    padding-left: 4rem;
  }
}
.services__list li:nth-child(-n+9):before,
.services__list dd:nth-child(-n+9):before {
  content: "0" counter(ol-counter);
}
.services__list li:before,
.services__list dd:before {
  content: counter(ol-counter);
  counter-increment: ol-counter;
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: lightgray;
  position: absolute;
  top: 3px;
  left: 0;
}
@media (min-width: 39.375em) {
  .services__list li:before,
  .services__list dd:before {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.6;
  }
}
@media (min-width: 39.375em) {
  .services__list li:before,
  .services__list dd:before {
    font-size: 1.4rem;
    top: 0;
  }
}
@media (min-width: 62.5em) {
  .services__list li:before,
  .services__list dd:before {
    top: 4px;
  }
}
.services__list .services__title:before {
  top: 0px;
}
@media (min-width: 39.375em) {
  .services__list .services__title:before {
    top: 2px;
  }
}

.services + .social-share {
  border-top: 2px solid #DDDDDD;
  padding-top: 2rem;
  margin-top: 2rem;
}

.sidebar {
  display: flex;
  background-color: #ECECEC;
  padding: 4rem;
}
.sidebar a {
  color: #222;
  text-decoration: none;
}
@media (min-width: 39.375em) {
  .sidebar {
    padding: 3rem;
  }
}
@media (min-width: 75em) {
  .sidebar {
    padding: 4rem;
  }
}

.sidebar__inner {
  width: 100%;
  max-width: 320px;
  margin: 0 auto;
}
@media (min-width: 39.375em) {
  .sidebar__inner {
    display: flex;
    flex-direction: column;
  }
}

.sidebar__title,
.sidebar__label {
  cursor: pointer;
  display: block;
}

.sidebar__title {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.3;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: uppercase;
  text-align: center;
}
@media (min-width: 39.375em) {
  .sidebar__title {
    font-size: 32px;
    font-size: 3.2rem;
    line-height: 1.3;
  }
}
@media (min-width: 62.5em) {
  .sidebar__title {
    font-size: 40px;
    font-size: 4rem;
    line-height: 1.2;
  }
}

.sidebar__label {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: uppercase;
  text-transform: uppercase;
  text-align: center;
  color: #222;
  margin-top: 2rem;
  margin-bottom: 4rem;
}

.sidebar__download {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: uppercase;
  text-transform: uppercase;
  text-align: center;
  color: #0085a1;
  display: block;
  margin-top: 1rem;
}
.sidebar__download:before {
  content: "";
  display: inline-block;
  background-image: url("../images/curiosity/download-icon.svg");
  width: 9px;
  height: 12px;
  margin-right: 1rem;
  position: relative;
  top: 2px;
}

.sidebar__list {
  margin-top: 3rem;
  text-align: center;
  counter-reset: ol-counter;
}
@media (min-width: 75em) {
  .sidebar__list {
    margin-top: 5rem;
    margin-bottom: 5rem;
  }
}
.sidebar__list li {
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.sidebar__list li:first-child {
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.sidebar__list a {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: block;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
@media (min-width: 39.375em) {
  .sidebar__list a {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.6;
  }
}
.sidebar__list a:hover {
  -webkit-text-decoration: underline solid 2px;
          text-decoration: underline solid 2px;
}

.sidebar__download a,
.sidebar__footer a {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: uppercase;
  border-bottom: 2px solid;
  text-transform: uppercase;
}

.sidebar__footer {
  text-align: center;
}

.sidebar__image {
  text-align: center;
  margin-bottom: 2rem;
  height: 100px;
  display: inline-block;
  position: relative;
  z-index: 1;
  transform: rotate(-5deg) translateZ(0);
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
.sidebar__image:after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0px;
  bottom: 0px;
  top: 0px;
  box-shadow: -5px 5px 5px rgba(0, 0, 0, 0.3);
  will-change: transform, box-shadow;
  transform: translateZ(0);
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
.sidebar__image img {
  display: block;
  width: auto;
  height: 100px;
}

.sidebar__header-link {
  display: block;
  text-align: center;
}
.sidebar__header-link:hover .sidebar__image {
  transform: translate3d(0, -5px, 0) rotate(-0.5deg) translateZ(0);
}
.sidebar__header-link:hover .sidebar__image:after {
  box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.4);
}

.sidebar__description {
  margin-top: 4rem;
  padding-top: 4rem;
  margin-bottom: 1.5rem;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.sidebar__middle {
  margin-bottom: 3rem;
  padding-bottom: 4rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

/* ==============================================================
   Social Case Study Block
   ============================================================== */
.social-case-study-block a:last-child {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 700;
  font-size: 10px;
  font-size: 1rem;
  line-height: 1.6;
  text-transform: uppercase;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding: 0.8em 1.3em;
  background-color: #222;
  color: #fff;
  text-decoration: none;
  text-align: center;
  display: inline-block;
  margin-top: 1em;
}
.social-case-study-block a:last-child:hover {
  background-color: #1D1D1D !important;
}

/* ==============================================================
   Social Link
   ============================================================== */
.social-link {
  text-indent: -9999em;
  display: block;
  width: 30px;
  height: 30px;
  background-position: center center;
  background-repeat: no-repeat;
  transition: opacity 0.15s;
  opacity: 0.7;
}
.social-link:hover {
  opacity: 1;
}

.social-link--twitter {
  background-image: url("../images/odc-linked_twitter-icon.svg");
}

.social-link--facebook {
  background-image: url("../images/odc-linked_facebook-icon.svg");
}

.social-link--instagram {
  background-image: url("../images/odc-linked_instagram-icon.svg");
}

.social-link--vimeo {
  background-image: url("../images/odc-linked_vimeo-icon.svg");
}

/* On Dark
   ============================================================== */
.social-link--on-dark.social-link--twitter {
  background-image: url("../images/odc-linked_twitter-icon-on-dark.svg");
}
.social-link--on-dark.social-link--facebook {
  background-image: url("../images/odc-linked_facebook-icon-on-dark.svg");
}
.social-link--on-dark.social-link--instagram {
  background-image: url("../images/odc-linked_instagram-icon-on-dark.svg");
}
.social-link--on-dark.social-link--vimeo {
  background-image: url("../images/odc-linked_vimeo-icon-on-dark.svg");
}

.social-share__title {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-bottom: 1em;
}
@media (min-width: 39.375em) {
  .social-share__title {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.6;
  }
}

.social-share__item {
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75em;
  border: 2px solid #c6c6c6;
  border-radius: 50%;
  width: 39px;
  height: 39px;
  transition: border-color 0.1s linear;
}
.social-share__item:hover {
  border-color: #222;
}
.social-share__item:hover svg path {
  fill: #222;
}
.social-share__item:last-child {
  margin-right: 0;
}
.social-share__item svg {
  width: 35px;
  height: 35px;
  display: inline-block;
}
.social-share__item svg path {
  transition: all 0.1s linear;
}
.social-share__item a {
  display: inline-block;
}

/* ==============================================================
   Submit Button Square
   ============================================================== */
.submit-button-square {
  text-indent: -9999em;
  width: 2.7692307692em;
  height: 2.7692307692em;
  line-height: 1;
  border: none;
  transition: 0.15s;
  background: #999999 url("../images/odc-linked_small-white-arrow-right.svg") no-repeat 55% center;
  -webkit-appearance: none;
  border-radius: 0;
}
.submit-button-square:hover {
  background-color: #919191;
}

/* ==============================================================
   SVG - About Teamwork - Partners
   ============================================================== */
#svg-about-teamwork-guide #dotted-line path {
  animation-duration: 13s;
  animation-name: svg-about-teamwork-guide-stroke;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

@keyframes svg-about-teamwork-guide-stroke {
  0% {
    stroke-dashoffset: 0;
  }
  100% {
    stroke-dashoffset: -108;
  }
}
/* ==============================================================
   SVG - About Teamwork - Partners
   ============================================================== */
#svg-about-teamwork-partners #outer-orbiting {
  animation-duration: 50s;
  animation-name: svg-about-teamwork-partners-outer;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  transform-origin: 50% 50%;
}
#svg-about-teamwork-partners #camera,
#svg-about-teamwork-partners #video,
#svg-about-teamwork-partners #document {
  animation-duration: 50s;
  animation-name: svg-about-teamwork-partners-outer-circles;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  transform-origin: 50% 50%;
}
#svg-about-teamwork-partners #inner-orbiting-circles {
  animation-duration: 50s;
  animation-name: svg-about-teamwork-partners-inner;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  transform-origin: 50% 50%;
}

@keyframes svg-about-teamwork-partners-outer {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes svg-about-teamwork-partners-outer-circles {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(-360deg);
  }
}
@keyframes svg-about-teamwork-partners-inner {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(-360deg);
  }
}
/* ==============================================================
   SVG - About Teamwork - Partners
   ============================================================== */
#svg-about-teamwork-guide #dotted-line path {
  animation-duration: 13s;
  animation-name: svg-about-teamwork-guide-stroke;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

@keyframes svg-about-teamwork-guide-stroke {
  0% {
    stroke-dashoffset: 0;
  }
  100% {
    stroke-dashoffset: -108;
  }
}
/* ==============================================================
   SVG - About Teamwork - Transparent
   ============================================================== */
#svg-about-teamwork-transparent #clouds {
  animation-duration: 15s;
  animation-name: svg-about-teamwork-transparent-clouds;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

@keyframes svg-about-teamwork-transparent-clouds {
  0% {
    transform: translateX(62px);
  }
  100% {
    transform: translateX(-62px);
  }
}
/* ==============================================================
   SVG - Approach Process
   ============================================================== */
#svg-approach-process text {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 10px;
  font-size: 1rem;
  line-height: 2.2;
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@media (min-width: 39.375em) and (max-width: 62.5em) {
  #svg-approach-process #node-7 {
    transform: translateY(5.7692307692em);
  }
}
#svg-approach-process #path-1 path,
#svg-approach-process #path-2 path,
#svg-approach-process #path-3 path,
#svg-approach-process #path-4 path {
  transition: 0.5s;
}
#svg-approach-process #path-1.is-revealed path,
#svg-approach-process #path-2.is-revealed path,
#svg-approach-process #path-3.is-revealed path,
#svg-approach-process #path-4.is-revealed path {
  stroke-dashoffset: 0;
}
#svg-approach-process #path-1 path {
  stroke-dasharray: 640;
  stroke-dashoffset: 640;
}
#svg-approach-process #path-2 path {
  stroke-dasharray: 930;
  stroke-dashoffset: 930;
  transition-duration: 0.7s;
}
#svg-approach-process #path-3 path {
  stroke-dasharray: 1050;
  stroke-dashoffset: 1050;
  transition-duration: 1s;
}
#svg-approach-process #path-4 {
  opacity: 0;
  transition: 0.5s;
  transition-delay: 0.2s;
}
#svg-approach-process #path-4.is-revealed {
  opacity: 1;
}
#svg-approach-process #arrow-1,
#svg-approach-process #arrow-2,
#svg-approach-process #arrow-3,
#svg-approach-process #arrow-4,
#svg-approach-process #arrow-5,
#svg-approach-process #arrow-6 {
  opacity: 0;
  transition: 0.4s;
}
#svg-approach-process #arrow-1.is-revealed,
#svg-approach-process #arrow-2.is-revealed,
#svg-approach-process #arrow-3.is-revealed,
#svg-approach-process #arrow-4.is-revealed,
#svg-approach-process #arrow-5.is-revealed,
#svg-approach-process #arrow-6.is-revealed {
  opacity: 1;
}
#svg-approach-process #right-moving-arrows,
#svg-approach-process #left-moving-arrows,
#svg-approach-process #down-moving-arrows,
#svg-approach-process #up-moving-arrows {
  animation-duration: 4s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

#svg-approach-process #up-moving-arrows {
  animation-name: approach-process-up-arrows;
}

@keyframes approach-process-up-arrows {
  0% {
    transform: translateY(pem(30) );
    opacity: 0;
    fill: #fff;
  }
  5% {
    opacity: 1;
  }
  95% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(pem(-30) );
  }
}
#svg-approach-process #down-moving-arrows {
  animation-name: approach-process-down-arrows;
}

@keyframes approach-process-down-arrows {
  0% {
    transform: translateY(pem(-30) );
    opacity: 0;
    fill: #fff;
  }
  5% {
    opacity: 1;
  }
  95% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(pem(30) );
  }
}
#svg-approach-process #left-moving-arrows {
  animation-name: approach-process-left-arrows;
}

@keyframes approach-process-left-arrows {
  0% {
    transform: translateX(pem(30) );
    opacity: 0;
    fill: #fff;
  }
  5% {
    opacity: 1;
  }
  95% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateX(pem(-30) );
  }
}
#svg-approach-process #right-moving-arrows {
  animation-name: approach-process-right-arrows;
}

@keyframes approach-process-right-arrows {
  0% {
    transform: translateX(pem(-30) );
    opacity: 0;
    fill: #fff;
  }
  5% {
    opacity: 1;
  }
  95% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateX(pem(30) );
  }
}
/* ==============================================================
   SVG - Approach research
   ============================================================== */
#svg-approach-research #intro-line path {
  stroke-dasharray: 192;
  stroke-dashoffset: 192;
  transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
#svg-approach-research #outro-line path {
  stroke-dasharray: 881;
  stroke-dashoffset: -881;
  transition: 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
#svg-approach-research #outro-line.is-revealed path {
  stroke-dashoffset: 0;
}
#svg-approach-research #circle-1,
#svg-approach-research #circle-2,
#svg-approach-research #circle-3 {
  transition: 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  stroke-dasharray: 788;
  stroke-dashoffset: 788;
}
#svg-approach-research #circle-1 {
  transition-delay: 0.25s;
}
#svg-approach-research #circle-2.is-revealed,
#svg-approach-research #circle-3.is-revealed {
  stroke-dashoffset: 0;
}
#svg-approach-research #initial-intro-set.is-revealed #intro-line path,
#svg-approach-research #initial-intro-set.is-revealed #circle-1 {
  stroke-dashoffset: 0;
}
#svg-approach-research #circle-1-graphic,
#svg-approach-research #circle-2-3-graphics {
  opacity: 0;
  transition: 0.3s;
  transition-delay: 0.3s;
  transform: translateY(0.7692307692em);
}
#svg-approach-research #circle-1-graphic.is-revealed,
#svg-approach-research #circle-2-3-graphics.is-revealed {
  opacity: 1;
  transform: translateY(0);
  fill: #fff;
}

/* ==============================================================
   SVG - Approach - Team Table
   ============================================================== */
#svg-approach-team-table text,
#svg-approach-team-table tspan {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 700;
  font-size: 11px;
  font-size: 1.1rem;
  line-height: 1.6;
  text-transform: uppercase;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#svg-approach-team-table #intro-path-1 path {
  stroke-dasharray: 1109;
  stroke-dashoffset: 1109;
}
#svg-approach-team-table #intro-path-2 path {
  stroke-dasharray: 1920;
  stroke-dashoffset: -1920;
}
#svg-approach-team-table #outro-path path {
  stroke-dasharray: 700;
  stroke-dashoffset: 700;
}
#svg-approach-team-table #intro-path-1 path,
#svg-approach-team-table #intro-path-2 path,
#svg-approach-team-table #outro-path path {
  transition: 1.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
#svg-approach-team-table #intro-path-1.is-revealed path,
#svg-approach-team-table #intro-path-2.is-revealed path,
#svg-approach-team-table #outro-path.is-revealed path {
  stroke-dashoffset: 0 !important;
}
#svg-approach-team-table #outro-path path {
  transition-duration: 1s;
}
#svg-approach-team-table #developer-chair {
  transform: translateY(-3.8461538462em);
}
#svg-approach-team-table #project-owner-chair {
  transform: translateX(-3.8461538462em);
}
#svg-approach-team-table #specialist-chair {
  transform: translateX(3.8461538462em);
}
#svg-approach-team-table #designer-chair,
#svg-approach-team-table #project-manager-chair {
  transform: translateY(3.8461538462em);
}
#svg-approach-team-table #developer-chair,
#svg-approach-team-table #project-owner-chair,
#svg-approach-team-table #specialist-chair,
#svg-approach-team-table #designer-chair,
#svg-approach-team-table #project-manager-chair {
  opacity: 0;
  transition: 1s cubic-bezier(0.19, 1, 0.22, 1);
}
#svg-approach-team-table #developer-chair.is-revealed,
#svg-approach-team-table #project-owner-chair.is-revealed,
#svg-approach-team-table #specialist-chair.is-revealed,
#svg-approach-team-table #designer-chair.is-revealed,
#svg-approach-team-table #project-manager-chair.is-revealed {
  transform: translateY(0) translateX(0);
  opacity: 1;
  fill: #fff;
}

/* ==============================================================
   SVG - Chicago Coast
   ============================================================== */
#svg-chicago-coast #waves-odd-2,
#svg-chicago-coast #waves-even-2 {
  opacity: 0;
}

#svg-chicago-coast #waves-odd-1,
#svg-chicago-coast #waves-even-1,
#svg-chicago-coast #waves-odd-2,
#svg-chicago-coast #waves-even-2 {
  opacity: 0;
  transform: translate3d(20px, 11px, 0);
  animation-name: coastal-waves;
  animation-iteration-count: infinite;
  animation-duration: 3s;
}
#svg-chicago-coast #waves-even-1 {
  animation-delay: 0.2s;
}
#svg-chicago-coast #waves-odd-2 {
  animation-delay: 1.5s;
}
#svg-chicago-coast #waves-even-2 {
  animation-delay: 1.7s;
}

@keyframes coastal-waves {
  0% {
    opacity: 0;
    fill: #fff;
    transform: translate3d(20px, 11px, 0);
  }
  50% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  100% {
    opacity: 0;
    transform: translate3d(-20px, 11px, 0);
  }
}
/* ==============================================================
   SVG - Field Notes Process Diagram
   ============================================================== */
#svg-field-notes-process-diagram text,
#svg-field-notes-process-diagram tspan {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 700;
  font-size: 11px;
  font-size: 1.1rem;
  line-height: 1.6;
  text-transform: uppercase;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
#svg-field-notes-process-diagram #arrows_x5F_down,
#svg-field-notes-process-diagram #arrows_x5F_right,
#svg-field-notes-process-diagram #arrows_x5F_up {
  animation-duration: 3s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

#svg-field-notes-process-diagram #arrows_x5F_down {
  animation-name: field-notes-process-arrows_x5F_down-arrows;
}

@keyframes field-notes-process-arrows_x5F_down-arrows {
  0% {
    transform: translateY(pem(-20) );
    opacity: 0;
    fill: #fff;
  }
  5% {
    opacity: 1;
  }
  95% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(pem(20) );
  }
}
#svg-field-notes-process-diagram #arrows_x5F_right {
  animation-name: field-notes-process-arrows_x5F_right-arrows;
}

@keyframes field-notes-process-arrows_x5F_right-arrows {
  0% {
    transform: translateX(pem(-20) );
    opacity: 0;
    fill: #fff;
  }
  5% {
    opacity: 1;
  }
  95% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateX(pem(20) );
  }
}
#svg-field-notes-process-diagram #arrows_x5F_up {
  animation-name: field-notes-process-arrows_x5F_up-arrows;
}

@keyframes field-notes-process-arrows_x5F_up-arrows {
  0% {
    transform: translateY(pem(20) );
    opacity: 0;
    fill: #fff;
  }
  5% {
    opacity: 1;
  }
  95% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(pem(-20) );
  }
}
/* ==============================================================
   SVG - Flexibility Animation
   ============================================================== */
#svg-flexibility-anim {
  width: 75%;
  max-width: 34rem;
  height: auto;
  display: block;
  margin: auto;
}

/* ==============================================================
   SVG - Intro Animation
   ============================================================== */
#svg-intro-anim text,
#svg-intro-anim tspan {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
#svg-intro-anim #hello #hand {
  transform-origin: 50% 50%;
}
#svg-intro-anim #hello #were-odc-text {
  transform-origin: 50% 50%;
  opacity: 0;
}
#svg-intro-anim #transform-research circle {
  transform-origin: 50% 50%;
}
#svg-intro-anim #into-insight #lens-lines-right,
#svg-intro-anim #into-insight #lens-lines-left,
#svg-intro-anim #into-insight #inner-lens-right,
#svg-intro-anim #into-insight #inner-lens-left,
#svg-intro-anim #into-insight #outer-lens-right,
#svg-intro-anim #into-insight #outer-lens-left,
#svg-intro-anim #into-insight #frame-center-hub,
#svg-intro-anim #into-insight #frame-center-hub,
#svg-intro-anim #into-insight #frameBottom_1_,
#svg-intro-anim #into-insight #frameTop_1_,
#svg-intro-anim #into-insight #frame-center-lines {
  transform-origin: 50% 50%;
}
#svg-intro-anim #experiences #ring3,
#svg-intro-anim #experiences #ring2,
#svg-intro-anim #experiences #ring1,
#svg-intro-anim #experiences #ring4,
#svg-intro-anim #experiences #ring5,
#svg-intro-anim #experiences #pointer,
#svg-intro-anim #experiences #cloud3,
#svg-intro-anim #experiences #cloud1,
#svg-intro-anim #experiences #cloud2 {
  transform-origin: 50% 50%;
}
#svg-intro-anim #experiences #repeatGroup {
  cursor: pointer;
  transform-origin: 50% 50%;
  transition: 0.4s;
  z-index: 9999;
  position: absolute;
}
#svg-intro-anim #experiences #repeatGroup:hover {
  transform: rotateZ(90deg);
}

/* ==============================================================
   SVG - Services
   ============================================================== */
.l-home-services__service svg path,
.l-home-services__service svg line,
.l-home-services__service svg polygon,
.l-home-services__service svg polyline,
.l-home-services__service svg circle,
.l-home-services__service svg rect {
  stroke: #80c2d0;
  transition: 0.3s;
}

.l-home-services__service .svg-services--design rect {
  stroke: transparent;
  fill: #fff;
  fill-opacity: 0.4;
}
.l-home-services__service .svg-services--design rect:last-of-type {
  fill: transparent;
  stroke: #80c2d0;
}

.l-home-services__service .svg-services--branding path {
  fill-opacity: 0.25;
}

/* ==============================================================
   SVG - Services - Branding
   ============================================================== */
.l-home-services__service #svg-services-branding path,
.l-home-services__service #svg-services-branding line,
.l-home-services__service #svg-services-branding polygon,
.l-home-services__service #svg-services-branding polyline,
.l-home-services__service #svg-services-branding circle,
.l-home-services__service #svg-services-branding rect {
  stroke: #80c2d0;
  transition: 0.3s;
}
.l-home-services__service #svg-services-branding path {
  fill-opacity: 0.25;
}

/* ==============================================================
   SVG - Services - Design
   ============================================================== */
.l-home-services__service #svg-services-design path,
.l-home-services__service #svg-services-design line,
.l-home-services__service #svg-services-design polygon,
.l-home-services__service #svg-services-design polyline,
.l-home-services__service #svg-services-design circle,
.l-home-services__service #svg-services-design rect {
  stroke: #80c2d0;
  transition: 0.3s;
}
.l-home-services__service #svg-services-design rect {
  stroke: transparent;
  fill: #fff;
  fill-opacity: 0.4;
}

/* ==============================================================
   SVG - Services - Development
   ============================================================== */
.l-home-services__service #svg-services-development path,
.l-home-services__service #svg-services-development line,
.l-home-services__service #svg-services-development polygon,
.l-home-services__service #svg-services-development polyline,
.l-home-services__service #svg-services-development circle,
.l-home-services__service #svg-services-development rect {
  stroke: #80c2d0;
  transition: 0.3s;
}

/* ==============================================================
   Text Input
   ============================================================== */
.text-input {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding: 7px 13px;
  width: 100%;
  border: none;
  transition: background-color 0.2s;
  height: 100%;
  -webkit-appearance: none;
  border-radius: 0;
}
.text-input:focus {
  outline-offset: 3px;
}

/* Tiny
   ============================================================== */
.text-input--tiny {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 10px;
  font-size: 1rem;
  line-height: 2.2;
}

/* Large
   ============================================================== */
.text-input--large {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media (min-width: 62.5em) {
  .text-input--large {
    line-height: 2;
  }
}

/* Blue Border
   ============================================================== */
.text-input--blue-border {
  border: 2px solid #999999;
}

.thumbs {
  display: flex;
  flex-wrap: wrap;
}

.thumbs--related {
  border-top: 2px solid #DDDDDD;
  padding-top: 4rem;
}
@media (min-width: 39.375em) {
  .thumbs--related {
    margin-top: 4rem;
  }
}

@media (min-width: 39.375em) {
  .thumbs--2-up .thumb {
    width: calc(50% - 2.075rem);
    margin-right: 4rem;
  }
  .thumbs--2-up .thumb:nth-child(2n) {
    margin-right: 0;
  }
}

.thumbs--3-up .thumb {
  width: 100%;
}
.thumbs--3-up .thumb:last-child {
  margin-bottom: 0;
}
@media (min-width: 39.375em) {
  .thumbs--3-up .thumb {
    width: calc(50% - 2rem);
    margin-right: 4rem;
  }
  .thumbs--3-up .thumb:nth-child(2n) {
    margin-right: 0;
  }
  .thumbs--3-up .thumb:nth-last-child(-n+2) {
    margin-bottom: 0;
  }
}
@media (min-width: 62.5em) {
  .thumbs--3-up .thumb {
    width: calc(1/3 * 100% - 2.75rem);
  }
  .thumbs--3-up .thumb:nth-child(2n) {
    margin-right: 4rem;
  }
  .thumbs--3-up .thumb:nth-child(3n) {
    margin-right: 0;
  }
  .thumbs--3-up .thumb:nth-last-child(-n+3) {
    margin-bottom: 0;
  }
}

.thumbs--initial + .thumbs--ajax {
  margin-top: 4rem;
}

.thumbs__header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-bottom: 2rem;
  width: 100%;
}

.thumbs__header__title {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: auto;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media (min-width: 62.5em) {
  .thumbs__header__title {
    font-size: 25px;
    font-size: 2.5rem;
    line-height: auto;
  }
}

.thumbs__header__link {
  color: #222;
  text-decoration: none;
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  border-bottom: 2px solid;
  text-transform: uppercase;
}
@media (min-width: 39.375em) {
  .thumbs__header__link {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.6;
  }
}

@media (min-width: 39.375em) {
  .thumbs__body {
    display: flex;
    width: 100%;
  }
}

.thumb {
  width: 100%;
  margin-bottom: 4rem;
}

@media (min-width: 62.5em) {
  .thumb--featured {
    display: flex;
    align-items: center;
    margin-bottom: 7rem;
  }
}
.thumb--featured .post-meta {
  margin-bottom: 1.5rem;
}
.thumb--featured .author {
  display: none;
  margin-bottom: 1.5rem;
  align-items: center;
}
@media (min-width: 62.5em) {
  .thumb--featured .author {
    display: flex;
    margin-top: 1.5rem;
  }
}
.thumb--featured .author__byline {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: uppercase;
  color: #222;
  margin-bottom: 0;
}

@media (min-width: 62.5em) {
  .thumb--featured__left {
    padding-right: 4rem;
    width: 33.3333333333%;
  }
}

@media (min-width: 62.5em) {
  .thumb--featured__right {
    margin-left: 2rem;
    width: 66.6666666667%;
  }
}

.thumb__image__container {
  display: block;
  position: relative;
  overflow: hidden;
  background-color: #DDDDDD;
}
.thumb__image__container:hover .thumb__image {
  transform: scale(1.1);
}

.thumb__embed__container {
  display: block;
  background-color: #DDDDDD;
}
.thumb__embed__container > :first-child {
  width: 100%;
  display: block;
}
.thumb__embed__container > div {
  position: relative;
  overflow: hidden;
}
.thumb__embed__container > div::after {
  content: "";
  display: block;
  width: 100%;
  padding-top: 59.4059405941%;
}
.thumb__embed__container > div iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.thumb__image {
  position: relative;
  overflow: hidden;
  display: block;
  background-size: cover;
  background-position: 50% 50%;
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.3s linear;
}
.thumb__image:before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 59.4059405941%;
}
.thumb__image.lazyload, .thumb__image.is-loading {
  opacity: 0;
}
.thumb__image.is-loaded {
  opacity: 1;
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.3s linear;
}

.thumb__title {
  display: inline-block;
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 19px;
  font-size: 1.9rem;
  line-height: auto;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.4;
  text-decoration: none;
  margin-bottom: 1rem;
  color: #222;
}

.thumb__title--large {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: auto;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media (min-width: 62.5em) {
  .thumb__title--large {
    font-size: 25px;
    font-size: 2.5rem;
    line-height: auto;
  }
}

.thumb__title--xlarge {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: auto;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media (min-width: 62.5em) {
  .thumb__title--xlarge {
    font-size: 25px;
    font-size: 2.5rem;
    line-height: auto;
  }
}
@media (min-width: 39.375em) {
  .thumb__title--xlarge {
    font-style: normal;
    font-weight: normal;
    font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
    font-weight: 400;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.3;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin-bottom: 2.5rem;
  }
}
@media (min-width: 39.375em) and (min-width: 39.375em) {
  .thumb__title--xlarge {
    font-size: 30px;
    font-size: 3rem;
    line-height: 1.3;
  }
}
@media (min-width: 62.5em) {
  .thumb__title--xlarge {
    font-style: normal;
    font-weight: normal;
    font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
    font-weight: 400;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: auto;
    line-height: 1.4;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin-bottom: 1rem;
  }
}
@media (min-width: 62.5em) and (min-width: 62.5em) {
  .thumb__title--xlarge {
    font-size: 25px;
    font-size: 2.5rem;
    line-height: auto;
  }
}
@media (min-width: 75em) {
  .thumb__title--xlarge {
    font-style: normal;
    font-weight: normal;
    font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
    font-weight: 400;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.3;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}
@media (min-width: 75em) and (min-width: 39.375em) {
  .thumb__title--xlarge {
    font-size: 30px;
    font-size: 3rem;
    line-height: 1.3;
  }
}

:root {
  --unread-feature-height: 300px;
}
@media (min-width: 39.375em) {
  :root {
    --unread-feature-height: 400px;
  }
}
@media (min-width: 62.5em) {
  :root {
    --unread-feature-height: 600px;
  }
}
@media (min-width: 100em) {
  :root {
    --unread-feature-height: 800px;
  }
}

.unread-feature {
  position: relative;
  overflow: hidden;
  overflow-x: hidden;
  overflow-y: visible;
  background-color: #000;
  height: 300px;
  height: var(--unread-feature-height);
}

.unread-feature + .l-thumbs {
  margin-top: 3em;
}
@media (min-width: 39.375em) {
  .unread-feature + .l-thumbs {
    margin-top: 6em;
  }
}

.unread-loading {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  pointer-events: none;
}

.unread-loading__ur-logo-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.unread-loading.is-hidden,
.unread-loading__ur-logo.is-hidden,
.unread-loading__logo.is-hidden,
.unread-loading__vol-1-title.is-hidden {
  opacity: 0;
}

.unread-loading__logo + .unread-loading__vol-1-title {
  margin-top: 2rem;
}

.unread-instructions {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #fff;
  pointer-events: none;
}
.unread-instructions.is-hidden {
  opacity: 0;
  transition: none;
}

.unread-instructions__text + .unread-instructions__text {
  margin-top: 1em;
}
@media (min-width: 39.375em) {
  .unread-instructions__text + .unread-instructions__text {
    margin-top: 2em;
  }
}

.unread-loading__svg,
.unread-instructions__text {
  position: relative;
}
.unread-loading__svg:after,
.unread-instructions__text:after {
  content: "";
  display: block;
  width: 100%;
}
.unread-loading__svg svg,
.unread-instructions__text svg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}

.unread-loading__ur-logo {
  width: 13.75%;
}
.unread-loading__ur-logo:after {
  padding-top: 76.4102564103%;
}

.unread-loading__logo {
  width: 20%;
}
.unread-loading__logo:after {
  padding-top: 14%;
}

.unread-loading__vol-1-title {
  width: 30%;
}
.unread-loading__vol-1-title:after {
  padding-top: 6.7055393586%;
}

.unread-instructions__text--top {
  width: 70%;
}
.unread-instructions__text--top:after {
  padding-top: 4.6936114733%;
}

.unread-instructions__text--bottom {
  width: 10%;
}
.unread-instructions__text--bottom:after {
  padding-top: 11.875%;
}

.unread-info {
  display: flex;
  align-items: center;
  background-color: #222222;
  color: #bbbbbb;
  font-size: 1.6rem;
  line-height: 1.4;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  display: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
@media (min-width: 39.375em) {
  .unread-info {
    width: 400px;
    display: flex;
  }
}

.unread-info__close {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.is-info-active .unread-info {
  transform: translateX(0);
}
.is-info-active .unread-info__close {
  pointer-events: auto;
  cursor: e-resize;
}

.unread-info__inner {
  max-height: 100%;
  width: 70%;
  margin: 0 auto;
}

.unread-info__header svg {
  width: 230px;
  height: 31px;
}

.unread-info__items {
  flex: 1;
  padding-top: 3em;
  padding-bottom: 5rem;
}

.unread-info__item {
  position: relative;
}
.unread-info__item:before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0.8rem;
  left: -1.5rem;
  border-radius: 50%;
  width: 3px;
  height: 3px;
  background-color: #757575;
}

.unread-info__item + .unread-info__item {
  margin-top: 1.5em;
}

.unread-info__footer {
  font-size: 0.8em;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.unread-info__footer a {
  color: #fff;
  text-decoration: none;
  padding-bottom: 3px;
  border-bottom: 2px solid;
}
.unread-info__footer a:hover {
  border-bottom: 0;
}

.unread-info__icon {
  position: absolute;
  width: 30px;
  height: 30px;
  bottom: 30px;
  right: 30px;
  cursor: pointer;
  transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  display: none;
}
@media (min-width: 39.375em) {
  .unread-info__icon {
    display: block;
  }
}
.unread-info__icon:hover {
  opacity: 0.5;
}
.unread-info__icon svg {
  width: 30px;
  height: 30px;
}

.unread-header {
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  padding-bottom: 6rem;
}
@media (min-width: 39.375em) {
  .unread-header {
    display: flex;
  }
}

.unread-header__title {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: auto;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media (min-width: 62.5em) {
  .unread-header__title {
    font-size: 25px;
    font-size: 2.5rem;
    line-height: auto;
  }
}
@media (min-width: 39.375em) {
  .unread-header__title {
    width: calc(33.3333% + 1.5rem);
  }
}
@media (min-width: 62.5em) {
  .unread-header__title {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: auto;
  }
}
@media (min-width: 100em) {
  .unread-header__title {
    font-size: 25px;
    font-size: 2.5rem;
    line-height: auto;
  }
}

.unread-header__description {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-top: 1em;
}
@media (min-width: 62.5em) {
  .unread-header__description {
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 1.8;
  }
}
@media (min-width: 39.375em) {
  .unread-header__description {
    width: calc(66.66667% - 1.5rem);
    margin-top: 0;
  }
}
.unread-header__description a {
  color: #0085a1;
  text-decoration: none;
  border-bottom: 1px solid;
}

/* ==============================================================
   Weekly Signup
   ============================================================== */
.weekly-signup__icon {
  display: block;
  cursor: pointer;
  margin: 0 auto 2em auto;
}
@media (min-width: 39.375em) {
  .weekly-signup__icon {
    margin-top: -1em;
    margin-bottom: 0;
    width: 26%;
    position: relative;
    left: -3.5%;
  }
}
@media (min-width: 75em) {
  .weekly-signup__icon {
    left: -4.5%;
  }
}
.weekly-signup__icon svg {
  display: block;
  width: 70%;
  max-width: 100px;
  max-height: 82px;
  margin: 0 auto;
}
@media (min-width: 39.375em) {
  .weekly-signup__icon svg {
    max-width: 125px;
    max-height: 104px;
  }
}

.weekly-signup__label {
  display: block;
  margin-bottom: 1em;
  cursor: pointer;
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: uppercase;
}

@media (min-width: 39.375em) {
  .weekly-signup__icon,
  .weekly-signup__form {
    display: inline-block;
    vertical-align: middle;
  }
}

.weekly-signup__description {
  margin-bottom: 1em;
}

.weekly-signup__form {
  margin-top: 1em;
}
@media (min-width: 39.375em) {
  .weekly-signup__form {
    margin-top: 0;
    width: 70%;
    max-width: 440px;
    position: relative;
    top: 1em;
  }
}

.weekly-subfooter {
  background-color: #ECECEC;
  padding: 5rem 0;
  text-align: center;
}
@media (min-width: 62.5em) {
  .weekly-subfooter {
    padding: 10rem 0;
  }
}

.weekly-subfooter__inner {
  max-width: 480px;
  width: 75%;
  margin: 0 auto;
  position: relative;
}

.weekly-subfooter__title {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: auto;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: uppercase;
  margin-bottom: 2rem;
  display: block;
}
@media (min-width: 62.5em) {
  .weekly-subfooter__title {
    font-size: 25px;
    font-size: 2.5rem;
    line-height: auto;
  }
}

.weekly-subfooter__text {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: block;
}
@media (min-width: 62.5em) {
  .weekly-subfooter__text {
    line-height: 2;
  }
}

.weekly-subfooter__form {
  margin: 2rem 0;
}

.weekly-subfooter__link {
  color: #222;
  text-decoration: none;
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  border-bottom: 2px solid;
  text-transform: uppercase;
}
@media (min-width: 39.375em) {
  .weekly-subfooter__link {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.6;
  }
}

/* ==============================================================
   Team Member
   ============================================================== */
.team-member {
  cursor: pointer;
  padding-top: 27%;
}
@media (min-width: 39.375em) {
  .team-member {
    padding-top: 9%;
  }
}
@media (min-width: 39.375em) and (max-width: 62.5em) {
  .team-member:nth-of-type(2n-1) {
    padding-right: 9%;
  }
  .team-member:nth-of-type(2n) {
    padding-left: 9%;
  }
}
@media (min-width: 62.5em) {
  .team-member:nth-of-type(3n-2) {
    padding-right: 9%;
  }
  .team-member:nth-of-type(3n + 2) {
    padding-right: 4.5%;
    padding-left: 4.5%;
  }
  .team-member:nth-of-type(3n) {
    padding-left: 9%;
  }
}

.team-member__details {
  margin-bottom: 1.1538461538em;
}

.team-member__details__name {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: uppercase;
  color: #222;
  margin-bottom: 0.6666666667em;
}

.team-member__details__position {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #757575;
}

.team-member__photo {
  position: relative;
  overflow: hidden;
}
.team-member__photo img {
  width: 100%;
  display: block;
  transform: translateY(1.5384615385em);
  transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  backface-visibility: hidden;
}

.team-member__photo__plus {
  perspective: 1000px;
  position: absolute;
  display: block;
  opacity: 0;
  transition: 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform: rotateX(90deg);
  transition-property: transform, opacity;
  transform-style: preserve-3d;
  bottom: 15%;
  left: 50%;
  width: 5.7692307692em;
  height: 5.7692307692em;
  margin-left: -2.8461538462em;
}
.team-member__photo__plus:before {
  content: "";
  display: block;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
  transform: translateZ(-0.9230769231em);
  background-color: #222;
  border-radius: 100%;
}
.team-member__photo__plus:after {
  content: "";
  display: block;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
  background: url("../images/odc-linked_white-plus.svg") no-repeat center center;
}

.team-member__bio {
  padding: 3.4615384615em 0;
}
.team-member__bio:before {
  content: "";
  display: block;
  display: block;
  width: 34px;
  height: 0;
  border-bottom: 4px solid #222;
  margin-bottom: 1.5em;
}
.team-member__bio p,
.team-member__bio p a {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #222;
}
.team-member__bio p strong {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 700;
}
.js .team-member__bio {
  position: absolute;
  opacity: 0;
  left: -999999px;
  top: -999999px;
  transform: translateY(-0.7692307692em);
  transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition-property: opacity, transform;
}

.team-member:hover:not(.is-expanded) .team-member__photo img,
.team-member:focus-visible:not(.is-expanded) .team-member__photo img,
.team-member.is-expanded:not(.is-expanded) .team-member__photo img {
  transform: translateY(0);
}
.team-member:hover .team-member__photo__plus,
.team-member:focus-visible .team-member__photo__plus,
.team-member.is-expanded .team-member__photo__plus {
  opacity: 1;
  transform: rotateX(0);
}

.team-member.is-expanded .team-member__bio {
  position: static;
  opacity: 1;
  transform: translateY(0);
}
.team-member.is-expanded .team-member__photo__plus:after {
  background-image: url("../images/odc-linked_white-minus.svg");
}

.fui-error-message {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: uppercase;
  font-size: 10px;
  font-size: 1rem;
  line-height: 1.3;
  color: #919191;
  margin-top: 0.5rem;
}

.fui-alert {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #919191;
}
@media (min-width: 39.375em) {
  .fui-alert {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.6;
  }
}

.fui-alert-top-form {
  margin-bottom: 1.5rem;
}

.fui-input {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  border: 2px solid #999999;
  border-radius: 0;
  width: 100%;
  padding: 0.25rem 1rem;
  display: block;
}
@media (min-width: 62.5em) {
  .fui-input {
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 1.8;
  }
}
.fui-input:focus {
  outline: none;
  border-color: #222;
}
.fui-input::-moz-placeholder {
  color: #919191;
}
.fui-input::placeholder {
  color: #919191;
}

.fui-label {
  cursor: pointer;
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: uppercase;
}

.fui-row + .fui-row,
.fui-page-container + .fui-btn-container {
  margin-top: 1.5rem;
}

.fui-btn-container {
  margin-top: 1.5rem;
}

textarea.fui-input {
  max-width: 100%;
}

.fui-btn {
  cursor: pointer;
}

/* ==============================================================
   Layout - About Careers
   ============================================================== */
.l-about-careers {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  padding: 12.5%;
  position: relative;
  background-color: #363636;
  background-image: url("../images/typographic-letter-abstraction-banner-blurred.jpg");
  background-position: center center;
  background-size: cover;
}
.l-about-careers::after {
  content: " ";
  display: block;
  clear: both;
}
@media (min-width: 39.375em) {
  .l-about-careers {
    padding: 8.3333333333%;
  }
}
@media (min-width: 39.375em) {
  .l-about-careers {
    padding-top: 10%;
    padding-bottom: 12%;
  }
}

/* ==============================================================
   Layout - About Leadership Team
   ============================================================== */
.l-about-leadership-team {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  padding: 12.5%;
  padding-bottom: 0 !important;
  background-color: #DDDDDD;
}
.l-about-leadership-team::after {
  content: " ";
  display: block;
  clear: both;
}
@media (min-width: 39.375em) {
  .l-about-leadership-team {
    padding: 8.3333333333%;
  }
}
.l-about-leadership-team .team-member:first-of-type {
  clear: left;
}
@media (min-width: 39.375em) {
  .l-about-leadership-team .team-member {
    width: calc((4 / 12 * 100%));
    width: var(--span-4);
    float: left;
  }
  .l-about-leadership-team .team-member:nth-of-type(3n-2) {
    clear: left;
  }
}

/* ==============================================================
   Layout - About Header Group
   ============================================================== */
.l-about-header-group {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}
.l-about-header-group::after {
  content: " ";
  display: block;
  clear: both;
}
@media (min-width: 39.375em) {
  .l-about-header-group .heading-set {
    float: left;
    width: 20%;
    margin-right: 20%;
  }
}
@media (min-width: 39.375em) {
  .l-about-header-group .markdown-block {
    float: left;
    width: 60%;
    margin-top: -0.6153846154em;
  }
}
@media (min-width: 62.5em) {
  .l-about-header-group .markdown-block {
    float: left;
    width: 50%;
    margin-top: 3.2307692308em;
  }
}

/* ==============================================================
   Layout - About Intro
   ============================================================== */
.l-about-intro {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  padding: 12.5%;
  padding-top: 0;
}
.l-about-intro::after {
  content: " ";
  display: block;
  clear: both;
}
@media (min-width: 39.375em) {
  .l-about-intro {
    padding: 8.3333333333%;
  }
}
@media (min-width: 39.375em) {
  .l-about-intro {
    padding-top: calc(calc((1 / 12 * 100%)) / 2);
    padding-top: calc(var(--span-1) / 2);
    padding-bottom: 4rem;
  }
}
.l-about-intro > .heading-set {
  margin-bottom: 2.3076923077em;
}
@media (min-width: 39.375em) {
  .l-about-intro > .heading-set {
    margin-bottom: 3.8461538462em;
  }
}

.l-about-intro__services {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}
.l-about-intro__services::after {
  content: " ";
  display: block;
  clear: both;
}
@media (min-width: 39.375em) {
  .l-about-intro__services .about-service {
    padding-left: 1.8461538462em;
    padding-right: 1.8461538462em;
    float: left;
    width: calc((4 / 12 * 100%));
    width: var(--span-4);
  }
  .l-about-intro__services .about-service:first-of-type {
    padding-left: 0;
  }
  .l-about-intro__services .about-service:nth-of-type(2n) {
    padding-left: 0.9230769231em;
    padding-right: 0.9230769231em;
  }
  .l-about-intro__services .about-service:nth-of-type(3n) {
    padding-right: 0;
  }
}

/* ==============================================================
   Layout - About Team
   ============================================================== */
.l-about-team {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  padding: 6.25% 12.5%;
}
.l-about-team::after {
  content: " ";
  display: block;
  clear: both;
}
@media (min-width: 39.375em) {
  .l-about-team {
    padding: 6% 8.3333333333%;
  }
}
.l-about-team .team-member:first-of-type {
  clear: left;
}
@media (min-width: 39.375em) and (max-width: 62.5em) {
  .l-about-team .team-member {
    float: left;
    width: calc((6 /12 * 100%));
    width: var(--span-6);
  }
  .l-about-team .team-member:nth-of-type(2n - 1) {
    clear: left;
  }
}
@media (min-width: 62.5em) {
  .l-about-team .team-member {
    float: left;
    width: calc((4 / 12 * 100%));
    width: var(--span-4);
  }
  .l-about-team .team-member:nth-of-type(3n-2) {
    clear: left;
  }
}

/* ==============================================================
   Layout - Approach Blurbs
   ============================================================== */
.l-approach-blurbs {
  margin-bottom: var(--span-2);
}
.l-approach-blurbs .blurb + .blurb {
  margin-top: 3.0769230769em;
}
@media (min-width: 39.375em) {
  .l-approach-blurbs {
    width: calc((4 / 12 * 100%));
    width: var(--span-4);
    margin: 0 calc((4 / 12 * 100%));
    margin: 0 var(--span-4);
  }
}

/* ==============================================================
   Layout - Approach Content
   ============================================================== */
@media (min-width: 39.375em) {
  .l-approach-content {
    opacity: 0;
    transform: translateY(3.0769230769em);
    transition: 1s cubic-bezier(0.19, 1, 0.22, 1);
    transition-property: transform, opacity;
  }
  .l-approach-content.is-revealed {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (min-width: 39.375em) {
  .l-approach-content {
    width: calc((4 / 12 * 100%));
    width: var(--span-4);
    margin: 0 8.3333333333%;
    max-width: 34.6153846154em;
  }
}
.l-approach-content .heading-set {
  margin-bottom: 3.0769230769em;
}

/* ==============================================================
   Layout - Approach Heading
   ============================================================== */
@media (min-width: 39.375em) {
  .l-approach-heading {
    opacity: 0;
    transform: translateY(3.0769230769em);
    transition: 1s cubic-bezier(0.19, 1, 0.22, 1);
    transition-property: transform, opacity;
  }
  .l-approach-heading.is-revealed {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (min-width: 39.375em) {
  .l-approach-heading {
    max-width: 34.6153846154em;
    width: calc((4 / 12 * 100%));
    width: var(--span-4);
    margin: 0 8.3333333333%;
  }
}

/* ==============================================================
   Layout - Approach Intro
   ============================================================== */
.l-approach-intro {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  padding: 0 12.5%;
  padding-top: 0;
  padding-bottom: 0;
}
.l-approach-intro::after {
  content: " ";
  display: block;
  clear: both;
}
@media (min-width: 39.375em) {
  .l-approach-intro {
    padding: 0 calc((1 / 12 * 100%));
    padding: 0 var(--span-1);
    padding-top: calc(calc((1 / 12 * 100%)) / 2 * 100%);
    padding-top: calc(var(--span-1) / 2 * 100%);
  }
}
@media (min-width: 39.375em) {
  .l-approach-intro .heading-set {
    width: calc((6 /12 * 100%));
    width: var(--span-6);
  }
}
.l-approach-intro .markdown-block {
  margin-bottom: 12.5%;
}
@media (min-width: 39.375em) {
  .l-approach-intro .markdown-block {
    margin-bottom: 8.3333333333%;
    width: calc((6 /12 * 100%));
    width: var(--span-6);
  }
}
.l-approach-intro .approach-intro-graphic {
  display: block;
  clear: left;
  margin: 0 auto;
  width: 21.5384615385em;
}
@media (min-width: 0) and (max-width: 39.375em) {
  .l-approach-intro .approach-intro-graphic {
    display: none;
  }
}

/* ==============================================================
   Layout - Approach Process
   ============================================================== */
.l-approach-process {
  padding: 12.5%;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  position: relative;
  background-color: #ebf5f7;
}
.l-approach-process::after {
  content: " ";
  display: block;
  clear: both;
}
@media (min-width: 39.375em) {
  .l-approach-process {
    padding: 0;
    padding-bottom: 8.3333333333%;
  }
}
@media (min-width: 39.375em) {
  .l-approach-process .l-approach-heading {
    float: right;
    margin-top: 8.3333333333%;
    margin-bottom: 28.4615384615em;
  }
}
@media (min-width: 62.5em) {
  .l-approach-process .l-approach-heading {
    margin-bottom: 36.5384615385em;
  }
}
.l-approach-process .l-approach-blurbs {
  clear: right;
  float: left;
}
.l-approach-process .l-approach-content {
  float: right;
}

.l-approach-process__line-art {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
  overflow: hidden;
  margin: auto;
}
@media (min-width: 0) and (max-width: 39.375em) {
  .l-approach-process__line-art {
    display: none;
  }
}
@media (min-width: 39.375em) {
  .l-approach-process__line-art {
    width: 53.8461538462em;
    margin-top: -8.7692307692em;
  }
}
@media (min-width: 62.5em) {
  .l-approach-process__line-art {
    width: 68.3076923077em;
    margin-top: 0;
  }
}
.l-approach-process__line-art #svg-approach-process {
  width: 100%;
}

/* ==============================================================
   Layout - Approach Project Callout
   ============================================================== */
.l-approach-project-callout {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}
.l-approach-project-callout::after {
  content: " ";
  display: block;
  clear: both;
}
.l-approach-project-callout .block--container {
  float: none;
}

/* ==============================================================
   Layout - Approach Research
   ============================================================== */
.l-approach-research {
  padding: 12.5%;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  position: relative;
  background-color: #73bccb;
}
.l-approach-research::after {
  content: " ";
  display: block;
  clear: both;
}
@media (min-width: 39.375em) {
  .l-approach-research {
    padding: 0;
    padding-bottom: 8.3333333333%;
  }
}
@media (min-width: 39.375em) {
  .l-approach-research .l-approach-heading {
    float: left;
    margin-top: 8.3333333333%;
    margin-bottom: 43.0769230769em;
  }
}
@media (min-width: 62.5em) {
  .l-approach-research .l-approach-heading {
    margin-bottom: 40em;
  }
}
.l-approach-research .l-approach-blurbs {
  clear: left;
  float: right;
}
.l-approach-research .l-approach-content {
  float: left;
}

.l-approach-research__line-art {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
  overflow: hidden;
  width: 38.4615384615em;
  margin: auto;
}
@media (min-width: 0) and (max-width: 39.375em) {
  .l-approach-research__line-art {
    display: none;
  }
}

/* ==============================================================
   Layout - Approach Team
   ============================================================== */
.l-approach-team {
  padding: 12.5%;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  position: relative;
  background-color: #302614;
  background-image: url("../images/blurry-bg.jpg");
  background-position: center center;
  background-size: cover;
}
.l-approach-team::after {
  content: " ";
  display: block;
  clear: both;
}
@media (min-width: 39.375em) {
  .l-approach-team {
    padding: 0;
    padding-bottom: 8.3333333333%;
  }
}
.l-approach-team svg {
  display: block;
  margin: 0 auto;
}
@media (min-width: 0) and (max-width: 39.375em) {
  .l-approach-team svg {
    display: none;
  }
}
@media (min-width: 39.375em) {
  .l-approach-team .l-approach-heading {
    float: right;
    margin-top: 5.7692307692em;
    margin-bottom: 40em;
  }
}
@media (min-width: 62.5em) {
  .l-approach-team .l-approach-heading {
    margin-top: 7.6923076923em;
    margin-bottom: 49.2307692308em;
  }
}
.l-approach-team .l-approach-blurbs {
  float: left;
  clear: right;
}
.l-approach-team .l-approach-content {
  float: right;
}

.l-approach-team__intro {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 700;
  color: #fff;
  line-height: 1.7;
}
@media (min-width: 62.5em) {
  .l-approach-team__intro {
    line-height: 2;
  }
}
@media (min-width: 0) and (max-width: 39.375em) {
  .l-approach-team__intro {
    margin-bottom: 2.3076923077em;
  }
}
@media (min-width: 39.375em) {
  .l-approach-team__intro {
    margin: 0 auto;
    padding: 1.3846153846em 1.7692307692em;
    max-width: 26.3076923077em;
    border: 5px solid #fff;
    border-radius: 4px;
  }
}

.l-approach-team__line-art {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
  overflow: hidden;
}
@media (min-width: 0) and (max-width: 39.375em) {
  .l-approach-team__line-art {
    display: none;
  }
}
@media (min-width: 39.375em) {
  .l-approach-team__line-art {
    top: 20.6923076923em;
    margin: auto;
    margin-top: -6.9230769231em;
    width: 57.6923076923em;
  }
}
@media (min-width: 62.5em) {
  .l-approach-team__line-art {
    top: 23.2307692308em;
    margin-top: 0;
    width: 100%;
  }
}
.l-approach-team__line-art #svg-approach-team-table {
  max-width: 100%;
}

/* ==============================================================
   Layout - Contact Body
   ============================================================== */
.l-contact-body {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  display: flex;
  flex-direction: column;
}
.l-contact-body::after {
  content: " ";
  display: block;
  clear: both;
}
@media (min-width: 39.375em) {
  .l-contact-body {
    flex-direction: row;
  }
}

/* ==============================================================
   Layout - Contact Details
   ============================================================== */
.l-contact-details {
  background-color: #ECECEC;
  padding: 12.5%;
  width: 100%;
}
@media (min-width: 39.375em) {
  .l-contact-details {
    padding: 8.3333333333%;
  }
}
@media (min-width: 39.375em) {
  .l-contact-details {
    width: 70%;
  }
}

.l-contact-block-stack {
  display: flex;
  flex-direction: column;
}
@media (min-width: 39.375em) {
  .l-contact-block-stack {
    width: 50%;
  }
}

.l-contact-details__subsection + .l-contact-details__subsection {
  margin-top: 15.3%;
}
.l-contact-details__subsection .heading-set {
  margin-bottom: 0.7692307692em;
}
.l-contact-details__subsection .button-small {
  display: block;
  max-width: 10em;
  margin-top: 1.3em;
}
.l-contact-details__subsection .social-link {
  opacity: 0.5;
  display: inline-block;
}
.l-contact-details__subsection .social-link:hover {
  opacity: 1;
}
.l-contact-details__subsection .social-link + .social-link {
  margin-left: 1.8461538462em;
}
.l-contact-details__subsection .newsletter-signup {
  margin-top: 2.3076923077em;
}

.l-contact-details__callout {
  padding: 12.5%;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: #DDDDDD;
}
@media (min-width: 39.375em) {
  .l-contact-details__callout {
    padding: 17%;
  }
}
.l-contact-details__callout + .l-contact-details__callout {
  background-color: #ECECEC;
}
.l-contact-details__callout .outline-button, .l-contact-details__callout .fui-btn {
  margin: 1.5384615385em auto 0;
}

/* ==============================================================
   Layout - Contact Intro
   ============================================================== */
.l-contact-intro {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  background-color: #1D1D1D;
  position: relative;
  background-image: url("../images/contact-pg-hero-bg-image.jpg");
  background-position: center center;
  background-size: cover;
}
.l-contact-intro::after {
  content: " ";
  display: block;
  clear: both;
}
.l-contact-intro .heading-set {
  float: left;
  padding: 12.5%;
  margin-bottom: 0;
}
.l-contact-intro svg {
  float: right;
  display: none;
}
@media (min-width: 39.375em) {
  .l-contact-intro svg {
    display: block;
  }
}

/* ==============================================================
   Layout - Container
   ============================================================== */
.l-container {
  background-color: #ffffff;
  margin-left: auto;
  margin-right: auto;
  max-width: 1600px;
  position: relative;
}
.l-container::after {
  content: " ";
  display: block;
  clear: both;
}

body {
  background-color: #ffffff;
}

/* ==============================================================
   Embedded Video Container
   ============================================================== */
.l-embedded-video-container {
  display: block;
  margin: auto;
}

.l-embedded-video-container--full {
  width: 100%;
}

.l-embedded-video-container--two-thirds {
  width: 66.666%;
}

.l-embedded-video-container--half {
  width: 50%;
}

.l-embedded-video-container--third {
  width: 33.333%;
}

.l-embedded-video-container--quarter {
  width: 25%;
}

/*
Layout - Featured List

A list of featured items, 

.l-featured-list--reverse               - Reverses button color

*/
.l-featured-list:after {
  content: "";
  display: table;
  clear: both;
}

.l-featured-list__col {
  float: left;
}
@media (min-width: 39.375em) {
  .l-featured-list__col {
    width: 47%;
  }
}
.l-featured-list__col:nth-child(even) {
  margin-top: 3rem;
}
@media (min-width: 39.375em) {
  .l-featured-list__col:nth-child(even) {
    margin-top: 0;
    float: right;
  }
}

.l-featured-list__list > li {
  margin-top: 1rem;
}

.l-featured-list__footer {
  margin-top: 3.5rem;
  float: left;
  clear: both;
}

.l-featured-list__footer-footnote {
  margin-top: 2.5rem;
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #837d72;
}

/* ==============================================================
   Layout - Featured Projects
   ============================================================== */
.l-featured-projects {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}
.l-featured-projects::after {
  content: " ";
  display: block;
  clear: both;
}
.l-featured-projects .featured-project {
  float: left;
  width: calc((12 / 12 * 100%));
  width: var(--span-12);
}
@media (min-width: 39.375em) {
  .l-featured-projects .featured-project {
    float: left;
    width: calc((6 /12 * 100%));
    width: var(--span-6);
  }
}

/* ==============================================================
   Layout - Header
   ============================================================== */
.l-header {
  padding: 3.0769230769em 10.8%;
  text-align: center;
  position: relative;
  z-index: 1;
  width: 100%;
}
@media (min-width: 39.375em) {
  .l-header {
    padding: 3.6923076923em 8.3333333333%;
    text-align: left;
  }
}
.l-header .odc-logo-link,
.l-header .nav-primary {
  vertical-align: bottom;
  margin: 0 auto;
}
.l-header .odc-logo-link {
  display: block;
  margin: 0 auto;
  margin-bottom: 0.9230769231em;
  width: 6.0769230769em;
}
@media (min-width: 39.375em) {
  .l-header .odc-logo-link {
    margin: 0;
    margin-right: 1.5384615385em;
    display: inline-block;
  }
}
.l-header .odc-logo-link img {
  display: inline;
}
.l-header .nav-primary {
  display: inline-block;
}

/* Knockout
   ============================================================== */
.l-header--knockout {
  position: absolute;
}
@media (min-width: 62.5em) {
  .l-header--knockout {
    padding-top: 5.3846153846em;
  }
}

/* ==============================================================
   Layout - Home Clients
   ============================================================== */
.l-home-clients {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  background-color: #f9f9f9;
  display: flex;
  flex-direction: column;
}
.l-home-clients::after {
  content: " ";
  display: block;
  clear: both;
}
@media (min-width: 39.375em) {
  .l-home-clients {
    flex-direction: row;
  }
}

.l-home-clients__content {
  padding: 12.5%;
}
@media (min-width: 39.375em) {
  .l-home-clients__content {
    padding: 8.3333333333%;
  }
}
@media (min-width: 39.375em) {
  .l-home-clients__content {
    width: 50%;
  }
}
@media (min-width: 62.5em) {
  .l-home-clients__content {
    padding-top: calc(calc((1 / 12 * 100%)) / 1.1);
    padding-top: calc(var(--span-1) / 1.1);
  }
}
.l-home-clients__content .heading-set {
  margin-bottom: 3.2307692308em;
  max-width: 22.3076923077em;
}
.l-home-clients__content .markdown-block {
  margin-bottom: 3.8461538462em;
}
.l-home-clients__logos {
  padding: 0 5% 12.5%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 5rem 2rem;
}
@media (min-width: 39.375em) {
  .l-home-clients__logos {
    width: 50%;
    padding: 7% 4% 7% 0;
    gap: 4rem 3rem;
  }
}
@media (min-width: 62.5em) {
  .l-home-clients__logos {
    padding-top: 8rem;
    padding-bottom: 8rem;
    padding-right: 8rem;
    gap: 5rem 3rem;
  }
}

/* ==============================================================
   Layout - Home Header
   ============================================================== */
.l-home-header {
  position: relative;
  padding-top: 11.9230769231em;
  height: 0;
  background-color: #0085a1;
}
@media (min-width: 39.375em) {
  .l-home-header {
    padding-top: 80%;
  }
}
@media (min-width: 62.5em) {
  .l-home-header {
    padding-top: 55.5%;
  }
}
.l-home-header .intro-anim {
  display: none;
}
@media (min-width: 39.375em) {
  .l-home-header .intro-anim {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    position: absolute;
    display: block;
    margin: auto;
    top: 5%;
  }
}
.l-home-header .intro-anim-bg {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
}

/* ==============================================================
   Layout - Home Services
   ============================================================== */
.l-home-services {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  position: relative;
  background-color: #ECECEC;
}
.l-home-services::after {
  content: " ";
  display: block;
  clear: both;
}
@media (min-width: 39.375em) {
  .l-home-services:before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 33.3333333333%;
    display: block;
    width: 33.3333333333%;
    background-color: #DDDDDD;
    content: "";
  }
}
.l-home-services .heading-set {
  margin-left: 12.5%;
  padding-top: 12.5%;
}
@media (min-width: 39.375em) {
  .l-home-services .heading-set {
    margin-left: 8.3333333333%;
    padding-top: 7.0833333333%;
  }
}

.l-home-services__service {
  padding: 12.5%;
  padding-top: 0;
}
@media (min-width: 39.375em) {
  .l-home-services__service {
    padding: 8.3333333333%;
  }
}
.l-home-services__service + .l-home-services__service {
  margin-top: -4.1666666667%;
}
@media (min-width: 0) and (max-width: 39.375em) {
  .l-home-services__service + .l-home-services__service {
    padding-top: 0;
  }
}
@media (min-width: 39.375em) {
  .l-home-services__service {
    float: left;
    width: calc((4 / 12 * 100%));
    width: var(--span-4);
    position: relative;
    padding-top: 0;
    padding-right: 6.6666666667%;
  }
  .l-home-services__service + .l-home-services__service {
    margin-top: 0;
  }
}
.l-home-services__service svg {
  margin: 0 auto 12.5%;
  position: relative;
  display: block;
}
@media (min-width: 39.375em) {
  .l-home-services__service svg {
    margin: 0 auto 30%;
  }
}

/* ==============================================================
   Layout - Footer
   ============================================================== */
.l-footer {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  background-color: #222;
}
.l-footer::after {
  content: " ";
  display: block;
  clear: both;
}
@media (min-width: 62.5em) {
  .l-footer {
    display: flex;
  }
}

.l-footer__left,
.l-footer__center,
.l-footer__right {
  padding: 12.5%;
}
@media (min-width: 39.375em) {
  .l-footer__left,
  .l-footer__center,
  .l-footer__right {
    padding: 8.3333333333%;
  }
}

@media (min-width: 39.375em) {
  .l-footer__center,
  .l-footer__right {
    width: calc((6 /12 * 100%));
    width: var(--span-6);
  }
}

@media (min-width: 62.5em) {
  .l-footer__left,
  .l-footer__center,
  .l-footer__right {
    width: calc((4 / 12 * 100%));
    width: var(--span-4);
  }
}

.l-footer__left {
  background-color: #1D1D1D;
}
.l-footer__left .newsletter-signup {
  margin: 0 auto;
  max-width: 25.3846153846em;
}

.l-footer__center {
  padding-bottom: 0;
}
@media (min-width: 39.375em) {
  .l-footer__center {
    padding-right: 0;
    padding-bottom: 8.3333333333%;
  }
}
.l-footer__center .footer-contact-link, .l-footer__center .four-oh-four-footer .four-oh-four-link, .four-oh-four-footer .l-footer__center .four-oh-four-link {
  margin-bottom: 3.8461538462em;
}

.l-footer__right {
  padding-right: 1.5384615385em;
}
.l-footer__right .odc-logo-link {
  display: block;
  margin-bottom: 2.1538461538em;
}
.l-footer__right .contact-info {
  margin-bottom: 2.6153846154em;
}
.l-footer__right .social-link {
  display: inline-block;
}
.l-footer__right .social-link + .social-link {
  margin-left: 1.8461538462em;
}

/* ==============================================================
   Layout - Section Divider Content
   ============================================================== */
.l-section-divider-content {
  padding: 2.3076923077em;
  padding-top: 12.5%;
  padding-bottom: 12.5%;
  text-align: center;
}
@media (min-width: 39.375em) {
  .l-section-divider-content {
    padding-top: 7%;
    padding-bottom: 7%;
  }
}
@media (min-width: 62.5em) {
  .l-section-divider-content {
    padding-top: 5%;
    padding-bottom: 5%;
  }
}
.l-section-divider-content .outline-button, .l-section-divider-content .fui-btn {
  margin: 0.8333333333em auto;
}
.l-section-divider-content .divider-contact {
  margin-top: 2.6923076923em;
}

.l-section-divider-content--alt {
  background-color: #ECECEC;
}

.l-section-divider-content--alt + .weekly-subfooter {
  background-color: #DDDDDD;
}

/* ==============================================================
   Layout - Services
   ============================================================== */
.l-services {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  padding: 12.5%;
  padding-top: 0;
}
.l-services::after {
  content: " ";
  display: block;
  clear: both;
}
@media (min-width: 39.375em) {
  .l-services {
    padding: 8.3333333333%;
  }
}
@media (min-width: 39.375em) {
  .l-services {
    padding-top: calc(calc((1 / 12 * 100%)) / 2 * 100%);
    padding-top: calc(var(--span-1) / 2 * 100%);
  }
}

.l-services__service {
  font-style: normal;
  font-weight: normal;
  font-family: "Gotham SSm A", "Gotham SSm B", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding-top: 15%;
}
@media (min-width: 62.5em) {
  .l-services__service {
    line-height: 2;
  }
}
@media (min-width: 39.375em) {
  .l-services__service {
    float: left;
    width: calc((4 / 12 * 100%));
    width: var(--span-4);
    padding-top: 9%;
    padding-left: 1.8461538462em;
    padding-right: 1.8461538462em;
  }
  .l-services__service:nth-of-type(3n-2) {
    padding-left: 0;
  }
  .l-services__service:nth-of-type(3n + 2) {
    padding-left: 0.9230769231em;
    padding-right: 0.9230769231em;
  }
  .l-services__service:nth-of-type(3n) {
    padding-right: 0;
  }
  .l-services__service:nth-of-type(3n + 1) {
    clear: left;
  }
}

/* ==============================================================
   Layout - Thumbs
   ============================================================== */
.l-thumbs {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  padding-left: 7.5%;
  padding-right: 7.5%;
  padding-top: 0;
}
.l-thumbs::after {
  content: " ";
  display: block;
  clear: both;
}
@media (min-width: 39.375em) {
  .l-thumbs {
    padding-top: 0;
    padding-left: 8.3333333333%;
    padding-right: 8.3333333333%;
    padding-bottom: calc(calc((1 / 12 * 100%)) / 2.4);
    padding-bottom: calc(var(--span-1) / 2.4);
  }
}
.l-thumbs .breadcrumb {
  margin-bottom: 16%;
}
@media (min-width: 39.375em) {
  .l-thumbs .breadcrumb {
    margin-top: -2.6923076923em;
    margin-bottom: 5.3846153846em;
  }
}
.l-thumbs .post + .post,
.l-thumbs .pagination {
  margin-top: 24%;
}
@media (min-width: 39.375em) {
  .l-thumbs .post + .post,
  .l-thumbs .pagination {
    margin-top: 7.6923076923em;
  }
}

@media (min-width: 39.375em) {
  .l-thumbs--individual {
    padding-top: 2rem;
  }
}

@media (min-width: 62.5em) {
  .l-thumbs__section--two-thirds {
    display: flex;
  }
}
@media (min-width: 62.5em) {
  .l-thumbs__section--two-thirds .thumbs--2-up .thumb:nth-child(3), .l-thumbs__section--two-thirds .thumbs--2-up .thumb:nth-child(4) {
    margin-bottom: 0;
  }
}

@media (min-width: 62.5em) {
  .l-thumbs__section--two-thirds__two {
    --base-width: calc((2 / 3) * 100%);
    width: calc(calc((2 / 3) * 100%) + 5rem);
    width: calc(var(--base-width) + 5rem);
  }
}

.l-thumbs__section--two-thirds__one {
  margin-bottom: 4rem;
}
@media (min-width: 62.5em) {
  .l-thumbs__section--two-thirds__one {
    margin-left: 4rem;
    margin-bottom: 0;
    width: 33.3333333333%;
  }
}

.l-thumbs__load-more {
  background-color: #ebf5f7;
  padding: 5rem 0;
}

.l-thumbs__section-header {
  border-bottom: 2px solid #DDDDDD;
  margin-bottom: 4rem;
}
.l-thumbs__section-header .author {
  padding-top: 3rem;
  padding-bottom: 7rem;
}
@media (min-width: 62.5em) {
  .l-thumbs__section-header .author {
    width: 80%;
    padding-bottom: 9rem;
  }
}
@media (min-width: 62.5em) {
  .l-thumbs__section-header .author .author__byline {
    font-style: normal;
    font-weight: normal;
    font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
    font-weight: 400;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.3;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}
@media (min-width: 62.5em) and (min-width: 39.375em) {
  .l-thumbs__section-header .author .author__byline {
    font-size: 30px;
    font-size: 3rem;
    line-height: 1.3;
  }
}

.l-thumbs__section + .l-thumbs__section {
  margin-top: 4rem;
}

.l-thumbs__section-header__subheader {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.l-thumbs__section-header__breadcrumb {
  display: inline-block;
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: uppercase;
  color: #222;
  opacity: 0.5;
  text-decoration: none;
  margin-bottom: 1.5rem;
}

.l-thumbs__section-header__title {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: auto;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding-bottom: 2rem;
}
@media (min-width: 62.5em) {
  .l-thumbs__section-header__title {
    font-size: 25px;
    font-size: 2.5rem;
    line-height: auto;
  }
}

.l-thumbs__section-header__title--large {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.3;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media (min-width: 39.375em) {
  .l-thumbs__section-header__title--large {
    font-size: 32px;
    font-size: 3.2rem;
    line-height: 1.3;
  }
}
@media (min-width: 62.5em) {
  .l-thumbs__section-header__title--large {
    font-size: 40px;
    font-size: 4rem;
    line-height: 1.2;
  }
}

.l-thumbs__section-header__topics {
  font-style: normal;
  font-weight: normal;
  font-family: "Futura W01 Bold", "Helvetica Neue", Helvetica, Arial;
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding-bottom: 2rem;
  width: 25%;
  text-align: right;
}
@media (min-width: 39.375em) {
  .l-thumbs__section-header__topics {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.6;
  }
}

/* ==============================================================
   Layout - Weekly Index
   ============================================================== */
.l-weekly-index {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  padding: 12.5%;
}
.l-weekly-index::after {
  content: " ";
  display: block;
  clear: both;
}
@media (min-width: 39.375em) {
  .l-weekly-index {
    padding: 8.3333333333%;
  }
}
.l-weekly-index .post + .post,
.l-weekly-index .pagination {
  margin-top: 24%;
}
@media (min-width: 39.375em) {
  .l-weekly-index .post + .post,
  .l-weekly-index .pagination {
    margin-top: 1.5384615385em;
  }
}
@media (min-width: 39.375em) {
  .l-weekly-index .heading-set {
    margin-bottom: 7.6923076923em;
  }
}

/* ==============================================================
   Layout - Weekly Intro
   ============================================================== */
.l-weekly-intro {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  background-color: #1D1D1D;
}
.l-weekly-intro::after {
  content: " ";
  display: block;
  clear: both;
}
.l-weekly-intro .heading-set {
  padding: 12.5%;
  margin-bottom: 0;
  padding-bottom: calc(8.3333333333% + 12em);
}
@media (min-width: 39.375em) {
  .l-weekly-intro .heading-set {
    max-width: 80%;
    margin: auto 0;
    padding: calc(8.3333333333% + 7.5em) 8.3333333333% calc(8.3333333333% + 7.5em) 8.3333333333%;
  }
}

/* ==============================================================
   Layout - Weekly Signup Callout box
   ============================================================== */
.l-weekly-signup {
  width: 90%;
  margin: -12em auto 2em auto;
  background-color: #DDDDDD;
  padding: 7.5%;
}
@media (min-width: 39.375em) {
  .l-weekly-signup {
    width: 83.33%;
    margin-top: -8.5em;
    padding: 4.5%;
  }
}
@media (min-width: 62.5em) {
  .l-weekly-signup {
    margin-top: -9em;
    padding: 3.5%;
  }
}
@media (min-width: 75em) {
  .l-weekly-signup {
    margin-top: -9.5em;
  }
}

/* ==============================================================
   Layout - Work Content
   ============================================================== */
.l-work-content {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}
.l-work-content::after {
  content: " ";
  display: block;
  clear: both;
}

/* ==============================================================
   Layout - Work Entry Header
   ============================================================== */
.l-work-entry-header {
  padding: 50% 12.5% 8.3333333333%;
}
@media (min-width: 39.375em) {
  .l-work-entry-header {
    position: relative;
    padding: 0;
    padding-top: 55.5%;
    height: 0;
  }
}
@media (min-width: 39.375em) {
  .l-work-entry-header .heading-set {
    position: absolute;
    left: 8.3333333333%;
    bottom: 16.6666666667%;
    width: 50%;
  }
}
@media (min-width: 39.375em) and (min-width: 39.375em) {
  .l-work-entry-header .heading-set {
    opacity: 0;
    transform: translateY(3.0769230769em);
    transition: 1s cubic-bezier(0.19, 1, 0.22, 1);
    transition-property: transform, opacity;
  }
  .l-work-entry-header .heading-set.is-revealed {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (min-width: 0) and (max-width: 39.375em) {
  .l-work-entry-header .project-details {
    display: none;
  }
}
@media (min-width: 39.375em) {
  .l-work-entry-header .project-details {
    position: absolute;
    right: 8.3333333333%;
    bottom: 16.6666666667%;
    width: 25%;
  }
}

/* ==============================================================
   Layout - Work Projects
   ============================================================== */
.l-work-projects {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}
.l-work-projects::after {
  content: " ";
  display: block;
  clear: both;
}
.l-work-projects .featured-project {
  float: left;
  width: calc((12 / 12 * 100%));
  width: var(--span-12);
}
@media (min-width: 39.375em) {
  .l-work-projects .featured-project {
    width: calc((6 /12 * 100%));
    width: var(--span-6);
  }
}
@media (min-width: 62.5em) {
  .l-work-projects .featured-project {
    width: calc((4 / 12 * 100%));
    width: var(--span-4);
  }
}

/* ==============================================================
   Variables
   ============================================================== */
/* ==============================================================
   Code
   ============================================================== */
code[class*=language-],
pre[class*=language-] {
  color: #938ca8 !important;
  text-shadow: 0 1px white;
  font-family: Consolas, Monaco, "Andale Mono", monospace;
  line-height: 1.9 !important;
}

pre[class*=language-]::-moz-selection, pre[class*=language-] ::-moz-selection,
code[class*=language-]::-moz-selection, code[class*=language-] ::-moz-selection {
  text-shadow: none;
  background: #b3d4fc;
}

pre[class*=language-]::-moz-selection, pre[class*=language-] ::-moz-selection, code[class*=language-]::-moz-selection, code[class*=language-] ::-moz-selection {
  text-shadow: none;
  background: #b3d4fc;
}

pre[class*=language-]::selection, pre[class*=language-] ::selection,
code[class*=language-]::selection, code[class*=language-] ::selection {
  text-shadow: none;
  background: #b3d4fc;
}

/* Code blocks */
pre[class*=language-] {
  padding: 1em 1.3em !important;
  margin-bottom: 4rem !important;
  position: relative;
}

:not(pre) > code[class*=language-],
pre[class*=language-] {
  background: #f5fafb !important;
  border: 1px solid #e6f3f6;
  border-radius: 3px;
}

/* Inline code */
:not(pre) > code[class*=language-] {
  padding: 0.1em;
  border-radius: 0.3em;
}

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
  color: #99ced9 !important;
}

.token.punctuation {
  color: #397380 !important;
}

.namespace {
  opacity: 0.7;
}

.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol {
  color: #19a9e1 !important;
}

.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin {
  color: #6bc0b2 !important;
}

.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string,
.token.variable {
  color: #397380 !important;
  background: hsla(0, 0%, 100%, 0.5);
}

.token.atrule,
.token.attr-value,
.token.keyword {
  color: #df5946 !important;
}

.token.function {
  color: #62b6c7 !important;
}

.token.regex,
.token.important {
  color: #e90;
}

.token.important {
  font-weight: bold;
}

.token.entity {
  cursor: help;
}

pre.line-numbers {
  padding-left: 3.8em;
}

.line-numbers .line-numbers-rows {
  width: 3em; /* works for line-numbers below 1000 lines */
  border-right: 1px solid #999;
}

.line-numbers-rows > span:before {
  color: #999;
  padding-right: 0.8em;
}

/* ==============================================================
   Customize Slick
   ============================================================== */
.slick-slider {
  margin-bottom: 0;
}

.slick-slide img {
  transform: none;
}

.slick-loading .slick-list {
  background-image: none;
}