@charset "UTF-8";
/* ==========================================================================
   INUITCSS
   ========================================================================== */
/**
 * inuitcss, by @csswizardry
 *
 * github.com/inuitcss | inuitcss.com
 */
/**
 * This is an example inuitcss manifest file. DO NOT MODIFY THIS FILE DIRECTLY.
 * Instead, copy and paste it into your own CSS directory and make additions,
 * extensions, and modifications there.
 */
/**
 * CONTENTS
 *
 * SETTINGS
 * Config...............Project-level configuration and feature switches.
 * Core.................inuitcss’ core and setup settings.
 * Global...............Project-wide variables and settings.
 *
 * TOOLS
 * Rem..................Tools for converting pixel inputs into their rem
 *                      equivalents.
 * Font-size............A mixin which guarantees baseline-friendly line-heights.
 * Clearfix.............Micro clearfix mixin.
 * Hidden...............Mixin for hiding elements.
 * Sass MQ..............inuitcss’ default media query manager.
 *
 * GENERIC
 * Box-sizing...........Better default `box-sizing`.
 * Normalize.css........A level playing field using @necolas’ Normalize.css.
 * Reset................A tiny reset to complement Normalize.css.
 * Shared...............Sensibly and tersely share some global commonalities
 *                      (particularly useful when managing vertical rhythm).
 *
 * ELEMENTS
 * Page.................Set up our document’s default `font-size` and
 *                      `line-height`.
 * Headings.............Very minimal (i.e. only font-size information) for
 *                      headings 1 through 6.
 * Images...............Base image styles.
 * Tables...............Simple table styles.
 *
 * OBJECTS
 * Wrapper..............Page constraint object.
 * Layout...............Generic layout module.
 * Media................Image- and text-like content side by side. The
 *                      poster-child of OOCSS.
 * Flag.................Table-layout-based advancement on the Media object.
 * List-bare............Lists with no bullets or indents.
 * List-inline..........A list whose items all site in a line.
 * Box..................Simple boxing abstraction.
 * Block................Image-on-top-of-text object.
 * Ratio................A container for maintaining aspect ratio of content.
 * Crop.................Provide a cropping context for media (images, etc.).
 * Tables...............Classes for manipulating `table`s.
 * Pack.................Pack items into available horizontal space.
 *
 * COMPONENTS
 * Buttons..............An example button component, and how it fits into the
 *                      inuitcss framework.
 *
 * UTILITIES
 * Clearfix.............Bind our clearfix onto a utility class.
 * Widths...............Simple width helper classes.
 * Headings.............Reassigning our heading styles to helper classes.
 * Spacing..............Nudge bits of the DOM around with these spacing
 *                      classes.
 * Print................Reset-like styles taken from the HTML5 Boilerplate.
 * Hide.................Helper classes to hide content
 */
/* ==========================================================================
   #BOX-SIZING
   ========================================================================== */
/**
 * More sensible default box-sizing:
 * css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice
 */
@import url("https://fonts.googleapis.com/css?family=Heebo:100,400,700,900");
html {
  box-sizing: border-box; }

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

/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0; }

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block; }

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px; }

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
 * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit; }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic; }

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000; }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block; }

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none; }

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block; }

/**
 * Add the correct display in IE.
 */
template {
  display: none; }

/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none; }

/* ==========================================================================
   #RESET
   ========================================================================== */
/**
 * A very simple reset that sits on top of Normalize.css.
 */
body,
h1, h2, h3, h4, h5, h6,
blockquote, p, pre,
dl, dd, ol, ul,
figure,
hr,
fieldset, legend {
  margin: 0;
  padding: 0; }

/**
 * Remove trailing margins from nested lists.
 */
li > ol,
li > ul {
  margin-bottom: 0; }

/**
 * Remove default table spacing.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

/**
 * 1. Reset Chrome and Firefox behaviour which sets a `min-width: min-content;`
 *    on fieldsets.
 */
fieldset {
  min-width: 0;
  /* [1] */
  border: 0; }

/* ==========================================================================
   #SHARED
   ========================================================================== */
/**
 * Shared declarations for certain elements.
 */
/**
 * Always declare margins in the same direction:
 * csswizardry.com/2012/06/single-direction-margin-declarations
 */
address,
h1, h2, h3, h4, h5, h6,
blockquote, p, pre,
dl, ol, ul,
figure,
hr,
table,
fieldset {
  margin-bottom: 24px; }

/**
 * Consistent indentation for lists.
 */
dd, ol, ul {
  margin-left: 24px; }

html {
  font-family: 'Heebo', sans-serif;
  letter-spacing: .025em; }

/* ==========================================================================
   #PAGE
   ========================================================================== */
/**
 * Simple page-level setup.
 *
 * 1. Set the default `font-size` and `line-height` for the entire project,
 *    sourced from our default variables. The `font-size` is calculated to exist
 *    in ems, the `line-height` is calculated to exist unitlessly.
 * 2. Force scrollbars to always be visible to prevent awkward ‘jumps’ when
 *    navigating between pages that do/do not have enough content to produce
 *    scrollbars naturally.
 * 3. Ensure the page always fills at least the entire height of the viewport.
 */
html {
  font-size: 1.375em;
  /* [1] */
  line-height: 1.36364;
  /* [1] */
  overflow-y: scroll;
  /* [2] */
  min-height: 100%;
  /* [3] */ }

/* ==========================================================================
   #IMAGES
   ========================================================================== */
/**
 * 1. Fluid images for responsive purposes.
 * 2. Offset `alt` text from surrounding copy.
 * 3. Setting `vertical-align` removes the whitespace that appears under `img`
 *    elements when they are dropped into a page as-is. Safer alternative to
 *    using `display: block;`.
 */
img {
  max-width: 100%;
  /* [1] */
  font-style: italic;
  /* [2] */
  vertical-align: middle;
  /* [3] */ }

/**
   * If a `width` and/or `height` attribute has been explicitly defined, let’s
   * not make the image fluid.
   */
img[width],
img[height] {
  max-width: none; }

/* ==========================================================================
   #TABLES
   ========================================================================== */
/**
 * 1. Ensure tables fill up as much space as possible.
 */
table {
  width: 100%;
  /* [1] */ }

html {
  border: solid 10px #00ffff;
  cursor: default;
  color: #0F0F73; }

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  font-size: inherit;
  line-height: inherit;
  margin: 0;
  padding: 0;
  margin-bottom: 24px; }

a {
  color: inherit;
  text-decoration: inherit; }

/* ==========================================================================
   #WRAPPER
   ========================================================================== */
/**
 * Page-level constraining and wrapping elements.
 */
.o-wrapper {
  padding-right: 24px;
  padding-left: 24px;
  margin-right: auto;
  margin-left: auto;
  max-width: 1180px; }
.o-wrapper:after {
  content: "" !important;
  display: block !important;
  clear: both !important; }

/* ==========================================================================
   #LAYOUT
   ========================================================================== */
/**
 * Grid-like layout system.
 *
 * The layout object provides us with a column-style layout system. This file
 * contains the basic structural elements, but classes should be complemented
 * with width utilities, for example:
 *
 *   <div class="o-layout">
 *     <div class="o-layout__item  u-1/2">
 *     </div>
 *     <div class="o-layout__item  u-1/2">
 *     </div>
 *   </div>
 *
 * The above will create a two-column structure in which each column will
 * fluidly fill half of the width of the parent. We can have more complex
 * systems:
 *
 *   <div class="o-layout">
 *     <div class="o-layout__item  u-1/1  u-1/3@medium">
 *     </div>
 *     <div class="o-layout__item  u-1/2  u-1/3@medium">
 *     </div>
 *     <div class="o-layout__item  u-1/2  u-1/3@medium">
 *     </div>
 *   </div>
 *
 * The above will create a system in which the first item will be 100% width
 * until we enter our medium breakpoint, when it will become 33.333% width. The
 * second and third items will be 50% of their parent, until they also become
 * 33.333% width at the medium breakpoint.
 *
 * We can also manipulate entire layout systems by adding a series of modifiers
 * to the `.o-layout` block. For example:
 *
 *   <div class="o-layout  o-layout--reverse">
 *
 * This will reverse the displayed order of the system so that it runs in the
 * opposite order to our source, effectively flipping the system over.
 *
 *   <div class="o-layout  o-layout--[right|center]">
 *
 * This will cause the system to fill up from either the centre or the right
 * hand side. Default behaviour is to fill up the layout system from the left.
 *
 * There are plenty more options available to us: explore them below.
 */
/* Default/mandatory classes
   ========================================================================== */
/**
 * 1. Allows us to use the layout object on any type of element.
 * 2. We need to defensively reset any box-model properties.
 * 3. Use the negative margin trick for multi-row grids:
 *    http://csswizardry.com/2011/08/building-better-grid-systems/
 */
.o-layout {
  display: block;
  /* [1] */
  margin: 0;
  /* [2] */
  padding: 0;
  /* [2] */
  list-style: none;
  /* [1] */
  margin-left: -24px;
  /* [3] */
  font-size: 0; }

/**
   * 1. Required in order to combine fluid widths with fixed gutters.
   * 2. Allows us to manipulate grids vertically, with text-level properties,
   *    etc.
   * 3. Default item alignment is with the tops of each other, like most
   *    traditional grid/layout systems.
   * 4. By default, all layout items are full-width (mobile first).
   * 5. Gutters provided by left padding:
   *    http://csswizardry.com/2011/08/building-better-grid-systems/
   * 6. Fallback for old IEs not supporting `rem` values.
   */
.o-layout__item {
  box-sizing: border-box;
  /* [1] */
  display: inline-block;
  /* [2] */
  vertical-align: top;
  /* [3] */
  width: 100%;
  /* [4] */
  padding-left: 24px;
  /* [5] */
  font-size: 22px;
  /* [6] */
  font-size: 1rem; }

/* Gutter size modifiers
   ========================================================================== */
.o-layout--flush {
  margin-left: 0; }
.o-layout--flush > .o-layout__item {
  padding-left: 0; }

.o-layout--tiny {
  margin-left: -6px; }
.o-layout--tiny > .o-layout__item {
  padding-left: 6px; }

.o-layout--small {
  margin-left: -12px; }
.o-layout--small > .o-layout__item {
  padding-left: 12px; }

.o-layout--large {
  margin-left: -48px; }
.o-layout--large > .o-layout__item {
  padding-left: 48px; }

.o-layout--huge {
  margin-left: -96px; }
.o-layout--huge > .o-layout__item {
  padding-left: 96px; }

/* Vertical alignment modifiers
   ========================================================================== */
/**
 * Align all grid items to the middles of each other.
 */
.o-layout--middle > .o-layout__item {
  vertical-align: middle; }

/**
 * Align all grid items to the bottoms of each other.
 */
.o-layout--bottom > .o-layout__item {
  vertical-align: bottom; }

/**
 * Stretch all grid items of each row to have an equal-height.
 * Please be aware that this modifier class doesn’t take any effect in IE9 and
 * below and other older browsers due to the lack of `display: flex` support.
 */
.o-layout--stretch {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
.o-layout--stretch > .o-layout__item {
  display: -ms-flexbox;
  display: flex; }
.o-layout--stretch.o-layout--center {
  -ms-flex-pack: center;
  justify-content: center; }
.o-layout--stretch.o-layout--right {
  -ms-flex-pack: end;
  justify-content: flex-end; }
.o-layout--stretch.o-layout--left {
  -ms-flex-pack: start;
  justify-content: flex-start; }

/* Fill order modifiers
   ========================================================================== */
/**
 * Fill up the layout system from the centre.
 */
.o-layout--center {
  text-align: center; }
.o-layout--center > .o-layout__item {
  text-align: left; }

/**
 * Fill up the layout system from the right-hand side.
 */
.o-layout--right {
  text-align: right; }
.o-layout--right > .o-layout__item {
  text-align: left; }

/**
 * Fill up the layout system from the left-hand side. This will likely only be
 * needed when using in conjunction with `.o-layout--reverse`.
 */
.o-layout--left {
  text-align: left; }
.o-layout--left > .o-layout__item {
  text-align: left; }

/**
 * Reverse the rendered order of the grid system.
 */
.o-layout--reverse {
  direction: rtl; }
.o-layout--reverse > .o-layout__item {
  direction: ltr; }

/* Auto-widths modifier
   ========================================================================== */
/**
 * Cause layout items to take up a non-explicit amount of width.
 */
.o-layout--auto > .o-layout__item {
  width: auto; }

/* ==========================================================================
   #MEDIA
   ========================================================================== */
/**
 * Place any image- and text-like content side-by-side, as per:
 * http://www.stubbornella.org/content/2010/06/25/the-media-object-saves-hundreds-of-lines-of-code
 */
.o-media {
  display: block; }
.o-media:after {
  content: "" !important;
  display: block !important;
  clear: both !important; }

.o-media__img {
  float: left;
  margin-right: 24px; }
.o-media__img > img {
  display: block; }

.o-media__body {
  overflow: hidden;
  display: block; }
.o-media__body,
.o-media__body > :last-child {
  margin-bottom: 0; }

/* Size variants
   ========================================================================== */
/**
 * Modify the amount of space between our image and our text. We also have
 * reversible options for all available sizes.
 */
.o-media--flush > .o-media__img {
  margin-right: 0;
  margin-left: 0; }

.o-media--tiny > .o-media__img {
  margin-right: 6px; }

.o-media--tiny.o-media--reverse > .o-media__img {
  margin-right: 0;
  margin-left: 6px; }

.o-media--small > .o-media__img {
  margin-right: 12px; }

.o-media--small.o-media--reverse > .o-media__img {
  margin-right: 0;
  margin-left: 12px; }

.o-media--large > .o-media__img {
  margin-right: 48px; }

.o-media--large.o-media--reverse > .o-media__img {
  margin-right: 0;
  margin-left: 48px; }

.o-media--huge > .o-media__img {
  margin-right: 96px; }

.o-media--huge.o-media--reverse > .o-media__img {
  margin-right: 0;
  margin-left: 96px; }

/* Reversed media objects
   ========================================================================== */
.o-media--reverse > .o-media__img {
  float: right;
  margin-right: 0;
  margin-left: 24px; }

/* ==========================================================================
   #FLAG
   ========================================================================== */
/**
 * The flag object is a design pattern similar to the media object, however it
 * utilises `display: table[-cell];` to give us control over the vertical
 * alignments of the text and image.
 *
 * http://csswizardry.com/2013/05/the-flag-object/
 *
 * 1. Allows us to control vertical alignments.
 * 2. Force the object to be the full width of its parent. Combined with [1],
 *    this makes the object behave in a quasi-`display: block;` manner.
 * 3. Reset inherited `border-spacing` declarations.
 */
.o-flag {
  display: table;
  /* [1] */
  width: 100%;
  /* [2] */
  border-spacing: 0;
  /* [3] */ }

/**
   * Items within a flag object. There should only ever be one of each.
   *
   * 1. Default to aligning content to their middles.
   */
.o-flag__img,
.o-flag__body {
  display: table-cell;
  vertical-align: middle;
  /* [1] */ }

/**
   * Flag images have a space between them and the body of the object.
   *
   * 1. Force `.flag__img` to take up as little space as possible:
   *    https://pixelsvsbytes.com/2012/02/this-css-layout-grid-is-no-holy-grail/
   */
.o-flag__img {
  width: 1px;
  /* [1] */
  padding-right: 24px;
  /**
     * 1. Fixes problem with images disappearing.
     *
     *    The direct child selector '>' needs to remain in order for nested flag
     *    objects to not inherit their parent’s formatting. In case the image tag
     *    is wrapped into another tag, e.g. an anchor for linking reasons, it will
     *    disappear. In that case try wrapping the whole o-flag__img object into
     *    an anchor tag.
     *
     *    E.g.:
     *
     *      <a href="/">
     *        <div class="o-flag__img">
     *          <img src="./link/to/image.jpg" alt="image alt text">
     *        </div>
     *      </a>
     */ }
.o-flag__img > img {
  max-width: none;
  /* [1] */ }

/**
   * The container for the main content of the flag object.
   *
   * 1. Forces the `.flag__body` to take up all remaining space.
   */
.o-flag__body {
  width: auto;
  /* [1] */ }
.o-flag__body,
.o-flag__body > :last-child {
  margin-bottom: 0; }

/* Size variants
   ========================================================================== */
.o-flag--flush > .o-flag__img {
  padding-right: 0;
  padding-left: 0; }

.o-flag--tiny > .o-flag__img {
  padding-right: 6px; }

.o-flag--tiny.o-flag--reverse > .o-flag__img {
  padding-right: 0;
  padding-left: 6px; }

.o-flag--small > .o-flag__img {
  padding-right: 12px; }

.o-flag--small.o-flag--reverse > .o-flag__img {
  padding-right: 0;
  padding-left: 12px; }

.o-flag--large > .o-flag__img {
  padding-right: 48px; }

.o-flag--large.o-flag--reverse > .o-flag__img {
  padding-right: 0;
  padding-left: 48px; }

.o-flag--huge > .o-flag__img {
  padding-right: 96px; }

.o-flag--huge.o-flag--reverse > .o-flag__img {
  padding-right: 0;
  padding-left: 96px; }

/* Reversed flag
   ========================================================================== */
/**
 * 1. Swap the rendered direction of the object…
 * 2. …and reset it.
 * 3. Reassign margins to the correct sides.
 */
.o-flag--reverse {
  direction: rtl;
  /* [1] */ }
.o-flag--reverse > .o-flag__img,
.o-flag--reverse > .o-flag__body {
  direction: ltr;
  /* [2] */ }
.o-flag--reverse > .o-flag__img {
  padding-right: 0;
  /* [3] */
  padding-left: 24px;
  /* [3] */ }

/* Alignment variants
   ========================================================================== */
/**
 * Vertically align the image- and body-content differently. Defaults to middle.
 */
.o-flag--top > .o-flag__img,
.o-flag--top > .o-flag__body {
  vertical-align: top; }

.o-flag--bottom > .o-flag__img,
.o-flag--bottom > .o-flag__body {
  vertical-align: bottom; }

.c-header {
  padding-top: 24px;
  padding-bottom: 24px;
  position: fixed;
  z-index: 1;
  top: 0;
  left: 0;
  right: 0;
  background: white;
  border: solid 10px #00ffff;
  border-bottom: 0; }
.c-header__title {
  float: none; }
@media (min-width: 46.25em) {
  .c-header__title {
    float: left; } }
.c-header h1 {
  display: inline;
  margin-bottom: 0; }
.c-header .u-active {
  color: #00ffff; }
@media (min-width: 46.25em) {
  .c-header__layout {
    display: table;
    width: 100%; } }
.c-header__primary {
  padding-bottom: .2em; }
.c-header__primary .o-media__img {
  float: none; }
@media (min-width: 46.25em) {
  .c-header__primary .o-media__img {
    float: left; } }
.c-header__secondary {
  font-size: 16px;
  font-size: 0.72727rem;
  line-height: 1.25;
  margin-top: .45em;
  text-transform: uppercase;
  font-weight: bold; }
.c-header__meta {
  font-weight: normal;
  display: none; }
@media (min-width: 61.25em) {
  .c-header__meta {
    display: block; } }
.c-header__social {
  font-size: 12px;
  font-size: 0.54545rem;
  line-height: 1;
  color: #808080;
  padding-top: 6px;
  white-space: nowrap; }
.c-header__social a {
  display: inline-block;
  margin-left: .5em;
  padding: .4em;
  opacity: .35;
  transition: opacity .5s; }
.c-header__social a:first-child {
  padding-left: 0; }
.c-header__social a:hover {
  opacity: 1; }
.c-header__social .u-text {
  font-size: 11px;
  font-size: 0.5rem;
  line-height: 1;
  vertical-align: .2em; }
@media (min-width: 46.25em) {
  .c-header__social {
    text-align: right; } }

@media (min-width: 46.25em) {
  .c-images__column {
    width: 50%; } }

@media (min-width: 61.25em) {
  .c-images__column {
    width: 33.333%; } }

@media (max-width: 46.24em) {
  .c-images__column:nth-child(2) {
    display: none; } }

@media (max-width: 61.24em) {
  .c-images__column:nth-child(3) {
    display: none; } }

.c-images__item {
  margin-bottom: 24px; }

.c-project-link {
  overflow: hidden; }
.c-project-link__body {
  position: relative; }
.c-project-link__frame, .c-project-link__text {
  position: absolute;
  transition: all 0.45s; }
.c-project-link__frame {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  border: solid 0 transparent;
  background: transparent; }
.c-project-link__text {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -20%);
  text-align: center;
  opacity: 0;
  width: 80%;
  width: calc(100% - 40px); }
.c-project-link__text strong {
  display: block; }
.c-project-link:hover .c-project-link__frame {
  opacity: 1;
  border-width: 10px;
  background: rgba(255, 255, 255, 0.7); }
.c-project-link:hover .c-project-link__text {
  opacity: 1;
  transform: translate(-50%, -50%); }

.c-footer {
  font-size: 12px;
  font-size: 0.54545rem;
  line-height: 1.5;
  color: #B7B7D5;
  margin-bottom: 24px; }
.c-footer .o-media__img {
  float: none; }
@media (min-width: 46.25em) {
  .c-footer .o-media__img {
    float: left; } }
@media (min-width: 46.25em) {
  .c-footer .o-media__body {
    text-align: right; } }
.c-footer a {
  text-transform: uppercase; }
.c-footer a:first-child {
  margin-right: 2em;
  text-transform: none; }

/* ==========================================================================
   #WIDTHS
   ========================================================================== */
/**
 * inuitcss generates a series of utility classes that give a fluid width to
 * whichever element they’re applied, e.g.:
 *
 *   <img src="" alt="" class="u-1/2" />
 *
 * These classes are most commonly used in conjunction with our layout system,
 * e.g.:
 *
 *   <div class="o-layout__item  u-1/2">
 *
 * By default, inuitcss will also generate responsive variants of each of these
 * classes by using your Sass MQ configuration, e.g.:
 *
 *   <div class="o-layout__item  u-1/1  u-1/2@tablet  u-1/3@desktop">
 *
 * Optionally, inuitcss can generate offset classes which can push and pull
 * elements left and right by a specified amount, e.g.:
 *
 *   <div class="o-layout__item  u-2/3  u-pull-1/3">
 *
 * This is useful for making very granular changes to the rendered order of
 * items in a layout.
 *
 * N.B. This option is turned off by default.
 */
/**
 * A series of width helper classes that you can use to size things like grid
 * systems. Classes take a fraction-like format (e.g. `.u-2/3`). Use these in
 * your markup:
 *
 * <div class="u-7/12">
 *
 * The following will generate widths helper classes based on the fractions
 * defined in the `$inuit-fractions` list.
 */
.u-1\/1 {
  width: 100% !important; }

.u-1\/2 {
  width: 50% !important; }

.u-2\/2 {
  width: 100% !important; }

.u-1\/3 {
  width: 33.33333% !important; }

.u-2\/3 {
  width: 66.66667% !important; }

.u-3\/3 {
  width: 100% !important; }

.u-1\/4 {
  width: 25% !important; }

.u-2\/4 {
  width: 50% !important; }

.u-3\/4 {
  width: 75% !important; }

.u-4\/4 {
  width: 100% !important; }

.u-1\/5 {
  width: 20% !important; }

.u-2\/5 {
  width: 40% !important; }

.u-3\/5 {
  width: 60% !important; }

.u-4\/5 {
  width: 80% !important; }

.u-5\/5 {
  width: 100% !important; }

/**
 * If we’re using Sass-MQ, automatically generate grid system(s) for each of our
 * defined breakpoints, and give them a Responsive Suffix, e.g.:
 *
 * <div class="u-3/12@mobile">
 */
@media (min-width: 20em) {
  .u-1\/1\@mobile {
    width: 100% !important; }
  .u-1\/2\@mobile {
    width: 50% !important; }
  .u-2\/2\@mobile {
    width: 100% !important; }
  .u-1\/3\@mobile {
    width: 33.33333% !important; }
  .u-2\/3\@mobile {
    width: 66.66667% !important; }
  .u-3\/3\@mobile {
    width: 100% !important; }
  .u-1\/4\@mobile {
    width: 25% !important; }
  .u-2\/4\@mobile {
    width: 50% !important; }
  .u-3\/4\@mobile {
    width: 75% !important; }
  .u-4\/4\@mobile {
    width: 100% !important; }
  .u-1\/5\@mobile {
    width: 20% !important; }
  .u-2\/5\@mobile {
    width: 40% !important; }
  .u-3\/5\@mobile {
    width: 60% !important; }
  .u-4\/5\@mobile {
    width: 80% !important; }
  .u-5\/5\@mobile {
    width: 100% !important; } }

@media (min-width: 46.25em) {
  .u-1\/1\@tablet {
    width: 100% !important; }
  .u-1\/2\@tablet {
    width: 50% !important; }
  .u-2\/2\@tablet {
    width: 100% !important; }
  .u-1\/3\@tablet {
    width: 33.33333% !important; }
  .u-2\/3\@tablet {
    width: 66.66667% !important; }
  .u-3\/3\@tablet {
    width: 100% !important; }
  .u-1\/4\@tablet {
    width: 25% !important; }
  .u-2\/4\@tablet {
    width: 50% !important; }
  .u-3\/4\@tablet {
    width: 75% !important; }
  .u-4\/4\@tablet {
    width: 100% !important; }
  .u-1\/5\@tablet {
    width: 20% !important; }
  .u-2\/5\@tablet {
    width: 40% !important; }
  .u-3\/5\@tablet {
    width: 60% !important; }
  .u-4\/5\@tablet {
    width: 80% !important; }
  .u-5\/5\@tablet {
    width: 100% !important; } }

@media (min-width: 61.25em) {
  .u-1\/1\@desktop {
    width: 100% !important; }
  .u-1\/2\@desktop {
    width: 50% !important; }
  .u-2\/2\@desktop {
    width: 100% !important; }
  .u-1\/3\@desktop {
    width: 33.33333% !important; }
  .u-2\/3\@desktop {
    width: 66.66667% !important; }
  .u-3\/3\@desktop {
    width: 100% !important; }
  .u-1\/4\@desktop {
    width: 25% !important; }
  .u-2\/4\@desktop {
    width: 50% !important; }
  .u-3\/4\@desktop {
    width: 75% !important; }
  .u-4\/4\@desktop {
    width: 100% !important; }
  .u-1\/5\@desktop {
    width: 20% !important; }
  .u-2\/5\@desktop {
    width: 40% !important; }
  .u-3\/5\@desktop {
    width: 60% !important; }
  .u-4\/5\@desktop {
    width: 80% !important; }
  .u-5\/5\@desktop {
    width: 100% !important; } }

@media (min-width: 81.25em) {
  .u-1\/1\@wide {
    width: 100% !important; }
  .u-1\/2\@wide {
    width: 50% !important; }
  .u-2\/2\@wide {
    width: 100% !important; }
  .u-1\/3\@wide {
    width: 33.33333% !important; }
  .u-2\/3\@wide {
    width: 66.66667% !important; }
  .u-3\/3\@wide {
    width: 100% !important; }
  .u-1\/4\@wide {
    width: 25% !important; }
  .u-2\/4\@wide {
    width: 50% !important; }
  .u-3\/4\@wide {
    width: 75% !important; }
  .u-4\/4\@wide {
    width: 100% !important; }
  .u-1\/5\@wide {
    width: 20% !important; }
  .u-2\/5\@wide {
    width: 40% !important; }
  .u-3\/5\@wide {
    width: 60% !important; }
  .u-4\/5\@wide {
    width: 80% !important; }
  .u-5\/5\@wide {
    width: 100% !important; } }

/* ==========================================================================
   #SPACINGS
   ========================================================================== */
/**
 * Utility classes to put specific spacing values onto elements. The below loop
 * will generate us a suite of classes like:
 *
 *   .u-margin-top {}
 *   .u-padding-left-large {}
 *   .u-margin-right-small {}
 *   .u-padding {}
 *   .u-padding-right-none {}
 *   .u-padding-horizontal {}
 *   .u-padding-vertical-small {}
 */
.u-padding {
  padding: 24px !important; }

.u-padding-tiny {
  padding: 6px !important; }

.u-padding-small {
  padding: 12px !important; }

.u-padding-large {
  padding: 48px !important; }

.u-padding-huge {
  padding: 96px !important; }

.u-padding-none {
  padding: 0 !important; }

.u-padding-top {
  padding-top: 24px !important; }

.u-padding-top-tiny {
  padding-top: 6px !important; }

.u-padding-top-small {
  padding-top: 12px !important; }

.u-padding-top-large {
  padding-top: 48px !important; }

.u-padding-top-huge {
  padding-top: 96px !important; }

.u-padding-top-none {
  padding-top: 0 !important; }

.u-padding-right {
  padding-right: 24px !important; }

.u-padding-right-tiny {
  padding-right: 6px !important; }

.u-padding-right-small {
  padding-right: 12px !important; }

.u-padding-right-large {
  padding-right: 48px !important; }

.u-padding-right-huge {
  padding-right: 96px !important; }

.u-padding-right-none {
  padding-right: 0 !important; }

.u-padding-bottom {
  padding-bottom: 24px !important; }

.u-padding-bottom-tiny {
  padding-bottom: 6px !important; }

.u-padding-bottom-small {
  padding-bottom: 12px !important; }

.u-padding-bottom-large {
  padding-bottom: 48px !important; }

.u-padding-bottom-huge {
  padding-bottom: 96px !important; }

.u-padding-bottom-none {
  padding-bottom: 0 !important; }

.u-padding-left {
  padding-left: 24px !important; }

.u-padding-left-tiny {
  padding-left: 6px !important; }

.u-padding-left-small {
  padding-left: 12px !important; }

.u-padding-left-large {
  padding-left: 48px !important; }

.u-padding-left-huge {
  padding-left: 96px !important; }

.u-padding-left-none {
  padding-left: 0 !important; }

.u-padding-horizontal {
  padding-left: 24px !important;
  padding-right: 24px !important; }

.u-padding-horizontal-tiny {
  padding-left: 6px !important;
  padding-right: 6px !important; }

.u-padding-horizontal-small {
  padding-left: 12px !important;
  padding-right: 12px !important; }

.u-padding-horizontal-large {
  padding-left: 48px !important;
  padding-right: 48px !important; }

.u-padding-horizontal-huge {
  padding-left: 96px !important;
  padding-right: 96px !important; }

.u-padding-horizontal-none {
  padding-left: 0 !important;
  padding-right: 0 !important; }

.u-padding-vertical {
  padding-top: 24px !important;
  padding-bottom: 24px !important; }

.u-padding-vertical-tiny {
  padding-top: 6px !important;
  padding-bottom: 6px !important; }

.u-padding-vertical-small {
  padding-top: 12px !important;
  padding-bottom: 12px !important; }

.u-padding-vertical-large {
  padding-top: 48px !important;
  padding-bottom: 48px !important; }

.u-padding-vertical-huge {
  padding-top: 96px !important;
  padding-bottom: 96px !important; }

.u-padding-vertical-none {
  padding-top: 0 !important;
  padding-bottom: 0 !important; }

.u-margin {
  margin: 24px !important; }

.u-margin-tiny {
  margin: 6px !important; }

.u-margin-small {
  margin: 12px !important; }

.u-margin-large {
  margin: 48px !important; }

.u-margin-huge {
  margin: 96px !important; }

.u-margin-none {
  margin: 0 !important; }

.u-margin-top {
  margin-top: 24px !important; }

.u-margin-top-tiny {
  margin-top: 6px !important; }

.u-margin-top-small {
  margin-top: 12px !important; }

.u-margin-top-large {
  margin-top: 48px !important; }

.u-margin-top-huge {
  margin-top: 96px !important; }

.u-margin-top-none {
  margin-top: 0 !important; }

.u-margin-right {
  margin-right: 24px !important; }

.u-margin-right-tiny {
  margin-right: 6px !important; }

.u-margin-right-small {
  margin-right: 12px !important; }

.u-margin-right-large {
  margin-right: 48px !important; }

.u-margin-right-huge {
  margin-right: 96px !important; }

.u-margin-right-none {
  margin-right: 0 !important; }

.u-margin-bottom {
  margin-bottom: 24px !important; }

.u-margin-bottom-tiny {
  margin-bottom: 6px !important; }

.u-margin-bottom-small {
  margin-bottom: 12px !important; }

.u-margin-bottom-large {
  margin-bottom: 48px !important; }

.u-margin-bottom-huge {
  margin-bottom: 96px !important; }

.u-margin-bottom-none {
  margin-bottom: 0 !important; }

.u-margin-left {
  margin-left: 24px !important; }

.u-margin-left-tiny {
  margin-left: 6px !important; }

.u-margin-left-small {
  margin-left: 12px !important; }

.u-margin-left-large {
  margin-left: 48px !important; }

.u-margin-left-huge {
  margin-left: 96px !important; }

.u-margin-left-none {
  margin-left: 0 !important; }

.u-margin-horizontal {
  margin-left: 24px !important;
  margin-right: 24px !important; }

.u-margin-horizontal-tiny {
  margin-left: 6px !important;
  margin-right: 6px !important; }

.u-margin-horizontal-small {
  margin-left: 12px !important;
  margin-right: 12px !important; }

.u-margin-horizontal-large {
  margin-left: 48px !important;
  margin-right: 48px !important; }

.u-margin-horizontal-huge {
  margin-left: 96px !important;
  margin-right: 96px !important; }

.u-margin-horizontal-none {
  margin-left: 0 !important;
  margin-right: 0 !important; }

.u-margin-vertical {
  margin-top: 24px !important;
  margin-bottom: 24px !important; }

.u-margin-vertical-tiny {
  margin-top: 6px !important;
  margin-bottom: 6px !important; }

.u-margin-vertical-small {
  margin-top: 12px !important;
  margin-bottom: 12px !important; }

.u-margin-vertical-large {
  margin-top: 48px !important;
  margin-bottom: 48px !important; }

.u-margin-vertical-huge {
  margin-top: 96px !important;
  margin-bottom: 96px !important; }

.u-margin-vertical-none {
  margin-top: 0 !important;
  margin-bottom: 0 !important; }

.u-word-spacer {
  display: inline-block;
  width: 1em;
  text-align: center;
  font-weight: normal; }

.u-project p img {
  width: 100%; }

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