@charset "UTF-8";
/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in IE and iOS.
 */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

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

/* HTML5 display definitions
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 * 2. Add the correct display in IE.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  /* 1 */
  display: block; }

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

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

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Add the correct display in IE 10-.
 * 1. Add the correct display in IE.
 */
template,
[hidden] {
  display: none; }

/* Links
   ========================================================================== */
/**
 * 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 */ }

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the bottom border in 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; }

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

/**
 * 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; }

/**
 * 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
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none; }

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

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

/**
 * 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 */ }

/* Forms
   ========================================================================== */
/**
 * 1. Change font properties to `inherit` in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font: inherit;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Restore the font weight unset by the previous rule.
 */
optgroup {
  font-weight: bold; }

/**
 * 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; }

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 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 */ }

/**
 * 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 OS X.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54; }

/**
 * 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 */ }

/**
 * A thin layer on top of normalize.css that provides a starting point more
 * suitable for web applications.
 */
/**
 * Prevent margin and border from affecting element width.
 * https://goo.gl/pYtbK7
 *
 */
html {
  box-sizing: border-box; }

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

/**
 * Removes the default spacing and border for appropriate elements.
 */
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
figure,
p,
pre {
  margin: 0; }

button {
  background: transparent;
  border: 0;
  padding: 0; }

/**
 * Work around a Firefox/IE bug where the transparent `button` background
 * results in a loss of the default `button` focus styles.
 */
button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color; }

fieldset {
  border: 0;
  margin: 0;
  padding: 0; }

iframe {
  border: 0; }

ol,
ul {
  list-style: none;
  margin: 0;
  padding: 0; }

/**
 * Suppress the focus outline on elements that cannot be accessed via keyboard.
 * This prevents an unwanted focus outline from appearing around elements that
 * might still respond to pointer events.
 */
[tabindex="-1"]:focus {
  outline: none !important; }

/**
 * @define utilities
 * Vertical alignment utilities
 * Depends on an appropriate `display` value.
 */
.u-alignBaseline {
  vertical-align: baseline !important; }

.u-alignBottom {
  vertical-align: bottom !important; }

.u-alignMiddle {
  vertical-align: middle !important; }

.u-alignTop {
  vertical-align: top !important; }

/**
 * @define utilities
 * Display-type utilities
 */
.u-block {
  display: block !important; }

.u-hidden {
  display: none !important; }

/**
 * Completely remove from the flow but leave available to screen readers.
 */
.u-hiddenVisually {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  height: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important; }

.u-inline {
  display: inline !important; }

/**
 * 1. Fix for Firefox bug: an image styled `max-width:100%` within an
 * inline-block will display at its default size, and not limit its width to
 * 100% of an ancestral container.
 */
.u-inlineBlock {
  display: inline-block !important;
  max-width: 100%;
  /* 1 */ }

.u-table {
  display: table !important; }

.u-tableCell {
  display: table-cell !important; }

.u-tableRow {
  display: table-row !important; }

/**
 * @define utilities
 * Contain floats
 *
 * Make an element expand to contain floated children.
 * Uses pseudo-elements (micro clearfix).
 *
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of the
 *    element.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */
.u-cf::before,
.u-cf::after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */ }

.u-cf::after {
  clear: both; }

/**
 * New block formatting context
 *
 * This affords some useful properties to the element. It won't wrap under
 * floats. Will also contain any floated children.

 * N.B. This will clip overflow. Use the alternative method below if this is
 * problematic.
 */
.u-nbfc {
  overflow: hidden !important; }

/**
 * New block formatting context (alternative)
 *
 * Alternative method when overflow must not be clipped.
 *
 * 1. Create a new block formatting context (NBFC).
 * 2. Avoid shrink-wrap behaviour of table-cell.
 *
 * N.B. This breaks down in some browsers when elements within this element
 * exceed its width.
 */
.u-nbfcAlt {
  display: table-cell !important;
  /* 1 */
  width: 10000px !important;
  /* 2 */ }

/**
 * Floats
 */
.u-floatLeft {
  float: left !important; }

.u-floatRight {
  float: right !important; }

/**
 * @define utilities
 * Clean link
 *
 * A link without any text-decoration at all.
 */
.u-linkClean,
.u-linkClean:hover,
.u-linkClean:focus,
.u-linkClean:active {
  text-decoration: none !important; }

/**
 * Link complex
 *
 * A common pattern is to have a link with several pieces of text and/or an
 * icon, where only one piece of text should display the underline when the
 * link is the subject of user interaction.
 *
 * Example HTML:
 *
 * <a class="u-linkComplex" href="#">
 *   Link complex
 *   <span class="u-linkComplexTarget">target</span>
 * </a>
 */
.u-linkComplex,
.u-linkComplex:hover,
.u-linkComplex:focus,
.u-linkComplex:active {
  text-decoration: none !important; }

.u-linkComplex:hover .u-linkComplexTarget,
.u-linkComplex:focus .u-linkComplexTarget,
.u-linkComplex:active .u-linkComplexTarget {
  text-decoration: underline !important; }

/**
 * Block-level link
 *
 * Combination of traits commonly used in vertical navigation lists.
 */
.u-linkBlock,
.u-linkBlock:hover,
.u-linkBlock:focus,
.u-linkBlock:active {
  display: block !important;
  text-decoration: none !important; }

/**
 * @define utilities
 * Specify the proportional offset after an element.
 * Intentional redundancy build into each set of unit classes.
 * Supports: 2, 4, 5, 6, 8, 10, 12 section
 */
.u-after1of12 {
  margin-right: 8.33333% !important; }

.u-after1of10 {
  margin-right: 10% !important; }

.u-after1of8 {
  margin-right: 12.5% !important; }

.u-after1of6,
.u-after2of12 {
  margin-right: 16.66667% !important; }

.u-after1of5,
.u-after2of10 {
  margin-right: 20% !important; }

.u-after1of4,
.u-after2of8,
.u-after3of12 {
  margin-right: 25% !important; }

.u-after3of10 {
  margin-right: 30% !important; }

.u-after1of3,
.u-after2of6,
.u-after4of12 {
  margin-right: 33.33333% !important; }

.u-after3of8 {
  margin-right: 37.5% !important; }

.u-after2of5,
.u-after4of10 {
  margin-right: 40% !important; }

.u-after5of12 {
  margin-right: 41.66667% !important; }

.u-after1of2,
.u-after2of4,
.u-after3of6,
.u-after4of8,
.u-after5of10,
.u-after6of12 {
  margin-right: 50% !important; }

.u-after7of12 {
  margin-right: 58.33333% !important; }

.u-after3of5,
.u-after6of10 {
  margin-right: 60% !important; }

.u-after5of8 {
  margin-right: 62.5% !important; }

.u-after2of3,
.u-after4of6,
.u-after8of12 {
  margin-right: 66.66667% !important; }

.u-after7of10 {
  margin-right: 70% !important; }

.u-after3of4,
.u-after6of8,
.u-after9of12 {
  margin-right: 75% !important; }

.u-after4of5,
.u-after8of10 {
  margin-right: 80% !important; }

.u-after5of6,
.u-after10of12 {
  margin-right: 83.33333% !important; }

.u-after7of8 {
  margin-right: 87.5% !important; }

.u-after9of10 {
  margin-right: 90% !important; }

.u-after11of12 {
  margin-right: 91.66667% !important; }

/**
 * @define utilities
 * Offset: breakpoint 1 (small)
 *
 * Specify the proportional offset after an element.
 * Intentional redundancy build into each set of unit classes.
 * Supports: 2, 4, 5, 6, 8, 10, 12 section
 */
@media (min-width: 320px) and (max-width: 768px) {
  .u-sm-afterNone {
    margin-right: 0 !important; }
  .u-sm-after1of12 {
    margin-right: 8.33333% !important; }
  .u-sm-after1of10 {
    margin-right: 10% !important; }
  .u-sm-after1of8 {
    margin-right: 12.5% !important; }
  .u-sm-after1of6,
  .u-sm-after2of12 {
    margin-right: 16.66667% !important; }
  .u-sm-after1of5,
  .u-sm-after2of10 {
    margin-right: 20% !important; }
  .u-sm-after1of4,
  .u-sm-after2of8,
  .u-sm-after3of12 {
    margin-right: 25% !important; }
  .u-sm-after3of10 {
    margin-right: 30% !important; }
  .u-sm-after1of3,
  .u-sm-after2of6,
  .u-sm-after4of12 {
    margin-right: 33.33333% !important; }
  .u-sm-after3of8 {
    margin-right: 37.5% !important; }
  .u-sm-after2of5,
  .u-sm-after4of10 {
    margin-right: 40% !important; }
  .u-sm-after5of12 {
    margin-right: 41.66667% !important; }
  .u-sm-after1of2,
  .u-sm-after2of4,
  .u-sm-after3of6,
  .u-sm-after4of8,
  .u-sm-after5of10,
  .u-sm-after6of12 {
    margin-right: 50% !important; }
  .u-sm-after7of12 {
    margin-right: 58.33333% !important; }
  .u-sm-after3of5,
  .u-sm-after6of10 {
    margin-right: 60% !important; }
  .u-sm-after5of8 {
    margin-right: 62.5% !important; }
  .u-sm-after2of3,
  .u-sm-after4of6,
  .u-sm-after8of12 {
    margin-right: 66.66667% !important; }
  .u-sm-after7of10 {
    margin-right: 70% !important; }
  .u-sm-after3of4,
  .u-sm-after6of8,
  .u-sm-after9of12 {
    margin-right: 75% !important; }
  .u-sm-after4of5,
  .u-sm-after8of10 {
    margin-right: 80% !important; }
  .u-sm-after5of6,
  .u-sm-after10of12 {
    margin-right: 83.33333% !important; }
  .u-sm-after7of8 {
    margin-right: 87.5% !important; }
  .u-sm-after9of10 {
    margin-right: 90% !important; }
  .u-sm-after11of12 {
    margin-right: 91.66667% !important; } }

/**
 * @define utilities
 * Offset: breakpoint 2 (medium)
 *
 * Specify the proportional offset after an element.
 * Intentional redundancy build into each set of unit classes.
 * Supports: 2, 4, 5, 6, 8, 10, 12 section
 */
@media (min-width: 769px) and (max-width: 1024px) {
  .u-md-afterNone {
    margin-right: 0 !important; }
  .u-md-after1of12 {
    margin-right: 8.33333% !important; }
  .u-md-after1of10 {
    margin-right: 10% !important; }
  .u-md-after1of8 {
    margin-right: 12.5% !important; }
  .u-md-after1of6,
  .u-md-after2of12 {
    margin-right: 16.66667% !important; }
  .u-md-after1of5,
  .u-md-after2of10 {
    margin-right: 20% !important; }
  .u-md-after1of4,
  .u-md-after2of8,
  .u-md-after3of12 {
    margin-right: 25% !important; }
  .u-md-after3of10 {
    margin-right: 30% !important; }
  .u-md-after1of3,
  .u-md-after2of6,
  .u-md-after4of12 {
    margin-right: 33.33333% !important; }
  .u-md-after3of8 {
    margin-right: 37.5% !important; }
  .u-md-after2of5,
  .u-md-after4of10 {
    margin-right: 40% !important; }
  .u-md-after5of12 {
    margin-right: 41.66667% !important; }
  .u-md-after1of2,
  .u-md-after2of4,
  .u-md-after3of6,
  .u-md-after4of8,
  .u-md-after5of10,
  .u-md-after6of12 {
    margin-right: 50% !important; }
  .u-md-after7of12 {
    margin-right: 58.33333% !important; }
  .u-md-after3of5,
  .u-md-after6of10 {
    margin-right: 60% !important; }
  .u-md-after5of8 {
    margin-right: 62.5% !important; }
  .u-md-after2of3,
  .u-md-after4of6,
  .u-md-after8of12 {
    margin-right: 66.66667% !important; }
  .u-md-after7of10 {
    margin-right: 70% !important; }
  .u-md-after3of4,
  .u-md-after6of8,
  .u-md-after9of12 {
    margin-right: 75% !important; }
  .u-md-after4of5,
  .u-md-after8of10 {
    margin-right: 80% !important; }
  .u-md-after5of6,
  .u-md-after10of12 {
    margin-right: 83.33333% !important; }
  .u-md-after7of8 {
    margin-right: 87.5% !important; }
  .u-md-after9of10 {
    margin-right: 90% !important; }
  .u-md-after11of12 {
    margin-right: 91.66667% !important; } }

/**
 * @define utilities
 * Offset: breakpoint 3 (large)
 *
 * Specify the proportional offset after an element.
 * Intentional redundancy build into each set of unit classes.
 * Supports: 2, 4, 5, 6, 8, 10, 12 section
 */
@media (min-width: 1025px) {
  .u-lg-afterNone {
    margin-right: 0 !important; }
  .u-lg-after1of12 {
    margin-right: 8.33333% !important; }
  .u-lg-after1of10 {
    margin-right: 10% !important; }
  .u-lg-after1of8 {
    margin-right: 12.5% !important; }
  .u-lg-after1of6,
  .u-lg-after2of12 {
    margin-right: 16.66667% !important; }
  .u-lg-after1of5,
  .u-lg-after2of10 {
    margin-right: 20% !important; }
  .u-lg-after1of4,
  .u-lg-after2of8,
  .u-lg-after3of12 {
    margin-right: 25% !important; }
  .u-lg-after3of10 {
    margin-right: 30% !important; }
  .u-lg-after1of3,
  .u-lg-after2of6,
  .u-lg-after4of12 {
    margin-right: 33.33333% !important; }
  .u-lg-after3of8 {
    margin-right: 37.5% !important; }
  .u-lg-after2of5,
  .u-lg-after4of10 {
    margin-right: 40% !important; }
  .u-lg-after5of12 {
    margin-right: 41.66667% !important; }
  .u-lg-after1of2,
  .u-lg-after2of4,
  .u-lg-after3of6,
  .u-lg-after4of8,
  .u-lg-after5of10,
  .u-lg-after6of12 {
    margin-right: 50% !important; }
  .u-lg-after7of12 {
    margin-right: 58.33333% !important; }
  .u-lg-after3of5,
  .u-lg-after6of10 {
    margin-right: 60% !important; }
  .u-lg-after5of8 {
    margin-right: 62.5% !important; }
  .u-lg-after2of3,
  .u-lg-after4of6,
  .u-lg-after8of12 {
    margin-right: 66.66667% !important; }
  .u-lg-after7of10 {
    margin-right: 70% !important; }
  .u-lg-after3of4,
  .u-lg-after6of8,
  .u-lg-after9of12 {
    margin-right: 75% !important; }
  .u-lg-after4of5,
  .u-lg-after8of10 {
    margin-right: 80% !important; }
  .u-lg-after5of6,
  .u-lg-after10of12 {
    margin-right: 83.33333% !important; }
  .u-lg-after7of8 {
    margin-right: 87.5% !important; }
  .u-lg-after9of10 {
    margin-right: 90% !important; }
  .u-lg-after11of12 {
    margin-right: 91.66667% !important; } }

/**
 * @define utilities
 * Specify the proportional offset before an object.
 * Intentional redundancy build into each set of unit classes.
 * Supports: 2, 3, 4, 5, 6, 8, 10, 12 section
 */
.u-before1of12 {
  margin-left: 8.33333% !important; }

.u-before1of10 {
  margin-left: 10% !important; }

.u-before1of8 {
  margin-left: 12.5% !important; }

.u-before1of6,
.u-before2of12 {
  margin-left: 16.66667% !important; }

.u-before1of5,
.u-before2of10 {
  margin-left: 20% !important; }

.u-before1of4,
.u-before2of8,
.u-before3of12 {
  margin-left: 25% !important; }

.u-before3of10 {
  margin-left: 30% !important; }

.u-before1of3,
.u-before2of6,
.u-before4of12 {
  margin-left: 33.33333% !important; }

.u-before3of8 {
  margin-left: 37.5% !important; }

.u-before2of5,
.u-before4of10 {
  margin-left: 40% !important; }

.u-before5of12 {
  margin-left: 41.66667% !important; }

.u-before1of2,
.u-before2of4,
.u-before3of6,
.u-before4of8,
.u-before5of10,
.u-before6of12 {
  margin-left: 50% !important; }

.u-before7of12 {
  margin-left: 58.33333% !important; }

.u-before3of5,
.u-before6of10 {
  margin-left: 60% !important; }

.u-before5of8 {
  margin-left: 62.5% !important; }

.u-before2of3,
.u-before4of6,
.u-before8of12 {
  margin-left: 66.66667% !important; }

.u-before7of10 {
  margin-left: 70% !important; }

.u-before3of4,
.u-before6of8,
.u-before9of12 {
  margin-left: 75% !important; }

.u-before4of5,
.u-before8of10 {
  margin-left: 80% !important; }

.u-before5of6,
.u-before10of12 {
  margin-left: 83.33333% !important; }

.u-before7of8 {
  margin-left: 87.5% !important; }

.u-before9of10 {
  margin-left: 90% !important; }

.u-before11of12 {
  margin-left: 91.66667% !important; }

/**
 * @define utilities
 * Offset: breakpoint 1 (small)
 *
 * Specify the proportional offset before an element.
 * Intentional redundancy build into each set of unit classes.
 * Supports: 2, 3, 4, 5, 6, 8, 10, 12 section
 */
@media (min-width: 320px) and (max-width: 768px) {
  .u-sm-beforeNone {
    margin-left: 0 !important; }
  .u-sm-before1of12 {
    margin-left: 8.33333% !important; }
  .u-sm-before1of10 {
    margin-left: 10% !important; }
  .u-sm-before1of8 {
    margin-left: 12.5% !important; }
  .u-sm-before1of6,
  .u-sm-before2of12 {
    margin-left: 16.66667% !important; }
  .u-sm-before1of5,
  .u-sm-before2of10 {
    margin-left: 20% !important; }
  .u-sm-before1of4,
  .u-sm-before2of8,
  .u-sm-before3of12 {
    margin-left: 25% !important; }
  .u-sm-before3of10 {
    margin-left: 30% !important; }
  .u-sm-before1of3,
  .u-sm-before2of6,
  .u-sm-before4of12 {
    margin-left: 33.33333% !important; }
  .u-sm-before3of8 {
    margin-left: 37.5% !important; }
  .u-sm-before2of5,
  .u-sm-before4of10 {
    margin-left: 40% !important; }
  .u-sm-before5of12 {
    margin-left: 41.66667% !important; }
  .u-sm-before1of2,
  .u-sm-before2of4,
  .u-sm-before3of6,
  .u-sm-before4of8,
  .u-sm-before5of10,
  .u-sm-before6of12 {
    margin-left: 50% !important; }
  .u-sm-before7of12 {
    margin-left: 58.33333% !important; }
  .u-sm-before3of5,
  .u-sm-before6of10 {
    margin-left: 60% !important; }
  .u-sm-before5of8 {
    margin-left: 62.5% !important; }
  .u-sm-before2of3,
  .u-sm-before4of6,
  .u-sm-before8of12 {
    margin-left: 66.66667% !important; }
  .u-sm-before7of10 {
    margin-left: 70% !important; }
  .u-sm-before3of4,
  .u-sm-before6of8,
  .u-sm-before9of12 {
    margin-left: 75% !important; }
  .u-sm-before4of5,
  .u-sm-before8of10 {
    margin-left: 80% !important; }
  .u-sm-before5of6,
  .u-sm-before10of12 {
    margin-left: 83.33333% !important; }
  .u-sm-before7of8 {
    margin-left: 87.5% !important; }
  .u-sm-before9of10 {
    margin-left: 90% !important; }
  .u-sm-before11of12 {
    margin-left: 91.66667% !important; } }

/**
 * @define utilities
 * Offset: breakpoint 2 (medium)
 *
 * Specify the proportional offset before an element.
 * Intentional redundancy build into each set of unit classes.
 * Supports: 2, 3, 4, 5, 6, 8, 10, 12 section
 */
@media (min-width: 769px) and (max-width: 1024px) {
  .u-md-beforeNone {
    margin-left: 0 !important; }
  .u-md-before1of12 {
    margin-left: 8.33333% !important; }
  .u-md-before1of10 {
    margin-left: 10% !important; }
  .u-md-before1of8 {
    margin-left: 12.5% !important; }
  .u-md-before1of6,
  .u-md-before2of12 {
    margin-left: 16.66667% !important; }
  .u-md-before1of5,
  .u-md-before2of10 {
    margin-left: 20% !important; }
  .u-md-before1of4,
  .u-md-before2of8,
  .u-md-before3of12 {
    margin-left: 25% !important; }
  .u-md-before3of10 {
    margin-left: 30% !important; }
  .u-md-before1of3,
  .u-md-before2of6,
  .u-md-before4of12 {
    margin-left: 33.33333% !important; }
  .u-md-before3of8 {
    margin-left: 37.5% !important; }
  .u-md-before2of5,
  .u-md-before4of10 {
    margin-left: 40% !important; }
  .u-md-before5of12 {
    margin-left: 41.66667% !important; }
  .u-md-before1of2,
  .u-md-before2of4,
  .u-md-before3of6,
  .u-md-before4of8,
  .u-md-before5of10,
  .u-md-before6of12 {
    margin-left: 50% !important; }
  .u-md-before7of12 {
    margin-left: 58.33333% !important; }
  .u-md-before3of5,
  .u-md-before6of10 {
    margin-left: 60% !important; }
  .u-md-before5of8 {
    margin-left: 62.5% !important; }
  .u-md-before2of3,
  .u-md-before4of6,
  .u-md-before8of12 {
    margin-left: 66.66667% !important; }
  .u-md-before7of10 {
    margin-left: 70% !important; }
  .u-md-before3of4,
  .u-md-before6of8,
  .u-md-before9of12 {
    margin-left: 75% !important; }
  .u-md-before4of5,
  .u-md-before8of10 {
    margin-left: 80% !important; }
  .u-md-before5of6,
  .u-md-before10of12 {
    margin-left: 83.33333% !important; }
  .u-md-before7of8 {
    margin-left: 87.5% !important; }
  .u-md-before9of10 {
    margin-left: 90% !important; }
  .u-md-before11of12 {
    margin-left: 91.66667% !important; } }

/**
 * @define utilities
 * Offset: breakpoint 3 (large)
 *
 * Specify the proportional offset before an element.
 * Intentional redundancy build into each set of unit classes.
 * Supports: 2, 3, 4, 5, 6, 8, 10, 12 section
 */
@media (min-width: 1025px) {
  .u-lg-beforeNone {
    margin-left: 0 !important; }
  .u-lg-before1of12 {
    margin-left: 8.33333% !important; }
  .u-lg-before1of10 {
    margin-left: 10% !important; }
  .u-lg-before1of8 {
    margin-left: 12.5% !important; }
  .u-lg-before1of6,
  .u-lg-before2of12 {
    margin-left: 16.66667% !important; }
  .u-lg-before1of5,
  .u-lg-before2of10 {
    margin-left: 20% !important; }
  .u-lg-before1of4,
  .u-lg-before2of8,
  .u-lg-before3of12 {
    margin-left: 25% !important; }
  .u-lg-before3of10 {
    margin-left: 30% !important; }
  .u-lg-before1of3,
  .u-lg-before2of6,
  .u-lg-before4of12 {
    margin-left: 33.33333% !important; }
  .u-lg-before3of8 {
    margin-left: 37.5% !important; }
  .u-lg-before2of5,
  .u-lg-before4of10 {
    margin-left: 40% !important; }
  .u-lg-before5of12 {
    margin-left: 41.66667% !important; }
  .u-lg-before1of2,
  .u-lg-before2of4,
  .u-lg-before3of6,
  .u-lg-before4of8,
  .u-lg-before5of10,
  .u-lg-before6of12 {
    margin-left: 50% !important; }
  .u-lg-before7of12 {
    margin-left: 58.33333% !important; }
  .u-lg-before3of5,
  .u-lg-before6of10 {
    margin-left: 60% !important; }
  .u-lg-before5of8 {
    margin-left: 62.5% !important; }
  .u-lg-before2of3,
  .u-lg-before4of6,
  .u-lg-before8of12 {
    margin-left: 66.66667% !important; }
  .u-lg-before7of10 {
    margin-left: 70% !important; }
  .u-lg-before3of4,
  .u-lg-before6of8,
  .u-lg-before9of12 {
    margin-left: 75% !important; }
  .u-lg-before4of5,
  .u-lg-before8of10 {
    margin-left: 80% !important; }
  .u-lg-before5of6,
  .u-lg-before10of12 {
    margin-left: 83.33333% !important; }
  .u-lg-before7of8 {
    margin-left: 87.5% !important; }
  .u-lg-before9of10 {
    margin-left: 90% !important; }
  .u-lg-before11of12 {
    margin-left: 91.66667% !important; } }

/** @define utilities */
.u-posFit,
.u-posAbsoluteCenter,
.u-posAbsolute {
  position: absolute !important; }

/**
 * Element will be centered to its nearest relatively-positioned
 * ancestor.
 */
.u-posFixedCenter,
.u-posAbsoluteCenter {
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important; }

.u-posFit,
.u-posFullScreen {
  bottom: 0 !important;
  left: 0 !important;
  margin: auto !important;
  right: 0 !important;
  top: 0 !important; }

/**
 * 1. Make sure fixed elements are promoted into a new layer, for performance
 *    reasons.
 */
.u-posFullScreen,
.u-posFixedCenter,
.u-posFixed {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  /* 1 */
  position: fixed !important; }

.u-posRelative {
  position: relative !important; }

.u-posStatic {
  position: static !important; }

/**
 * @define utilities
 * Sizing utilities
 */
/* Proportional widths
   ========================================================================== */
/**
 * Specify the proportional width of an object.
 * Intentional redundancy build into each set of unit classes.
 * Supports: 2, 3, 4, 5, 6, 8, 10, 12 part
 *
 * 1. Use `flex-basis: auto` with a width to avoid box-sizing bug in IE10/11
 *    http://git.io/vllMD
 */
.u-size1of12 {
  -ms-flex-preferred-size: auto !important;
  flex-basis: auto !important;
  width: 8.33333% !important; }

.u-size1of10 {
  -ms-flex-preferred-size: auto !important;
  flex-basis: auto !important;
  width: 10% !important; }

.u-size1of8 {
  -ms-flex-preferred-size: auto !important;
  flex-basis: auto !important;
  width: 12.5% !important; }

.u-size1of6,
.u-size2of12 {
  -ms-flex-preferred-size: auto !important;
  flex-basis: auto !important;
  width: 16.66667% !important; }

.u-size1of5,
.u-size2of10 {
  -ms-flex-preferred-size: auto !important;
  flex-basis: auto !important;
  width: 20% !important; }

.u-size1of4,
.u-size2of8,
.u-size3of12 {
  -ms-flex-preferred-size: auto !important;
  flex-basis: auto !important;
  width: 25% !important; }

.u-size3of10 {
  -ms-flex-preferred-size: auto !important;
  flex-basis: auto !important;
  width: 30% !important; }

.u-size1of3,
.u-size2of6,
.u-size4of12 {
  -ms-flex-preferred-size: auto !important;
  flex-basis: auto !important;
  width: 33.33333% !important; }

.u-size3of8 {
  -ms-flex-preferred-size: auto !important;
  flex-basis: auto !important;
  width: 37.5% !important; }

.u-size2of5,
.u-size4of10 {
  -ms-flex-preferred-size: auto !important;
  flex-basis: auto !important;
  width: 40% !important; }

.u-size5of12 {
  -ms-flex-preferred-size: auto !important;
  flex-basis: auto !important;
  width: 41.66667% !important; }

.u-size1of2,
.u-size2of4,
.u-size3of6,
.u-size4of8,
.u-size5of10,
.u-size6of12 {
  -ms-flex-preferred-size: auto !important;
  flex-basis: auto !important;
  width: 50% !important; }

.u-size7of12 {
  -ms-flex-preferred-size: auto !important;
  flex-basis: auto !important;
  width: 58.33333% !important; }

.u-size3of5,
.u-size6of10 {
  -ms-flex-preferred-size: auto !important;
  flex-basis: auto !important;
  width: 60% !important; }

.u-size5of8 {
  -ms-flex-preferred-size: auto !important;
  flex-basis: auto !important;
  width: 62.5% !important; }

.u-size2of3,
.u-size4of6,
.u-size8of12 {
  -ms-flex-preferred-size: auto !important;
  flex-basis: auto !important;
  width: 66.66667% !important; }

.u-size7of10 {
  -ms-flex-preferred-size: auto !important;
  flex-basis: auto !important;
  width: 70% !important; }

.u-size3of4,
.u-size6of8,
.u-size9of12 {
  -ms-flex-preferred-size: auto !important;
  flex-basis: auto !important;
  width: 75% !important; }

.u-size4of5,
.u-size8of10 {
  -ms-flex-preferred-size: auto !important;
  flex-basis: auto !important;
  width: 80% !important; }

.u-size5of6,
.u-size10of12 {
  -ms-flex-preferred-size: auto !important;
  flex-basis: auto !important;
  width: 83.33333% !important; }

.u-size7of8 {
  -ms-flex-preferred-size: auto !important;
  flex-basis: auto !important;
  width: 87.5% !important; }

.u-size9of10 {
  -ms-flex-preferred-size: auto !important;
  flex-basis: auto !important;
  width: 90% !important; }

.u-size11of12 {
  -ms-flex-preferred-size: auto !important;
  flex-basis: auto !important;
  width: 91.66667% !important; }

/* Intrinsic widths
   ========================================================================== */
/**
 * Make an element shrink wrap its content.
 */
.u-sizeFit {
  -ms-flex-preferred-size: auto !important;
  flex-basis: auto !important; }

/**
 * Make an element fill the remaining space.
 *
 * 1. Be explicit to work around IE10 bug with shorthand flex
 *    http://git.io/vllC7
 * 2. IE10 ignores previous `flex-basis` value. Setting again here fixes
 *    http://git.io/vllMt
 */
.u-sizeFill {
  -ms-flex: 1 1 0% !important;
  flex: 1 1 0% !important;
  /* 1 */
  -ms-flex-preferred-size: 0% !important;
  flex-basis: 0% !important;
  /* 2 */ }

/**
 * An alternative method to make an element fill the remaining space.
 * Distributes space based on the initial width and height of the element
 *
 * http://www.w3.org/TR/css-flexbox/images/rel-vs-abs-flex.svg
 */
.u-sizeFillAlt {
  -ms-flex: 1 1 auto !important;
  flex: 1 1 auto !important;
  -ms-flex-preferred-size: auto !important;
  flex-basis: auto !important; }

/**
 * Make an element the width of its parent.
 */
.u-sizeFull {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important; }

/**
 * @define utilities
 * Size: breakpoint 1 (small)
 */
@media (min-width: 320px) and (max-width: 768px) {
  /* Proportional widths: breakpoint 1 (small)
     ======================================================================== */
  /**
   * Specify the proportional width of an object.
   * Intentional redundancy build into each set of unit classes.
   * Supports: 2, 3, 4, 5, 6, 8, 10, 12 part
   *
   * 1. Use `flex-basis: auto` with a width to avoid box-sizing bug in IE10/11
   *    http://git.io/vllMD
   */
  .u-sm-size1of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 8.33333% !important; }
  .u-sm-size1of10 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 10% !important; }
  .u-sm-size1of8 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 12.5% !important; }
  .u-sm-size1of6,
  .u-sm-size2of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 16.66667% !important; }
  .u-sm-size1of5,
  .u-sm-size2of10 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 20% !important; }
  .u-sm-size1of4,
  .u-sm-size2of8,
  .u-sm-size3of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 25% !important; }
  .u-sm-size3of10 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 30% !important; }
  .u-sm-size1of3,
  .u-sm-size2of6,
  .u-sm-size4of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 33.33333% !important; }
  .u-sm-size3of8 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 37.5% !important; }
  .u-sm-size2of5,
  .u-sm-size4of10 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 40% !important; }
  .u-sm-size5of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 41.66667% !important; }
  .u-sm-size1of2,
  .u-sm-size2of4,
  .u-sm-size3of6,
  .u-sm-size4of8,
  .u-sm-size5of10,
  .u-sm-size6of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 50% !important; }
  .u-sm-size7of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 58.33333% !important; }
  .u-sm-size3of5,
  .u-sm-size6of10 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 60% !important; }
  .u-sm-size5of8 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 62.5% !important; }
  .u-sm-size2of3,
  .u-sm-size4of6,
  .u-sm-size8of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 66.66667% !important; }
  .u-sm-size7of10 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 70% !important; }
  .u-sm-size3of4,
  .u-sm-size6of8,
  .u-sm-size9of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 75% !important; }
  .u-sm-size4of5,
  .u-sm-size8of10 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 80% !important; }
  .u-sm-size5of6,
  .u-sm-size10of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 83.33333% !important; }
  .u-sm-size7of8 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 87.5% !important; }
  .u-sm-size9of10 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 90% !important; }
  .u-sm-size11of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 91.66667% !important; }
  /* Intrinsic widths
     ======================================================================== */
  /**
   * Make an element shrink wrap its content.
   */
  .u-sm-sizeFit {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important; }
  /**
   * Make an element fill the remaining space.
   *
   * 1. Be explicit to work around IE10 bug with shorthand flex
   *    http://git.io/vllC7
   * 2. IE10 ignores previous `flex-basis` value. Setting again here fixes
   *    http://git.io/vllMt
   */
  .u-sm-sizeFill {
    -ms-flex: 1 1 0% !important;
    flex: 1 1 0% !important;
    /* 1 */
    -ms-flex-preferred-size: 0% !important;
    flex-basis: 0% !important;
    /* 2 */ }
  /**
   * An alternative method to make an element fill the remaining space.
   * Distributes space based on the initial width and height of the element
   *
   * http://www.w3.org/TR/css-flexbox/images/rel-vs-abs-flex.svg
   */
  .u-sm-sizeFillAlt {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important; }
  /**
   * Make an element the width of its parent.
   */
  .u-sm-sizeFull {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important; } }

/**
 * @define utilities
 * Size: breakpoint 2 (medium)
 */
@media (min-width: 769px) and (max-width: 1024px) {
  /* Proportional widths: breakpoint 2 (medium)
     ======================================================================== */
  /**
   * Specify the proportional width of an object.
   * Intentional redundancy build into each set of unit classes.
   * Supports: 2, 3, 4, 5, 6, 8, 10, 12 part
   *
   * 1. Use `flex-basis: auto` with a width to avoid box-sizing bug in IE10/11
   *    http://git.io/vllMD
   */
  /* postcss-bem-linter: ignore */
  .u-md-size1of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 8.33333% !important; }
  .u-md-size1of10 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 10% !important; }
  .u-md-size1of8 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 12.5% !important; }
  .u-md-size1of6,
  .u-md-size2of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 16.66667% !important; }
  .u-md-size1of5,
  .u-md-size2of10 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 20% !important; }
  .u-md-size1of4,
  .u-md-size2of8,
  .u-md-size3of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 25% !important; }
  .u-md-size3of10 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 30% !important; }
  .u-md-size1of3,
  .u-md-size2of6,
  .u-md-size4of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 33.33333% !important; }
  .u-md-size3of8 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 37.5% !important; }
  .u-md-size2of5,
  .u-md-size4of10 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 40% !important; }
  .u-md-size5of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 41.66667% !important; }
  .u-md-size1of2,
  .u-md-size2of4,
  .u-md-size3of6,
  .u-md-size4of8,
  .u-md-size5of10,
  .u-md-size6of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 50% !important; }
  .u-md-size7of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 58.33333% !important; }
  .u-md-size3of5,
  .u-md-size6of10 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 60% !important; }
  .u-md-size5of8 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 62.5% !important; }
  .u-md-size2of3,
  .u-md-size4of6,
  .u-md-size8of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 66.66667% !important; }
  .u-md-size7of10 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 70% !important; }
  .u-md-size3of4,
  .u-md-size6of8,
  .u-md-size9of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 75% !important; }
  .u-md-size4of5,
  .u-md-size8of10 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 80% !important; }
  .u-md-size5of6,
  .u-md-size10of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 83.33333% !important; }
  .u-md-size7of8 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 87.5% !important; }
  .u-md-size9of10 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 90% !important; }
  .u-md-size11of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 91.66667% !important; }
  /* Intrinsic widths
     ======================================================================== */
  /**
   * Make an element shrink wrap its content.
   */
  .u-md-sizeFit {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important; }
  /**
   * Make an element fill the remaining space.
   *
   * 1. Be explicit to work around IE10 bug with shorthand flex
   *    http://git.io/vllC7
   * 2. IE10 ignores previous `flex-basis` value. Setting again here fixes
   *    http://git.io/vllMt
   */
  .u-md-sizeFill {
    -ms-flex: 1 1 0% !important;
    flex: 1 1 0% !important;
    /* 1 */
    -ms-flex-preferred-size: 0% !important;
    flex-basis: 0% !important;
    /* 2 */ }
  /**
   * An alternative method to make an element fill the remaining space.
   * Distributes space based on the initial width and height of the element
   *
   * http://www.w3.org/TR/css-flexbox/images/rel-vs-abs-flex.svg
   */
  .u-md-sizeFillAlt {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important; }
  /**
   * Make an element the width of its parent.
   */
  .u-md-sizeFull {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important; } }

/**
 * @define utilities
 * Size: breakpoint 3 (large)
 */
@media (min-width: 1025px) {
  /* Proportional widths: breakpoint 3 (large)
     ======================================================================== */
  /**
   * Specify the proportional width of an object.
   * Intentional redundancy build into each set of unit classes.
   * Supports: 2, 3, 4, 5, 6, 8, 10, 12 part
   *
   * 1. Use `flex-basis: auto` with a width to avoid box-sizing bug in IE10/11
   *    http://git.io/vllMD
   */
  .u-lg-size1of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 8.33333% !important; }
  .u-lg-size1of10 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 10% !important; }
  .u-lg-size1of8 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 12.5% !important; }
  .u-lg-size1of6,
  .u-lg-size2of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 16.66667% !important; }
  .u-lg-size1of5,
  .u-lg-size2of10 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 20% !important; }
  .u-lg-size1of4,
  .u-lg-size2of8,
  .u-lg-size3of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 25% !important; }
  .u-lg-size3of10 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 30% !important; }
  .u-lg-size1of3,
  .u-lg-size2of6,
  .u-lg-size4of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 33.33333% !important; }
  .u-lg-size3of8 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 37.5% !important; }
  .u-lg-size2of5,
  .u-lg-size4of10 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 40% !important; }
  .u-lg-size5of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 41.66667% !important; }
  .u-lg-size1of2,
  .u-lg-size2of4,
  .u-lg-size3of6,
  .u-lg-size4of8,
  .u-lg-size5of10,
  .u-lg-size6of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 50% !important; }
  .u-lg-size7of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 58.33333% !important; }
  .u-lg-size3of5,
  .u-lg-size6of10 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 60% !important; }
  .u-lg-size5of8 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 62.5% !important; }
  .u-lg-size2of3,
  .u-lg-size4of6,
  .u-lg-size8of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 66.66667% !important; }
  .u-lg-size7of10 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 70% !important; }
  .u-lg-size3of4,
  .u-lg-size6of8,
  .u-lg-size9of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 75% !important; }
  .u-lg-size4of5,
  .u-lg-size8of10 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 80% !important; }
  .u-lg-size5of6,
  .u-lg-size10of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 83.33333% !important; }
  .u-lg-size7of8 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 87.5% !important; }
  .u-lg-size9of10 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 90% !important; }
  .u-lg-size11of12 {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important;
    width: 91.66667% !important; }
  /* Intrinsic widths
     ======================================================================== */
  /**
   * Make an element shrink wrap its content.
   */
  .u-lg-sizeFit {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important; }
  /**
   * Make an element fill the remaining space.
   *
   * 1. Be explicit to work around IE10 bug with shorthand flex
   *    http://git.io/vllC7
   * 2. IE10 ignores previous `flex-basis` value. Setting again here fixes
   *    http://git.io/vllMt
   */
  .u-lg-sizeFill {
    -ms-flex: 1 1 0% !important;
    flex: 1 1 0% !important;
    /* 1 */
    -ms-flex-preferred-size: 0% !important;
    flex-basis: 0% !important;
    /* 2 */ }
  /**
   * An alternative method to make an element fill the remaining space.
   * Distributes space based on the initial width and height of the element
   *
   * http://www.w3.org/TR/css-flexbox/images/rel-vs-abs-flex.svg
   */
  .u-lg-sizeFillAlt {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important; }
  /**
   * Make an element the width of its parent.
   */
  .u-lg-sizeFull {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important; } }

/**
 * Word breaking
 *
 * Break strings when their length exceeds the width of their container.
 */
.u-textBreak {
  word-wrap: break-word !important; }

/**
 * Horizontal text alignment
 */
.u-textCenter {
  text-align: center !important; }

.u-textLeft {
  text-align: left !important; }

.u-textRight {
  text-align: right !important; }

/**
 * Inherit the ancestor's text color.
 */
.u-textInheritColor {
  color: inherit !important; }

/**
 * Enables font kerning in all browsers.
 * http://blog.typekit.com/2014/02/05/kerning-on-the-web/
 *
 * 1. Chrome (not Windows), Firefox, IE 10+
 * 2. Safari 7 and future browsers
 * 3. Chrome (not Windows), Firefox, Safari 6+, iOS, Android
 */
.u-textKern {
  -webkit-font-feature-settings: "kern" 1;
  font-feature-settings: "kern" 1;
  /* 1 */
  -webkit-font-kerning: normal;
  font-kerning: normal;
  /* 2 */
  text-rendering: optimizeLegibility;
  /* 3 */ }

/**
 * Prevent whitespace wrapping
 */
.u-textNoWrap {
  white-space: nowrap !important; }

/**
 * Text truncation
 *
 * Prevent text from wrapping onto multiple lines, and truncate with an
 * ellipsis.
 *
 * 1. Ensure that the node has a maximum width after which truncation can
 *    occur.
 * 2. Fix for IE 8/9 if `word-wrap: break-word` is in effect on ancestor
 *    nodes.
 */
.u-textTruncate {
  max-width: 100%;
  /* 1 */
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  word-wrap: normal !important;
  /* 2 */ }

/** @define utilities */
/* Applies to flex container
   ========================================================================== */
/**
 * Container
 */
.u-flex {
  display: -ms-flexbox !important;
  display: flex !important; }

.u-flexInline {
  display: -ms-inline-flexbox !important;
  display: inline-flex !important; }

/**
 * Direction: row
 */
.u-flexRow {
  -ms-flex-direction: row !important;
  flex-direction: row !important; }

.u-flexRowReverse {
  -ms-flex-direction: row-reverse !important;
  flex-direction: row-reverse !important; }

/**
 * Direction: column
 */
.u-flexCol {
  -ms-flex-direction: column !important;
  flex-direction: column !important; }

.u-flexColReverse {
  -ms-flex-direction: column-reverse !important;
  flex-direction: column-reverse !important; }

/**
 * Wrap
 */
.u-flexWrap {
  -ms-flex-wrap: wrap !important;
  flex-wrap: wrap !important; }

.u-flexNoWrap {
  -ms-flex-wrap: nowrap !important;
  flex-wrap: nowrap !important; }

.u-flexWrapReverse {
  -ms-flex-wrap: wrap-reverse !important;
  flex-wrap: wrap-reverse !important; }

/**
 * Align items along the main axis of the current line of the flex container
 */
.u-flexJustifyStart {
  -ms-flex-pack: start !important;
  justify-content: flex-start !important; }

.u-flexJustifyEnd {
  -ms-flex-pack: end !important;
  justify-content: flex-end !important; }

.u-flexJustifyCenter {
  -ms-flex-pack: center !important;
  justify-content: center !important; }

.u-flexJustifyBetween {
  -ms-flex-pack: justify !important;
  justify-content: space-between !important; }

.u-flexJustifyAround {
  -ms-flex-pack: distribute !important;
  justify-content: space-around !important; }

/**
 * Align items in the cross axis of the current line of the flex container
 * Similar to `justify-content` but in the perpendicular direction
 */
.u-flexAlignItemsStart {
  -webkit-box-align: start !important;
  -ms-flex-align: start !important;
  -ms-grid-row-align: flex-start !important;
  align-items: flex-start !important; }

.u-flexAlignItemsEnd {
  -webkit-box-align: end !important;
  -ms-flex-align: end !important;
  -ms-grid-row-align: flex-end !important;
  align-items: flex-end !important; }

.u-flexAlignItemsCenter {
  -webkit-box-align: center !important;
  -ms-flex-align: center !important;
  -ms-grid-row-align: center !important;
  align-items: center !important; }

.u-flexAlignItemsStretch {
  -webkit-box-align: stretch !important;
  -ms-flex-align: stretch !important;
  -ms-grid-row-align: stretch !important;
  align-items: stretch !important; }

.u-flexAlignItemsBaseline {
  -webkit-box-align: baseline !important;
  -ms-flex-align: baseline !important;
  -ms-grid-row-align: baseline !important;
  align-items: baseline !important; }

/**
 * Aligns items within the flex container when there is extra
 * space in the cross-axis
 *
 * Has no effect when there is only one line of flex items.
 */
.u-flexAlignContentStart {
  -ms-flex-line-pack: start !important;
  align-content: flex-start !important; }

.u-flexAlignContentEnd {
  -ms-flex-line-pack: end !important;
  align-content: flex-end !important; }

.u-flexAlignContentCenter {
  -ms-flex-line-pack: center !important;
  align-content: center !important; }

.u-flexAlignContentStretch {
  -ms-flex-line-pack: stretch !important;
  align-content: stretch !important; }

.u-flexAlignContentBetween {
  -ms-flex-line-pack: justify !important;
  align-content: space-between !important; }

.u-flexAlignContentAround {
  -ms-flex-line-pack: distribute !important;
  align-content: space-around !important; }

/**
 * 1. Set the flex-shrink default explicitly to fix IE10 - http://git.io/vllC7
 */
/* postcss-bem-linter: ignore */
.u-flex > *,
.u-flexInline > * {
  -ms-flex-negative: 1;
  flex-shrink: 1;
  /* 1 */ }

/* Applies to flex items
   ========================================================================== */
/**
 * Override default alignment of single item when specified by `align-items`
 */
.u-flexAlignSelfStart {
  -ms-flex-item-align: start !important;
  align-self: flex-start !important; }

.u-flexAlignSelfEnd {
  -ms-flex-item-align: end !important;
  align-self: flex-end !important; }

.u-flexAlignSelfCenter {
  -ms-flex-item-align: center !important;
  -ms-grid-row-align: center !important;
      align-self: center !important; }

.u-flexAlignSelfStretch {
  -ms-flex-item-align: stretch !important;
  -ms-grid-row-align: stretch !important;
      align-self: stretch !important; }

.u-flexAlignSelfBaseline {
  -ms-flex-item-align: baseline !important;
  align-self: baseline !important; }

.u-flexAlignSelfAuto {
  -ms-flex-item-align: auto !important;
  -ms-grid-row-align: auto !important;
      align-self: auto !important; }

/**
 * Change order without editing underlying HTML
 */
.u-flexOrderFirst {
  -ms-flex-order: -1 !important;
  order: -1 !important; }

.u-flexOrderLast {
  -ms-flex-order: 1 !important;
  order: 1 !important; }

.u-flexOrderNone {
  -ms-flex-order: 0 !important;
  order: 0 !important; }

/**
 * Specify the flex grow factor, which determines how much the flex item will
 * grow relative to the rest of the flex items in the flex container.
 *
 * Supports 1-5 proportions
 *
 * 1. Provide all values to avoid IE10 bug with shorthand flex
 *    - http://git.io/vllC7
 *
 *    Use `0%` to avoid bug in IE10/11 with unitless flex basis. Using this
 *    instead of `auto` as this matches what the default would be with `flex`
 *    shorthand - http://git.io/vllWx
 */
.u-flexGrow1 {
  -ms-flex: 1 1 0% !important;
  flex: 1 1 0% !important;
  /* 1 */ }

.u-flexGrow2 {
  -ms-flex: 2 1 0% !important;
  flex: 2 1 0% !important; }

.u-flexGrow3 {
  -ms-flex: 3 1 0% !important;
  flex: 3 1 0% !important; }

.u-flexGrow4 {
  -ms-flex: 4 1 0% !important;
  flex: 4 1 0% !important; }

.u-flexGrow5 {
  -ms-flex: 5 1 0% !important;
  flex: 5 1 0% !important; }

/**
 * Aligning with `auto` margins
 * http://www.w3.org/TR/css-flexbox-1/#auto-margins
 */
.u-flexExpand {
  margin: auto !important; }

.u-flexExpandLeft {
  margin-left: auto !important; }

.u-flexExpandRight {
  margin-right: auto !important; }

.u-flexExpandTop {
  margin-top: auto !important; }

.u-flexExpandBottom {
  margin-bottom: auto !important; }

/**
 * @define utilities
 * Size: breakpoint 1 (small)
 */
@media (min-width: 320px) and (max-width: 768px) {
  /* Applies to flex container
     ======================================================================== */
  /**
   * Container
   */
  .u-sm-flex {
    display: -ms-flexbox !important;
    display: flex !important; }
  .u-sm-flexInline {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important; }
  /**
   * Direction: row
   */
  .u-sm-flexRow {
    -ms-flex-direction: row !important;
    flex-direction: row !important; }
  .u-sm-flexRowReverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important; }
  /**
   * Direction: column
   */
  .u-sm-flexCol {
    -ms-flex-direction: column !important;
    flex-direction: column !important; }
  .u-sm-flexColReverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important; }
  /**
   * Wrap
   */
  .u-sm-flexWrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important; }
  .u-sm-flexNoWrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important; }
  .u-sm-flexWrapReverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important; }
  /**
   * Align items along the main axis of the current line of the flex container
   */
  .u-sm-flexJustifyStart {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important; }
  .u-sm-flexJustifyEnd {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important; }
  .u-sm-flexJustifyCenter {
    -ms-flex-pack: center !important;
    justify-content: center !important; }
  .u-sm-flexJustifyBetween {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important; }
  .u-sm-flexJustifyAround {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important; }
  /**
   * Align items in the cross axis of the current line of the flex container
   * Similar to `justify-content` but in the perpendicular direction
   */
  .u-sm-flexAlignItemsStart {
    -webkit-box-align: start !important;
    -ms-flex-align: start !important;
    -ms-grid-row-align: flex-start !important;
    align-items: flex-start !important; }
  .u-sm-flexAlignItemsEnd {
    -webkit-box-align: end !important;
    -ms-flex-align: end !important;
    -ms-grid-row-align: flex-end !important;
    align-items: flex-end !important; }
  .u-sm-flexAlignItemsCenter {
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    -ms-grid-row-align: center !important;
    align-items: center !important; }
  .u-sm-flexAlignItemsStretch {
    -webkit-box-align: stretch !important;
    -ms-flex-align: stretch !important;
    -ms-grid-row-align: stretch !important;
    align-items: stretch !important; }
  .u-sm-flexAlignItemsBaseline {
    -webkit-box-align: baseline !important;
    -ms-flex-align: baseline !important;
    -ms-grid-row-align: baseline !important;
    align-items: baseline !important; }
  /**
   * Aligns items within the flex container when there is extra
   * space in the cross-axis
   *
   * Has no effect when there is only one line of flex items.
   */
  .u-sm-flexAlignContentStart {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important; }
  .u-sm-flexAlignContentEnd {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important; }
  .u-sm-flexAlignContentCenter {
    -ms-flex-line-pack: center !important;
    align-content: center !important; }
  .u-sm-flexAlignContentStretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important; }
  .u-sm-flexAlignContentBetween {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important; }
  .u-sm-flexAlignContentAround {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important; }
  /**
   * 1. Set the flex-shrink default explicitly to fix IE10 - http://git.io/vllC7
   */
  /* postcss-bem-linter: ignore */
  .u-sm-flex > *,
  .u-sm-flexInline > * {
    -ms-flex-negative: 1;
    flex-shrink: 1;
    /* 1 */ }
  /* Applies to flex items
     ======================================================================== */
  /**
   * Override default alignment of single item when specified by `align-items`
   */
  .u-sm-flexAlignSelfStart {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important; }
  .u-sm-flexAlignSelfEnd {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important; }
  .u-sm-flexAlignSelfCenter {
    -ms-flex-item-align: center !important;
    -ms-grid-row-align: center !important;
        align-self: center !important; }
  .u-sm-flexAlignSelfStretch {
    -ms-flex-item-align: stretch !important;
    -ms-grid-row-align: stretch !important;
        align-self: stretch !important; }
  .u-sm-flexAlignSelfBaseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important; }
  .u-sm-flexAlignSelfAuto {
    -ms-flex-item-align: auto !important;
    -ms-grid-row-align: auto !important;
        align-self: auto !important; }
  /**
   * Change order without editing underlying HTML
   */
  .u-sm-flexOrderFirst {
    -ms-flex-order: -1 !important;
    order: -1 !important; }
  .u-sm-flexOrderLast {
    -ms-flex-order: 1 !important;
    order: 1 !important; }
  .u-sm-flexOrderNone {
    -ms-flex-order: 0 !important;
    order: 0 !important; }
  /**
   * Specify the flex grow factor, which determines how much the flex item will
   * grow relative to the rest of the flex items in the flex container.
   *
   * Supports 1-5 proportions
   *
   * 1. Provide all values to avoid IE10 bug with shorthand flex
   *    http://git.io/vllC7
   *
   *    Use `0%` to avoid bug in IE10/11 with unitless flex basis
   *    http://git.io/vllWx
   */
  .u-sm-flexGrow1 {
    -ms-flex: 1 1 0% !important;
    flex: 1 1 0% !important;
    /* 1 */ }
  .u-sm-flexGrow2 {
    -ms-flex: 2 1 0% !important;
    flex: 2 1 0% !important; }
  .u-sm-flexGrow3 {
    -ms-flex: 3 1 0% !important;
    flex: 3 1 0% !important; }
  .u-sm-flexGrow4 {
    -ms-flex: 4 1 0% !important;
    flex: 4 1 0% !important; }
  .u-sm-flexGrow5 {
    -ms-flex: 5 1 0% !important;
    flex: 5 1 0% !important; }
  /**
   * Aligning with `auto` margins
   * http://www.w3.org/TR/css-flexbox-1/#auto-margins
   */
  .u-sm-flexExpand {
    margin: auto !important; }
  .u-sm-flexExpandLeft {
    margin-left: auto !important; }
  .u-sm-flexExpandRight {
    margin-right: auto !important; }
  .u-sm-flexExpandTop {
    margin-top: auto !important; }
  .u-sm-flexExpandBottom {
    margin-bottom: auto !important; } }

/**
 * @define utilities
 * Size: breakpoint 1 (medium)
 */
@media (min-width: 769px) and (max-width: 1024px) {
  /* Applies to flex container
     ======================================================================== */
  /**
   * Container
   */
  .u-md-flex {
    display: -ms-flexbox !important;
    display: flex !important; }
  .u-md-flexInline {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important; }
  /**
   * Direction: row
   */
  .u-md-flexRow {
    -ms-flex-direction: row !important;
    flex-direction: row !important; }
  .u-md-flexRowReverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important; }
  /**
   * Direction: column
   */
  .u-md-flexCol {
    -ms-flex-direction: column !important;
    flex-direction: column !important; }
  .u-md-flexColReverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important; }
  /**
   * Wrap
   */
  .u-md-flexWrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important; }
  .u-md-flexNoWrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important; }
  .u-md-flexWrapReverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important; }
  /**
   * Align items along the main axis of the current line of the flex container
   */
  .u-md-flexJustifyStart {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important; }
  .u-md-flexJustifyEnd {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important; }
  .u-md-flexJustifyCenter {
    -ms-flex-pack: center !important;
    justify-content: center !important; }
  .u-md-flexJustifyBetween {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important; }
  .u-md-flexJustifyAround {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important; }
  /**
   * Align items in the cross axis of the current line of the flex container
   * Similar to `justify-content` but in the perpendicular direction
   */
  .u-md-flexAlignItemsStart {
    -webkit-box-align: start !important;
    -ms-flex-align: start !important;
    -ms-grid-row-align: flex-start !important;
    align-items: flex-start !important; }
  .u-md-flexAlignItemsEnd {
    -webkit-box-align: end !important;
    -ms-flex-align: end !important;
    -ms-grid-row-align: flex-end !important;
    align-items: flex-end !important; }
  .u-md-flexAlignItemsCenter {
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    -ms-grid-row-align: center !important;
    align-items: center !important; }
  .u-md-flexAlignItemsStretch {
    -webkit-box-align: stretch !important;
    -ms-flex-align: stretch !important;
    -ms-grid-row-align: stretch !important;
    align-items: stretch !important; }
  .u-md-flexAlignItemsBaseline {
    -webkit-box-align: baseline !important;
    -ms-flex-align: baseline !important;
    -ms-grid-row-align: baseline !important;
    align-items: baseline !important; }
  /**
   * Aligns items within the flex container when there is extra
   * space in the cross-axis
   *
   * Has no effect when there is only one line of flex items.
   */
  .u-md-flexAlignContentStart {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important; }
  .u-md-flexAlignContentEnd {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important; }
  .u-md-flexAlignContentCenter {
    -ms-flex-line-pack: center !important;
    align-content: center !important; }
  .u-md-flexAlignContentStretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important; }
  .u-md-flexAlignContentBetween {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important; }
  .u-md-flexAlignContentAround {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important; }
  /**
   * 1. Set the flex-shrink default explicitly to fix IE10 - http://git.io/vllC7
   */
  /* postcss-bem-linter: ignore */
  .u-md-flex > *,
  .u-md-flexInline > * {
    -ms-flex-negative: 1;
    flex-shrink: 1;
    /* 1 */ }
  /* Applies to flex items
     ======================================================================== */
  /**
   * Override default alignment of single item when specified by `align-items`
   */
  .u-md-flexAlignSelfStart {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important; }
  .u-md-flexAlignSelfEnd {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important; }
  .u-md-flexAlignSelfCenter {
    -ms-flex-item-align: center !important;
    -ms-grid-row-align: center !important;
        align-self: center !important; }
  .u-md-flexAlignSelfStretch {
    -ms-flex-item-align: stretch !important;
    -ms-grid-row-align: stretch !important;
        align-self: stretch !important; }
  .u-md-flexAlignSelfBaseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important; }
  .u-md-flexAlignSelfAuto {
    -ms-flex-item-align: auto !important;
    -ms-grid-row-align: auto !important;
        align-self: auto !important; }
  /**
   * Change order without editing underlying HTML
   */
  .u-md-flexOrderFirst {
    -ms-flex-order: -1 !important;
    order: -1 !important; }
  .u-md-flexOrderLast {
    -ms-flex-order: 1 !important;
    order: 1 !important; }
  .u-md-flexOrderNone {
    -ms-flex-order: 0 !important;
    order: 0 !important; }
  /**
   * Specify the flex grow factor, which determines how much the flex item will
   * grow relative to the rest of the flex items in the flex container.
   *
   * Supports 1-5 proportions
   *
   * 1. Provide all values to avoid IE10 bug with shorthand flex
   *    http://git.io/vllC7
   *
   *    Use `0%` to avoid bug in IE10/11 with unitless flex basis
   *    http://git.io/vllWx
   */
  .u-md-flexGrow1 {
    -ms-flex: 1 1 0% !important;
    flex: 1 1 0% !important;
    /* 1 */ }
  .u-md-flexGrow2 {
    -ms-flex: 2 1 0% !important;
    flex: 2 1 0% !important; }
  .u-md-flexGrow3 {
    -ms-flex: 3 1 0% !important;
    flex: 3 1 0% !important; }
  .u-md-flexGrow4 {
    -ms-flex: 4 1 0% !important;
    flex: 4 1 0% !important; }
  .u-md-flexGrow5 {
    -ms-flex: 5 1 0% !important;
    flex: 5 1 0% !important; }
  /**
   * Aligning with `auto` margins
   * http://www.w3.org/TR/css-flexbox-1/#auto-margins
   */
  .u-md-flexExpand {
    margin: auto !important; }
  .u-md-flexExpandLeft {
    margin-left: auto !important; }
  .u-md-flexExpandRight {
    margin-right: auto !important; }
  .u-md-flexExpandTop {
    margin-top: auto !important; }
  .u-md-flexExpandBottom {
    margin-bottom: auto !important; } }

/**
 * @define utilities
 * Size: breakpoint 1 (large)
 */
@media (min-width: 1025px) {
  /* Applies to flex container
     ======================================================================== */
  /**
   * Container
   */
  .u-lg-flex {
    display: -ms-flexbox !important;
    display: flex !important; }
  .u-lg-flexInline {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important; }
  /**
   * Direction: row
   */
  .u-lg-flexRow {
    -ms-flex-direction: row !important;
    flex-direction: row !important; }
  .u-lg-flexRowReverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important; }
  /**
   * Direction: column
   */
  .u-lg-flexCol {
    -ms-flex-direction: column !important;
    flex-direction: column !important; }
  .u-lg-flexColReverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important; }
  /**
   * Wrap
   */
  .u-lg-flexWrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important; }
  .u-lg-flexNoWrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important; }
  .u-lg-flexWrapReverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important; }
  /**
   * Align items along the main axis of the current line of the flex container
   */
  .u-lg-flexJustifyStart {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important; }
  .u-lg-flexJustifyEnd {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important; }
  .u-lg-flexJustifyCenter {
    -ms-flex-pack: center !important;
    justify-content: center !important; }
  .u-lg-flexJustifyBetween {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important; }
  .u-lg-flexJustifyAround {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important; }
  /**
   * Align items in the cross axis of the current line of the flex container
   * Similar to `justify-content` but in the perpendicular direction
   */
  .u-lg-flexAlignItemsStart {
    -webkit-box-align: start !important;
    -ms-flex-align: start !important;
    -ms-grid-row-align: flex-start !important;
    align-items: flex-start !important; }
  .u-lg-flexAlignItemsEnd {
    -webkit-box-align: end !important;
    -ms-flex-align: end !important;
    -ms-grid-row-align: flex-end !important;
    align-items: flex-end !important; }
  .u-lg-flexAlignItemsCenter {
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    -ms-grid-row-align: center !important;
    align-items: center !important; }
  .u-lg-flexAlignItemsStretch {
    -webkit-box-align: stretch !important;
    -ms-flex-align: stretch !important;
    -ms-grid-row-align: stretch !important;
    align-items: stretch !important; }
  .u-lg-flexAlignItemsBaseline {
    -webkit-box-align: baseline !important;
    -ms-flex-align: baseline !important;
    -ms-grid-row-align: baseline !important;
    align-items: baseline !important; }
  /**
   * Aligns items within the flex container when there is extra
   * space in the cross-axis
   *
   * Has no effect when there is only one line of flex items.
   */
  .u-lg-flexAlignContentStart {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important; }
  .u-lg-flexAlignContentEnd {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important; }
  .u-lg-flexAlignContentCenter {
    -ms-flex-line-pack: center !important;
    align-content: center !important; }
  .u-lg-flexAlignContentStretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important; }
  .u-lg-flexAlignContentBetween {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important; }
  .u-lg-flexAlignContentAround {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important; }
  /**
   * 1. Set the flex-shrink default explicitly to fix IE10 - http://git.io/vllC7
   */
  /* postcss-bem-linter: ignore */
  .u-lg-flex > *,
  .u-lg-flexInline > * {
    -ms-flex-negative: 1;
    flex-shrink: 1;
    /* 1 */ }
  /* Applies to flex items
     ======================================================================== */
  /**
   * Override default alignment of single item when specified by `align-items`
   */
  .u-lg-flexAlignSelfStart {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important; }
  .u-lg-flexAlignSelfEnd {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important; }
  .u-lg-flexAlignSelfCenter {
    -ms-flex-item-align: center !important;
    -ms-grid-row-align: center !important;
        align-self: center !important; }
  .u-lg-flexAlignSelfStretch {
    -ms-flex-item-align: stretch !important;
    -ms-grid-row-align: stretch !important;
        align-self: stretch !important; }
  .u-lg-flexAlignSelfBaseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important; }
  .u-lg-flexAlignSelfAuto {
    -ms-flex-item-align: auto !important;
    -ms-grid-row-align: auto !important;
        align-self: auto !important; }
  /**
   * Change order without editing underlying HTML
   */
  .u-lg-flexOrderFirst {
    -ms-flex-order: -1 !important;
    order: -1 !important; }
  .u-lg-flexOrderLast {
    -ms-flex-order: 1 !important;
    order: 1 !important; }
  .u-lg-flexOrderNone {
    -ms-flex-order: 0 !important;
    order: 0 !important; }
  /**
   * Specify the flex grow factor, which determines how much the flex item will
   * grow relative to the rest of the flex items in the flex container.
   *
   * Supports 1-5 proportions
   *
   * 1. Provide all values to avoid IE10 bug with shorthand flex
   *    http://git.io/vllC7
   *
   *    Use `0%` to avoid bug in IE10/11 with unitless flex basis
   *    http://git.io/vllWx
   */
  .u-lg-flexGrow1 {
    -ms-flex: 1 1 0% !important;
    flex: 1 1 0% !important;
    /* 1 */ }
  .u-lg-flexGrow2 {
    -ms-flex: 2 1 0% !important;
    flex: 2 1 0% !important; }
  .u-lg-flexGrow3 {
    -ms-flex: 3 1 0% !important;
    flex: 3 1 0% !important; }
  .u-lg-flexGrow4 {
    -ms-flex: 4 1 0% !important;
    flex: 4 1 0% !important; }
  .u-lg-flexGrow5 {
    -ms-flex: 5 1 0% !important;
    flex: 5 1 0% !important; }
  /**
   * Aligning with `auto` margins
   * http://www.w3.org/TR/css-flexbox-1/#auto-margins
   */
  .u-lg-flexExpand {
    margin: auto !important; }
  .u-lg-flexExpandLeft {
    margin-left: auto !important; }
  .u-lg-flexExpandRight {
    margin-right: auto !important; }
  .u-lg-flexExpandTop {
    margin-top: auto !important; }
  .u-lg-flexExpandBottom {
    margin-bottom: auto !important; } }

/** @define Arrange; weak */
/**
 * This component lets you lay out a row of cells in various ways. You can
 * specify whether a cell should be wide enough to fit its content, or take up
 * the remaining space in the row. It's also possible to give all cells an
 * equal width, and to control their vertical alignment.
 */
/**
 * 1. Protect against the component expanding beyond the confines of its
 *    container if properties affecting the box-model are applied to the
 *    component. Mainly necessary because of (5).
 * 2. Rely on table layout.
 * 3. Zero out the default spacing that might be on an element (e.g., `ul`).
 * 4. Make sure the component fills at least the full width of its parent.
 * 5. Reset the table-layout algorithm in case a component is nested.
 */
.Arrange {
  box-sizing: border-box;
  /* 1 */
  display: table;
  /* 2 */
  margin: 0;
  /* 3 */
  min-width: 100%;
  /* 4 */
  padding: 0;
  /* 3 */
  table-layout: auto;
  /* 5 */ }

/**
 * There are three possible types of child. `sizeFill` will expand to fill all
 * of the remaining space not filled by `sizeFit` elements. `row` will begin a
 * new row context, keeping columns the same size.
 *
 * 1. Zero out any default spacing that might be on an element (e.g., `li`);
 *    Margin has no effect when coupled with `display: table-cell`.
 * 2. All cells are top-aligned by default
 */
.Arrange-sizeFill,
.Arrange-sizeFit {
  display: table-cell;
  padding: 0;
  /* 1 */
  vertical-align: top;
  /* 2 */ }

/**
 * Make sure the main content block expands to fill the remaining space.
 */
.Arrange-sizeFill {
  width: 100%; }

/**
 * Where possible, protect against large images breaking the layout. Prevent them from
 * exceeding the width of the main content block by making them fluid.
 *
 * Only work for all browsers with the `Arrange--equally` variant. For Firefox
 * and IE to constrain image dimensions for other layouts, large images will
 * need their width set to `100%`.
 */
.Arrange-sizeFill img {
  height: auto;
  max-width: 100%; }

/**
 * Defend against a side-effect of this layout pattern: images in
 * 'Arrange-sizeFit' cannot be fluid, otherwise they lose their ability to
 * provide size to a cell.
 */
.Arrange-sizeFit img {
  max-width: none !important;
  width: auto !important; }

/**
 * Start a new row context.
 */
.Arrange-row {
  display: table-row; }

/* Vertical alignment modifiers
   ========================================================================== */
.Arrange--middle > .Arrange-sizeFill,
.Arrange--middle > .Arrange-sizeFit {
  vertical-align: middle; }

.Arrange--bottom > .Arrange-sizeFill,
.Arrange--bottom > .Arrange-sizeFit {
  vertical-align: bottom; }

/* Equal-width modifier
   ========================================================================== */
/**
 * This layout algorithm will create equal-width table cells, irrespective of
 * the width of their content.
 *
 * 1. The layout algorithm requires a set width to correctly calculate table
 *    cell width.
 */
.Arrange--equal {
  table-layout: fixed;
  width: 100%;
  /* 1 */ }

/**
 * Give the cells an equal width. This value ensures that Arrange is still 100%
 * wide when gutters are used in conjunctions with equal-width cells.
 *
 * It's recommended that only 'Arrange-sizeFill' be used for equal width cells.
 * Their inner images will automatically be responsive.
 */
.Arrange--equal > .Arrange-sizeFill,
.Arrange--equal > .Arrange-sizeFit,
.Arrange--equal > .Arrange-row > .Arrange-sizeFill,
.Arrange--equal > .Arrange-row > .Arrange-sizeFit {
  width: 1%; }

/* Gutter modifier
   ========================================================================== */
/**
 * Add a gutter between cells
 *
 * NOTE: this can trigger a horizontal scrollbar if the component is as wide as
 * the viewport. Use padding on a container, or `overflow-x:hidden` to protect
 * against it.
 */
.Arrange--withGutter {
  margin: 0 -5px; }

.Arrange--withGutter > .Arrange-sizeFit,
.Arrange--withGutter > .Arrange-sizeFill,
.Arrange--withGutter > .Arrange-row > .Arrange-sizeFit,
.Arrange--withGutter > .Arrange-row > .Arrange-sizeFill {
  padding: 0 5px; }

/** @define Button */
/**
 * The button classes are best applied to links and buttons.
 * These components can be used in forms, as calls to action, or as part of the
 * general UI of the site/app.
 */
/**
 * 1. Normalize `box-sizing` across all elements that this component could be
 *    applied to.
 * 2. Inherit text color from ancestor.
 * 3. Inherit font styles from ancestor.
 * 4. Prevent button text from being selectable.
 */
.Button {
  background: transparent;
  border-color: currentcolor;
  border-style: solid;
  border-width: 1px;
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  cursor: pointer;
  display: inline-block;
  font: inherit;
  /* 3 */
  margin: 0;
  padding: 0.4em 0.75em;
  position: relative;
  text-align: center;
  text-decoration: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /* 4 */ }

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

/**
 * Work around a Firefox/IE bug where the transparent `button` background
 * results in a loss of the default `button` focus styles.
 */
.Button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color; }

/**
 * UI states
 */
.Button:hover,
.Button:focus,
.Button:active {
  text-decoration: none; }

.Button:disabled,
.Button.is-disabled {
  cursor: default;
  opacity: 0.6; }

/** @define FlexEmbed */
/**
 * Flexible media embeds
 *
 * For use with media embeds – such as videos, slideshows, or even images –
 * that need to retain a specific aspect ratio but adapt to the width of their
 * containing element.
 *
 * Based on: http://alistapart.com/article/creating-intrinsic-ratios-for-video
 */
.FlexEmbed {
  display: block;
  overflow: hidden;
  position: relative; }

/**
 * The aspect-ratio hack is applied to an empty element because it allows
 * the component to respect `max-height`. Default aspect ratio is 1:1.
 */
.FlexEmbed-ratio {
  display: block;
  padding-bottom: 100%;
  width: 100%; }

/**
 * Modifier: 3:1 aspect ratio
 */
.FlexEmbed-ratio--3by1 {
  padding-bottom: 33.33333%; }

/**
 * Modifier: 2:1 aspect ratio
 */
.FlexEmbed-ratio--2by1 {
  padding-bottom: 50%; }

/**
 * Modifier: 16:9 aspect ratio
 */
.FlexEmbed-ratio--16by9 {
  padding-bottom: 56.25%; }

/**
 * Modifier: 4:3 aspect ratio
 */
.FlexEmbed-ratio--4by3 {
  padding-bottom: 75%; }

/**
 * Fit the content to the aspect ratio
 */
.FlexEmbed-content {
  bottom: 0;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%; }

/** @define Grid */
/**
 * Core grid component
 *
 * DO NOT apply dimension or offset utilities to the `Grid` element. All cell
 * widths and offsets should be applied to child grid cells.
 */
/* Grid container
   ========================================================================== */
/**
 * All content must be contained within child `Grid-cell` elements.
 *
 * 1. Account for browser defaults of elements that might be the root node of
 *    the component.
 */
.Grid {
  box-sizing: border-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  margin: 0;
  /* 1 */
  padding: 0;
  /* 1 */ }

/**
 * Modifier: center align all grid cells
 */
.Grid--alignCenter {
  -ms-flex-pack: center;
  justify-content: center; }

/**
 * Modifier: right align all grid cells
 */
.Grid--alignRight {
  -ms-flex-pack: end;
  justify-content: flex-end; }

/**
 * Modifier: middle-align grid cells
 */
.Grid--alignMiddle {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -ms-grid-row-align: center;
  align-items: center; }

/**
 * Modifier: bottom-align grid cells
 */
.Grid--alignBottom {
  -webkit-box-align: end;
  -ms-flex-align: end;
  -ms-grid-row-align: flex-end;
  align-items: flex-end; }

/**
 * Modifier: allow cells to equal distribute width
 *
 * 1. Provide all values to avoid IE10 bug with shorthand flex
 *    http://git.io/vllC7
 *
 *    Use `0%` to avoid bug in IE10/11 with unitless flex basis
 *    http://git.io/vllWx
 */
.Grid--fit > .Grid-cell {
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  /* 1 */ }

/**
 * Modifier: all cells match height of tallest cell in a row
 */
.Grid--equalHeight > .Grid-cell {
  display: -ms-flexbox;
  display: flex; }

/**
 * Modifier: gutters
 */
.Grid--withGutter {
  margin: 0 -2.5rem; }

.Grid--withGutter > .Grid-cell {
  padding: 0 2.5rem; }

/* Grid cell
   ========================================================================== */
/**
 * No explicit width by default. Rely on combining `Grid-cell` with a dimension
 * utility or a component class that extends 'Grid'.
 *
 * 1. Set flex items to full width by default
 * 2. Fix issue where elements with overflow extend past the
 *    `Grid-cell` container - https://git.io/vw5oF
 */
.Grid-cell {
  box-sizing: inherit;
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  /* 1 */
  min-width: 0;
  /* 2 */ }

/**
 * Modifier: horizontally center one unit
 * Set a specific unit to be horizontally centered. Doesn't affect
 * any other units. Can still contain a child `Grid` object.
 */
.Grid-cell--center {
  margin: 0 auto; }

@media (min-width: 320px) and (max-width: 768px) {
  .u-sm-block {
    display: block !important; }
  .u-sm-hidden {
    display: none !important; } }

@media (min-width: 769px) and (max-width: 1024px) {
  .u-md-block {
    display: block !important; }
  .u-md-hidden {
    display: none !important; } }

@media (min-width: 1025px) {
  .u-lg-block {
    display: block !important; }
  .u-lg-hidden {
    display: none !important; } }

.u-typoParagraph {
  font-size: 12px;
  color: #a8a8a8;
  line-height: 1em; }

.u-flexCenter {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center; }

.u-colorWhite {
  color: #fff !important; }

.u-colorBlue {
  color: #b3c5cd !important; }

.u-colorBit {
  color: #97a7b6 !important; }

.u-colorPlace {
  color: #708799 !important; }

.u-colorProcess {
  color: #ad5c3e !important; }

.u-colorPeople {
  color: #be9953 !important; }

@media (max-width: 768px) {
  .u-sm-textCenter {
    text-align: center; } }

.u-centerBlock {
  margin-left: auto !important;
  margin-right: auto !important; }

.u-withGutter {
  padding-left: 30px;
  padding-right: 30px; }

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

.u-mh630 {
  min-height: 630px; }

.u-showAnimation {
  animation: show 1s forwards; }

.u-hideAnimation {
  animation: hide 1s forwards; }

.u-showAnimationImportant {
  animation: show 1s forwards !important; }

.u-textUppercase {
  text-transform: uppercase; }

.u-onlyMobile {
  display: none; }
  @media (min-width: 769px) and (max-width: 1024px), (max-width: 768px) {
    .u-onlyMobile {
      display: block; } }

.u-transparent {
  opacity: 0 !important; }
  .u-transparent.is-pass {
    transition: opacity 1s;
    opacity: 1 !important; }

@media (max-width: 768px) {
  .u-sm-opacity-1 {
    opacity: 1 !important; } }

@media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
  .u-lg-transparent {
    opacity: 0 !important; } }

@media (max-width: 768px) {
  .u-sm-visible {
    visibility: visible !important; } }

@media (max-width: 768px) {
  .u-sm-bg--gold {
    background-color: #ccac76; } }

.u-up {
  z-index: 1 !important; }

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

.u-oneWordPerLine {
  word-spacing: 1000px !important; }

.u-maxHeight100vh {
  max-height: 100vh; }

.Title {
  padding: .833rem 0;
  color: #565655;
  font-size: 2em;
  font-weight: 200;
  line-height: 1.15em;
  -webkit-hyphens: all;
      -ms-hyphens: all;
          hyphens: all; }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .Title {
      font-size: 2.41em; } }
  .Title-hash {
    display: block;
    font-weight: bold; }
    .Title-hash::before {
      content: '#'; }
  .Title-strong {
    font-weight: 800; }
  .Title-underline {
    border-bottom: 2px solid #fff;
    font-weight: inherit; }
  .Title--hero {
    font-size: 2.8em;
    padding: 0 0 .6em 0; }
    @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
      .Title--hero {
        font-size: 3.8em; } }
  .Title--small {
    font-size: 1.3rem;
    font-weight: 600; }
  .Title--big {
    font-size: 3.5em;
    font-weight: 200; }
    @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
      .Title--big {
        font-size: 5em; } }
  .Title-place {
    display: inline-block;
    border-bottom: 1px solid #708799;
    cursor: pointer; }
  .Title-process {
    display: inline-block;
    border-bottom: 1px solid #ad5c3e;
    cursor: pointer; }
  .Title-people {
    display: inline-block;
    border-bottom: 1px solid #be9953;
    cursor: pointer; }

.Unix {
  font-family: "Gotham SSm A", "Gotham SSm B";
  color: #565655;
  font-size: .83rem;
  letter-spacing: .15em;
  padding: .83rem 0;
  text-transform: uppercase;
  font-weight: 300; }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .Unix {
      font-weight: 200; } }
  .BigBang .Unix {
    font-size: 1.2rem; }

.Text {
  font-family: "Gotham SSm A", "Gotham SSm B";
  color: #6d6d6d;
  font-size: 1em;
  letter-spacing: .04em;
  line-height: 1.5em;
  padding: .833em 0;
  font-weight: 300; }
  .Text--underline {
    text-decoration: underline; }
  .Text-em {
    font-style: normal;
    text-decoration: underline; }

.UberText {
  color: #565655;
  font-size: 1.5em;
  font-weight: 300;
  line-height: 1.35em;
  padding: 10px 0; }

.Icon {
  width: 5.5rem;
  height: 5.5rem;
  display: inline-block;
  margin: .833rem 0;
  position: relative; }
  .Icon canvas {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
  .Icon svg {
    width: 100%;
    height: 100%; }
    .Icon svg * {
      stroke: #565655 !important; }
  .Icon--white svg * {
    stroke: #fff !important; }
  .Icon--blue svg * {
    stroke: #708799 !important; }
  .Icon--left {
    margin-top: 1.5em;
    margin-right: 1.5em; }
  .Icon--big {
    width: 11rem;
    height: 11rem; }
    @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
      .Icon--big {
        margin-top: -4rem; } }

@keyframes dash {
  to {
    stroke-dashoffset: 0; } }

.Page {
  display: none; }
  .Page.is-open {
    display: block; }

@media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
  .FullPage {
    overflow-x: hidden;
    height: 100vh;
    overflow: hidden;
    position: relative; }
    .FullPage-scroll {
      position: absolute;
      top: 0;
      width: 100%;
      margin-top: 100vh; }
      @supports (transition: transform) {
        .FullPage-scroll {
          transition-duration: 800ms;
          transition-property: transform;
          transition-timing-function: ease-out; } }
      .FullPage-scroll.is-noAnimation {
        transition: none !important; } }

.Section {
  background-color: #fff;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
  position: relative; }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .Section {
      height: 100vh; } }
  .Section--dark {
    background-color: #f2f2f2; }
  .Section--header {
    background-color: #565655; }

header.Section.is-outOfScreen .Cover, header.Section.is-outOfScreen .Container {
  display: none; }

.Cover {
  background-color: #565655;
  height: 100%;
  position: absolute;
  width: 100%; }
  header.Section .Cover {
    background: #575757 url(../img/bg-home.jpg) 50% 50% no-repeat;
    background-size: cover; }
  .Cover-bg {
    background-position: 50% 50%;
    background-size: auto 100vh;
    height: 100%;
    opacity: 1;
    position: absolute;
    top: 0;
    transition: left 200ms ease-in-out, right 200ms ease-in-out;
    background-attachment: fixed; }
    .Cover-bg--place {
      left: 90%;
      right: 10%;
      background-image: url("../img/bg-place.jpg");
      background-position: 50% 50%;
      background-size: cover; }
    .Cover-bg--process {
      left: 50%;
      right: 50%;
      background-image: url("../img/bg-process.jpg");
      background-position: 50% 50%;
      background-size: cover; }
    .Cover-bg--people {
      left: 10%;
      right: 90%;
      background-image: url("../img/bg-people.jpg");
      background-position: 50% 50%;
      background-size: cover; }
    .Cover-bg.is-open {
      left: 0;
      right: 0;
      transition-duration: 500ms; }

.Container {
  z-index: 0;
  max-width: 2580px;
  padding: 2.5rem;
  margin: 0 auto;
  position: relative; }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .Container {
      height: 100vh;
      padding: 0 10%; } }
  @media (min-width: 769px) and (max-width: 1024px) {
    .Container {
      padding: 0 8% 0 4%; } }

.NSG {
  -ms-flex-align: center;
      align-items: center;
  background-color: #000;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.83;
  font-family: "Gotham SSm A", "Gotham SSm B";
  -ms-flex-pack: center;
      justify-content: center;
  margin: 0 !important;
  right: 0;
  top: 0;
  z-index: 9;
  cursor: pointer;
  padding: 0 !important; }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .NSG {
      position: absolute; } }
  .NSG-link {
    background-image: url("../img/link-arrow.png");
    background-position: 90% center;
    background-repeat: no-repeat;
    background-size: 9px 7px;
    display: block;
    padding: 25px 40px 25px 30px;
    text-decoration: underline; }
  .NSG:hover {
    background-color: #30302f; }

.Counter {
  width: 100%; }
  .Counter-clock {
    opacity: 1;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: none; }
    @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
      .Counter-clock {
        display: block; } }
  .Counter-time {
    color: #565655;
    font-family: "Gotham A", "Gotham B";
    font-size: 12.5rem;
    font-style: normal;
    font-weight: 100;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-1em, -50%); }
  .Counter-title {
    padding: 0 2vw;
    width: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) scale(0.3);
    opacity: 0;
    visibility: hidden;
    transition: all .7s; }
  .Counter-reveal {
    opacity: 1; }
    @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
      .Counter-reveal {
        opacity: 0;
        visibility: hidden; } }
  .Counter.is-title .Counter-time {
    opacity: 0;
    visibility: hidden; }
  .Counter.is-title .Counter-title {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1); }
  .Counter.is-revealed .Counter-reveal {
    opacity: 1;
    visibility: visible;
    transition: all 1s ease; }
  .Counter.is-revealed .Counter-clock {
    opacity: 0;
    visibility: hidden;
    transition: all .5s ease 1s;
    transform: translate(-50%, -50%) scale(0.3); }

.Contact {
  padding: 0 30px;
  text-align: center; }

.Link {
  border-bottom: 1px solid #dfdfdf;
  color: inherit;
  display: inline-block;
  text-decoration: none; }

.Claim {
  max-width: 260px;
  margin: 0 auto; }
  .Claim-logo {
    padding: 18px 0; }
  .Claim--people .hash {
    fill: #be9953; }
  .Claim--process .hash {
    fill: #ad5c3e; }
  .Claim--place .hash {
    fill: #708799; }

.Plot2 {
  padding: 10px 0;
  position: relative;
  height: 270px; }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .Plot2 {
      height: auto; } }
  .Plot2 > svg {
    display: none;
    position: relative;
    top: 90px; }
    @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
      .Plot2 > svg {
        display: block;
        position: static;
        width: 100%;
        min-width: 1935px; } }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .Plot2--up {
      margin-top: 10.5rem;
      margin-bottom: 5rem; } }
  .Plot2-circle {
    background-color: #a6a6a6;
    border-radius: 100%;
    cursor: pointer;
    height: 260px;
    position: relative;
    transition: all 450ms cubic-bezier(0.18, 0.89, 0.32, 1.28);
    width: 260px;
    z-index: 1; }
    .Plot2-circle .Plot2-text {
      opacity: 1;
      color: #fff;
      width: 80%; }
    @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
      .Plot2-circle {
        height: 0;
        position: absolute;
        width: 0;
        left: 50%;
        transform: translate(-50%, -50%); }
        .Plot2-circle .Plot2-text {
          opacity: 0; } }
    @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
      .Plot2-circle.is-visible {
        height: 2.5rem;
        width: 2.5rem; } }
    .Plot2-circle.is-visible::before {
      animation: flash 2s infinite;
      border: 1px solid #565655;
      border-radius: 100%;
      content: '';
      height: 100%;
      position: absolute;
      width: 100%;
      display: none; }
      @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
        .Plot2-circle.is-visible::before {
          display: block; } }

@keyframes flash {
  from {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1; }
  to {
    transform: translate(-50%, -50%) scale(1.5);
    opacity: 0; } }
    @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
      .Plot2-circle--in.is-visible {
        height: 20rem;
        width: 20rem; }
        .Plot2-circle--in.is-visible::before {
          display: none; }
        .Plot2-circle--in.is-visible .Plot2-text {
          opacity: 1;
          transition-delay: 450ms; } }
  .Plot2-text {
    color: #565655;
    opacity: 0;
    position: absolute;
    text-align: center;
    transition: opacity 150ms;
    width: 200px; }
  .Plot2--up > svg {
    top: 170px; }
    @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
      .Plot2--up > svg {
        position: static; } }
  .Plot2--up .Plot2-circle {
    background-color: #be9953; }
    @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
      .Plot2--up .Plot2-circle {
        top: 60%;
        transform: translate(-50%, -50%); } }
  .Plot2--up .Plot2-text {
    color: #fff; }

@media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
  .DecoRing {
    position: relative; }
    .DecoRing::before {
      content: '';
      position: absolute;
      top: 50%;
      transform: translate(-50%, -50%);
      left: 50%;
      border-radius: 100%;
      border: 1px solid #dadada;
      padding-top: 100%;
      width: 100%;
      z-index: -1;
      display: block; }
    .DecoRing--flex::before {
      width: 80vw;
      padding-top: 80vw; }
    .DecoRing--dark::before {
      border-color: rgba(0, 0, 0, 0.1); } }

@media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
  .DecoRing2 {
    position: relative;
    padding: 0 60px !important; }
    .DecoRing2::before {
      content: '';
      position: absolute;
      top: 50%;
      transform: translate(-50%, -50%);
      background-image: url("../img/deco.png");
      background-size: 100% 100%;
      left: 50%;
      padding-top: calc(100% - 60px);
      width: calc(100% - 60px);
      z-index: -1; } }

.GalleryPlot {
  position: absolute;
  width: 100%;
  top: 50%;
  transform: translateY(-90%); }

.Axis {
  border-bottom: 1px solid #cecece;
  height: 50vh;
  width: 100%;
  position: relative;
  margin-bottom: 30px;
  margin-top: 55px; }
  @media (min-width: 1025px) {
    .Axis {
      height: 50vh; } }
  @media (min-width: 769px) and (max-width: 1024px) {
    .Axis {
      height: 40vh;
      margin-bottom: 20px;
      margin-top: 40px; } }
  .Axis .ColumnGraph {
    position: absolute;
    bottom: 0;
    transform: translateX(-50%);
    padding-top: 18px;
    text-align: center;
    width: 40%;
    height: 100%; }
    @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
      .Axis .ColumnGraph {
        width: 33%; } }
    .Axis .ColumnGraph-number {
      color: #70706e;
      content: '0%';
      display: block;
      position: absolute;
      top: -1.5em; }
    .Axis .ColumnGraph--grey {
      background-color: #565655;
      left: 25%;
      height: 51%; }
    .Axis .ColumnGraph--brown {
      background-color: #ae5c35;
      left: 75%; }
  .Axis.is-anim .ColumnGraph--grey {
    height: 0;
    animation: ColumnGraph27 1s forwards 2.5s;
    animation-timing-function: cubic-bezier(0.15, 0.61, 0.67, 1.3); }
  .Axis.is-anim .ColumnGraph--brown {
    height: 0;
    animation: ColumnGraph100 1.2s forwards 2.5s;
    animation-timing-function: cubic-bezier(0.15, 0.61, 0.67, 1.3); }

@keyframes ColumnGraph100 {
  0% {
    height: 0; }
  100% {
    height: 100%; } }

@keyframes ColumnGraph27 {
  0% {
    height: 0; }
  100% {
    height: 51%; } }

.OfficeRender {
  position: relative;
  top: 50px; }
  @media all and (min-width: 1600px) {
    .OfficeRender {
      left: 150px; } }
  @media all and (min-width: 2000px) {
    .OfficeRender {
      margin-top: -150px;
      right: 30px;
      top: 60px; } }
  @media all and (max-width: 1023px) {
    .OfficeRender {
      display: none; } }
  @media all and (max-height: 767px) {
    .OfficeRender {
      top: -30px; } }
  .OfficeRender-dot {
    display: block;
    height: 1px;
    position: absolute;
    width: 1px; }
    .OfficeRender-dot::after {
      background-color: #ae5c35;
      border-radius: 100%;
      border: 5px solid #fff;
      content: '';
      cursor: pointer;
      display: block;
      height: 35px;
      position: absolute;
      width: 35px;
      z-index: 20; }
    .OfficeRender-dot::before {
      animation: pulse 2s linear infinite;
      background-color: transparent;
      border-radius: 100%;
      border: 2px solid #565655;
      content: '';
      height: 75px;
      opacity: .33;
      position: absolute;
      right: -54px;
      top: -20px;
      width: 75px;
      z-index: 10; }
  .OfficeRender .image {
    float: right;
    max-width: 90%; }
    @media all and (min-width: 2000px) {
      .OfficeRender .image {
        display: none; } }
    .OfficeRender .image--big {
      display: none;
      max-width: 85%; }
      @media all and (min-width: 2000px) {
        .OfficeRender .image--big {
          display: block; } }
  .OfficeRender-conferenceRoom {
    right: 145px;
    top: 130px; }
  .OfficeRender-silentRoom {
    bottom: 230px;
    right: 430px; }
    @media all and (min-width: 2000px) {
      .OfficeRender-silentRoom {
        bottom: 330px;
        right: 600px; } }
  .OfficeRender-telephoneBooth {
    bottom: 250px;
    left: 485px; }
    @media all and (min-width: 2000px) {
      .OfficeRender-telephoneBooth {
        bottom: 350px;
        left: 785px; } }
    @media all and (min-width: 1024px) and (max-width: 1366px) {
      .OfficeRender-telephoneBooth {
        left: 450px; } }
  .OfficeRender-funRoom {
    bottom: 230px;
    left: 385px; }
    @media all and (min-width: 2000px) {
      .OfficeRender-funRoom {
        bottom: 270px;
        left: 550px; } }
    @media all and (min-width: 1024px) and (max-width: 1366px) {
      .OfficeRender-funRoom {
        left: 350px; } }
  .OfficeRender-focusRoom {
    bottom: 240px;
    right: 610px; }
    @media all and (min-width: 2000px) {
      .OfficeRender-focusRoom {
        bottom: 340px;
        right: 870px; } }
    @media all and (min-width: 1024px) and (max-width: 1366px) {
      .OfficeRender-focusRoom {
        right: 580px; } }
  .OfficeRender-noformalRoom {
    right: 410px;
    top: 90px; }
    @media all and (min-width: 2000px) {
      .OfficeRender-noformalRoom {
        right: 610px;
        top: 170px; } }
  .OfficeRender-zoomImage {
    display: block;
    height: 2px;
    opacity: 0;
    position: absolute;
    width: 2px;
    z-index: 99; }
    .OfficeRender-zoomImage img {
      height: 100%;
      width: 100%; }
    .OfficeRender-zoomImage.is-Animated {
      animation: showZoomRender .7s forwards;
      z-index: 99;
      border: 4px solid white;
      border-radius: 100%; }

@keyframes showZoomRender {
  from {
    height: 2px;
    opacity: 0;
    width: 2px; }
  to {
    height: 400px;
    opacity: 1;
    width: 400px; } }

@keyframes pulse {
  0% {
    transform: scale(0);
    opacity: 0; }
  8% {
    transform: scale(0);
    opacity: 0; }
  15% {
    transform: scale(0.1);
    opacity: 1; }
  30% {
    transform: scale(0.5);
    opacity: 1; }
  100% {
    opacity: 0;
    transform: scale(1); } }

.CircleGraph {
  position: relative; }
  .CircleGraph-inside {
    position: absolute;
    text-align: center;
    width: 85%; }
    .CircleGraph-inside.is-hidden {
      opacity: 0;
      transition: opacity .7s; }
    .CircleGraph-inside.is-visible {
      opacity: 1;
      transition-delay: .5s;
      transition: opacity .7s; }
    .CircleGraph-inside.is-white .Title {
      color: #fff !important; }
    .CircleGraph-inside.is-white .Icon svg * {
      stroke: #fff !important; }

@media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
  .Invisible {
    opacity: 0; }
    .Invisible.is-visible {
      opacity: 1;
      transition: opacity 1s; } }

.VideoPopup {
  display: none;
  position: absolute; }
  .VideoPopup.is-opened {
    display: block;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 99;
    width: 100vw;
    height: 100vh;
    background-color: rgba(190, 153, 83, 0.9); }
    .VideoPopup.is-opened video {
      display: block;
      height: 100%;
      margin: 0 auto;
      max-width: 1920px;
      position: relative;
      width: 100%; }
  .VideoPopup .ClosePopup {
    -ms-flex-align: center;
        align-items: center;
    background-color: rgba(0, 0, 0, 0.7);
    border-radius: 100%;
    color: #fff;
    cursor: pointer;
    display: -ms-flexbox;
    display: flex;
    height: 60px;
    -ms-flex-pack: center;
        justify-content: center;
    opacity: 0;
    position: absolute;
    right: 250px;
    top: 40px;
    transform: scale(0);
    transition: all 1s cubic-bezier(0.18, 0.89, 0.32, 1.28);
    width: 60px;
    z-index: 2; }
    .VideoPopup .ClosePopup.is-visible {
      opacity: 1;
      transform: scale(1); }

.VideoBg {
  background-image: url("../img/video_bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  height: 300px; }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .VideoBg {
      height: 100vh;
      background-position-x: -300px;
      bottom: 0;
      left: 0;
      position: absolute;
      right: -700px;
      top: 50%;
      transform: translateY(-50%); } }
  .VideoBg .PlayBtn {
    top: 50%;
    cursor: pointer;
    display: block;
    height: 100px;
    width: 100px;
    left: 50%;
    position: absolute;
    transform: translate(-50%, -50%); }
    @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
      .VideoBg .PlayBtn {
        height: 260px;
        left: 260px;
        width: 260px;
        transform: translate(0, -50%); } }
    .VideoBg .PlayBtn::after {
      background-color: #be9953;
      background-image: url("../img/icon-playmovie.svg");
      background-position: center;
      background-repeat: no-repeat;
      background-size: 66px 66px;
      border-radius: 100%;
      bottom: 0;
      content: '';
      cursor: pointer;
      left: 0;
      position: absolute;
      right: 0;
      top: 0;
      z-index: 20;
      width: 100px;
      height: 100px; }
      @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
        .VideoBg .PlayBtn::after {
          height: 260px;
          width: 260px; } }
    .VideoBg .PlayBtn::before {
      animation: pulse 1.7s linear infinite;
      background-color: transparent;
      border-radius: 100%;
      border: 2px solid #565655;
      content: '';
      height: 180px;
      opacity: .33;
      position: absolute;
      right: -40px;
      top: -40px;
      width: 180px;
      z-index: 10; }
      @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
        .VideoBg .PlayBtn::before {
          height: 400px;
          right: -70px;
          top: -70px;
          width: 400px; } }

.Foot {
  -ms-flex-positive: 1;
      flex-grow: 1;
  -ms-flex-direction: column;
      flex-direction: column;
  padding-bottom: 45px; }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .Foot {
      padding-bottom: 0; } }
  .Foot .Grid {
    -ms-flex: 1;
        flex: 1;
    -ms-flex-line-pack: distribute;
        align-content: space-around; }
  .Foot-claim {
    margin: 20px auto; }
    @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
      .Foot-claim {
        max-width: 70%;
        margin: 0 auto; } }
  .Foot-contactIcon {
    background-color: #565655;
    border-radius: 100%;
    display: inline-block;
    height: 5rem;
    margin: 5rem 0 1rem;
    padding: 1.7rem;
    width: 5rem; }
    .Foot-contactIcon svg {
      width: 100%;
      height: 100%; }
      .Foot-contactIcon svg * {
        stroke: #fff !important; }
  .Foot .Foot-contact {
    white-space: nowrap; }
  .Foot--place .Foot-icon svg * {
    stroke: #708799 !important; }
  .Foot--place .Foot-claim svg .hash {
    fill: #708799; }
  .Foot--place .Foot-contact {
    color: #708799; }
  .Foot--place .Foot-contactIcon {
    background-color: #708799; }
  .Foot--people .Foot-icon svg * {
    stroke: #be9953 !important; }
  .Foot--people .Foot-claim svg .hash {
    fill: #be9953; }
  .Foot--people .Foot-contact {
    color: #be9953; }
  .Foot--people .Foot-contactIcon {
    background-color: #be9953; }
  .Foot--process .Foot-icon svg * {
    stroke: #ad5c3e !important; }
  .Foot--process .Foot-claim svg .hash {
    fill: #ad5c3e; }
  .Foot--process .Foot-contact {
    color: #ad5c3e; }
  .Foot--process .Foot-contactIcon {
    background-color: #ad5c3e; }

.Guide {
  padding-top: 30px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  width: 100%; }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .Guide {
      padding-top: 0; } }
  .Guide-link {
    color: #565655;
    display: block;
    font-weight: 900;
    text-decoration: none;
    text-transform: uppercase; }
    .Guide-link--people {
      color: #be9953; }
      .Guide-link--people svg * {
        stroke: #be9953 !important; }
    .Guide-link--place {
      color: #708799; }
      .Guide-link--place svg * {
        stroke: #708799 !important; }
    .Guide-link--process {
      color: #ad5c3e; }
      .Guide-link--process svg * {
        stroke: #ad5c3e !important; }
    .Guide-link svg {
      width: 1rem;
      display: block;
      margin: 1rem auto; }

.CountUp {
  display: inline-block; }
  .CountUp.is-anim1 {
    animation: countUp 2s forwards; }

@keyframes countUp {
  0% {
    opacity: 0;
    transform: scale(0.5); }
  70% {
    opacity: 1; }
  100% {
    transform: scale(1); } }

@media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
  footer .Bibliography {
    bottom: 30px;
    right: 25px;
    position: absolute;
    display: inline-block; } }

footer .Bibliography-link {
  color: #a8a8a8;
  font-size: 1rem;
  font-family: "Gotham SSm A", "Gotham SSm B";
  text-decoration: none; }

footer .Bibliography.is-visible {
  display: block; }

.CircleImg {
  margin: 10% 10% 14%;
  position: relative; }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .CircleImg {
      margin: 10% 10% 25%; } }
  .CircleImg-frame {
    position: absolute;
    border-radius: 100%;
    overflow: hidden;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .CircleImg-img {
    position: absolute;
    height: 100%;
    top: 0;
    left: 50%;
    transform: translateX(-50%); }
  .CircleImg::before {
    content: "";
    display: block;
    padding-top: 100%; }
  .CircleImg::after {
    content: '';
    position: absolute;
    width: 1px;
    left: 50%;
    transform: translateX(-50%);
    height: 15%;
    top: 104%;
    background-color: white; }
    @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
      .CircleImg::after {
        top: 115%; } }

.HeaderContent {
  position: relative; }
  @media all and (max-height: 780px) {
    .HeaderContent {
      top: 65px; } }

.PlaceRender-wrapper {
  margin-top: 100px; }
  @media all and (max-height: 780px) {
    .PlaceRender-wrapper {
      margin-top: 70px; } }

.Cookie {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #70889e;
  padding: 1.8rem 2.5rem; }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .Cookie {
      padding: 1.8rem 10%; } }

@keyframes revCok {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
  .Cookie.is-visible {
    display: block;
    animation-name: revCok;
    animation-duration: 1s; }
  .Cookie-link {
    color: #000;
    border-bottom: 1px solid #546676;
    text-decoration: none; }
    .Cookie-link:hover {
      border-bottom: 2px solid #546676; }
  .Cookie-button {
    cursor: pointer; }

html {
  font-size: 12px;
  font-family: "Gotham A", "Gotham B";
  font-style: normal;
  font-weight: 400;
  color: #565655; }
  @media (min-width: 1500px) {
    html {
      font-size: 13px; } }
  @media (min-width: 1600px) {
    html {
      font-size: 14px; } }
  @media (min-width: 2000px) {
    html {
      font-size: 15px; } }
  @media (min-width: 2200px) {
    html {
      font-size: 16px; } }
  @media (min-width: 2400px) {
    html {
      font-size: 17px; } }

body {
  color: #000; }

button:focus {
  outline: 0; }

.Axis .ColumnGraph-number {
  left: 50%;
  transform: translateX(-50%); }

.VideoPopup.is-opened video {
  top: 50%;
  transform: translateY(-50%); }

.Plot2-circle.is-visible::before, .Plot2-text, .OfficeRender-zoomImage, .CircleGraph-inside {
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%); }

.nope .FullPage {
  display: none !important; }

.nope .Noper {
  display: block !important; }

.Noper {
  position: absolute;
  display: none;
  width: 800px;
  height: 100%;
  left: 50%;
  margin-left: -400px;
  background-image: url("../img/nc.png");
  background-position: 50% 50%;
  background-repeat: no-repeat; }
  .Noper-logo {
    display: block;
    text-decoration: none;
    position: fixed;
    left: 10px;
    top: 10px; }
  .Noper-link {
    display: block;
    text-decoration: none;
    position: fixed;
    right: 0;
    top: 0; }
  .Noper-circle {
    width: 800px;
    padding-bottom: 800px;
    border: 1px solid #dadada;
    border-radius: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-top: -400px;
    margin-left: -400px; }
  .Noper-text {
    text-align: center; }
    .Noper-text h2 {
      padding: 15px 0;
      color: #565655;
      font-size: 24px;
      font-weight: 200;
      line-height: 26px; }
    .Noper-text p, .Noper-text li {
      color: #565655;
      font-size: 18px;
      font-weight: 300;
      line-height: 15px;
      padding: 10px 0; }
  .Noper-outer {
    display: table;
    position: absolute;
    height: 100%;
    width: 100%; }
  .Noper-middle {
    display: table-cell;
    vertical-align: middle; }
  .Noper-inner {
    margin-left: auto;
    margin-right: auto;
    width: 620px; }

.FR-decotext:lang(fr) {
  font-size: 2rem; }

.FR-TitleHero:lang(fr) {
  font-size: 3rem; }

[data-lang] {
  display: none; }

.Centric {
  background-color: #ad5c3e; }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .Centric {
      background-color: #fff; } }
  .Centric-game {
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    display: none; }
    @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
      .Centric-game {
        display: block; } }
  .Centric-content {
    opacity: 1; }
    @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
      .Centric-content {
        opacity: 0; } }
  .Centric-text {
    text-align: center;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(calc(-50% - 8.33rem), calc(-50%));
    transition: all 3000ms ease-in; }
  .Centric-point {
    position: absolute;
    width: 5rem;
    height: 5rem;
    background-color: #ad5c3e;
    border-radius: 100%;
    left: 50%;
    top: 50%;
    transform: translate(calc(-50% - 8.33rem), calc(-50% - 5rem));
    z-index: 1;
    transition: transform 3000ms ease-in; }
  .Centric-ring {
    position: absolute;
    width: 5vh;
    height: 5vh;
    border: 1px solid #dadada;
    border-radius: 100%;
    left: 50%;
    top: 50%;
    transition: all 3000ms ease-in; }
    .Centric-ring--1 {
      width: 40vh;
      height: 40vh;
      transform: translate(-38%, -30%); }
    .Centric-ring--2 {
      width: 60vh;
      height: 60vh;
      transform: translate(-15%, -40%); }
    .Centric-ring--3 {
      width: 80vh;
      height: 80vh;
      transform: translate(-85%, -60%); }
  .Centric.is-center .Centric-point {
    cursor: crosshair;
    transform: translate(-50%, -50%);
    width: 6.5rem;
    height: 6.5rem; }
  .Centric.is-center .Centric-text {
    transform: translate(-50%, calc(-50% + 5rem)); }
  .Centric.is-center .Centric-ring--1 {
    transform: translate(-50%, -50%); }
  .Centric.is-center .Centric-ring--2 {
    transform: translate(-50%, -50%); }
  .Centric.is-center .Centric-ring--3 {
    transform: translate(-50%, -50%); }
  .Centric.is-reveal .Centric-game {
    z-index: 0; }
  .Centric.is-reveal .Centric-content {
    opacity: 1;
    transition: opacity 1000ms ease-in-out .3s; }
  .Centric.is-reveal .Centric-point {
    transform: translate(-50%, -50%);
    width: 200vw;
    height: 200vw;
    transition: all 2s ease-out; }
  .Centric.is-reveal .Centric-text {
    transform: translate(-50%, calc(-50% + 5rem)); }
  .Centric.is-reveal .Centric-ring--1 {
    transform: translate(-50%, -50%); }
  .Centric.is-reveal .Centric-ring--2 {
    transform: translate(-50%, -50%); }
  .Centric.is-reveal .Centric-ring--3 {
    transform: translate(-50%, -50%); }

.Puzzle {
  display: none; }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .Puzzle {
      display: block; } }
  .Puzzle-svg {
    overflow: visible !important; }
    @media (min-width: 769px) and (max-width: 1024px) {
      .Puzzle-svg {
        max-width: 50vw; } }
  @media (min-width: 769px) and (max-width: 1024px) {
    .Puzzle {
      text-align: center; }
      .Puzzle-svg {
        max-width: 50vw; } }
  .Puzzle-pieces g path {
    transition: all 300ms; }
    .Puzzle-pieces g path:hover {
      fill: #555554 !important; }
  .Puzzle-pieces g text {
    pointer-events: none; }
  .Puzzle-pieces g:hover text {
    visibility: hidden; }
  .Puzzle-pieces g:hover .Puzzle-hiddenText {
    visibility: visible; }
  .Puzzle-hiddenText {
    visibility: hidden; }
  .Puzzle-button {
    cursor: pointer; }
    .Puzzle-button:hover .Puzzle-buttonBg {
      fill: #555554 !important; }

.Steps {
  margin: 28px 0; }
  @media (min-width: 769px) and (max-width: 1024px), (max-width: 768px) {
    .Steps {
      margin: 15px 0; } }
  .Steps--green .Steps-step {
    background-image: url("../img/step_green.png"); }
  .Steps--brown .Steps-step {
    background-image: url("../img/step_brown.png"); }
  .Steps--brown ul.Grid {
    margin: 1em;
    -ms-flex-align: start;
        align-items: flex-start; }
    .Steps--brown ul.Grid li.Steps-step {
      margin-top: 0;
      background-position: 0 0.5em;
      min-height: 4em; }
  .Steps .Steps-step + .Steps-step {
    margin-top: 1.5em; }
  .Steps .Steps-step {
    -ms-flex-align: center;
        align-items: center;
    background-position: left center;
    background-repeat: no-repeat;
    background-size: 40px 40px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
        justify-content: flex-start;
    min-height: 40px;
    padding-left: 60px; }
    @media (min-width: 769px) and (max-width: 1024px), (max-width: 768px) {
      .Steps .Steps-step {
        -ms-flex-align: start;
            align-items: flex-start;
        background-position: left top;
        cursor: pointer;
        -ms-flex-direction: column;
            flex-direction: column;
        height: auto; } }
  .Steps .Step-tab-content {
    display: block;
    height: 0;
    overflow: hidden;
    transition: height .5s; }
    .Steps .Step-tab-content img {
      max-width: 100%; }
    @media (min-width: 1025px) {
      .Steps .Step-tab-content {
        display: none; } }
    .Steps .Step-tab-content.is-opened {
      height: auto; }
  .Steps .silentRoom,
  .Steps .telephoneBooth,
  .Steps .noformalRoom,
  .Steps .conferenceRoom,
  .Steps .funRoom,
  .Steps .focusRoom {
    transition: all .5s; }
    .Steps .silentRoom.is-reading,
    .Steps .telephoneBooth.is-reading,
    .Steps .noformalRoom.is-reading,
    .Steps .conferenceRoom.is-reading,
    .Steps .funRoom.is-reading,
    .Steps .focusRoom.is-reading {
      background-image: url("../img/step_brown--negative.png");
      color: #000; }

.Ballon {
  cursor: pointer;
  position: relative;
  -ms-flex: 1;
      flex: 1;
  transition: all 450ms cubic-bezier(0.18, 0.89, 0.32, 1.28); }
  .Ballon:hover::before {
    border: 1px solid #aaa;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    transition-duration: .4s; }
  .Ballon::after {
    content: "";
    display: block;
    padding-top: 100%; }
  .Ballon::before {
    content: '';
    position: absolute;
    left: -25%;
    top: -25%;
    width: 150%;
    height: 150%;
    border-radius: 100%;
    border: 1px solid #dadada;
    z-index: -1;
    transition: all 0.3s cubic-bezier(0.11, 0.6, 0.36, 1.4);
    pointer-events: none; }
  .Ballon-bg {
    left: 0;
    top: 0;
    position: absolute;
    border-radius: 100%;
    background-color: #708799;
    width: 100%;
    height: 100%;
    overflow: hidden; }
    .Ballon-bg-img {
      opacity: 0;
      height: 100%;
      border-radius: 100%;
      visibility: hidden; }
  .Ballon-text {
    display: none;
    color: #fff;
    padding: 0 60px; }
  .Ballon-title {
    color: #fff; }
  .Ballon-textbox {
    z-index: 1;
    text-align: center; }
  .Ballon.is-expanded {
    -ms-flex: 2;
        flex: 2; }
    .Ballon.is-expanded .Ballon-bg-img {
      opacity: .2;
      visibility: visible; }
      .Ballon.is-expanded .Ballon-bg-img--visible {
        opacity: 1; }
    .Ballon.is-expanded .Ballon-text {
      display: block; }
  .Ballon-content {
    position: absolute;
    top: 2.5rem;
    left: 2.5rem;
    right: 2.5rem;
    bottom: 2.5rem; }

.BallonWrapper {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  margin: 0 -2.5rem;
  height: 70vh; }

@media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
  .Differ {
    width: 100%; } }

.Differ-lead {
  display: none; }

.Differ-textAfter {
  display: none; }

.Differ-visual {
  position: relative;
  height: 55vh; }

.Differ-imgBefore {
  position: absolute;
  display: block;
  height: 100%;
  margin: 0 auto;
  left: 50%;
  transform: translateX(-50%); }

.Differ-imgAfter {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-50%);
  height: 100%;
  transition: all .5s ease-out; }

.Differ-button {
  background-color: #708799;
  border-radius: 100%;
  height: 5rem;
  width: 5rem;
  position: absolute;
  left: 50%;
  top: 4rem;
  transform: translate(-50%, -50%);
  cursor: pointer;
  transition: all .1s linear; }
  .Differ-button-next {
    display: inline-block;
    -webkit-filter: invert(100%);
            filter: invert(100%);
    opacity: .3;
    padding: 0 3px; }
  .Differ-button-prev {
    display: inline-block;
    padding: 0 3px; }
  .Differ-button:hover {
    background-color: #565655; }

.Differ.is-after .Differ-button-prev {
  -webkit-filter: invert(100%);
          filter: invert(100%);
  opacity: .3; }

.Differ.is-after .Differ-button-next {
  -webkit-filter: none;
          filter: none;
  opacity: 1; }

.Differ.is-after .Differ-imgAfter {
  opacity: 1;
  visibility: visible; }

.Differ.is-after .Differ-textBefore {
  display: none; }

.Differ.is-after .Differ-textAfter {
  display: block; }

.Differ.is-after .Differ-lead {
  display: block; }

.Differ--process {
  display: none; }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .Differ--process {
      display: block; } }
  .Differ--process .Text {
    position: relative;
    text-align: center;
    top: -40px;
    transition: color .5s; }
  .Differ--process .Differ-button {
    background-color: #ad5c3e;
    bottom: 10px;
    left: 50%;
    top: auto;
    transition: background-color .5s; }
  .Differ--process.is-white .Differ-button {
    background-color: #fff; }
  .Differ--process.is-white .Text {
    color: #fff; }
  .Differ--process.is-after .Differ-button-prev {
    -webkit-filter: invert(100%);
            filter: invert(100%);
    opacity: .3; }
  .Differ--process.is-after .Differ-button-next {
    -webkit-filter: none;
            filter: none;
    opacity: 1; }

.ImageSlider {
  position: relative;
  display: inline-block;
  line-height: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  overflow: hidden; }
  .ImageSlider-top {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 50%;
    overflow: hidden; }
  .ImageSlider-gague {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 2px;
    cursor: ew-resize;
    background: #fff;
    margin-left: -1px; }
    .ImageSlider-gague::before {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      height: 30px;
      width: 8px;
      border: 3px solid #fff;
      margin-left: -7px;
      margin-top: -18px; }

.Carousel {
  padding-bottom: 0; }
  .Carousel .Grid > [data-animation-order] {
    position: relative; }
    .Carousel .Grid > [data-animation-order]:nth-child(1) {
      z-index: 3; }
    .Carousel .Grid > [data-animation-order]:nth-child(2) {
      z-index: 2; }
    .Carousel .Grid > [data-animation-order]:nth-child(3) {
      z-index: 1; }
  @media (max-width: 768px) {
    .Carousel {
      background-color: #708799; }
      .Carousel .Title, .Carousel .Text {
        color: #fff !important; } }
  .Carousel-smButton {
    background-color: #fff; }
  .Carousel-list {
    position: relative;
    margin-left: -2.5rem;
    margin-right: calc( 50% - 50vw);
    overflow: hidden;
    height: 60vh;
    padding-top: 1.5rem; }
    @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
      .Carousel-list {
        padding-top: 0;
        height: 100vh; } }
  .Carousel-block {
    position: relative; }
    @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
      .Carousel-block {
        height: 100vh; } }
    .Carousel-block--color::before {
      background-color: #708799;
      content: '';
      height: 100%;
      left: -2.5rem;
      position: absolute;
      right: -2.5rem;
      z-index: -1; }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .Carousel-text {
      position: absolute;
      bottom: 40vh; } }
  .Carousel-button {
    display: none;
    position: absolute;
    bottom: 60px;
    border-bottom: 1px solid #565655;
    width: 100%;
    text-align: left;
    padding: 1.5em 0;
    cursor: pointer; }
    @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
      .Carousel-button {
        display: block; } }
    .Carousel-button--next {
      text-align: right;
      color: #fff;
      border-color: #fff; }
  .Carousel-item {
    overflow: hidden;
    position: absolute;
    height: 100%;
    width: 100%; }
    .Carousel-item[data-popup] {
      cursor: pointer; }
    .Carousel-item img {
      height: 100%;
      display: block; }
    .Carousel-item.is-animated-in {
      z-index: 1;
      animation-name: example1;
      animation-duration: 1s; }
    .Carousel-item.is-animated-out {
      z-index: 1;
      animation-name: example2;
      animation-duration: 1s; }

@keyframes example1 {
  from {
    transform: translateX(-100%); }
  to {
    transform: translateX(0); } }

@keyframes example2 {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-100%); } }

.BigBang {
  cursor: pointer; }
  .BigBang-circle {
    display: inline-block;
    position: relative;
    width: 80%;
    padding-bottom: 80%;
    margin: 10% 10% 14%; }
    @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
      .BigBang-circle {
        margin: 10% 10% 25%; } }
    .BigBang-circle::after {
      content: '';
      position: absolute;
      width: 1px;
      transform: translateX(-50%);
      height: 15%;
      top: 104%;
      background-color: white; }
      @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
        .BigBang-circle::after {
          top: 115%; } }
  .BigBang-bg {
    background-position: 50% 50%;
    border-radius: 100%;
    content: '';
    height: 100%;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    transition: background-position 0.5s cubic-bezier(0.17, 0.73, 0.68, 1.07), width 0.6s cubic-bezier(0.46, 0.03, 0.52, 0.96), height 0.6s cubic-bezier(0.46, 0.03, 0.52, 0.96), top 0.6s cubic-bezier(0.46, 0.03, 0.52, 0.96), left 0.6s cubic-bezier(0.46, 0.03, 0.52, 0.96), z-index 0.7s step-end;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 0; }
    @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
      .BigBang-bg {
        background-attachment: fixed;
        background-size: cover; } }
  .BigBang-icon {
    margin: 0;
    position: absolute;
    top: 50%;
    z-index: 1;
    left: 50%;
    transform: translate(-50%, -50%); }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .BigBang-text {
      opacity: 0;
      cursor: auto; } }
  .BigBang--1 .BigBang-bg {
    background-image: url("../img/gt.jpg"); }
  .BigBang--2 .BigBang-bg {
    background-image: url("../img/gt2.jpg"); }
  .BigBang--3 .BigBang-bg {
    background-image: url("../img/gt3.jpg"); }
  .BigBang--8 .BigBang-bg {
    background-image: url("../img/gt4.jpg"); }
  .BigBang--4 .BigBang-bg {
    background-image: url("../img/flowbg1.jpg"); }
  .BigBang--5 .BigBang-bg {
    background-image: url("../img/flowbg2.jpg"); }
  .BigBang--6 .BigBang-bg {
    background-image: url("../img/flowbg3.jpg"); }
  .BigBang--7 .BigBang-bg {
    background-image: url("../img/flowbg4.jpg"); }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .BigBang.is-selected {
      z-index: 1; }
      .BigBang.is-selected .BigBang-bg {
        height: 200vw;
        transition: width 0.6s cubic-bezier(0.46, 0.03, 0.52, 0.96), height 0.6s cubic-bezier(0.46, 0.03, 0.52, 0.96), top 0.6s cubic-bezier(0.46, 0.03, 0.52, 0.96), left 0.6s cubic-bezier(0.46, 0.03, 0.52, 0.96), z-index 0.6s step-start;
        width: 200vw;
        z-index: 1;
        cursor: url("../img/x2.png"), auto;
        left: -100vw;
        top: -100vw; }
      .BigBang.is-selected .BigBang-btn {
        opacity: 1;
        transform: scale(1); }
      .BigBang.is-selected .BigBang-text {
        opacity: 1;
        display: block; } }
  .BigBang--background .BigBang-bg {
    background-blend-mode: multiply;
    background-color: #565655; }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .BigBang--background.is-selected .BigBang-bg {
      background-color: #be9953;
      cursor: url("../img/x2.png"), auto;
      z-index: -1; }
    .BigBang--background.is-selected .BigBang-text {
      cursor: url("../img/x2.png"), auto; } }

.Gallery {
  position: relative;
  margin: 30px 0; }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .Gallery {
      margin: 0; } }
  .Gallery::after {
    content: "";
    display: block;
    padding-top: 100%; }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .Gallery::before {
      border-radius: 100%;
      border: 1px solid #dadada;
      content: '';
      height: 150%;
      left: -25%;
      position: absolute;
      top: -25%;
      width: 150%;
      z-index: -1; } }
  .Gallery-content {
    height: 100%;
    position: absolute;
    width: 100%; }
  .Gallery-nav {
    background-color: #70889e;
    border-radius: 100%;
    cursor: pointer;
    height: 90px;
    opacity: 0;
    position: absolute;
    transform: scale(0);
    transition: all 350ms;
    width: 90px;
    z-index: 4; }
    @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
      .Gallery-nav {
        height: 10rem;
        width: 10rem; } }
    .Gallery-nav span {
      background-position: 50% 50%;
      background-repeat: no-repeat;
      background-size: cover;
      border-radius: 100%;
      content: '';
      height: 100%;
      left: 0;
      opacity: 0.3;
      position: absolute;
      top: 0;
      transition: opacity 250ms;
      width: 100%;
      z-index: -1; }
    .Gallery-nav--prev {
      bottom: 10%;
      left: -30px; }
    .Gallery-nav--next {
      top: 10%;
      right: -30px; }
    .Gallery-nav.is-active {
      transform: scale(1);
      opacity: 1; }
  .Gallery-item {
    overflow: visible !important;
    position: absolute; }
    .Gallery-item text {
      fill: #fff;
      font-size: 5px; }
  .GalleryList-popup {
    background-color: #f2f2f2;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    bottom: 0;
    height: 100vh;
    left: 0;
    opacity: 0;
    position: fixed;
    right: 0;
    top: 0;
    transition: opacity .5s;
    width: 100vw;
    z-index: -3; }
    .GalleryList-popup.is-visible {
      cursor: url("../img/x2.png"), auto;
      opacity: 1;
      z-index: 90; }

.FlipCard {
  padding: 2.5rem 0;
  perspective: 1000px;
  display: -ms-flexbox;
  display: flex; }
  .FlipCard-text {
    color: #565655;
    font-size: 18px;
    line-height: 1.35em;
    margin: 10px 0; }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .FlipCard:hover .FlipCard-flipper {
      transform: rotateY(180deg); } }
  .FlipCard.is-hover .FlipCard-flipper {
    transform: rotateY(180deg); }
    @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
      .FlipCard.is-hover .FlipCard-flipper {
        transform: rotateY(180deg); } }
  .FlipCard,
  .FlipCard .FlipCard-front,
  .FlipCard .FlipCard-back {
    min-height: 100%;
    min-width: 100%; }
  .FlipCard-flipper {
    position: relative;
    z-index: 2;
    transform-style: preserve-3d;
    transition: .6s;
    width: 100%; }
    .FlipCard-flipper .FlipCard-front,
    .FlipCard-flipper .FlipCard-back {
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden;
      padding: 1rem 2rem; }
    .FlipCard-flipper .FlipCard-front {
      transform: rotateY(0deg);
      z-index: 2;
      background-color: #fff;
      color: #000; }
    .FlipCard-flipper .FlipCard-back {
      transform: rotateY(-180deg);
      position: absolute;
      top: 0; }
      @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
        .FlipCard-flipper .FlipCard-back {
          top: -2rem;
          left: -2rem;
          bottom: -2rem;
          right: -2rem; }
          .FlipCard-flipper .FlipCard-back .UberText {
            font-size: 1.8rem; }
          .FlipCard-flipper .FlipCard-back .Unix {
            font-size: 1.2rem; } }
      .FlipCard-flipper .FlipCard-back--gold {
        background-color: #be9953;
        color: #fff; }
      .FlipCard-flipper .FlipCard-back--blue {
        background-color: #708799;
        color: #fff; }
  .FlipCard--unvisible {
    visibility: hidden; }
    @media (min-width: 769px) and (max-width: 1024px), (max-width: 768px) {
      .FlipCard--unvisible {
        display: none; } }

.Stig-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 0; }

.Stig-content {
  opacity: 0; }

.Stig-point {
  background-color: #be9953;
  border-radius: 100%;
  height: 60px;
  width: 60px;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: none;
  display: block;
  padding: 20px;
  text-align: center; }
  .Stig-point:nth-child(1) {
    z-index: 1; }
  .Stig-point:nth-child(2) {
    transform: translate(calc(40vw), calc(40vh));
    transition-delay: 0ms; }
  .Stig-point:nth-child(3) {
    transform: translate(calc(25vw), calc(-50% - 0vh));
    transition-delay: 200ms; }
  .Stig-point:nth-child(4) {
    transform: translate(calc(30vw), calc(-50% - 17vh));
    transition-delay: 200ms; }
  .Stig-point:nth-child(5) {
    transform: translate(calc(40vw), calc(-50% - 50vh));
    transition-delay: 100ms; }
  .Stig-point:nth-child(6) {
    transform: translate(calc(18vw), calc(-50% - 30vh));
    transition-delay: 0ms; }
  .Stig-point:nth-child(7) {
    transform: translate(calc(8vw), calc(-50% - 25vh));
    transition-delay: 150ms; }
  .Stig-point:nth-child(8) {
    transform: translate(calc(-50% - 4vw), calc(-50% - 4vh));
    transition-delay: 300ms; }
  .Stig-point:nth-child(9) {
    transform: translate(calc(-50% - 8vw), calc(-50% - 40vh));
    transition-delay: 300ms; }
  .Stig-point:nth-child(10) {
    transform: translate(calc(17vw), calc(45vh));
    transition-delay: 300ms; }
  .Stig-point:nth-child(11) {
    transform: translate(calc(3vw), calc(12vh));
    transition-delay: 300ms; }
  .Stig-point:nth-child(12) {
    transform: translate(calc(-50% - 28vw), calc(-50% - 30vh));
    transition-delay: 300ms; }
  .Stig-point:nth-child(13) {
    transform: translate(calc(-50% - 17vw), calc(-17vh));
    transition-delay: 300ms; }
  .Stig-point:nth-child(14) {
    transform: translate(calc(-50% - 22vw), calc(10vh));
    transition-delay: 0ms; }
  .Stig-point:nth-child(15) {
    transform: translate(calc(-50% - 10vw), calc(30vh));
    transition-delay: 250ms; }
  .Stig-point:nth-child(16) {
    transform: translate(calc(-50% - 45vw), calc(0vh));
    transition-delay: 0ms; }
  .Stig-point:nth-child(17) {
    transform: translate(calc(-50% - 38vw), calc(20vh));
    transition-delay: 100ms; }
  .Stig-point:nth-child(18) {
    transform: translate(calc(-50% - 30vw), calc(41vh));
    transition-delay: 150ms; }
  .Stig-point:nth-child(19) {
    transform: translate(calc(30vw), calc(30vh));
    transition-delay: 150ms; }

.Stig.is-anim .Stig-point {
  transition-property: all;
  transition-duration: 2.5s;
  transform: translate(-50%, -50%) !important; }
  .Stig.is-anim .Stig-point:nth-child(1) {
    width: 250vh;
    height: 250vh;
    transition-duration: 2s;
    transition-timing-function: ease-in; }

.Stig.is-anim .Stig-content {
  opacity: 1;
  transition: all .6s ease 1.5s; }

.TimeLine-axis {
  position: relative;
  height: 70px;
  padding: 20px 0;
  margin: 0 -30px;
  background-image: linear-gradient(to bottom, transparent 0px, transparent 35px, #d9d9d9 35px, #d9d9d9 36px, transparent 36px, transparent 70px);
  z-index: 2;
  top: 80px;
  margin: 0 calc( 50% - 50vw); }

.TimeLine-entries {
  padding: 1rem 0;
  margin: 1.5rem 0;
  background-color: #cbab60;
  position: relative;
  min-height: 280px;
  overflow: hidden; }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .TimeLine-entries {
      padding: 0; } }

.TimeLine-entry {
  background-color: transparent;
  padding: 0 2em;
  -ms-flex-align: center;
      align-items: center; }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .TimeLine-entry {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; } }
  .TimeLine-entry .Unix {
    font-size: 1.33em; }
  .TimeLine-entry.Section-animateCells.activeSection > .Grid-cell:nth-of-type(2) {
    transition-delay: 300ms; }
  .TimeLine-entry.Section-animateCells.activeSection > .Grid-cell:nth-of-type(1) {
    transition-delay: 400ms; }
  .TimeLine-entry.Section-animateCells.activeSection > .Grid-cell:nth-of-type(3) {
    transition-delay: 500ms; }
  .TimeLine-entry.Section-animateCells.sectionUp > .Grid-cell:nth-of-type(2),
  .TimeLine-entry.Section-animateCells.sectionDown > .Grid-cell:nth-of-type(2) {
    transition-delay: 0ms; }
  .TimeLine-entry.Section-animateCells.sectionUp > .Grid-cell:nth-of-type(1),
  .TimeLine-entry.Section-animateCells.sectionDown > .Grid-cell:nth-of-type(1) {
    transition-delay: 100ms; }
  .TimeLine-entry.Section-animateCells.sectionUp > .Grid-cell:nth-of-type(3),
  .TimeLine-entry.Section-animateCells.sectionDown > .Grid-cell:nth-of-type(3) {
    transition-delay: 200ms; }
  .TimeLine-entry .Icon {
    width: 100px; }

.TimeLine-points {
  position: relative;
  top: 100px;
  z-index: 1; }

.TimeLine-point {
  position: absolute;
  width: 30px;
  height: 30px;
  background-color: #b8b8b8;
  border-radius: 100%; }
  .TimeLine-point:nth-child(1) {
    left: 10px; }
  .TimeLine-point:nth-child(2) {
    left: 67%; }
  .TimeLine-point:nth-child(3) {
    right: 10px; }
  .TimeLine-point .UberText {
    color: #b9b9b9; }
  .TimeLine-point--drag:nth-child(1) {
    left: 0;
    margin-left: -15px;
    background-color: #be9953;
    transition: transform 10ms linear; }
    .TimeLine-point--drag:nth-child(1) .UberText {
      color: #333; }

.TimeLine-date {
  text-align: center;
  position: absolute;
  top: -45px;
  left: 50%;
  transform: translateX(-50%); }

.Connector {
  position: relative; }
  .Connector-text {
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 70%;
    display: none;
    pointer-events: none; }
    .Connector-text.is-active {
      display: block; }
  .Connector svg {
    overflow: visible !important; }
  .Connector-circle {
    transition: all 300ms; }
    .Connector-circle:hover {
      fill: #555554 !important;
      cursor: pointer; }

.Language {
  bottom: 0;
  left: 0;
  position: fixed;
  z-index: 99;
  display: -ms-flexbox;
  display: flex;
  height: 45px;
  padding-left: 5px;
  -ms-flex-align: center;
      align-items: center;
  background-color: #565655;
  cursor: pointer; }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .Language {
      left: 15px;
      bottom: 15px;
      background-color: transparent; } }
  .Language-container {
    display: -ms-flexbox;
    display: flex; }
  .Language-item {
    display: none;
    pointer-events: none; }
    .Language-itemLink {
      color: #565655;
      text-decoration: none;
      transition: color 500ms;
      line-height: 45px;
      padding: 0 12px; }
      .Language-itemLink:hover {
        color: #a8a8a8; }
    .Language-item.is-active {
      font-weight: bolder;
      display: block; }
    .Language-item.is-visible {
      display: block;
      pointer-events: auto; }
  .Language .icon-globe {
    fill: #333;
    transition: all 500ms; }
  .Language .Icon {
    height: 2.08rem;
    width: 2.08rem;
    margin: 0; }
  .Language--white {
    color: #fff; }
    .Language--white .icon-globe {
      fill: #fff; }
    .Language--white .Language-itemLink {
      color: #fff; }

.Logo {
  display: block;
  height: 45px;
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
  z-index: 99;
  top: 90px; }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .Logo {
      position: fixed;
      left: 30px;
      top: 30px;
      transform: none; } }
  .Logo a {
    display: block; }
  .Logo img {
    width: 202px;
    transition: width 1s ease;
  }

.Navigation {
  display: none; }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .Navigation {
      display: block;
      transition: all .2s;
      opacity: 0;
      visibility: hidden;
      top: 50%;
      transform: translateY(-50%);
      position: fixed;
      right: 50px;
      z-index: 99; } }
  @media (min-width: 769px) and (max-width: 1024px) and (max-width: 1450px), (min-width: 1025px) and (max-width: 1450px) {
    .Navigation {
      right: 30px; } }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
      .Navigation-container {
        -ms-flex-align: center;
            align-items: center;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column; }
      .Navigation-item {
        border-radius: 100%;
        display: block;
        height: 35px;
        width: 35px;
        position: relative; }
        .Navigation-item::after {
          content: '';
          position: absolute;
          left: 50%;
          top: 50%;
          transform: translate(-50%, -50%);
          width: 5px;
          height: 5px;
          background-color: #a8a8a8;
          border-radius: 100%;
          border: 2px solid transparent;
          border-color: transparent; }
        .Navigation-item.is-active::after {
          width: 13px;
          height: 13px;
          border: 2px solid #565655;
          background-color: transparent; } }
  @media (min-width: 769px) and (max-width: 1024px) and (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) and (min-width: 769px) and (max-width: 1024px), (min-width: 769px) and (max-width: 1024px) and (min-width: 1025px), (min-width: 1025px) and (min-width: 1025px) {
    .Navigation.is-visible {
      opacity: 1;
      visibility: visible;
      display: block; } }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
      .Navigation--inDark .Navigation-item.is-active::after {
        border-color: #fff;
        transition: border-color 500ms; } }

.SliceLine-interactive {
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%); }
  .SliceLine-interactive .Title {
    margin-bottom: 80px; }

.SliceLine-content {
  opacity: 0;
  visibility: hidden; }

.SliceLine-arrow {
  border-radius: 100%;
  cursor: pointer;
  height: 80px;
  margin: 0 auto 70px;
  position: relative;
  width: 80px; }
  .SliceLine-arrow::after {
    content: '';
    position: absolute;
    border: 1px solid #e6e6e6;
    width: 100%;
    height: 100%;
    border-radius: 100%; }
  .SliceLine-arrow.is-moved::after {
    transform: scale(3);
    opacity: 0;
    transition: all 1s; }
  .SliceLine-arrow > svg {
    pointer-events: none;
    animation: moveY 1s infinite;
    animation-play-state: initial;
    cursor: pointer;
    display: block;
    height: 60%;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 60%; }
    .SliceLine-arrow > svg.is-moved {
      animation-play-state: paused;
      transition: transform 1.5s ease-in;
      transform: translate(-50%, 50vh); }

@keyframes moveY {
  from {
    top: 43%; }
  50% {
    top: 60%; }
  to {
    top: 43%; } }

.SliceLine-fx {
  height: 20px;
  margin-top: 40px;
  position: relative; }

.SliceLine-right, .SliceLine-left {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: 0;
  line-height: 1em;
  text-transform: uppercase; }

.SliceLine-left {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  transform: translate(-100%, -50%); }
  .SliceLine-left::after {
    margin-left: 20px;
    animation: liner 2s cubic-bezier(0.24, 0.08, 0.23, 1.68) infinite;
    animation-play-state: initial;
    border-bottom: 2px solid #be9953;
    content: '';
    height: 0;
    width: 150px;
    display: block; }

.SliceLine-right {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  transform: translate(0, -50%); }
  .SliceLine-right::before {
    margin-right: 20px;
    animation: liner 2s cubic-bezier(0.24, 0.08, 0.23, 1.68) infinite;
    animation-play-state: initial;
    border-bottom: 2px solid #be9953;
    content: '';
    height: 0;
    display: block;
    width: 150px; }

.SliceLine-circle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  background-color: #be9953;
  border-radius: 100%; }

.SliceLine.is-sliced .SliceLine-arrow {
  border: 0; }

.SliceLine.is-sliced .SliceLine-left {
  transition: transform 2500ms;
  transform: translate(calc(-100% - 1000px), -50%); }
  .SliceLine.is-sliced .SliceLine-left::after {
    animation-play-state: paused; }

.SliceLine.is-sliced .SliceLine-right {
  transform: translate(1000px, -50%);
  transition: transform 2500ms; }
  .SliceLine.is-sliced .SliceLine-right::before {
    animation-play-state: paused; }

.SliceLine.is-sliced .SliceLine-circle {
  height: 290vh;
  transition: all 1300ms ease-in 100ms;
  width: 290vh; }

.SliceLine.is-sliced .SliceLine-content {
  opacity: 1;
  transition: opacity 1s linear 0.8s;
  visibility: visible; }

@keyframes liner {
  from {
    width: 150px; }
  40% {
    width: 218px; }
  50% {
    width: 220px; }
  60% {
    width: 218px; }
  to {
    width: 150px; } }

@keyframes arrow {
  from {
    left: 40%; }
  50% {
    left: 60%; }
  to {
    left: 40%; } }

.Linker {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  text-decoration: none;
  cursor: pointer;
  border-top: 1px solid #a8a8a8; }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .Linker {
      -ms-flex-direction: column;
          flex-direction: column;
      height: 100%;
      text-align: center;
      border: none; } }
  .Linker-body {
    -ms-flex: 1;
        flex: 1; }
    @media (max-width: 768px) {
      .Linker-body {
        padding-left: 30px; } }
  .Linker--inDark .Linker-header {
    color: #fff;
    text-transform: uppercase; }
  .Linker--inDark .Linker-afterLine {
    background-color: #fff; }
  .Linker--inDark::after {
    background-color: #fff; }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .Linker-afterLine {
      left: 50%;
      transform: translateX(-50%);
      background-color: #565655;
      display: block;
      height: 30px;
      position: absolute;
      top: 12em;
      width: 2px;
      transition: all 0.5s ease-in; } }
  .Linker-more {
    display: none; }
  .Linker.is-disable {
    pointer-events: none; }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .Linker.Linker--inDark:hover.Linker--people .Linker-afterLine, .Linker.is-selected.Linker--people .Linker-afterLine {
      background-color: #be9953; }
    .Linker.Linker--inDark:hover.Linker--process .Linker-afterLine, .Linker.is-selected.Linker--process .Linker-afterLine {
      background-color: #ad5c3e; }
    .Linker.Linker--inDark:hover.Linker--place .Linker-afterLine, .Linker.is-selected.Linker--place .Linker-afterLine {
      background-color: #708799; }
    .Linker.Linker--inDark:hover .Linker-afterLine, .Linker.is-selected .Linker-afterLine {
      height: 55vh; } }
  .Linker.is-more .Linker-afterLine {
    display: none; }
  .Linker.is-more .Linker-text {
    display: none; }
  .Linker.is-more .Linker-more {
    display: block; }
  .Linker.is-more[data-page-open="place"] .Title {
    color: #708799; }
  .Linker.is-more[data-page-open="process"] .Title {
    color: #ad5c3e; }
  .Linker.is-more[data-page-open="people"] .Title {
    color: #be9953; }
  .Linker-wrapper {
    padding-top: 85px; }
    @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
      .Linker-wrapper {
        padding-top: 0; } }

#NSLogo {
  width: 228px;
  height: 40px; }

.Bg {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%; }
  .Bg--place1 {
    background-image: url(../img/bg-s4.jpg); }
  .Bg--people-cards {
    background-image: url(../img/bg-people.jpg); }
  .Bg-place-cards {
    background-image: url(../img/bg-place.jpg); }
  .Bg--place {
    background-color: #3e4e5d; }
  .Bg--process {
    background-color: #ad5c3e; }
  .Bg--people {
    background-color: #be9953; }

@supports (transition: transform) {
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
    .AnimateElements [data-animation-order] {
      transition: transform 1200ms ease-in, opacity 1000ms;
      transition-timing-function: cubic-bezier(0.35, 0.65, 0.12, 1.11);
      transform: translate(0, 100vh);
      opacity: 0; }
    .AnimateElements [data-animation-from="right"] {
      transform: translate(100vh, 0); }
    .AnimateElements [data-animation-from="left"] {
      transform: translate(-100vh, 0); }
    .AnimateElements [data-animation-from="dist"] {
      transform: translate(0, 0) scale(0); }
    .AnimateElements [data-animation-order="0"] {
      transition-delay: 0ms; }
    .AnimateElements [data-animation-order="1"] {
      transition-delay: 50ms; }
    .AnimateElements [data-animation-order="2"] {
      transition-delay: 100ms; }
    .AnimateElements [data-animation-order="3"] {
      transition-delay: 150ms; }
    .AnimateElements [data-animation-order="4"] {
      transition-delay: 200ms; }
    .AnimateElements [data-animation-order="5"] {
      transition-delay: 250ms; }
    .AnimateElements [data-animation-order="6"] {
      transition-delay: 300ms; }
    .AnimateElements [data-animation-order="7"] {
      transition-delay: 350ms; }
    .AnimateElements [data-animation-order="8"] {
      transition-delay: 400ms; }
    .AnimateElements-in [data-animation-order] {
      transform: translate(0vh, 0vh);
      opacity: 1; }
    .AnimateElements-in [data-animation-order="0"] {
      transition-delay: 1000ms; }
    .AnimateElements-in [data-animation-order="1"] {
      transition-delay: 1200ms; }
    .AnimateElements-in [data-animation-order="2"] {
      transition-delay: 1400ms; }
    .AnimateElements-in [data-animation-order="3"] {
      transition-delay: 1600ms; }
    .AnimateElements-in [data-animation-order="4"] {
      transition-delay: 1800ms; }
    .AnimateElements-in [data-animation-order="5"] {
      transition-delay: 2000ms; }
    .AnimateElements-in [data-animation-order="6"] {
      transition-delay: 2200ms; }
    .AnimateElements-in [data-animation-order="7"] {
      transition-delay: 2400ms; }
    .AnimateElements-in [data-animation-order="8"] {
      transition-delay: 2600ms; }
    .AnimateElements-in [data-animation-delay="3800"] {
      transition-delay: 3800ms !important; }
    .AnimateElements-in [data-animation-delay="3500"] {
      transition-delay: 3500ms !important; }
    .AnimateElements-in [data-animation-delay="3300"] {
      transition-delay: 3300ms !important; }
    .AnimateElements-up [data-animation-order] {
      transform: translate(0, -100vh);
      opacity: 0; }
    .AnimateElements-up [data-animation-from="right"] {
      transform: translate(100vh, 0); }
    .AnimateElements-up [data-animation-from="left"] {
      transform: translate(-100vh, 0); }
    .AnimateElements-up [data-animation-from="dist"] {
      transform: translate(0, 0) scale(1); }
    .AnimateElements-down [data-animation-order] {
      transform: translate(0, 100vh); }
    .AnimateElements-down [data-animation-from="right"] {
      transform: translate(100vh, 0); }
    .AnimateElements-down [data-animation-from="left"] {
      transform: translate(-100vh, 0); }
    .AnimateElements-down [data-animation-from="dist"] {
      transform: translate(0, 0) scale(0); }
    .Section-animateCells .Grid-cell {
      transition: transform 1200ms ease-in, opacity 1000ms;
      transition-timing-function: cubic-bezier(0.35, 0.65, 0.12, 1.11);
      transform: translateY(100vh); }
      .Section-animateCells .Grid-cell[data-animation-order="1"] {
        transition-delay: 0; }
      .Section-animateCells .Grid-cell:not([data-animation-order]):nth-of-type(2), .Section-animateCells .Grid-cell[data-animation-order="2"] {
        transition-delay: 150ms; }
      .Section-animateCells .Grid-cell:not([data-animation-order]):nth-of-type(3), .Section-animateCells .Grid-cell[data-animation-order="3"] {
        transition-delay: 300ms; }
      .Section-animateCells .Grid-cell:not([data-animation-order]):nth-of-type(4), .Section-animateCells .Grid-cell[data-animation-order="4"] {
        transition-delay: 450ms; }
      .Section-animateCells .Grid-cell:not([data-animation-order]):nth-of-type(5), .Section-animateCells .Grid-cell[data-animation-order="5"] {
        transition-delay: 600ms; }
      .Section-animateCells .Grid-cell:not([data-animation-order]):nth-of-type(6), .Section-animateCells .Grid-cell[data-animation-order="6"] {
        transition-delay: 750ms; }
      .Section-animateCells .Grid-cell:not([data-animation-order]):nth-of-type(7), .Section-animateCells .Grid-cell[data-animation-order="7"] {
        transition-delay: 900ms; }
    .Section-animateCells.activeSection .Grid-cell {
      transform: translateY(0);
      opacity: 1;
      transition-delay: 1000ms; }
      .Section-animateCells.activeSection .Grid-cell[data-animation-order="1"] {
        transition-delay: 1000ms; }
      .Section-animateCells.activeSection .Grid-cell:not([data-animation-order]):nth-of-type(2), .Section-animateCells.activeSection .Grid-cell[data-animation-order="2"] {
        transition-delay: 1150ms; }
      .Section-animateCells.activeSection .Grid-cell:not([data-animation-order]):nth-of-type(3), .Section-animateCells.activeSection .Grid-cell[data-animation-order="3"] {
        transition-delay: 1300ms; }
      .Section-animateCells.activeSection .Grid-cell:not([data-animation-order]):nth-of-type(4), .Section-animateCells.activeSection .Grid-cell[data-animation-order="4"] {
        transition-delay: 1450ms; }
      .Section-animateCells.activeSection .Grid-cell:not([data-animation-order]):nth-of-type(5), .Section-animateCells.activeSection .Grid-cell[data-animation-order="5"] {
        transition-delay: 1600ms; }
      .Section-animateCells.activeSection .Grid-cell:not([data-animation-order]):nth-of-type(6), .Section-animateCells.activeSection .Grid-cell[data-animation-order="6"] {
        transition-delay: 1750ms; }
      .Section-animateCells.activeSection .Grid-cell:not([data-animation-order]):nth-of-type(7), .Section-animateCells.activeSection .Grid-cell[data-animation-order="7"] {
        transition-delay: 1900ms; }
    .Section-animateCells.sectionUp .Grid-cell {
      transform: translateY(-100vh);
      opacity: 0; }
    .Section-animateCells.sectionDown .Grid-cell {
      transform: translateY(100vh);
      opacity: 0; }
    .Linker {
      transform: translateY(0px);
      transition: transform 500ms cubic-bezier(0, 1.13, 0.28, 1.62); }
      .Linker .Text {
        opacity: 0;
        transition: opacity 200ms, transform 500ms;
        transition-timing-function: ease-out;
        transition-delay: 0ms;
        transform: translateY(10px); }
      .Linker .Icon {
        transition: transform 200ms;
        transition-timing-function: ease-out;
        transform: translateY(0px); }
      .Linker .Title {
        transition: color 300ms; }
      .Linker .Linker-afterline {
        transition-delay: 300ms; }
      .Linker.Linker--people:hover .Title {
        color: #be9953; }
      .Linker.Linker--process:hover .Title {
        color: #ad5c3e; }
      .Linker.Linker--place:hover .Title {
        color: #708799; } }
    @media (min-width: 769px) and (max-width: 1024px) and (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) and (min-width: 769px) and (max-width: 1024px), (min-width: 769px) and (max-width: 1024px) and (min-width: 1025px), (min-width: 1025px) and (min-width: 1025px) {
      .Linker.Linker--inDark:hover, .Linker.is-selected {
        transform: translateY(-50px); } }
  @media (min-width: 769px) and (max-width: 1024px), (min-width: 1025px) {
      .Linker:hover .Text, .Linker.is-selected .Text {
        opacity: 1;
        transform: translateY(0);
        transition-delay: 300ms; }
      .Linker:hover .Icon, .Linker.is-selected .Icon {
        transform: translateY(15px); }
      .Linker:hover .Title, .Linker.is-selected .Title {
        background-position: -900px 0; }
      .Linker:hover .Linker-afterLine, .Linker.is-selected .Linker-afterLine {
        top: 100%;
        transition-delay: 0ms; } } }

/*# sourceMappingURL=maps/main.css.map */
