﻿@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.2.4
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
.slide-in-down.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: translateY(-100%);
    transition-property: transform, opacity;
    backface-visibility: hidden;
}

    .slide-in-down.mui-enter.mui-enter-active {
        transform: translateY(0);
    }

.slide-in-left.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: translateX(-100%);
    transition-property: transform, opacity;
    backface-visibility: hidden;
}

    .slide-in-left.mui-enter.mui-enter-active {
        transform: translateX(0);
    }

.slide-in-up.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: translateY(100%);
    transition-property: transform, opacity;
    backface-visibility: hidden;
}

    .slide-in-up.mui-enter.mui-enter-active {
        transform: translateY(0);
    }

.slide-in-right.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: translateX(100%);
    transition-property: transform, opacity;
    backface-visibility: hidden;
}

    .slide-in-right.mui-enter.mui-enter-active {
        transform: translateX(0);
    }

.slide-out-down.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: translateY(0);
    transition-property: transform, opacity;
    backface-visibility: hidden;
}

    .slide-out-down.mui-leave.mui-leave-active {
        transform: translateY(100%);
    }

.slide-out-right.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: translateX(0);
    transition-property: transform, opacity;
    backface-visibility: hidden;
}

    .slide-out-right.mui-leave.mui-leave-active {
        transform: translateX(100%);
    }

.slide-out-up.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: translateY(0);
    transition-property: transform, opacity;
    backface-visibility: hidden;
}

    .slide-out-up.mui-leave.mui-leave-active {
        transform: translateY(-100%);
    }

.slide-out-left.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: translateX(0);
    transition-property: transform, opacity;
    backface-visibility: hidden;
}

    .slide-out-left.mui-leave.mui-leave-active {
        transform: translateX(-100%);
    }

.fade-in.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    opacity: 0;
    transition-property: opacity;
}

    .fade-in.mui-enter.mui-enter-active {
        opacity: 1;
    }

.fade-out.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    opacity: 1;
    transition-property: opacity;
}

    .fade-out.mui-leave.mui-leave-active {
        opacity: 0;
    }

.hinge-in-from-top.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: perspective(2000px) rotateX(-90deg);
    transform-origin: top;
    transition-property: transform, opacity;
    opacity: 0;
}

    .hinge-in-from-top.mui-enter.mui-enter-active {
        transform: perspective(2000px) rotate(0deg);
        opacity: 1;
    }

.hinge-in-from-right.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: perspective(2000px) rotateY(-90deg);
    transform-origin: right;
    transition-property: transform, opacity;
    opacity: 0;
}

    .hinge-in-from-right.mui-enter.mui-enter-active {
        transform: perspective(2000px) rotate(0deg);
        opacity: 1;
    }

.hinge-in-from-bottom.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: perspective(2000px) rotateX(90deg);
    transform-origin: bottom;
    transition-property: transform, opacity;
    opacity: 0;
}

    .hinge-in-from-bottom.mui-enter.mui-enter-active {
        transform: perspective(2000px) rotate(0deg);
        opacity: 1;
    }

.hinge-in-from-left.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: perspective(2000px) rotateY(90deg);
    transform-origin: left;
    transition-property: transform, opacity;
    opacity: 0;
}

    .hinge-in-from-left.mui-enter.mui-enter-active {
        transform: perspective(2000px) rotate(0deg);
        opacity: 1;
    }

.hinge-in-from-middle-x.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: perspective(2000px) rotateX(-90deg);
    transform-origin: center;
    transition-property: transform, opacity;
    opacity: 0;
}

    .hinge-in-from-middle-x.mui-enter.mui-enter-active {
        transform: perspective(2000px) rotate(0deg);
        opacity: 1;
    }

.hinge-in-from-middle-y.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: perspective(2000px) rotateY(-90deg);
    transform-origin: center;
    transition-property: transform, opacity;
    opacity: 0;
}

    .hinge-in-from-middle-y.mui-enter.mui-enter-active {
        transform: perspective(2000px) rotate(0deg);
        opacity: 1;
    }

.hinge-out-from-top.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: perspective(2000px) rotate(0deg);
    transform-origin: top;
    transition-property: transform, opacity;
    opacity: 1;
}

    .hinge-out-from-top.mui-leave.mui-leave-active {
        transform: perspective(2000px) rotateX(-90deg);
        opacity: 0;
    }

.hinge-out-from-right.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: perspective(2000px) rotate(0deg);
    transform-origin: right;
    transition-property: transform, opacity;
    opacity: 1;
}

    .hinge-out-from-right.mui-leave.mui-leave-active {
        transform: perspective(2000px) rotateY(-90deg);
        opacity: 0;
    }

.hinge-out-from-bottom.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: perspective(2000px) rotate(0deg);
    transform-origin: bottom;
    transition-property: transform, opacity;
    opacity: 1;
}

    .hinge-out-from-bottom.mui-leave.mui-leave-active {
        transform: perspective(2000px) rotateX(90deg);
        opacity: 0;
    }

.hinge-out-from-left.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: perspective(2000px) rotate(0deg);
    transform-origin: left;
    transition-property: transform, opacity;
    opacity: 1;
}

    .hinge-out-from-left.mui-leave.mui-leave-active {
        transform: perspective(2000px) rotateY(90deg);
        opacity: 0;
    }

.hinge-out-from-middle-x.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: perspective(2000px) rotate(0deg);
    transform-origin: center;
    transition-property: transform, opacity;
    opacity: 1;
}

    .hinge-out-from-middle-x.mui-leave.mui-leave-active {
        transform: perspective(2000px) rotateX(-90deg);
        opacity: 0;
    }

.hinge-out-from-middle-y.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: perspective(2000px) rotate(0deg);
    transform-origin: center;
    transition-property: transform, opacity;
    opacity: 1;
}

    .hinge-out-from-middle-y.mui-leave.mui-leave-active {
        transform: perspective(2000px) rotateY(-90deg);
        opacity: 0;
    }

.scale-in-up.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: scale(0.5);
    transition-property: transform, opacity;
    opacity: 0;
}

    .scale-in-up.mui-enter.mui-enter-active {
        transform: scale(1);
        opacity: 1;
    }

.scale-in-down.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: scale(1.5);
    transition-property: transform, opacity;
    opacity: 0;
}

    .scale-in-down.mui-enter.mui-enter-active {
        transform: scale(1);
        opacity: 1;
    }

.scale-out-up.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: scale(1);
    transition-property: transform, opacity;
    opacity: 1;
}

    .scale-out-up.mui-leave.mui-leave-active {
        transform: scale(1.5);
        opacity: 0;
    }

.scale-out-down.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: scale(1);
    transition-property: transform, opacity;
    opacity: 1;
}

    .scale-out-down.mui-leave.mui-leave-active {
        transform: scale(0.5);
        opacity: 0;
    }

.spin-in.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: rotate(-0.75turn);
    transition-property: transform, opacity;
    opacity: 0;
}

    .spin-in.mui-enter.mui-enter-active {
        transform: rotate(0);
        opacity: 1;
    }

.spin-out.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: rotate(0);
    transition-property: transform, opacity;
    opacity: 1;
}

    .spin-out.mui-leave.mui-leave-active {
        transform: rotate(0.75turn);
        opacity: 0;
    }

.spin-in-ccw.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: rotate(0.75turn);
    transition-property: transform, opacity;
    opacity: 0;
}

    .spin-in-ccw.mui-enter.mui-enter-active {
        transform: rotate(0);
        opacity: 1;
    }

.spin-out-ccw.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: rotate(0);
    transition-property: transform, opacity;
    opacity: 1;
}

    .spin-out-ccw.mui-leave.mui-leave-active {
        transform: rotate(-0.75turn);
        opacity: 0;
    }

.slow {
    transition-duration: 750ms !important;
}

.fast {
    transition-duration: 250ms !important;
}

.linear {
    transition-timing-function: linear !important;
}

.ease {
    transition-timing-function: ease !important;
}

.ease-in {
    transition-timing-function: ease-in !important;
}

.ease-out {
    transition-timing-function: ease-out !important;
}

.ease-in-out {
    transition-timing-function: ease-in-out !important;
}

.bounce-in {
    transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
}

.bounce-out {
    transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
}

.bounce-in-out {
    transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
}

.short-delay {
    transition-delay: 300ms !important;
}

.long-delay {
    transition-delay: 700ms !important;
}

.shake {
    animation-name: shake-7;
}

@keyframes shake-7 {
    0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
        transform: translateX(7%);
    }

    5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
        transform: translateX(-7%);
    }
}

.spin-cw {
    animation-name: spin-cw-1turn;
}

@keyframes spin-cw-1turn {
    0% {
        transform: rotate(-1turn);
    }

    100% {
        transform: rotate(0);
    }
}

.spin-ccw {
    animation-name: spin-cw-1turn;
}

@keyframes spin-cw-1turn {
    0% {
        transform: rotate(0);
    }

    100% {
        transform: rotate(1turn);
    }
}

.wiggle {
    animation-name: wiggle-7deg;
}

@keyframes wiggle-7deg {
    40%, 50%, 60% {
        transform: rotate(7deg);
    }

    35%, 45%, 55%, 65% {
        transform: rotate(-7deg);
    }

    0%, 30%, 70%, 100% {
        transform: rotate(0);
    }
}

.shake,
.spin-cw,
.spin-ccw,
.wiggle {
    animation-duration: 500ms;
}

.infinite {
    animation-iteration-count: infinite;
}

.slow {
    animation-duration: 750ms !important;
}

.fast {
    animation-duration: 250ms !important;
}

.linear {
    animation-timing-function: linear !important;
}

.ease {
    animation-timing-function: ease !important;
}

.ease-in {
    animation-timing-function: ease-in !important;
}

.ease-out {
    animation-timing-function: ease-out !important;
}

.ease-in-out {
    animation-timing-function: ease-in-out !important;
}

.bounce-in {
    animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
}

.bounce-out {
    animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
}

.bounce-in-out {
    animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
}

.short-delay {
    animation-delay: 300ms !important;
}

.long-delay {
    animation-delay: 700ms !important;
}

/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
   * 1. Set default font family to sans-serif.
   * 2. Prevent iOS and IE text size adjust after device orientation change,
   *    without disabling user zoom.
   */
html {
    font-family: sans-serif;
    /* 1 */
    -ms-text-size-adjust: 100%;
    /* 2 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
}

/**
   * Remove default margin.
   */
body {
    margin: 0;
}

/* HTML5 display definitions
     ========================================================================== */
/**
   * Correct `block` display not defined for any HTML5 element in IE 8/9.
   * Correct `block` display not defined for `details` or `summary` in IE 10/11
   * and Firefox.
   * Correct `block` display not defined for `main` in IE 11.
   */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
    display: block;
}

/**
   * 1. Correct `inline-block` display not defined in IE 8/9.
   * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
   */
audio,
canvas,
progress,
video {
    display: inline-block;
    /* 1 */
    vertical-align: baseline;
    /* 2 */
}

    /**
   * Prevent modern browsers from displaying `audio` without controls.
   * Remove excess height in iOS 5 devices.
   */
    audio:not([controls]) {
        display: none;
        height: 0;
    }

/**
   * Address `[hidden]` styling not present in IE 8/9/10.
   * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
   */
[hidden],
template {
    display: none;
}

/* Links
     ========================================================================== */
/**
   * Remove the gray background color from active links in IE 10.
   */
a {
    background-color: transparent;
}

    /**
   * Improve readability of focused elements when they are also in an
   * active/hover state.
   */
    a:active,
    a:hover {
        outline: 0;
    }

/* Text-level semantics
     ========================================================================== */
/**
   * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
   */
abbr[title] {
    border-bottom: 1px dotted;
}

/**
   * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
   */
b,
strong {
    font-weight: bold;
}

/**
   * Address styling not present in Safari and Chrome.
   */
dfn {
    font-style: normal;
}

/**
   * Address variable `h1` font-size and margin within `section` and `article`
   * contexts in Firefox 4+, Safari, and Chrome.
   */
h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

/**
   * Address styling not present in IE 8/9.
   */
mark {
    background: #ff0;
    color: #000;
}

/**
   * Address inconsistent and variable font size in all browsers.
   */
small {
    font-size: 80%;
}

/**
   * Prevent `sub` and `sup` affecting `line-height` in all browsers.
   */
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

/* Embedded content
     ========================================================================== */
/**
   * Remove border when inside `a` element in IE 8/9/10.
   */
img {
    border: 0;
}

/**
   * Correct overflow not hidden in IE 9/10/11.
   */
svg:not(:root) {
    overflow: hidden;
}

/* Grouping content
     ========================================================================== */
/**
   * Address margin not present in IE 8/9 and Safari.
   */
figure {
    margin: 1em 40px;
}

/**
   * Address differences between Firefox and other browsers.
   */
hr {
    box-sizing: content-box;
    height: 0;
}

/**
   * Contain overflow in all browsers.
   */
pre {
    overflow: auto;
}

/**
   * Address odd `em`-unit font size rendering in all browsers.
   */
code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

/* Forms
     ========================================================================== */
/**
   * Known limitation: by default, Chrome and Safari on OS X allow very limited
   * styling of `select`, unless a `border` property is set.
   */
/**
   * 1. Correct color not being inherited.
   *    Known issue: affects color of disabled elements.
   * 2. Correct font properties not being inherited.
   * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
   */
button,
input,
optgroup,
select,
textarea {
    color: inherit;
    /* 1 */
    font: inherit;
    /* 2 */
    margin: 0;
    /* 3 */
}

/**
   * Address `overflow` set to `hidden` in IE 8/9/10/11.
   */
button {
    overflow: visible;
}

/**
   * Address inconsistent `text-transform` inheritance for `button` and `select`.
   * All other form control elements do not inherit `text-transform` values.
   * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
   * Correct `select` style inheritance in Firefox.
   */
button,
select {
    text-transform: none;
}

/**
   * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
   *    and `video` controls.
   * 2. Correct inability to style clickable `input` types in iOS.
   * 3. Improve usability and consistency of cursor style between image-type
   *    `input` and others.
   */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    /* 2 */
    cursor: pointer;
    /* 3 */
}

    /**
   * Re-set default cursor for disabled elements.
   */
    button[disabled],
    html input[disabled] {
        cursor: not-allowed;
    }

    /**
   * Remove inner padding and border in Firefox 4+.
   */
    button::-moz-focus-inner,
    input::-moz-focus-inner {
        border: 0;
        padding: 0;
    }

/**
   * Address Firefox 4+ setting `line-height` on `input` using `!important` in
   * the UA stylesheet.
   */
input {
    line-height: normal;
}

    /**
   * It's recommended that you don't attempt to style these elements.
   * Firefox's implementation doesn't respect box-sizing, padding, or width.
   *
   * 1. Address box sizing set to `content-box` in IE 8/9/10.
   * 2. Remove excess padding in IE 8/9/10.
   */
    input[type="checkbox"],
    input[type="radio"] {
        box-sizing: border-box;
        /* 1 */
        padding: 0;
        /* 2 */
    }

    /**
   * Fix the cursor style for Chrome's increment/decrement buttons. For certain
   * `font-size` values of the `input`, it causes the cursor style of the
   * decrement button to change from `default` to `text`.
   */
    input[type="number"]::-webkit-inner-spin-button,
    input[type="number"]::-webkit-outer-spin-button {
        height: auto;
    }

    /**
   * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
   * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
   */
    input[type="search"] {
        -webkit-appearance: textfield;
        /* 1 */
        box-sizing: content-box;
        /* 2 */
    }

        /**
   * Remove inner padding and search cancel button in Safari and Chrome on OS X.
   * Safari (but not Chrome) clips the cancel button when the search input has
   * padding (and `textfield` appearance).
   */
        input[type="search"]::-webkit-search-cancel-button,
        input[type="search"]::-webkit-search-decoration {
            -webkit-appearance: none;
        }

/**
   * Define consistent border, margin, and padding.
   * [NOTE] We don't enable this ruleset in Foundation, because we want the <fieldset> element to have plain styling.
   */
/* fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
  } */
/**
   * 1. Correct `color` not being inherited in IE 8/9/10/11.
   * 2. Remove padding so people aren't caught out if they zero out fieldsets.
   */
legend {
    border: 0;
    /* 1 */
    padding: 0;
    /* 2 */
}

/**
   * Remove default vertical scrollbar in IE 8/9/10/11.
   */
textarea {
    overflow: auto;
}

/**
   * Don't inherit the `font-weight` (applied by a rule above).
   * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
   */
optgroup {
    font-weight: bold;
}

/* Tables
     ========================================================================== */
/**
   * Remove most spacing between table cells.
   */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

td,
th {
    padding: 0;
}

.foundation-mq {
    font-family: "small=0em&medium=40.0625em&large=64.0625em&xlarge=75.0625em&xxlarge=90.0625em";
}

html {
    font-size: 100%;
    box-sizing: border-box;
}

*,
*::before,
*::after {
    box-sizing: inherit;
}

body {
    padding: 0;
    margin: 0;
    font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-weight: normal;
    line-height: 1.5;
    color: #0a0a0a;
    background: #f5f7fa;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

img {
    max-width: 100%;
    height: auto;
    -ms-interpolation-mode: bicubic;
    display: inline-block;
    vertical-align: middle;
}

textarea {
    height: auto;
    min-height: 50px;
    border-radius: 0;
}

select {
    width: 100%;
    border-radius: 0;
}

#map_canvas img,
#map_canvas embed,
#map_canvas object,
.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
    max-width: none !important;
}

button {
    -webkit-appearance: none;
    -moz-appearance: none;
    background: transparent;
    padding: 0;
    border: 0;
    border-radius: 0;
    line-height: 1;
}

[data-whatinput='mouse'] button {
    outline: 0;
}

.is-visible {
    display: block !important;
}

.is-hidden {
    display: none !important;
}

.row {
    max-width: 75rem;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-flow: row wrap;
}

    .row .row {
        margin-left: -0.625rem;
        margin-right: -0.625rem;
    }

@media screen and (min-width: 40.0625em) {
    .row .row {
        margin-left: -0.9375rem;
        margin-right: -0.9375rem;
    }
}

.row.expanded {
    max-width: none;
}

.row.collapse > .column, .row.collapse > .columns {
    padding-left: 0;
    padding-right: 0;
}

    .row.is-collapse-child,
    .row.collapse > .column > .row,
    .row.collapse > .columns > .row {
        margin-left: 0;
        margin-right: 0;
    }

.column, .columns {
    flex: 1 1 0px;
    padding-left: 0.625rem;
    padding-right: 0.625rem;
    min-width: initial;
}

@media screen and (min-width: 40.0625em) {
    .column, .columns {
        padding-left: 0.9375rem;
        padding-right: 0.9375rem;
    }
}

.column.row.row, .row.row.columns {
    float: none;
    display: block;
}

.row .column.row.row, .row .row.row.columns {
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    margin-right: 0;
}

.small-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
}

.small-offset-0 {
    margin-left: 0%;
}

.small-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
}

.small-offset-1 {
    margin-left: 8.3333333333%;
}

.small-3 {
    flex: 0 0 25%;
    max-width: 25%;
}

.small-offset-2 {
    margin-left: 16.6666666667%;
}

.small-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
}

.small-offset-3 {
    margin-left: 25%;
}

.small-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
}

.small-offset-4 {
    margin-left: 33.3333333333%;
}

.small-6 {
    flex: 0 0 50%;
    max-width: 50%;
}

.small-offset-5 {
    margin-left: 41.6666666667%;
}

.small-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
}

.small-offset-6 {
    margin-left: 50%;
}

.small-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
}

.small-offset-7 {
    margin-left: 58.3333333333%;
}

.small-9 {
    flex: 0 0 75%;
    max-width: 75%;
}

.small-offset-8 {
    margin-left: 66.6666666667%;
}

.small-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
}

.small-offset-9 {
    margin-left: 75%;
}

.small-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
}

.small-offset-10 {
    margin-left: 83.3333333333%;
}

.small-12 {
    flex: 0 0 100%;
    max-width: 100%;
}

.small-offset-11 {
    margin-left: 91.6666666667%;
}

.small-order-1 {
    order: 1;
}

.small-order-2 {
    order: 2;
}

.small-order-3 {
    order: 3;
}

.small-order-4 {
    order: 4;
}

.small-order-5 {
    order: 5;
}

.small-order-6 {
    order: 6;
}

.small-up-1 {
    flex-wrap: wrap;
}

    .small-up-1 > .column, .small-up-1 > .columns {
        flex: 0 0 100%;
        max-width: 100%;
    }

.small-up-2 {
    flex-wrap: wrap;
}

    .small-up-2 > .column, .small-up-2 > .columns {
        flex: 0 0 50%;
        max-width: 50%;
    }

.small-up-3 {
    flex-wrap: wrap;
}

    .small-up-3 > .column, .small-up-3 > .columns {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%;
    }

.small-up-4 {
    flex-wrap: wrap;
}

    .small-up-4 > .column, .small-up-4 > .columns {
        flex: 0 0 25%;
        max-width: 25%;
    }

.small-up-5 {
    flex-wrap: wrap;
}

    .small-up-5 > .column, .small-up-5 > .columns {
        flex: 0 0 20%;
        max-width: 20%;
    }

.small-up-6 {
    flex-wrap: wrap;
}

    .small-up-6 > .column, .small-up-6 > .columns {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%;
    }

.small-up-7 {
    flex-wrap: wrap;
}

    .small-up-7 > .column, .small-up-7 > .columns {
        flex: 0 0 14.2857142857%;
        max-width: 14.2857142857%;
    }

.small-up-8 {
    flex-wrap: wrap;
}

    .small-up-8 > .column, .small-up-8 > .columns {
        flex: 0 0 12.5%;
        max-width: 12.5%;
    }

.small-collapse > .column, .small-collapse > .columns {
    padding-left: 0;
    padding-right: 0;
}

.small-uncollapse > .column, .small-uncollapse > .columns {
    padding-left: 0.625rem;
    padding-right: 0.625rem;
}

@media screen and (min-width: 40.0625em) {
    .medium-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%;
    }

    .medium-offset-0 {
        margin-left: 0%;
    }

    .medium-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%;
    }

    .medium-offset-1 {
        margin-left: 8.3333333333%;
    }

    .medium-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .medium-offset-2 {
        margin-left: 16.6666666667%;
    }

    .medium-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%;
    }

    .medium-offset-3 {
        margin-left: 25%;
    }

    .medium-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%;
    }

    .medium-offset-4 {
        margin-left: 33.3333333333%;
    }

    .medium-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .medium-offset-5 {
        margin-left: 41.6666666667%;
    }

    .medium-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%;
    }

    .medium-offset-6 {
        margin-left: 50%;
    }

    .medium-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%;
    }

    .medium-offset-7 {
        margin-left: 58.3333333333%;
    }

    .medium-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }

    .medium-offset-8 {
        margin-left: 66.6666666667%;
    }

    .medium-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%;
    }

    .medium-offset-9 {
        margin-left: 75%;
    }

    .medium-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%;
    }

    .medium-offset-10 {
        margin-left: 83.3333333333%;
    }

    .medium-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .medium-offset-11 {
        margin-left: 91.6666666667%;
    }

    .medium-order-1 {
        order: 1;
    }

    .medium-order-2 {
        order: 2;
    }

    .medium-order-3 {
        order: 3;
    }

    .medium-order-4 {
        order: 4;
    }

    .medium-order-5 {
        order: 5;
    }

    .medium-order-6 {
        order: 6;
    }

    .medium-up-1 {
        flex-wrap: wrap;
    }

        .medium-up-1 > .column, .medium-up-1 > .columns {
            flex: 0 0 100%;
            max-width: 100%;
        }

    .medium-up-2 {
        flex-wrap: wrap;
    }

        .medium-up-2 > .column, .medium-up-2 > .columns {
            flex: 0 0 50%;
            max-width: 50%;
        }

    .medium-up-3 {
        flex-wrap: wrap;
    }

        .medium-up-3 > .column, .medium-up-3 > .columns {
            flex: 0 0 33.3333333333%;
            max-width: 33.3333333333%;
        }

    .medium-up-4 {
        flex-wrap: wrap;
    }

        .medium-up-4 > .column, .medium-up-4 > .columns {
            flex: 0 0 25%;
            max-width: 25%;
        }

    .medium-up-5 {
        flex-wrap: wrap;
    }

        .medium-up-5 > .column, .medium-up-5 > .columns {
            flex: 0 0 20%;
            max-width: 20%;
        }

    .medium-up-6 {
        flex-wrap: wrap;
    }

        .medium-up-6 > .column, .medium-up-6 > .columns {
            flex: 0 0 16.6666666667%;
            max-width: 16.6666666667%;
        }

    .medium-up-7 {
        flex-wrap: wrap;
    }

        .medium-up-7 > .column, .medium-up-7 > .columns {
            flex: 0 0 14.2857142857%;
            max-width: 14.2857142857%;
        }

    .medium-up-8 {
        flex-wrap: wrap;
    }

        .medium-up-8 > .column, .medium-up-8 > .columns {
            flex: 0 0 12.5%;
            max-width: 12.5%;
        }
}

@media screen and (min-width: 40.0625em) and (min-width: 40.0625em) {
    .medium-expand {
        flex: 1 1 0px;
    }
}

.row.medium-unstack > .column, .row.medium-unstack > .columns {
    flex: 0 0 100%;
}

@media screen and (min-width: 40.0625em) {
    .row.medium-unstack > .column, .row.medium-unstack > .columns {
        flex: 1 1 0px;
    }
}

@media screen and (min-width: 40.0625em) {
    .medium-collapse > .column, .medium-collapse > .columns {
        padding-left: 0;
        padding-right: 0;
    }

    .medium-uncollapse > .column, .medium-uncollapse > .columns {
        padding-left: 0.9375rem;
        padding-right: 0.9375rem;
    }
}

@media screen and (min-width: 64.0625em) {
    .large-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%;
    }

    .large-offset-0 {
        margin-left: 0%;
    }

    .large-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%;
    }

    .large-offset-1 {
        margin-left: 8.3333333333%;
    }

    .large-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .large-offset-2 {
        margin-left: 16.6666666667%;
    }

    .large-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%;
    }

    .large-offset-3 {
        margin-left: 25%;
    }

    .large-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%;
    }

    .large-offset-4 {
        margin-left: 33.3333333333%;
    }

    .large-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .large-offset-5 {
        margin-left: 41.6666666667%;
    }

    .large-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%;
    }

    .large-offset-6 {
        margin-left: 50%;
    }

    .large-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%;
    }

    .large-offset-7 {
        margin-left: 58.3333333333%;
    }

    .large-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }

    .large-offset-8 {
        margin-left: 66.6666666667%;
    }

    .large-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%;
    }

    .large-offset-9 {
        margin-left: 75%;
    }

    .large-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%;
    }

    .large-offset-10 {
        margin-left: 83.3333333333%;
    }

    .large-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .large-offset-11 {
        margin-left: 91.6666666667%;
    }

    .large-order-1 {
        order: 1;
    }

    .large-order-2 {
        order: 2;
    }

    .large-order-3 {
        order: 3;
    }

    .large-order-4 {
        order: 4;
    }

    .large-order-5 {
        order: 5;
    }

    .large-order-6 {
        order: 6;
    }

    .large-up-1 {
        flex-wrap: wrap;
    }

        .large-up-1 > .column, .large-up-1 > .columns {
            flex: 0 0 100%;
            max-width: 100%;
        }

    .large-up-2 {
        flex-wrap: wrap;
    }

        .large-up-2 > .column, .large-up-2 > .columns {
            flex: 0 0 50%;
            max-width: 50%;
        }

    .large-up-3 {
        flex-wrap: wrap;
    }

        .large-up-3 > .column, .large-up-3 > .columns {
            flex: 0 0 33.3333333333%;
            max-width: 33.3333333333%;
        }

    .large-up-4 {
        flex-wrap: wrap;
    }

        .large-up-4 > .column, .large-up-4 > .columns {
            flex: 0 0 25%;
            max-width: 25%;
        }

    .large-up-5 {
        flex-wrap: wrap;
    }

        .large-up-5 > .column, .large-up-5 > .columns {
            flex: 0 0 20%;
            max-width: 20%;
        }

    .large-up-6 {
        flex-wrap: wrap;
    }

        .large-up-6 > .column, .large-up-6 > .columns {
            flex: 0 0 16.6666666667%;
            max-width: 16.6666666667%;
        }

    .large-up-7 {
        flex-wrap: wrap;
    }

        .large-up-7 > .column, .large-up-7 > .columns {
            flex: 0 0 14.2857142857%;
            max-width: 14.2857142857%;
        }

    .large-up-8 {
        flex-wrap: wrap;
    }

        .large-up-8 > .column, .large-up-8 > .columns {
            flex: 0 0 12.5%;
            max-width: 12.5%;
        }
}

@media screen and (min-width: 64.0625em) and (min-width: 64.0625em) {
    .large-expand {
        flex: 1 1 0px;
    }
}

.row.large-unstack > .column, .row.large-unstack > .columns {
    flex: 0 0 100%;
}

@media screen and (min-width: 64.0625em) {
    .row.large-unstack > .column, .row.large-unstack > .columns {
        flex: 1 1 0px;
    }
}

@media screen and (min-width: 64.0625em) {
    .large-collapse > .column, .large-collapse > .columns {
        padding-left: 0;
        padding-right: 0;
    }

    .large-uncollapse > .column, .large-uncollapse > .columns {
        padding-left: 0.9375rem;
        padding-right: 0.9375rem;
    }
}

@media screen and (min-width: 90.0625em) {
    .xxlarge-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%;
    }

    .xxlarge-offset-0 {
        margin-left: 0%;
    }

    .xxlarge-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%;
    }

    .xxlarge-offset-1 {
        margin-left: 8.3333333333%;
    }

    .xxlarge-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .xxlarge-offset-2 {
        margin-left: 16.6666666667%;
    }

    .xxlarge-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%;
    }

    .xxlarge-offset-3 {
        margin-left: 25%;
    }

    .xxlarge-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%;
    }

    .xxlarge-offset-4 {
        margin-left: 33.3333333333%;
    }

    .xxlarge-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .xxlarge-offset-5 {
        margin-left: 41.6666666667%;
    }

    .xxlarge-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%;
    }

    .xxlarge-offset-6 {
        margin-left: 50%;
    }

    .xxlarge-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%;
    }

    .xxlarge-offset-7 {
        margin-left: 58.3333333333%;
    }

    .xxlarge-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }

    .xxlarge-offset-8 {
        margin-left: 66.6666666667%;
    }

    .xxlarge-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%;
    }

    .xxlarge-offset-9 {
        margin-left: 75%;
    }

    .xxlarge-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%;
    }

    .xxlarge-offset-10 {
        margin-left: 83.3333333333%;
    }

    .xxlarge-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .xxlarge-offset-11 {
        margin-left: 91.6666666667%;
    }

    .xxlarge-order-1 {
        order: 1;
    }

    .xxlarge-order-2 {
        order: 2;
    }

    .xxlarge-order-3 {
        order: 3;
    }

    .xxlarge-order-4 {
        order: 4;
    }

    .xxlarge-order-5 {
        order: 5;
    }

    .xxlarge-order-6 {
        order: 6;
    }

    .xxlarge-up-1 {
        flex-wrap: wrap;
    }

        .xxlarge-up-1 > .column, .xxlarge-up-1 > .columns {
            flex: 0 0 100%;
            max-width: 100%;
        }

    .xxlarge-up-2 {
        flex-wrap: wrap;
    }

        .xxlarge-up-2 > .column, .xxlarge-up-2 > .columns {
            flex: 0 0 50%;
            max-width: 50%;
        }

    .xxlarge-up-3 {
        flex-wrap: wrap;
    }

        .xxlarge-up-3 > .column, .xxlarge-up-3 > .columns {
            flex: 0 0 33.3333333333%;
            max-width: 33.3333333333%;
        }

    .xxlarge-up-4 {
        flex-wrap: wrap;
    }

        .xxlarge-up-4 > .column, .xxlarge-up-4 > .columns {
            flex: 0 0 25%;
            max-width: 25%;
        }

    .xxlarge-up-5 {
        flex-wrap: wrap;
    }

        .xxlarge-up-5 > .column, .xxlarge-up-5 > .columns {
            flex: 0 0 20%;
            max-width: 20%;
        }

    .xxlarge-up-6 {
        flex-wrap: wrap;
    }

        .xxlarge-up-6 > .column, .xxlarge-up-6 > .columns {
            flex: 0 0 16.6666666667%;
            max-width: 16.6666666667%;
        }

    .xxlarge-up-7 {
        flex-wrap: wrap;
    }

        .xxlarge-up-7 > .column, .xxlarge-up-7 > .columns {
            flex: 0 0 14.2857142857%;
            max-width: 14.2857142857%;
        }

    .xxlarge-up-8 {
        flex-wrap: wrap;
    }

        .xxlarge-up-8 > .column, .xxlarge-up-8 > .columns {
            flex: 0 0 12.5%;
            max-width: 12.5%;
        }
}

@media screen and (min-width: 90.0625em) and (min-width: 90.0625em) {
    .xxlarge-expand {
        flex: 1 1 0px;
    }
}

.row.xxlarge-unstack > .column, .row.xxlarge-unstack > .columns {
    flex: 0 0 100%;
}

@media screen and (min-width: 90.0625em) {
    .row.xxlarge-unstack > .column, .row.xxlarge-unstack > .columns {
        flex: 1 1 0px;
    }
}

@media screen and (min-width: 90.0625em) {
    .xxlarge-collapse > .column, .xxlarge-collapse > .columns {
        padding-left: 0;
        padding-right: 0;
    }

    .xxlarge-uncollapse > .column, .xxlarge-uncollapse > .columns {
        padding-left: 0.9375rem;
        padding-right: 0.9375rem;
    }
}

.shrink {
    flex: 0 0 auto;
    max-width: 100%;
}

.column.align-top, .align-top.columns {
    align-self: flex-start;
}

.column.align-bottom, .align-bottom.columns {
    align-self: flex-end;
}

.column.align-middle, .align-middle.columns {
    align-self: center;
}

.column.align-stretch, .align-stretch.columns {
    align-self: stretch;
}

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
    margin: 0;
    padding: 0;
}

p {
    font-size: inherit;
    line-height: 1.6;
    margin-bottom: 1rem;
    text-rendering: optimizeLegibility;
}

em,
i {
    font-style: normal;
    line-height: inherit;
}

strong,
b {
    font-weight: bold;
    line-height: inherit;
}

small {
    font-size: 80%;
    line-height: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-weight: normal;
    font-style: normal;
    color: inherit;
    text-rendering: optimizeLegibility;
    margin-top: 0;
    margin-bottom: 0.5rem;
    line-height: 1.4;
}

    h1 small,
    h2 small,
    h3 small,
    h4 small,
    h5 small,
    h6 small {
        color: #cacaca;
        line-height: 0;
    }

h1 {
    font-size: 1.5rem;
}

h2 {
    font-size: 1.25rem;
}

h3 {
    font-size: 1.1875rem;
}

h4 {
    font-size: 1.125rem;
}

h5 {
    font-size: 1.0625rem;
}

h6 {
    font-size: 1rem;
}

@media screen and (min-width: 40.0625em) {
    h1 {
        font-size: 3rem;
    }

    h2 {
        font-size: 2.5rem;
    }

    h3 {
        font-size: 1.9375rem;
    }

    h4 {
        font-size: 1.5625rem;
    }

    h5 {
        font-size: 1.25rem;
    }

    h6 {
        font-size: 1rem;
    }
}

a {
    color: #2199e8;
    text-decoration: none;
    line-height: inherit;
    cursor: pointer;
}

    a:hover, a:focus {
        color: #1585cf;
    }

    a img {
        border: 0;
    }

hr {
    max-width: 75rem;
    height: 0;
    border-right: 0;
    border-top: 0;
    border-bottom: 1px solid #cacaca;
    border-left: 0;
    margin: 1.25rem auto;
    clear: both;
}

ul,
ol,
dl {
    line-height: 1.6;
    margin-bottom: 1rem;
    list-style-position: outside;
}

li {
    font-size: inherit;
}

ul {
    list-style-type: disc;
    margin-left: 1.25rem;
}

ol {
    margin-left: 1.25rem;
}

    ul ul, ol ul, ul ol, ol ol {
        margin-left: 1.25rem;
        margin-bottom: 0;
    }

dl {
    margin-bottom: 1rem;
}

    dl dt {
        margin-bottom: 0.3rem;
        font-weight: bold;
    }

blockquote {
    margin: 0 0 1rem;
    padding: 0.5625rem 1.25rem 0 1.1875rem;
    border-left: 1px solid #cacaca;
}

    blockquote, blockquote p {
        line-height: 1.6;
        color: #8a8a8a;
    }

cite {
    display: block;
    font-size: 0.8125rem;
    color: #8a8a8a;
}

    cite:before {
        content: '\2014 \0020';
    }

abbr {
    color: #0a0a0a;
    cursor: help;
    border-bottom: 1px dotted #0a0a0a;
}

code {
    font-family: Consolas, "Liberation Mono", Courier, monospace;
    font-weight: normal;
    color: #0a0a0a;
    background-color: #e6e6e6;
    border: 1px solid #cacaca;
    padding: 0.125rem 0.3125rem 0.0625rem;
}

kbd {
    padding: 0.125rem 0.25rem 0;
    margin: 0;
    background-color: #e6e6e6;
    color: #0a0a0a;
    font-family: Consolas, "Liberation Mono", Courier, monospace;
}

.subheader {
    margin-top: 0.2rem;
    margin-bottom: 0.5rem;
    font-weight: normal;
    line-height: 1.4;
    color: #8a8a8a;
}

.lead {
    font-size: 125%;
    line-height: 1.6;
}

.stat {
    font-size: 2.5rem;
    line-height: 1;
}

p + .stat {
    margin-top: -1rem;
}

.no-bullet {
    margin-left: 0;
    list-style: none;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.text-center {
    text-align: center;
}

.text-justify {
    text-align: justify;
}

@media screen and (min-width: 40.0625em) {
    .medium-text-left {
        text-align: left;
    }

    .medium-text-right {
        text-align: right;
    }

    .medium-text-center {
        text-align: center;
    }

    .medium-text-justify {
        text-align: justify;
    }
}

@media screen and (min-width: 64.0625em) {
    .large-text-left {
        text-align: left;
    }

    .large-text-right {
        text-align: right;
    }

    .large-text-center {
        text-align: center;
    }

    .large-text-justify {
        text-align: justify;
    }
}

@media screen and (min-width: 90.0625em) {
    .xxlarge-text-left {
        text-align: left;
    }

    .xxlarge-text-right {
        text-align: right;
    }

    .xxlarge-text-center {
        text-align: center;
    }

    .xxlarge-text-justify {
        text-align: justify;
    }
}

.show-for-print {
    display: none !important;
}

@media print {
    * {
        background: transparent !important;
        color: black !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    .show-for-print {
        display: block !important;
    }

    .hide-for-print {
        display: none !important;
    }

    table.show-for-print {
        display: table !important;
    }

    thead.show-for-print {
        display: table-header-group !important;
    }

    tbody.show-for-print {
        display: table-row-group !important;
    }

    tr.show-for-print {
        display: table-row !important;
    }

    td.show-for-print {
        display: table-cell !important;
    }

    th.show-for-print {
        display: table-cell !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

        a[href]:after {
            content: " (" attr(href) ")";
        }

        .ir a:after,
        a[href^='javascript:']:after,
        a[href^='#']:after {
            content: '';
        }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    pre,
    blockquote {
        border: 1px solid #8a8a8a;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}

.button {
    display: inline-block;
    text-align: center;
    line-height: 1;
    cursor: pointer;
    -webkit-appearance: none;
    transition: background-color 0.25s ease-out, color 0.25s ease-out;
    vertical-align: middle;
    border: 1px solid transparent;
    border-radius: 0;
    padding: 0.85em 1em;
    margin: 0 0 1rem 0;
    font-size: 0.9rem;
    background-color: #2199e8;
    color: #fefefe;
}

[data-whatinput='mouse'] .button {
    outline: 0;
}

.button:hover, .button:focus {
    background-color: #1583cc;
    color: #fefefe;
}

.button.tiny {
    font-size: 0.6rem;
}

.button.small {
    font-size: 0.75rem;
}

.button.large {
    font-size: 1.25rem;
}

.button.expanded {
    display: block;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.button.primary {
    background-color: #2199e8;
    color: #fefefe;
}

    .button.primary:hover, .button.primary:focus {
        background-color: #147cc0;
        color: #fefefe;
    }

.button.secondary {
    background-color: #777;
    color: #fefefe;
}

    .button.secondary:hover, .button.secondary:focus {
        background-color: #5f5f5f;
        color: #fefefe;
    }

.button.success {
    background-color: #3adb76;
    color: #fefefe;
}

    .button.success:hover, .button.success:focus {
        background-color: #22bb5b;
        color: #fefefe;
    }

.button.warning {
    background-color: #ffae00;
    color: #fefefe;
}

    .button.warning:hover, .button.warning:focus {
        background-color: #cc8b00;
        color: #fefefe;
    }

.button.alert {
    background-color: #ec5840;
    color: #fefefe;
}

    .button.alert:hover, .button.alert:focus {
        background-color: #da3116;
        color: #fefefe;
    }

.button.hollow {
    border: 1px solid #2199e8;
    color: #2199e8;
}

    .button.hollow, .button.hollow:hover, .button.hollow:focus {
        background-color: transparent;
    }

        .button.hollow:hover, .button.hollow:focus {
            border-color: #0c4d78;
            color: #0c4d78;
        }

        .button.hollow.primary {
            border: 1px solid #2199e8;
            color: #2199e8;
        }

            .button.hollow.primary:hover, .button.hollow.primary:focus {
                border-color: #0c4d78;
                color: #0c4d78;
            }

        .button.hollow.secondary {
            border: 1px solid #777;
            color: #777;
        }

            .button.hollow.secondary:hover, .button.hollow.secondary:focus {
                border-color: #3c3b3b;
                color: #3c3b3b;
            }

        .button.hollow.success {
            border: 1px solid #3adb76;
            color: #3adb76;
        }

            .button.hollow.success:hover, .button.hollow.success:focus {
                border-color: #157539;
                color: #157539;
            }

        .button.hollow.warning {
            border: 1px solid #ffae00;
            color: #ffae00;
        }

            .button.hollow.warning:hover, .button.hollow.warning:focus {
                border-color: #805700;
                color: #805700;
            }

        .button.hollow.alert {
            border: 1px solid #ec5840;
            color: #ec5840;
        }

            .button.hollow.alert:hover, .button.hollow.alert:focus {
                border-color: #881f0e;
                color: #881f0e;
            }

.button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed;
}

    .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
        background-color: #2199e8;
        color: #fefefe;
    }

    .button.disabled.primary, .button[disabled].primary {
        opacity: 0.25;
        cursor: not-allowed;
    }

        .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary:hover, .button[disabled].primary:focus {
            background-color: #2199e8;
            color: #fefefe;
        }

    .button.disabled.secondary, .button[disabled].secondary {
        opacity: 0.25;
        cursor: not-allowed;
    }

        .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
            background-color: #777;
            color: #fefefe;
        }

    .button.disabled.success, .button[disabled].success {
        opacity: 0.25;
        cursor: not-allowed;
    }

        .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
            background-color: #3adb76;
            color: #fefefe;
        }

    .button.disabled.warning, .button[disabled].warning {
        opacity: 0.25;
        cursor: not-allowed;
    }

        .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
            background-color: #ffae00;
            color: #fefefe;
        }

    .button.disabled.alert, .button[disabled].alert {
        opacity: 0.25;
        cursor: not-allowed;
    }

        .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
            background-color: #ec5840;
            color: #fefefe;
        }

.button.dropdown::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    border-color: #fefefe transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    position: relative;
    top: 0.4em;
    float: right;
    margin-left: 1em;
    display: inline-block;
}

.button.arrow-only::after {
    margin-left: 0;
    float: none;
    top: -0.1em;
}

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 2.4375rem;
    padding: 0.5rem;
    border: 1px solid #cacaca;
    margin: 0 0 1rem;
    font-family: inherit;
    font-size: 1rem;
    color: #0a0a0a;
    background-color: #fefefe;
    box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
    border-radius: 0;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    -webkit-appearance: none;
    -moz-appearance: none;
}

    [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
    textarea:focus {
        border: 1px solid #8a8a8a;
        background-color: #fefefe;
        outline: none;
        box-shadow: 0 0 5px #cacaca;
        transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    }

textarea {
    max-width: 100%;
}

    textarea[rows] {
        height: auto;
    }

    input::placeholder,
    textarea::placeholder {
        color: #cacaca;
    }

    input:disabled, input[readonly],
    textarea:disabled,
    textarea[readonly] {
        background-color: #e6e6e6;
        cursor: default;
    }

[type='submit'],
[type='button'] {
    border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
}

input[type='search'] {
    box-sizing: border-box;
}

[type='file'],
[type='checkbox'],
[type='radio'] {
    margin: 0 0 1rem;
}

    [type='checkbox'] + label,
    [type='radio'] + label {
        display: inline-block;
        margin-left: 0.5rem;
        margin-right: 1rem;
        margin-bottom: 0;
        vertical-align: baseline;
    }

        [type='checkbox'] + label[for],
        [type='radio'] + label[for] {
            cursor: pointer;
        }

label > [type='checkbox'],
label > [type='radio'] {
    margin-right: 0.5rem;
}

[type='file'] {
    width: 100%;
}

label {
    display: block;
    margin: 0;
    font-size: 0.875rem;
    font-weight: normal;
    line-height: 1.8;
    color: #0a0a0a;
}

    label.middle {
        margin: 0 0 1rem;
        padding: 0.5625rem 0;
    }

.help-text {
    margin-top: -0.5rem;
    font-size: 0.8125rem;
    font-style: normal;
    color: #0a0a0a;
}

.input-group {
    display: table;
    width: 100%;
    margin-bottom: 1rem;
}

    .input-group > :first-child {
        border-radius: 0 0 0 0;
    }

    .input-group > :last-child > * {
        border-radius: 0 0 0 0;
    }

.input-group-label, .input-group-field, .input-group-button {
    margin: 0;
    white-space: nowrap;
    display: table-cell;
    vertical-align: middle;
}

.input-group-label {
    text-align: center;
    padding: 0 1rem;
    background: #e6e6e6;
    color: #0a0a0a;
    border: 1px solid #cacaca;
    white-space: nowrap;
    width: 1%;
    height: 100%;
}

    .input-group-label:first-child {
        border-right: 0;
    }

    .input-group-label:last-child {
        border-left: 0;
    }

.input-group-field {
    border-radius: 0;
    height: 2.5rem;
}

.input-group-button {
    padding-top: 0;
    padding-bottom: 0;
    text-align: center;
    height: 100%;
    width: 1%;
}

    .input-group-button a,
    .input-group-button input,
    .input-group-button button {
        margin: 0;
    }

.input-group .input-group-button {
    display: table-cell;
}

fieldset {
    border: 0;
    padding: 0;
    margin: 0;
}

legend {
    margin-bottom: 0.5rem;
    max-width: 100%;
}

.fieldset {
    border: 1px solid #cacaca;
    padding: 1.25rem;
    margin: 1.125rem 0;
}

    .fieldset legend {
        background: #f5f7fa;
        padding: 0 0.1875rem;
        margin: 0;
        margin-left: -0.1875rem;
    }

select {
    height: 2.4375rem;
    padding: 0.5rem;
    border: 1px solid #cacaca;
    margin: 0 0 1rem;
    font-size: 1rem;
    font-family: inherit;
    line-height: normal;
    color: #0a0a0a;
    background-color: #fefefe;
    border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
    background-size: 9px 6px;
    background-position: right -1rem center;
    background-origin: content-box;
    background-repeat: no-repeat;
    padding-right: 1.5rem;
}

@media screen and (min-width: 0\0) {
    select {
        background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==");
    }
}

select:disabled {
    background-color: #e6e6e6;
    cursor: default;
}

select::-ms-expand {
    display: none;
}

select[multiple] {
    height: auto;
    background-image: none;
}

.is-invalid-input:not(:focus) {
    background-color: rgba(236, 88, 64, 0.1);
    border-color: #ec5840;
}

.is-invalid-label {
    color: #ec5840;
}

.form-error {
    display: none;
    margin-top: -0.5rem;
    margin-bottom: 1rem;
    font-size: 0.75rem;
    font-weight: bold;
    color: #ec5840;
}

    .form-error.is-visible {
        display: block;
    }

.badge {
    display: inline-block;
    padding: 0.3em;
    min-width: 2.1em;
    font-size: 0.6rem;
    text-align: center;
    border-radius: 50%;
    background: #2199e8;
    color: #fefefe;
}

    .badge.secondary {
        background: #777;
        color: #fefefe;
    }

    .badge.success {
        background: #3adb76;
        color: #fefefe;
    }

    .badge.warning {
        background: #ffae00;
        color: #fefefe;
    }

    .badge.alert {
        background: #ec5840;
        color: #fefefe;
    }

.breadcrumbs {
    list-style: none;
    margin: 0 0 1rem 0;
}

    .breadcrumbs::before, .breadcrumbs::after {
        content: ' ';
        display: table;
    }

    .breadcrumbs::after {
        clear: both;
    }

    .breadcrumbs li {
        float: left;
        color: #0a0a0a;
        font-size: 0.6875rem;
        cursor: default;
        text-transform: uppercase;
    }

        .breadcrumbs li:not(:last-child)::after {
            color: #cacaca;
            content: "/";
            margin: 0 0.75rem;
            position: relative;
            top: 1px;
            opacity: 1;
        }

    .breadcrumbs a {
        color: #2199e8;
    }

        .breadcrumbs a:hover {
            text-decoration: underline;
        }

    .breadcrumbs .disabled {
        color: #cacaca;
        cursor: not-allowed;
    }

.button-group {
    margin-bottom: 1rem;
    font-size: 0;
}

    .button-group::before, .button-group::after {
        content: ' ';
        display: table;
    }

    .button-group::after {
        clear: both;
    }

    .button-group .button {
        margin: 0;
        margin-right: 1px;
        margin-bottom: 1px;
        font-size: 0.9rem;
    }

        .button-group .button:last-child {
            margin-right: 0;
        }

    .button-group.tiny .button {
        font-size: 0.6rem;
    }

    .button-group.small .button {
        font-size: 0.75rem;
    }

    .button-group.large .button {
        font-size: 1.25rem;
    }

    .button-group.expanded {
        margin-right: -1px;
    }

        .button-group.expanded::before, .button-group.expanded::after {
            display: none;
        }

        .button-group.expanded .button:first-child:nth-last-child(2), .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button {
            display: inline-block;
            width: calc(50% - 1px);
            margin-right: 1px;
        }

            .button-group.expanded .button:first-child:nth-last-child(2):last-child, .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child {
                margin-right: -6px;
            }

        .button-group.expanded .button:first-child:nth-last-child(3), .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button {
            display: inline-block;
            width: calc(33.3333333333% - 1px);
            margin-right: 1px;
        }

            .button-group.expanded .button:first-child:nth-last-child(3):last-child, .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child {
                margin-right: -6px;
            }

        .button-group.expanded .button:first-child:nth-last-child(4), .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button {
            display: inline-block;
            width: calc(25% - 1px);
            margin-right: 1px;
        }

            .button-group.expanded .button:first-child:nth-last-child(4):last-child, .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child {
                margin-right: -6px;
            }

        .button-group.expanded .button:first-child:nth-last-child(5), .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button {
            display: inline-block;
            width: calc(20% - 1px);
            margin-right: 1px;
        }

            .button-group.expanded .button:first-child:nth-last-child(5):last-child, .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child {
                margin-right: -6px;
            }

        .button-group.expanded .button:first-child:nth-last-child(6), .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button {
            display: inline-block;
            width: calc(16.6666666667% - 1px);
            margin-right: 1px;
        }

            .button-group.expanded .button:first-child:nth-last-child(6):last-child, .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child {
                margin-right: -6px;
            }

    .button-group.primary .button {
        background-color: #2199e8;
        color: #fefefe;
    }

        .button-group.primary .button:hover, .button-group.primary .button:focus {
            background-color: #147cc0;
            color: #fefefe;
        }

    .button-group.secondary .button {
        background-color: #777;
        color: #fefefe;
    }

        .button-group.secondary .button:hover, .button-group.secondary .button:focus {
            background-color: #5f5f5f;
            color: #fefefe;
        }

    .button-group.success .button {
        background-color: #3adb76;
        color: #fefefe;
    }

        .button-group.success .button:hover, .button-group.success .button:focus {
            background-color: #22bb5b;
            color: #fefefe;
        }

    .button-group.warning .button {
        background-color: #ffae00;
        color: #fefefe;
    }

        .button-group.warning .button:hover, .button-group.warning .button:focus {
            background-color: #cc8b00;
            color: #fefefe;
        }

    .button-group.alert .button {
        background-color: #ec5840;
        color: #fefefe;
    }

        .button-group.alert .button:hover, .button-group.alert .button:focus {
            background-color: #da3116;
            color: #fefefe;
        }

    .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
        width: 100%;
    }

        .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
            margin-bottom: 0;
        }

@media screen and (min-width: 40.0625em) {
    .button-group.stacked-for-small .button {
        width: auto;
        margin-bottom: 0;
    }
}

@media screen and (min-width: 64.0625em) {
    .button-group.stacked-for-medium .button {
        width: auto;
        margin-bottom: 0;
    }
}

@media screen and (max-width: 40em) {
    .button-group.stacked-for-small.expanded {
        display: block;
    }

        .button-group.stacked-for-small.expanded .button {
            display: block;
            margin-right: 0;
        }
}

.callout {
    margin: 0 0 1rem 0;
    padding: 1rem;
    border: 1px solid rgba(10, 10, 10, 0.25);
    border-radius: 0;
    position: relative;
    color: #0a0a0a;
    background-color: white;
}

    .callout > :first-child {
        margin-top: 0;
    }

    .callout > :last-child {
        margin-bottom: 0;
    }

    .callout.primary {
        background-color: #def0fc;
    }

    .callout.secondary {
        background-color: #ebebeb;
    }

    .callout.success {
        background-color: #e1faea;
    }

    .callout.warning {
        background-color: #fff3d9;
    }

    .callout.alert {
        background-color: #fce6e2;
    }

    .callout.small {
        padding-top: 0.5rem;
        padding-right: 0.5rem;
        padding-bottom: 0.5rem;
        padding-left: 0.5rem;
    }

    .callout.large {
        padding-top: 3rem;
        padding-right: 3rem;
        padding-bottom: 3rem;
        padding-left: 3rem;
    }

.close-button {
    position: absolute;
    color: #8a8a8a;
    right: 1rem;
    top: 0.5rem;
    font-size: 2em;
    line-height: 1;
    cursor: pointer;
}

[data-whatinput='mouse'] .close-button {
    outline: 0;
}

.close-button:hover, .close-button:focus {
    color: #0a0a0a;
}

.menu {
    margin: 0;
    list-style-type: none;
}

    .menu > li {
        display: table-cell;
        vertical-align: middle;
    }

[data-whatinput='mouse'] .menu > li {
    outline: 0;
}

.menu > li > a {
    display: block;
    padding: 0.7rem 1rem;
    line-height: 1;
}

.menu input,
.menu a,
.menu button {
    margin-bottom: 0;
}

.menu > li > a img,
.menu > li > a i,
.menu > li > a svg {
    vertical-align: middle;
}

    .menu > li > a img + span,
    .menu > li > a i + span,
    .menu > li > a svg + span {
        vertical-align: middle;
    }

.menu > li > a img,
.menu > li > a i,
.menu > li > a svg {
    margin-right: 0.25rem;
    display: inline-block;
}

.menu > li {
    display: table-cell;
}

.menu.vertical > li {
    display: block;
}

@media screen and (min-width: 40.0625em) {
    .menu.medium-horizontal > li {
        display: table-cell;
    }

    .menu.medium-vertical > li {
        display: block;
    }
}

@media screen and (min-width: 64.0625em) {
    .menu.large-horizontal > li {
        display: table-cell;
    }

    .menu.large-vertical > li {
        display: block;
    }
}

@media screen and (min-width: 90.0625em) {
    .menu.xxlarge-horizontal > li {
        display: table-cell;
    }

    .menu.xxlarge-vertical > li {
        display: block;
    }
}

.menu.simple li {
    line-height: 1;
    display: inline-block;
    margin-right: 1rem;
}

.menu.simple a {
    padding: 0;
}

.menu.align-right::before, .menu.align-right::after {
    content: ' ';
    display: table;
}

.menu.align-right::after {
    clear: both;
}

.menu.align-right > li {
    float: right;
}

.menu.expanded {
    width: 100%;
    display: table;
    table-layout: fixed;
}

    .menu.expanded > li:first-child:last-child {
        width: 100%;
    }

.menu.icon-top > li > a {
    text-align: center;
}

    .menu.icon-top > li > a img,
    .menu.icon-top > li > a i,
    .menu.icon-top > li > a svg {
        display: block;
        margin: 0 auto 0.25rem;
    }

.menu.nested {
    margin-left: 1rem;
}

.menu .active > a {
    color: #fefefe;
    background: #2199e8;
}

.menu-text {
    font-weight: bold;
    color: inherit;
    line-height: 1;
    padding-top: 0;
    padding-bottom: 0;
    padding: 0.7rem 1rem;
}

.menu-centered {
    text-align: center;
}

    .menu-centered > .menu {
        display: inline-block;
    }

.no-js [data-responsive-menu] ul {
    display: none;
}

.menu-icon {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    width: 20px;
    height: 16px;
}

    .menu-icon::after {
        content: '';
        position: absolute;
        display: block;
        width: 100%;
        height: 2px;
        background: #fefefe;
        top: 0;
        left: 0;
        box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
    }

    .menu-icon:hover::after {
        background: #cacaca;
        box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca;
    }

    .menu-icon.dark {
        position: relative;
        display: inline-block;
        vertical-align: middle;
        cursor: pointer;
        width: 20px;
        height: 16px;
    }

        .menu-icon.dark::after {
            content: '';
            position: absolute;
            display: block;
            width: 100%;
            height: 2px;
            background: #0a0a0a;
            top: 0;
            left: 0;
            box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
        }

        .menu-icon.dark:hover::after {
            background: #8a8a8a;
            box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a;
        }

.is-drilldown {
    position: relative;
    overflow: hidden;
}

    .is-drilldown li {
        display: block !important;
    }

.is-drilldown-submenu {
    position: absolute;
    top: 0;
    left: 100%;
    z-index: -1;
    width: 100%;
    background: #fefefe;
    transition: transform 0.15s linear;
}

    .is-drilldown-submenu.is-active {
        z-index: 1;
        display: block;
        transform: translateX(-100%);
    }

    .is-drilldown-submenu.is-closing {
        transform: translateX(100%);
    }

.is-drilldown-submenu-parent > a {
    position: relative;
}

    .is-drilldown-submenu-parent > a::after {
        content: '';
        display: block;
        width: 0;
        height: 0;
        border: inset 6px;
        border-color: transparent transparent transparent #2199e8;
        border-left-style: solid;
        border-right-width: 0;
        position: absolute;
        top: 50%;
        margin-top: -6px;
        right: 1rem;
    }

.js-drilldown-back > a::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    border-color: transparent #2199e8 transparent transparent;
    border-right-style: solid;
    border-left-width: 0;
    border-left-width: 0;
    display: inline-block;
    vertical-align: middle;
    margin-right: 0.75rem;
}

.dropdown-pane {
    background-color: #f5f7fa;
    border: 1px solid #cacaca;
    border-radius: 0;
    display: block;
    font-size: 1rem;
    padding: 1rem;
    position: absolute;
    visibility: hidden;
    width: 300px;
    z-index: 10;
}

    .dropdown-pane.is-open {
        visibility: visible;
    }

    .dropdown-pane.tiny {
        width: 100px;
    }

    .dropdown-pane.small {
        width: 200px;
    }

    .dropdown-pane.large {
        width: 400px;
    }

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%;
}

.dropdown.menu > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%;
}

.dropdown.menu > li.is-dropdown-submenu-parent > a {
    padding-right: 1.5rem;
    position: relative;
}

    .dropdown.menu > li.is-dropdown-submenu-parent > a::after {
        content: '';
        display: block;
        width: 0;
        height: 0;
        border: inset 5px;
        border-color: #2199e8 transparent transparent;
        border-top-style: solid;
        border-bottom-width: 0;
        right: 5px;
        margin-top: -2px;
    }

[data-whatinput='mouse'] .dropdown.menu a {
    outline: 0;
}

.no-js .dropdown.menu ul {
    display: none;
}

.dropdown.menu.vertical > li .is-dropdown-submenu {
    top: 0;
}

.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%;
}

.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
}

.dropdown.menu.vertical > li > a::after {
    right: 14px;
    margin-top: -3px;
}

.dropdown.menu.vertical > li.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #2199e8 transparent transparent;
    border-right-style: solid;
    border-left-width: 0;
}

.dropdown.menu.vertical > li.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #2199e8;
    border-left-style: solid;
    border-right-width: 0;
}

@media screen and (min-width: 40.0625em) {
    .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
        left: auto;
        right: 0;
        top: 100%;
    }

    .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
        right: auto;
        left: 0;
        top: 100%;
    }

    .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
        padding-right: 1.5rem;
        position: relative;
    }

        .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
            content: '';
            display: block;
            width: 0;
            height: 0;
            border: inset 5px;
            border-color: #2199e8 transparent transparent;
            border-top-style: solid;
            border-bottom-width: 0;
            right: 5px;
            margin-top: -2px;
        }

    .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
        top: 0;
    }

    .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
        left: auto;
        right: 100%;
    }

    .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
        right: auto;
        left: 100%;
    }

    .dropdown.menu.medium-vertical > li > a::after {
        right: 14px;
        margin-top: -3px;
    }

    .dropdown.menu.medium-vertical > li.opens-left > a::after {
        content: '';
        display: block;
        width: 0;
        height: 0;
        border: inset 5px;
        border-color: transparent #2199e8 transparent transparent;
        border-right-style: solid;
        border-left-width: 0;
    }

    .dropdown.menu.medium-vertical > li.opens-right > a::after {
        content: '';
        display: block;
        width: 0;
        height: 0;
        border: inset 5px;
        border-color: transparent transparent transparent #2199e8;
        border-left-style: solid;
        border-right-width: 0;
    }
}

@media screen and (min-width: 64.0625em) {
    .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
        left: auto;
        right: 0;
        top: 100%;
    }

    .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
        right: auto;
        left: 0;
        top: 100%;
    }

    .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
        padding-right: 1.5rem;
        position: relative;
    }

        .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
            content: '';
            display: block;
            width: 0;
            height: 0;
            border: inset 5px;
            border-color: #2199e8 transparent transparent;
            border-top-style: solid;
            border-bottom-width: 0;
            right: 5px;
            margin-top: -2px;
        }

    .dropdown.menu.large-vertical > li .is-dropdown-submenu {
        top: 0;
    }

    .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
        left: auto;
        right: 100%;
    }

    .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
        right: auto;
        left: 100%;
    }

    .dropdown.menu.large-vertical > li > a::after {
        right: 14px;
        margin-top: -3px;
    }

    .dropdown.menu.large-vertical > li.opens-left > a::after {
        content: '';
        display: block;
        width: 0;
        height: 0;
        border: inset 5px;
        border-color: transparent #2199e8 transparent transparent;
        border-right-style: solid;
        border-left-width: 0;
    }

    .dropdown.menu.large-vertical > li.opens-right > a::after {
        content: '';
        display: block;
        width: 0;
        height: 0;
        border: inset 5px;
        border-color: transparent transparent transparent #2199e8;
        border-left-style: solid;
        border-right-width: 0;
    }
}

@media screen and (min-width: 90.0625em) {
    .dropdown.menu.xxlarge-horizontal > li.opens-left > .is-dropdown-submenu {
        left: auto;
        right: 0;
        top: 100%;
    }

    .dropdown.menu.xxlarge-horizontal > li.opens-right > .is-dropdown-submenu {
        right: auto;
        left: 0;
        top: 100%;
    }

    .dropdown.menu.xxlarge-horizontal > li.is-dropdown-submenu-parent > a {
        padding-right: 1.5rem;
        position: relative;
    }

        .dropdown.menu.xxlarge-horizontal > li.is-dropdown-submenu-parent > a::after {
            content: '';
            display: block;
            width: 0;
            height: 0;
            border: inset 5px;
            border-color: #2199e8 transparent transparent;
            border-top-style: solid;
            border-bottom-width: 0;
            right: 5px;
            margin-top: -2px;
        }

    .dropdown.menu.xxlarge-vertical > li .is-dropdown-submenu {
        top: 0;
    }

    .dropdown.menu.xxlarge-vertical > li.opens-left > .is-dropdown-submenu {
        left: auto;
        right: 100%;
    }

    .dropdown.menu.xxlarge-vertical > li.opens-right > .is-dropdown-submenu {
        right: auto;
        left: 100%;
    }

    .dropdown.menu.xxlarge-vertical > li > a::after {
        right: 14px;
        margin-top: -3px;
    }

    .dropdown.menu.xxlarge-vertical > li.opens-left > a::after {
        content: '';
        display: block;
        width: 0;
        height: 0;
        border: inset 5px;
        border-color: transparent #2199e8 transparent transparent;
        border-right-style: solid;
        border-left-width: 0;
    }

    .dropdown.menu.xxlarge-vertical > li.opens-right > a::after {
        content: '';
        display: block;
        width: 0;
        height: 0;
        border: inset 5px;
        border-color: transparent transparent transparent #2199e8;
        border-left-style: solid;
        border-right-width: 0;
    }
}

.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
    top: 100%;
    left: auto;
    right: 0;
}

.is-dropdown-menu.vertical {
    width: 100px;
}

    .is-dropdown-menu.vertical.align-right {
        float: right;
    }

.is-dropdown-submenu-parent {
    position: relative;
}

    .is-dropdown-submenu-parent a::after {
        position: absolute;
        top: 50%;
        right: 5px;
        margin-top: -2px;
    }

    .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
        top: 100%;
        left: auto;
    }

    .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
        left: auto;
        right: 100%;
    }

    .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
        right: auto;
        left: 100%;
    }

.is-dropdown-submenu {
    display: none;
    position: absolute;
    top: 0;
    left: 100%;
    min-width: 200px;
    z-index: 1;
    background: #fefefe;
    border: 1px solid #cacaca;
}

    .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
        right: 14px;
        margin-top: -3px;
    }

    .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
        content: '';
        display: block;
        width: 0;
        height: 0;
        border: inset 5px;
        border-color: transparent #2199e8 transparent transparent;
        border-right-style: solid;
        border-left-width: 0;
    }

    .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
        content: '';
        display: block;
        width: 0;
        height: 0;
        border: inset 5px;
        border-color: transparent transparent transparent #2199e8;
        border-left-style: solid;
        border-right-width: 0;
    }

    .is-dropdown-submenu .is-dropdown-submenu {
        margin-top: -1px;
    }

    .is-dropdown-submenu > li {
        width: 100%;
    }

    .is-dropdown-submenu.js-dropdown-active {
        display: block;
    }

.flex-video {
    position: relative;
    height: 0;
    padding-bottom: 75%;
    margin-bottom: 1rem;
    overflow: hidden;
}

    .flex-video iframe,
    .flex-video object,
    .flex-video embed,
    .flex-video video {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    .flex-video.widescreen {
        padding-bottom: 56.25%;
    }

    .flex-video.vimeo {
        padding-top: 0;
    }

.label {
    display: inline-block;
    padding: 0.33333rem 0.5rem;
    font-size: 0.8rem;
    line-height: 1;
    white-space: nowrap;
    cursor: default;
    border-radius: 0;
    background: #2199e8;
    color: #fefefe;
}

    .label.secondary {
        background: #777;
        color: #fefefe;
    }

    .label.success {
        background: #3adb76;
        color: #fefefe;
    }

    .label.warning {
        background: #ffae00;
        color: #fefefe;
    }

    .label.alert {
        background: #ec5840;
        color: #fefefe;
    }

.media-object {
    margin-bottom: 1rem;
    display: block;
}

    .media-object img {
        max-width: none;
    }

@media screen and (max-width: 40em) {
    .media-object.stack-for-small .media-object-section {
        padding: 0;
        padding-bottom: 1rem;
        display: block;
    }

        .media-object.stack-for-small .media-object-section img {
            width: 100%;
        }
}

.media-object-section {
    display: table-cell;
    vertical-align: top;
}

    .media-object-section:first-child {
        padding-right: 1rem;
    }

    .media-object-section:last-child:not(:nth-child(2)) {
        padding-left: 1rem;
    }

    .media-object-section > :last-child {
        margin-bottom: 0;
    }

    .media-object-section.middle {
        vertical-align: middle;
    }

    .media-object-section.bottom {
        vertical-align: bottom;
    }

.pagination {
    margin-left: 0;
    margin-bottom: 1rem;
}

    .pagination::before, .pagination::after {
        content: ' ';
        display: table;
    }

    .pagination::after {
        clear: both;
    }

    .pagination li {
        font-size: 0.875rem;
        margin-right: 0.0625rem;
        border-radius: 0;
        display: none;
    }

        .pagination li:last-child, .pagination li:first-child {
            display: inline-block;
        }

@media screen and (min-width: 40.0625em) {
    .pagination li {
        display: inline-block;
    }
}

.pagination a,
.pagination button {
    color: #0a0a0a;
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 0;
}

    .pagination a:hover,
    .pagination button:hover {
        background: #e6e6e6;
    }

.pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #2199e8;
    color: #fefefe;
    cursor: default;
}

.pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #cacaca;
    cursor: not-allowed;
}

    .pagination .disabled:hover {
        background: transparent;
    }

.pagination .ellipsis::after {
    content: '\2026';
    padding: 0.1875rem 0.625rem;
    color: #0a0a0a;
}

.pagination-previous a::before,
.pagination-previous.disabled::before {
    content: '\00ab';
    display: inline-block;
    margin-right: 0.5rem;
}

.pagination-next a::after,
.pagination-next.disabled::after {
    content: '\00bb';
    display: inline-block;
    margin-left: 0.5rem;
}

.sticky-container {
    position: relative;
}

.sticky {
    position: absolute;
    z-index: 0;
    transform: translate3d(0, 0, 0);
}

    .sticky.is-stuck {
        position: fixed;
        z-index: 5;
    }

        .sticky.is-stuck.is-at-top {
            top: 0;
        }

        .sticky.is-stuck.is-at-bottom {
            bottom: 0;
        }

    .sticky.is-anchored {
        position: absolute;
        left: auto;
        right: auto;
    }

        .sticky.is-anchored.is-at-bottom {
            bottom: 0;
        }

body.is-reveal-open {
    overflow: hidden;
}

html.is-reveal-open,
html.is-reveal-open body {
    min-height: 100%;
    overflow: hidden;
    user-select: none;
}

.reveal-overlay {
    display: none;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1005;
    background-color: rgba(10, 10, 10, 0.45);
    overflow-y: scroll;
}

.reveal {
    display: none;
    z-index: 1006;
    padding: 1rem;
    border: 1px solid #cacaca;
    background-color: #fefefe;
    border-radius: 0;
    position: relative;
    top: 100px;
    margin-left: auto;
    margin-right: auto;
    overflow-y: auto;
}

[data-whatinput='mouse'] .reveal {
    outline: 0;
}

@media screen and (min-width: 40.0625em) {
    .reveal {
        min-height: 0;
    }
}

.reveal .column, .reveal .columns,
.reveal .columns {
    min-width: 0;
}

.reveal > :last-child {
    margin-bottom: 0;
}

@media screen and (min-width: 40.0625em) {
    .reveal {
        width: 600px;
        max-width: 75rem;
    }
}

@media screen and (min-width: 40.0625em) {
    .reveal .reveal {
        left: auto;
        right: auto;
        margin: 0 auto;
    }
}

.reveal.collapse {
    padding: 0;
}

@media screen and (min-width: 40.0625em) {
    .reveal.tiny {
        width: 30%;
        max-width: 75rem;
    }
}

@media screen and (min-width: 40.0625em) {
    .reveal.small {
        width: 50%;
        max-width: 75rem;
    }
}

@media screen and (min-width: 40.0625em) {
    .reveal.large {
        width: 90%;
        max-width: 75rem;
    }
}

.reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    max-width: none;
    margin-left: 0;
    border: 0;
    border-radius: 0;
}

@media screen and (max-width: 40em) {
    .reveal {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        height: 100vh;
        min-height: 100vh;
        max-width: none;
        margin-left: 0;
        border: 0;
        border-radius: 0;
    }
}

.reveal.without-overlay {
    position: fixed;
}

.switch {
    height: 2rem;
    margin-bottom: 1rem;
    outline: 0;
    position: relative;
    user-select: none;
    color: #fefefe;
    font-weight: bold;
    font-size: 0.875rem;
}

.switch-input {
    opacity: 0;
    position: absolute;
    margin-bottom: 0;
}

.switch-paddle {
    background: #cacaca;
    cursor: pointer;
    display: block;
    position: relative;
    width: 4rem;
    height: 2rem;
    transition: all 0.25s ease-out;
    border-radius: 0;
    color: inherit;
    font-weight: inherit;
}

input + .switch-paddle {
    margin: 0;
}

.switch-paddle::after {
    background: #fefefe;
    content: '';
    display: block;
    position: absolute;
    height: 1.5rem;
    left: 0.25rem;
    top: 0.25rem;
    width: 1.5rem;
    transition: all 0.25s ease-out;
    transform: translate3d(0, 0, 0);
    border-radius: 0;
}

input:checked ~ .switch-paddle {
    background: #2199e8;
}

    input:checked ~ .switch-paddle::after {
        left: 2.25rem;
    }

[data-whatinput='mouse'] input:focus ~ .switch-paddle {
    outline: 0;
}

.switch-active, .switch-inactive {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.switch-active {
    left: 8%;
    display: none;
}

input:checked + label > .switch-active {
    display: block;
}

.switch-inactive {
    right: 15%;
}

input:checked + label > .switch-inactive {
    display: none;
}

.switch.tiny {
    height: 1.5rem;
}

    .switch.tiny .switch-paddle {
        width: 3rem;
        height: 1.5rem;
        font-size: 0.625rem;
    }

        .switch.tiny .switch-paddle::after {
            width: 1rem;
            height: 1rem;
        }

    .switch.tiny input:checked ~ .switch-paddle::after {
        left: 1.75rem;
    }

.switch.small {
    height: 1.75rem;
}

    .switch.small .switch-paddle {
        width: 3.5rem;
        height: 1.75rem;
        font-size: 0.75rem;
    }

        .switch.small .switch-paddle::after {
            width: 1.25rem;
            height: 1.25rem;
        }

    .switch.small input:checked ~ .switch-paddle::after {
        left: 2rem;
    }

.switch.large {
    height: 2.5rem;
}

    .switch.large .switch-paddle {
        width: 5rem;
        height: 2.5rem;
        font-size: 1rem;
    }

        .switch.large .switch-paddle::after {
            width: 2rem;
            height: 2rem;
        }

    .switch.large input:checked ~ .switch-paddle::after {
        left: 2.75rem;
    }

table {
    width: 100%;
    margin-bottom: 1rem;
    border-radius: 0;
}

thead, tbody, tfoot {
    border: 1px solid #f1f1f1;
    background-color: #fefefe;
}

caption {
    font-weight: bold;
    padding: 0.5rem 0.625rem 0.625rem;
}

thead {
    background: #f8f8f8;
    color: #0a0a0a;
}

tfoot {
    background: #f1f1f1;
    color: #0a0a0a;
}

    thead tr, tfoot tr {
        background: transparent;
    }

    thead th, thead td, tfoot th, tfoot td {
        padding: 0.5rem 0.625rem 0.625rem;
        font-weight: bold;
        text-align: left;
    }

tbody tr:nth-child(even) {
    background-color: #f1f1f1;
}

tbody th, tbody td {
    padding: 0.5rem 0.625rem 0.625rem;
}

@media screen and (max-width: 64em) {
    table.stack thead {
        display: none;
    }

    table.stack tfoot {
        display: none;
    }

    table.stack tr,
    table.stack th,
    table.stack td {
        display: block;
    }

    table.stack td {
        border-top: 0;
    }
}

table.scroll {
    display: block;
    width: 100%;
    overflow-x: auto;
}

table.hover thead tr:hover {
    background-color: #f3f3f3;
}

table.hover tfoot tr:hover {
    background-color: #ececec;
}

table.hover tbody tr:hover {
    background-color: #f9f9f9;
}

table.hover tbody tr:nth-of-type(even):hover {
    background-color: #ececec;
}

.table-scroll {
    overflow-x: auto;
}

    .table-scroll table {
        width: auto;
    }

.thumbnail {
    border: solid 4px #fefefe;
    box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
    display: inline-block;
    line-height: 0;
    max-width: 100%;
    transition: box-shadow 200ms ease-out;
    border-radius: 0;
    margin-bottom: 1rem;
}

    .thumbnail:hover, .thumbnail:focus {
        box-shadow: 0 0 6px 1px rgba(33, 153, 232, 0.5);
    }

.hide {
    display: none !important;
}

.invisible {
    visibility: hidden;
}

@media screen and (max-width: 40em) {
    .hide-for-small-only {
        display: none !important;
    }
}

@media screen and (max-width: 0em), screen and (min-width: 40.0625em) {
    .show-for-small-only {
        display: none !important;
    }
}

@media screen and (min-width: 40.0625em) {
    .hide-for-medium {
        display: none !important;
    }
}

@media screen and (max-width: 40em) {
    .show-for-medium {
        display: none !important;
    }
}

@media screen and (min-width: 40.0625em) and (max-width: 64em) {
    .hide-for-medium-only {
        display: none !important;
    }
}

@media screen and (max-width: 40em), screen and (min-width: 64.0625em) {
    .show-for-medium-only {
        display: none !important;
    }
}

@media screen and (min-width: 64.0625em) {
    .hide-for-large {
        display: none !important;
    }
}

@media screen and (max-width: 64em) {
    .show-for-large {
        display: none !important;
    }
}

@media screen and (min-width: 64.0625em) and (max-width: 75em) {
    .hide-for-large-only {
        display: none !important;
    }
}

@media screen and (max-width: 64em), screen and (min-width: 75.0625em) {
    .show-for-large-only {
        display: none !important;
    }
}

@media screen and (min-width: 90.0625em) {
    .hide-for-xxlarge {
        display: none !important;
    }
}

@media screen and (max-width: 90em) {
    .show-for-xxlarge {
        display: none !important;
    }
}

@media screen and (min-width: 90.0625em) {
    .hide-for-xxlarge-only {
        display: none !important;
    }
}

@media screen and (max-width: 90em) {
    .show-for-xxlarge-only {
        display: none !important;
    }
}

.show-for-sr,
.show-on-focus {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

    .show-on-focus:active, .show-on-focus:focus {
        position: static !important;
        height: auto;
        width: auto;
        overflow: visible;
        clip: auto;
    }

.show-for-landscape,
.hide-for-portrait {
    display: block !important;
}

@media screen and (orientation: landscape) {
    .show-for-landscape,
    .hide-for-portrait {
        display: block !important;
    }
}

@media screen and (orientation: portrait) {
    .show-for-landscape,
    .hide-for-portrait {
        display: none !important;
    }
}

.hide-for-landscape,
.show-for-portrait {
    display: none !important;
}

@media screen and (orientation: landscape) {
    .hide-for-landscape,
    .show-for-portrait {
        display: none !important;
    }
}

@media screen and (orientation: portrait) {
    .hide-for-landscape,
    .show-for-portrait {
        display: block !important;
    }
}

.float-left {
    float: left !important;
}

.float-right {
    float: right !important;
}

.float-center {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.clearfix::before, .clearfix::after {
    content: ' ';
    display: table;
}

.clearfix::after {
    clear: both;
}

.align-right {
    justify-content: flex-end;
}

.align-center {
    justify-content: center;
}

.align-justify {
    justify-content: space-between;
}

.align-spaced {
    justify-content: space-around;
}

.align-top {
    align-items: flex-start;
}

.align-self-top {
    align-self: flex-start;
}

.align-bottom {
    align-items: flex-end;
}

.align-self-bottom {
    align-self: flex-end;
}

.align-middle {
    align-items: center;
}

.align-self-middle {
    align-self: center;
}

.align-stretch {
    align-items: stretch;
}

.align-self-stretch {
    align-self: stretch;
}

.small-order-1 {
    order: 1;
}

.small-order-2 {
    order: 2;
}

.small-order-3 {
    order: 3;
}

.small-order-4 {
    order: 4;
}

.small-order-5 {
    order: 5;
}

.small-order-6 {
    order: 6;
}

@media screen and (min-width: 40.0625em) {
    .medium-order-1 {
        order: 1;
    }

    .medium-order-2 {
        order: 2;
    }

    .medium-order-3 {
        order: 3;
    }

    .medium-order-4 {
        order: 4;
    }

    .medium-order-5 {
        order: 5;
    }

    .medium-order-6 {
        order: 6;
    }
}

@media screen and (min-width: 64.0625em) {
    .large-order-1 {
        order: 1;
    }

    .large-order-2 {
        order: 2;
    }

    .large-order-3 {
        order: 3;
    }

    .large-order-4 {
        order: 4;
    }

    .large-order-5 {
        order: 5;
    }

    .large-order-6 {
        order: 6;
    }
}

@media screen and (min-width: 90.0625em) {
    .xxlarge-order-1 {
        order: 1;
    }

    .xxlarge-order-2 {
        order: 2;
    }

    .xxlarge-order-3 {
        order: 3;
    }

    .xxlarge-order-4 {
        order: 4;
    }

    .xxlarge-order-5 {
        order: 5;
    }

    .xxlarge-order-6 {
        order: 6;
    }
}

.slide-in-down.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: translateY(-100%);
    transition-property: transform, opacity;
    backface-visibility: hidden;
}

    .slide-in-down.mui-enter.mui-enter-active {
        transform: translateY(0);
    }

.slide-in-left.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: translateX(-100%);
    transition-property: transform, opacity;
    backface-visibility: hidden;
}

    .slide-in-left.mui-enter.mui-enter-active {
        transform: translateX(0);
    }

.slide-in-up.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: translateY(100%);
    transition-property: transform, opacity;
    backface-visibility: hidden;
}

    .slide-in-up.mui-enter.mui-enter-active {
        transform: translateY(0);
    }

.slide-in-right.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: translateX(100%);
    transition-property: transform, opacity;
    backface-visibility: hidden;
}

    .slide-in-right.mui-enter.mui-enter-active {
        transform: translateX(0);
    }

.slide-out-down.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: translateY(0);
    transition-property: transform, opacity;
    backface-visibility: hidden;
}

    .slide-out-down.mui-leave.mui-leave-active {
        transform: translateY(100%);
    }

.slide-out-right.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: translateX(0);
    transition-property: transform, opacity;
    backface-visibility: hidden;
}

    .slide-out-right.mui-leave.mui-leave-active {
        transform: translateX(100%);
    }

.slide-out-up.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: translateY(0);
    transition-property: transform, opacity;
    backface-visibility: hidden;
}

    .slide-out-up.mui-leave.mui-leave-active {
        transform: translateY(-100%);
    }

.slide-out-left.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: translateX(0);
    transition-property: transform, opacity;
    backface-visibility: hidden;
}

    .slide-out-left.mui-leave.mui-leave-active {
        transform: translateX(-100%);
    }

.fade-in.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    opacity: 0;
    transition-property: opacity;
}

    .fade-in.mui-enter.mui-enter-active {
        opacity: 1;
    }

.fade-out.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    opacity: 1;
    transition-property: opacity;
}

    .fade-out.mui-leave.mui-leave-active {
        opacity: 0;
    }

.hinge-in-from-top.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: perspective(2000px) rotateX(-90deg);
    transform-origin: top;
    transition-property: transform, opacity;
    opacity: 0;
}

    .hinge-in-from-top.mui-enter.mui-enter-active {
        transform: perspective(2000px) rotate(0deg);
        opacity: 1;
    }

.hinge-in-from-right.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: perspective(2000px) rotateY(-90deg);
    transform-origin: right;
    transition-property: transform, opacity;
    opacity: 0;
}

    .hinge-in-from-right.mui-enter.mui-enter-active {
        transform: perspective(2000px) rotate(0deg);
        opacity: 1;
    }

.hinge-in-from-bottom.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: perspective(2000px) rotateX(90deg);
    transform-origin: bottom;
    transition-property: transform, opacity;
    opacity: 0;
}

    .hinge-in-from-bottom.mui-enter.mui-enter-active {
        transform: perspective(2000px) rotate(0deg);
        opacity: 1;
    }

.hinge-in-from-left.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: perspective(2000px) rotateY(90deg);
    transform-origin: left;
    transition-property: transform, opacity;
    opacity: 0;
}

    .hinge-in-from-left.mui-enter.mui-enter-active {
        transform: perspective(2000px) rotate(0deg);
        opacity: 1;
    }

.hinge-in-from-middle-x.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: perspective(2000px) rotateX(-90deg);
    transform-origin: center;
    transition-property: transform, opacity;
    opacity: 0;
}

    .hinge-in-from-middle-x.mui-enter.mui-enter-active {
        transform: perspective(2000px) rotate(0deg);
        opacity: 1;
    }

.hinge-in-from-middle-y.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: perspective(2000px) rotateY(-90deg);
    transform-origin: center;
    transition-property: transform, opacity;
    opacity: 0;
}

    .hinge-in-from-middle-y.mui-enter.mui-enter-active {
        transform: perspective(2000px) rotate(0deg);
        opacity: 1;
    }

.hinge-out-from-top.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: perspective(2000px) rotate(0deg);
    transform-origin: top;
    transition-property: transform, opacity;
    opacity: 1;
}

    .hinge-out-from-top.mui-leave.mui-leave-active {
        transform: perspective(2000px) rotateX(-90deg);
        opacity: 0;
    }

.hinge-out-from-right.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: perspective(2000px) rotate(0deg);
    transform-origin: right;
    transition-property: transform, opacity;
    opacity: 1;
}

    .hinge-out-from-right.mui-leave.mui-leave-active {
        transform: perspective(2000px) rotateY(-90deg);
        opacity: 0;
    }

.hinge-out-from-bottom.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: perspective(2000px) rotate(0deg);
    transform-origin: bottom;
    transition-property: transform, opacity;
    opacity: 1;
}

    .hinge-out-from-bottom.mui-leave.mui-leave-active {
        transform: perspective(2000px) rotateX(90deg);
        opacity: 0;
    }

.hinge-out-from-left.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: perspective(2000px) rotate(0deg);
    transform-origin: left;
    transition-property: transform, opacity;
    opacity: 1;
}

    .hinge-out-from-left.mui-leave.mui-leave-active {
        transform: perspective(2000px) rotateY(90deg);
        opacity: 0;
    }

.hinge-out-from-middle-x.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: perspective(2000px) rotate(0deg);
    transform-origin: center;
    transition-property: transform, opacity;
    opacity: 1;
}

    .hinge-out-from-middle-x.mui-leave.mui-leave-active {
        transform: perspective(2000px) rotateX(-90deg);
        opacity: 0;
    }

.hinge-out-from-middle-y.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: perspective(2000px) rotate(0deg);
    transform-origin: center;
    transition-property: transform, opacity;
    opacity: 1;
}

    .hinge-out-from-middle-y.mui-leave.mui-leave-active {
        transform: perspective(2000px) rotateY(-90deg);
        opacity: 0;
    }

.scale-in-up.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: scale(0.5);
    transition-property: transform, opacity;
    opacity: 0;
}

    .scale-in-up.mui-enter.mui-enter-active {
        transform: scale(1);
        opacity: 1;
    }

.scale-in-down.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: scale(1.5);
    transition-property: transform, opacity;
    opacity: 0;
}

    .scale-in-down.mui-enter.mui-enter-active {
        transform: scale(1);
        opacity: 1;
    }

.scale-out-up.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: scale(1);
    transition-property: transform, opacity;
    opacity: 1;
}

    .scale-out-up.mui-leave.mui-leave-active {
        transform: scale(1.5);
        opacity: 0;
    }

.scale-out-down.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: scale(1);
    transition-property: transform, opacity;
    opacity: 1;
}

    .scale-out-down.mui-leave.mui-leave-active {
        transform: scale(0.5);
        opacity: 0;
    }

.spin-in.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: rotate(-0.75turn);
    transition-property: transform, opacity;
    opacity: 0;
}

    .spin-in.mui-enter.mui-enter-active {
        transform: rotate(0);
        opacity: 1;
    }

.spin-out.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: rotate(0);
    transition-property: transform, opacity;
    opacity: 1;
}

    .spin-out.mui-leave.mui-leave-active {
        transform: rotate(0.75turn);
        opacity: 0;
    }

.spin-in-ccw.mui-enter {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: rotate(0.75turn);
    transition-property: transform, opacity;
    opacity: 0;
}

    .spin-in-ccw.mui-enter.mui-enter-active {
        transform: rotate(0);
        opacity: 1;
    }

.spin-out-ccw.mui-leave {
    transition-duration: 500ms;
    transition-timing-function: linear;
    transform: rotate(0);
    transition-property: transform, opacity;
    opacity: 1;
}

    .spin-out-ccw.mui-leave.mui-leave-active {
        transform: rotate(-0.75turn);
        opacity: 0;
    }

.slow {
    transition-duration: 750ms !important;
}

.fast {
    transition-duration: 250ms !important;
}

.linear {
    transition-timing-function: linear !important;
}

.ease {
    transition-timing-function: ease !important;
}

.ease-in {
    transition-timing-function: ease-in !important;
}

.ease-out {
    transition-timing-function: ease-out !important;
}

.ease-in-out {
    transition-timing-function: ease-in-out !important;
}

.bounce-in {
    transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
}

.bounce-out {
    transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
}

.bounce-in-out {
    transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
}

.short-delay {
    transition-delay: 300ms !important;
}

.long-delay {
    transition-delay: 700ms !important;
}

.shake {
    animation-name: shake-7;
}

@keyframes shake-7 {
    0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
        transform: translateX(7%);
    }

    5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
        transform: translateX(-7%);
    }
}

.spin-cw {
    animation-name: spin-cw-1turn;
}

@keyframes spin-cw-1turn {
    0% {
        transform: rotate(-1turn);
    }

    100% {
        transform: rotate(0);
    }
}

.spin-ccw {
    animation-name: spin-cw-1turn;
}

@keyframes spin-cw-1turn {
    0% {
        transform: rotate(0);
    }

    100% {
        transform: rotate(1turn);
    }
}

.wiggle {
    animation-name: wiggle-7deg;
}

@keyframes wiggle-7deg {
    40%, 50%, 60% {
        transform: rotate(7deg);
    }

    35%, 45%, 55%, 65% {
        transform: rotate(-7deg);
    }

    0%, 30%, 70%, 100% {
        transform: rotate(0);
    }
}

.shake,
.spin-cw,
.spin-ccw,
.wiggle {
    animation-duration: 500ms;
}

.infinite {
    animation-iteration-count: infinite;
}

.slow {
    animation-duration: 750ms !important;
}

.fast {
    animation-duration: 250ms !important;
}

.linear {
    animation-timing-function: linear !important;
}

.ease {
    animation-timing-function: ease !important;
}

.ease-in {
    animation-timing-function: ease-in !important;
}

.ease-out {
    animation-timing-function: ease-out !important;
}

.ease-in-out {
    animation-timing-function: ease-in-out !important;
}

.bounce-in {
    animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
}

.bounce-out {
    animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
}

.bounce-in-out {
    animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
}

.short-delay {
    animation-delay: 300ms !important;
}

.long-delay {
    animation-delay: 700ms !important;
}

/* Usage
div.logo {
   background: url("logo.png") no-repeat;
   @include image-2x("logo2x.png", 100px, 25px);
 }
*/
/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.5.1
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2016 Daniel Eden
 */
.animated {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

    .animated.infinite {
        -webkit-animation-iteration-count: infinite;
        animation-iteration-count: infinite;
    }

    .animated.hinge {
        -webkit-animation-duration: 2s;
        animation-duration: 2s;
    }

    .animated.flipOutX,
    .animated.flipOutY,
    .animated.bounceIn,
    .animated.bounceOut {
        -webkit-animation-duration: .75s;
        animation-duration: .75s;
    }

@-webkit-keyframes bounce {
    from, 20%, 53%, 80%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    40%, 43% {
        -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        -webkit-transform: translate3d(0, -30px, 0);
        transform: translate3d(0, -30px, 0);
    }

    70% {
        -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        -webkit-transform: translate3d(0, -15px, 0);
        transform: translate3d(0, -15px, 0);
    }

    90% {
        -webkit-transform: translate3d(0, -4px, 0);
        transform: translate3d(0, -4px, 0);
    }
}

@keyframes bounce {
    from, 20%, 53%, 80%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    40%, 43% {
        -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        -webkit-transform: translate3d(0, -30px, 0);
        transform: translate3d(0, -30px, 0);
    }

    70% {
        -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        -webkit-transform: translate3d(0, -15px, 0);
        transform: translate3d(0, -15px, 0);
    }

    90% {
        -webkit-transform: translate3d(0, -4px, 0);
        transform: translate3d(0, -4px, 0);
    }
}

.bounce {
    -webkit-animation-name: bounce;
    animation-name: bounce;
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
}

@-webkit-keyframes flash {
    from, 50%, to {
        opacity: 1;
    }

    25%, 75% {
        opacity: 0;
    }
}

@keyframes flash {
    from, 50%, to {
        opacity: 1;
    }

    25%, 75% {
        opacity: 0;
    }
}

.flash {
    -webkit-animation-name: flash;
    animation-name: flash;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
    from {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }

    50% {
        -webkit-transform: scale3d(1.05, 1.05, 1.05);
        transform: scale3d(1.05, 1.05, 1.05);
    }

    to {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

@keyframes pulse {
    from {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }

    50% {
        -webkit-transform: scale3d(1.05, 1.05, 1.05);
        transform: scale3d(1.05, 1.05, 1.05);
    }

    to {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

.pulse {
    -webkit-animation-name: pulse;
    animation-name: pulse;
}

@-webkit-keyframes rubberBand {
    from {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }

    30% {
        -webkit-transform: scale3d(1.25, 0.75, 1);
        transform: scale3d(1.25, 0.75, 1);
    }

    40% {
        -webkit-transform: scale3d(0.75, 1.25, 1);
        transform: scale3d(0.75, 1.25, 1);
    }

    50% {
        -webkit-transform: scale3d(1.15, 0.85, 1);
        transform: scale3d(1.15, 0.85, 1);
    }

    65% {
        -webkit-transform: scale3d(0.95, 1.05, 1);
        transform: scale3d(0.95, 1.05, 1);
    }

    75% {
        -webkit-transform: scale3d(1.05, 0.95, 1);
        transform: scale3d(1.05, 0.95, 1);
    }

    to {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

@keyframes rubberBand {
    from {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }

    30% {
        -webkit-transform: scale3d(1.25, 0.75, 1);
        transform: scale3d(1.25, 0.75, 1);
    }

    40% {
        -webkit-transform: scale3d(0.75, 1.25, 1);
        transform: scale3d(0.75, 1.25, 1);
    }

    50% {
        -webkit-transform: scale3d(1.15, 0.85, 1);
        transform: scale3d(1.15, 0.85, 1);
    }

    65% {
        -webkit-transform: scale3d(0.95, 1.05, 1);
        transform: scale3d(0.95, 1.05, 1);
    }

    75% {
        -webkit-transform: scale3d(1.05, 0.95, 1);
        transform: scale3d(1.05, 0.95, 1);
    }

    to {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

.rubberBand {
    -webkit-animation-name: rubberBand;
    animation-name: rubberBand;
}

@-webkit-keyframes shake {
    from, to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    10%, 30%, 50%, 70%, 90% {
        -webkit-transform: translate3d(-10px, 0, 0);
        transform: translate3d(-10px, 0, 0);
    }

    20%, 40%, 60%, 80% {
        -webkit-transform: translate3d(10px, 0, 0);
        transform: translate3d(10px, 0, 0);
    }
}

@keyframes shake {
    from, to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    10%, 30%, 50%, 70%, 90% {
        -webkit-transform: translate3d(-10px, 0, 0);
        transform: translate3d(-10px, 0, 0);
    }

    20%, 40%, 60%, 80% {
        -webkit-transform: translate3d(10px, 0, 0);
        transform: translate3d(10px, 0, 0);
    }
}

.shake {
    -webkit-animation-name: shake;
    animation-name: shake;
}

@-webkit-keyframes headShake {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    6.5% {
        -webkit-transform: translateX(-6px) rotateY(-9deg);
        transform: translateX(-6px) rotateY(-9deg);
    }

    18.5% {
        -webkit-transform: translateX(5px) rotateY(7deg);
        transform: translateX(5px) rotateY(7deg);
    }

    31.5% {
        -webkit-transform: translateX(-3px) rotateY(-5deg);
        transform: translateX(-3px) rotateY(-5deg);
    }

    43.5% {
        -webkit-transform: translateX(2px) rotateY(3deg);
        transform: translateX(2px) rotateY(3deg);
    }

    50% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}

@keyframes headShake {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    6.5% {
        -webkit-transform: translateX(-6px) rotateY(-9deg);
        transform: translateX(-6px) rotateY(-9deg);
    }

    18.5% {
        -webkit-transform: translateX(5px) rotateY(7deg);
        transform: translateX(5px) rotateY(7deg);
    }

    31.5% {
        -webkit-transform: translateX(-3px) rotateY(-5deg);
        transform: translateX(-3px) rotateY(-5deg);
    }

    43.5% {
        -webkit-transform: translateX(2px) rotateY(3deg);
        transform: translateX(2px) rotateY(3deg);
    }

    50% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}

.headShake {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-name: headShake;
    animation-name: headShake;
}

@-webkit-keyframes swing {
    20% {
        -webkit-transform: rotate3d(0, 0, 1, 15deg);
        transform: rotate3d(0, 0, 1, 15deg);
    }

    40% {
        -webkit-transform: rotate3d(0, 0, 1, -10deg);
        transform: rotate3d(0, 0, 1, -10deg);
    }

    60% {
        -webkit-transform: rotate3d(0, 0, 1, 5deg);
        transform: rotate3d(0, 0, 1, 5deg);
    }

    80% {
        -webkit-transform: rotate3d(0, 0, 1, -5deg);
        transform: rotate3d(0, 0, 1, -5deg);
    }

    to {
        -webkit-transform: rotate3d(0, 0, 1, 0deg);
        transform: rotate3d(0, 0, 1, 0deg);
    }
}

@keyframes swing {
    20% {
        -webkit-transform: rotate3d(0, 0, 1, 15deg);
        transform: rotate3d(0, 0, 1, 15deg);
    }

    40% {
        -webkit-transform: rotate3d(0, 0, 1, -10deg);
        transform: rotate3d(0, 0, 1, -10deg);
    }

    60% {
        -webkit-transform: rotate3d(0, 0, 1, 5deg);
        transform: rotate3d(0, 0, 1, 5deg);
    }

    80% {
        -webkit-transform: rotate3d(0, 0, 1, -5deg);
        transform: rotate3d(0, 0, 1, -5deg);
    }

    to {
        -webkit-transform: rotate3d(0, 0, 1, 0deg);
        transform: rotate3d(0, 0, 1, 0deg);
    }
}

.swing {
    -webkit-transform-origin: top center;
    transform-origin: top center;
    -webkit-animation-name: swing;
    animation-name: swing;
}

@-webkit-keyframes tada {
    from {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }

    10%, 20% {
        -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
        transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    }

    30%, 50%, 70%, 90% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
        transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    }

    40%, 60%, 80% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
        transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    }

    to {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

@keyframes tada {
    from {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }

    10%, 20% {
        -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
        transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    }

    30%, 50%, 70%, 90% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
        transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    }

    40%, 60%, 80% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
        transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    }

    to {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

.tada {
    -webkit-animation-name: tada;
    animation-name: tada;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
    from {
        -webkit-transform: none;
        transform: none;
    }

    15% {
        -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
        transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    }

    30% {
        -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
        transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    }

    45% {
        -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
        transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    }

    60% {
        -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
        transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    }

    75% {
        -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
        transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    }

    to {
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes wobble {
    from {
        -webkit-transform: none;
        transform: none;
    }

    15% {
        -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
        transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    }

    30% {
        -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
        transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    }

    45% {
        -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
        transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    }

    60% {
        -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
        transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    }

    75% {
        -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
        transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    }

    to {
        -webkit-transform: none;
        transform: none;
    }
}

.wobble {
    -webkit-animation-name: wobble;
    animation-name: wobble;
}

@-webkit-keyframes jello {
    from, 11.1%, to {
        -webkit-transform: none;
        transform: none;
    }

    22.2% {
        -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
        transform: skewX(-12.5deg) skewY(-12.5deg);
    }

    33.3% {
        -webkit-transform: skewX(6.25deg) skewY(6.25deg);
        transform: skewX(6.25deg) skewY(6.25deg);
    }

    44.4% {
        -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
        transform: skewX(-3.125deg) skewY(-3.125deg);
    }

    55.5% {
        -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
        transform: skewX(1.5625deg) skewY(1.5625deg);
    }

    66.6% {
        -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
        transform: skewX(-0.78125deg) skewY(-0.78125deg);
    }

    77.7% {
        -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
        transform: skewX(0.390625deg) skewY(0.390625deg);
    }

    88.8% {
        -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
        transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    }
}

@keyframes jello {
    from, 11.1%, to {
        -webkit-transform: none;
        transform: none;
    }

    22.2% {
        -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
        transform: skewX(-12.5deg) skewY(-12.5deg);
    }

    33.3% {
        -webkit-transform: skewX(6.25deg) skewY(6.25deg);
        transform: skewX(6.25deg) skewY(6.25deg);
    }

    44.4% {
        -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
        transform: skewX(-3.125deg) skewY(-3.125deg);
    }

    55.5% {
        -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
        transform: skewX(1.5625deg) skewY(1.5625deg);
    }

    66.6% {
        -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
        transform: skewX(-0.78125deg) skewY(-0.78125deg);
    }

    77.7% {
        -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
        transform: skewX(0.390625deg) skewY(0.390625deg);
    }

    88.8% {
        -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
        transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    }
}

.jello {
    -webkit-animation-name: jello;
    animation-name: jello;
    -webkit-transform-origin: center;
    transform-origin: center;
}

@-webkit-keyframes bounceIn {
    from, 20%, 40%, 60%, 80%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    0% {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }

    20% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1);
    }

    40% {
        -webkit-transform: scale3d(0.9, 0.9, 0.9);
        transform: scale3d(0.9, 0.9, 0.9);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(1.03, 1.03, 1.03);
        transform: scale3d(1.03, 1.03, 1.03);
    }

    80% {
        -webkit-transform: scale3d(0.97, 0.97, 0.97);
        transform: scale3d(0.97, 0.97, 0.97);
    }

    to {
        opacity: 1;
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

@keyframes bounceIn {
    from, 20%, 40%, 60%, 80%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    0% {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }

    20% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1);
    }

    40% {
        -webkit-transform: scale3d(0.9, 0.9, 0.9);
        transform: scale3d(0.9, 0.9, 0.9);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(1.03, 1.03, 1.03);
        transform: scale3d(1.03, 1.03, 1.03);
    }

    80% {
        -webkit-transform: scale3d(0.97, 0.97, 0.97);
        transform: scale3d(0.97, 0.97, 0.97);
    }

    to {
        opacity: 1;
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

.bounceIn {
    -webkit-animation-name: bounceIn;
    animation-name: bounceIn;
}

@-webkit-keyframes bounceInDown {
    from, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -3000px, 0);
        transform: translate3d(0, -3000px, 0);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(0, 25px, 0);
        transform: translate3d(0, 25px, 0);
    }

    75% {
        -webkit-transform: translate3d(0, -10px, 0);
        transform: translate3d(0, -10px, 0);
    }

    90% {
        -webkit-transform: translate3d(0, 5px, 0);
        transform: translate3d(0, 5px, 0);
    }

    to {
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes bounceInDown {
    from, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -3000px, 0);
        transform: translate3d(0, -3000px, 0);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(0, 25px, 0);
        transform: translate3d(0, 25px, 0);
    }

    75% {
        -webkit-transform: translate3d(0, -10px, 0);
        transform: translate3d(0, -10px, 0);
    }

    90% {
        -webkit-transform: translate3d(0, 5px, 0);
        transform: translate3d(0, 5px, 0);
    }

    to {
        -webkit-transform: none;
        transform: none;
    }
}

.bounceInDown {
    -webkit-animation-name: bounceInDown;
    animation-name: bounceInDown;
}

@-webkit-keyframes bounceInLeft {
    from, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    0% {
        opacity: 0;
        -webkit-transform: translate3d(-3000px, 0, 0);
        transform: translate3d(-3000px, 0, 0);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(25px, 0, 0);
        transform: translate3d(25px, 0, 0);
    }

    75% {
        -webkit-transform: translate3d(-10px, 0, 0);
        transform: translate3d(-10px, 0, 0);
    }

    90% {
        -webkit-transform: translate3d(5px, 0, 0);
        transform: translate3d(5px, 0, 0);
    }

    to {
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes bounceInLeft {
    from, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    0% {
        opacity: 0;
        -webkit-transform: translate3d(-3000px, 0, 0);
        transform: translate3d(-3000px, 0, 0);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(25px, 0, 0);
        transform: translate3d(25px, 0, 0);
    }

    75% {
        -webkit-transform: translate3d(-10px, 0, 0);
        transform: translate3d(-10px, 0, 0);
    }

    90% {
        -webkit-transform: translate3d(5px, 0, 0);
        transform: translate3d(5px, 0, 0);
    }

    to {
        -webkit-transform: none;
        transform: none;
    }
}

.bounceInLeft {
    -webkit-animation-name: bounceInLeft;
    animation-name: bounceInLeft;
}

@-webkit-keyframes bounceInRight {
    from, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    from {
        opacity: 0;
        -webkit-transform: translate3d(3000px, 0, 0);
        transform: translate3d(3000px, 0, 0);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(-25px, 0, 0);
        transform: translate3d(-25px, 0, 0);
    }

    75% {
        -webkit-transform: translate3d(10px, 0, 0);
        transform: translate3d(10px, 0, 0);
    }

    90% {
        -webkit-transform: translate3d(-5px, 0, 0);
        transform: translate3d(-5px, 0, 0);
    }

    to {
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes bounceInRight {
    from, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    from {
        opacity: 0;
        -webkit-transform: translate3d(3000px, 0, 0);
        transform: translate3d(3000px, 0, 0);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(-25px, 0, 0);
        transform: translate3d(-25px, 0, 0);
    }

    75% {
        -webkit-transform: translate3d(10px, 0, 0);
        transform: translate3d(10px, 0, 0);
    }

    90% {
        -webkit-transform: translate3d(-5px, 0, 0);
        transform: translate3d(-5px, 0, 0);
    }

    to {
        -webkit-transform: none;
        transform: none;
    }
}

.bounceInRight {
    -webkit-animation-name: bounceInRight;
    animation-name: bounceInRight;
}

@-webkit-keyframes bounceInUp {
    from, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 3000px, 0);
        transform: translate3d(0, 3000px, 0);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0);
    }

    75% {
        -webkit-transform: translate3d(0, 10px, 0);
        transform: translate3d(0, 10px, 0);
    }

    90% {
        -webkit-transform: translate3d(0, -5px, 0);
        transform: translate3d(0, -5px, 0);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes bounceInUp {
    from, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 3000px, 0);
        transform: translate3d(0, 3000px, 0);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0);
    }

    75% {
        -webkit-transform: translate3d(0, 10px, 0);
        transform: translate3d(0, 10px, 0);
    }

    90% {
        -webkit-transform: translate3d(0, -5px, 0);
        transform: translate3d(0, -5px, 0);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.bounceInUp {
    -webkit-animation-name: bounceInUp;
    animation-name: bounceInUp;
}

@-webkit-keyframes bounceOut {
    20% {
        -webkit-transform: scale3d(0.9, 0.9, 0.9);
        transform: scale3d(0.9, 0.9, 0.9);
    }

    50%, 55% {
        opacity: 1;
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1);
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }
}

@keyframes bounceOut {
    20% {
        -webkit-transform: scale3d(0.9, 0.9, 0.9);
        transform: scale3d(0.9, 0.9, 0.9);
    }

    50%, 55% {
        opacity: 1;
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1);
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }
}

.bounceOut {
    -webkit-animation-name: bounceOut;
    animation-name: bounceOut;
}

@-webkit-keyframes bounceOutDown {
    20% {
        -webkit-transform: translate3d(0, 10px, 0);
        transform: translate3d(0, 10px, 0);
    }

    40%, 45% {
        opacity: 1;
        -webkit-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0);
    }
}

@keyframes bounceOutDown {
    20% {
        -webkit-transform: translate3d(0, 10px, 0);
        transform: translate3d(0, 10px, 0);
    }

    40%, 45% {
        opacity: 1;
        -webkit-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0);
    }
}

.bounceOutDown {
    -webkit-animation-name: bounceOutDown;
    animation-name: bounceOutDown;
}

@-webkit-keyframes bounceOutLeft {
    20% {
        opacity: 1;
        -webkit-transform: translate3d(20px, 0, 0);
        transform: translate3d(20px, 0, 0);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0);
    }
}

@keyframes bounceOutLeft {
    20% {
        opacity: 1;
        -webkit-transform: translate3d(20px, 0, 0);
        transform: translate3d(20px, 0, 0);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0);
    }
}

.bounceOutLeft {
    -webkit-animation-name: bounceOutLeft;
    animation-name: bounceOutLeft;
}

@-webkit-keyframes bounceOutRight {
    20% {
        opacity: 1;
        -webkit-transform: translate3d(-20px, 0, 0);
        transform: translate3d(-20px, 0, 0);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0);
    }
}

@keyframes bounceOutRight {
    20% {
        opacity: 1;
        -webkit-transform: translate3d(-20px, 0, 0);
        transform: translate3d(-20px, 0, 0);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0);
    }
}

.bounceOutRight {
    -webkit-animation-name: bounceOutRight;
    animation-name: bounceOutRight;
}

@-webkit-keyframes bounceOutUp {
    20% {
        -webkit-transform: translate3d(0, -10px, 0);
        transform: translate3d(0, -10px, 0);
    }

    40%, 45% {
        opacity: 1;
        -webkit-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0);
    }
}

@keyframes bounceOutUp {
    20% {
        -webkit-transform: translate3d(0, -10px, 0);
        transform: translate3d(0, -10px, 0);
    }

    40%, 45% {
        opacity: 1;
        -webkit-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0);
    }
}

.bounceOutUp {
    -webkit-animation-name: bounceOutUp;
    animation-name: bounceOutUp;
}

@-webkit-keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.fadeIn {
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn;
}

@-webkit-keyframes fadeInDown {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

.fadeInDown {
    -webkit-animation-name: fadeInDown;
    animation-name: fadeInDown;
}

@-webkit-keyframes fadeInDownBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInDownBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

.fadeInDownBig {
    -webkit-animation-name: fadeInDownBig;
    animation-name: fadeInDownBig;
}

@-webkit-keyframes fadeInLeft {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInLeft {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

.fadeInLeft {
    -webkit-animation-name: fadeInLeft;
    animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInLeftBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInLeftBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

.fadeInLeftBig {
    -webkit-animation-name: fadeInLeftBig;
    animation-name: fadeInLeftBig;
}

@-webkit-keyframes fadeInRight {
    from {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

.fadeInRight {
    -webkit-animation-name: fadeInRight;
    animation-name: fadeInRight;
}

@-webkit-keyframes fadeInRightBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInRightBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

.fadeInRightBig {
    -webkit-animation-name: fadeInRightBig;
    animation-name: fadeInRightBig;
}

@-webkit-keyframes fadeInUp {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

.fadeInUp {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInUpBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

.fadeInUpBig {
    -webkit-animation-name: fadeInUpBig;
    animation-name: fadeInUpBig;
}

@-webkit-keyframes fadeOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

.fadeOut {
    -webkit-animation-name: fadeOut;
    animation-name: fadeOut;
}

@-webkit-keyframes fadeOutDown {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }
}

@keyframes fadeOutDown {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }
}

.fadeOutDown {
    -webkit-animation-name: fadeOutDown;
    animation-name: fadeOutDown;
}

@-webkit-keyframes fadeOutDownBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0);
    }
}

@keyframes fadeOutDownBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0);
    }
}

.fadeOutDownBig {
    -webkit-animation-name: fadeOutDownBig;
    animation-name: fadeOutDownBig;
}

@-webkit-keyframes fadeOutLeft {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }
}

@keyframes fadeOutLeft {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }
}

.fadeOutLeft {
    -webkit-animation-name: fadeOutLeft;
    animation-name: fadeOutLeft;
}

@-webkit-keyframes fadeOutLeftBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0);
    }
}

@keyframes fadeOutLeftBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0);
    }
}

.fadeOutLeftBig {
    -webkit-animation-name: fadeOutLeftBig;
    animation-name: fadeOutLeftBig;
}

@-webkit-keyframes fadeOutRight {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }
}

@keyframes fadeOutRight {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }
}

.fadeOutRight {
    -webkit-animation-name: fadeOutRight;
    animation-name: fadeOutRight;
}

@-webkit-keyframes fadeOutRightBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0);
    }
}

@keyframes fadeOutRightBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0);
    }
}

.fadeOutRightBig {
    -webkit-animation-name: fadeOutRightBig;
    animation-name: fadeOutRightBig;
}

@-webkit-keyframes fadeOutUp {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }
}

@keyframes fadeOutUp {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }
}

.fadeOutUp {
    -webkit-animation-name: fadeOutUp;
    animation-name: fadeOutUp;
}

@-webkit-keyframes fadeOutUpBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0);
    }
}

@keyframes fadeOutUpBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0);
    }
}

.fadeOutUpBig {
    -webkit-animation-name: fadeOutUpBig;
    animation-name: fadeOutUpBig;
}

@-webkit-keyframes flip {
    from {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
        transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    40% {
        -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
        transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    50% {
        -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
        transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    80% {
        -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
        transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }
}

@keyframes flip {
    from {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
        transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    40% {
        -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
        transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    50% {
        -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
        transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    80% {
        -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
        transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }
}

.animated.flip {
    -webkit-backface-visibility: visible;
    backface-visibility: visible;
    -webkit-animation-name: flip;
    animation-name: flip;
}

@-webkit-keyframes flipInX {
    from {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 0;
    }

    40% {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    60% {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
        transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
        opacity: 1;
    }

    80% {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
        transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    }

    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }
}

@keyframes flipInX {
    from {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 0;
    }

    40% {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    60% {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
        transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
        opacity: 1;
    }

    80% {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
        transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    }

    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }
}

.flipInX {
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
    -webkit-animation-name: flipInX;
    animation-name: flipInX;
}

@-webkit-keyframes flipInY {
    from {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
        transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 0;
    }

    40% {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
        transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    60% {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
        transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
        opacity: 1;
    }

    80% {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
        transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    }

    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }
}

@keyframes flipInY {
    from {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
        transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 0;
    }

    40% {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
        transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    60% {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
        transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
        opacity: 1;
    }

    80% {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
        transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    }

    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }
}

.flipInY {
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
    -webkit-animation-name: flipInY;
    animation-name: flipInY;
}

@-webkit-keyframes flipOutX {
    from {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }

    30% {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        opacity: 1;
    }

    to {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        opacity: 0;
    }
}

@keyframes flipOutX {
    from {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }

    30% {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        opacity: 1;
    }

    to {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        opacity: 0;
    }
}

.flipOutX {
    -webkit-animation-name: flipOutX;
    animation-name: flipOutX;
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
}

@-webkit-keyframes flipOutY {
    from {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }

    30% {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
        transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
        opacity: 1;
    }

    to {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
        transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
        opacity: 0;
    }
}

@keyframes flipOutY {
    from {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }

    30% {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
        transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
        opacity: 1;
    }

    to {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
        transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
        opacity: 0;
    }
}

.flipOutY {
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
    -webkit-animation-name: flipOutY;
    animation-name: flipOutY;
}

@-webkit-keyframes lightSpeedIn {
    from {
        -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
        transform: translate3d(100%, 0, 0) skewX(-30deg);
        opacity: 0;
    }

    60% {
        -webkit-transform: skewX(20deg);
        transform: skewX(20deg);
        opacity: 1;
    }

    80% {
        -webkit-transform: skewX(-5deg);
        transform: skewX(-5deg);
        opacity: 1;
    }

    to {
        -webkit-transform: none;
        transform: none;
        opacity: 1;
    }
}

@keyframes lightSpeedIn {
    from {
        -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
        transform: translate3d(100%, 0, 0) skewX(-30deg);
        opacity: 0;
    }

    60% {
        -webkit-transform: skewX(20deg);
        transform: skewX(20deg);
        opacity: 1;
    }

    80% {
        -webkit-transform: skewX(-5deg);
        transform: skewX(-5deg);
        opacity: 1;
    }

    to {
        -webkit-transform: none;
        transform: none;
        opacity: 1;
    }
}

.lightSpeedIn {
    -webkit-animation-name: lightSpeedIn;
    animation-name: lightSpeedIn;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
}

@-webkit-keyframes lightSpeedOut {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
        transform: translate3d(100%, 0, 0) skewX(30deg);
        opacity: 0;
    }
}

@keyframes lightSpeedOut {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
        transform: translate3d(100%, 0, 0) skewX(30deg);
        opacity: 0;
    }
}

.lightSpeedOut {
    -webkit-animation-name: lightSpeedOut;
    animation-name: lightSpeedOut;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
}

@-webkit-keyframes rotateIn {
    from {
        -webkit-transform-origin: center;
        transform-origin: center;
        -webkit-transform: rotate3d(0, 0, 1, -200deg);
        transform: rotate3d(0, 0, 1, -200deg);
        opacity: 0;
    }

    to {
        -webkit-transform-origin: center;
        transform-origin: center;
        -webkit-transform: none;
        transform: none;
        opacity: 1;
    }
}

@keyframes rotateIn {
    from {
        -webkit-transform-origin: center;
        transform-origin: center;
        -webkit-transform: rotate3d(0, 0, 1, -200deg);
        transform: rotate3d(0, 0, 1, -200deg);
        opacity: 0;
    }

    to {
        -webkit-transform-origin: center;
        transform-origin: center;
        -webkit-transform: none;
        transform: none;
        opacity: 1;
    }
}

.rotateIn {
    -webkit-animation-name: rotateIn;
    animation-name: rotateIn;
}

@-webkit-keyframes rotateInDownLeft {
    from {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate3d(0, 0, 1, -45deg);
        transform: rotate3d(0, 0, 1, -45deg);
        opacity: 0;
    }

    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: none;
        transform: none;
        opacity: 1;
    }
}

@keyframes rotateInDownLeft {
    from {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate3d(0, 0, 1, -45deg);
        transform: rotate3d(0, 0, 1, -45deg);
        opacity: 0;
    }

    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: none;
        transform: none;
        opacity: 1;
    }
}

.rotateInDownLeft {
    -webkit-animation-name: rotateInDownLeft;
    animation-name: rotateInDownLeft;
}

@-webkit-keyframes rotateInDownRight {
    from {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate3d(0, 0, 1, 45deg);
        transform: rotate3d(0, 0, 1, 45deg);
        opacity: 0;
    }

    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: none;
        transform: none;
        opacity: 1;
    }
}

@keyframes rotateInDownRight {
    from {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate3d(0, 0, 1, 45deg);
        transform: rotate3d(0, 0, 1, 45deg);
        opacity: 0;
    }

    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: none;
        transform: none;
        opacity: 1;
    }
}

.rotateInDownRight {
    -webkit-animation-name: rotateInDownRight;
    animation-name: rotateInDownRight;
}

@-webkit-keyframes rotateInUpLeft {
    from {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate3d(0, 0, 1, 45deg);
        transform: rotate3d(0, 0, 1, 45deg);
        opacity: 0;
    }

    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: none;
        transform: none;
        opacity: 1;
    }
}

@keyframes rotateInUpLeft {
    from {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate3d(0, 0, 1, 45deg);
        transform: rotate3d(0, 0, 1, 45deg);
        opacity: 0;
    }

    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: none;
        transform: none;
        opacity: 1;
    }
}

.rotateInUpLeft {
    -webkit-animation-name: rotateInUpLeft;
    animation-name: rotateInUpLeft;
}

@-webkit-keyframes rotateInUpRight {
    from {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate3d(0, 0, 1, -90deg);
        transform: rotate3d(0, 0, 1, -90deg);
        opacity: 0;
    }

    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: none;
        transform: none;
        opacity: 1;
    }
}

@keyframes rotateInUpRight {
    from {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate3d(0, 0, 1, -90deg);
        transform: rotate3d(0, 0, 1, -90deg);
        opacity: 0;
    }

    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: none;
        transform: none;
        opacity: 1;
    }
}

.rotateInUpRight {
    -webkit-animation-name: rotateInUpRight;
    animation-name: rotateInUpRight;
}

@-webkit-keyframes rotateOut {
    from {
        -webkit-transform-origin: center;
        transform-origin: center;
        opacity: 1;
    }

    to {
        -webkit-transform-origin: center;
        transform-origin: center;
        -webkit-transform: rotate3d(0, 0, 1, 200deg);
        transform: rotate3d(0, 0, 1, 200deg);
        opacity: 0;
    }
}

@keyframes rotateOut {
    from {
        -webkit-transform-origin: center;
        transform-origin: center;
        opacity: 1;
    }

    to {
        -webkit-transform-origin: center;
        transform-origin: center;
        -webkit-transform: rotate3d(0, 0, 1, 200deg);
        transform: rotate3d(0, 0, 1, 200deg);
        opacity: 0;
    }
}

.rotateOut {
    -webkit-animation-name: rotateOut;
    animation-name: rotateOut;
}

@-webkit-keyframes rotateOutDownLeft {
    from {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        opacity: 1;
    }

    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate3d(0, 0, 1, 45deg);
        transform: rotate3d(0, 0, 1, 45deg);
        opacity: 0;
    }
}

@keyframes rotateOutDownLeft {
    from {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        opacity: 1;
    }

    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate3d(0, 0, 1, 45deg);
        transform: rotate3d(0, 0, 1, 45deg);
        opacity: 0;
    }
}

.rotateOutDownLeft {
    -webkit-animation-name: rotateOutDownLeft;
    animation-name: rotateOutDownLeft;
}

@-webkit-keyframes rotateOutDownRight {
    from {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        opacity: 1;
    }

    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate3d(0, 0, 1, -45deg);
        transform: rotate3d(0, 0, 1, -45deg);
        opacity: 0;
    }
}

@keyframes rotateOutDownRight {
    from {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        opacity: 1;
    }

    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate3d(0, 0, 1, -45deg);
        transform: rotate3d(0, 0, 1, -45deg);
        opacity: 0;
    }
}

.rotateOutDownRight {
    -webkit-animation-name: rotateOutDownRight;
    animation-name: rotateOutDownRight;
}

@-webkit-keyframes rotateOutUpLeft {
    from {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        opacity: 1;
    }

    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate3d(0, 0, 1, -45deg);
        transform: rotate3d(0, 0, 1, -45deg);
        opacity: 0;
    }
}

@keyframes rotateOutUpLeft {
    from {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        opacity: 1;
    }

    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate3d(0, 0, 1, -45deg);
        transform: rotate3d(0, 0, 1, -45deg);
        opacity: 0;
    }
}

.rotateOutUpLeft {
    -webkit-animation-name: rotateOutUpLeft;
    animation-name: rotateOutUpLeft;
}

@-webkit-keyframes rotateOutUpRight {
    from {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        opacity: 1;
    }

    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate3d(0, 0, 1, 90deg);
        transform: rotate3d(0, 0, 1, 90deg);
        opacity: 0;
    }
}

@keyframes rotateOutUpRight {
    from {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        opacity: 1;
    }

    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate3d(0, 0, 1, 90deg);
        transform: rotate3d(0, 0, 1, 90deg);
        opacity: 0;
    }
}

.rotateOutUpRight {
    -webkit-animation-name: rotateOutUpRight;
    animation-name: rotateOutUpRight;
}

@-webkit-keyframes hinge {
    0% {
        -webkit-transform-origin: top left;
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
    }

    20%, 60% {
        -webkit-transform: rotate3d(0, 0, 1, 80deg);
        transform: rotate3d(0, 0, 1, 80deg);
        -webkit-transform-origin: top left;
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
    }

    40%, 80% {
        -webkit-transform: rotate3d(0, 0, 1, 60deg);
        transform: rotate3d(0, 0, 1, 60deg);
        -webkit-transform-origin: top left;
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
        opacity: 1;
    }

    to {
        -webkit-transform: translate3d(0, 700px, 0);
        transform: translate3d(0, 700px, 0);
        opacity: 0;
    }
}

@keyframes hinge {
    0% {
        -webkit-transform-origin: top left;
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
    }

    20%, 60% {
        -webkit-transform: rotate3d(0, 0, 1, 80deg);
        transform: rotate3d(0, 0, 1, 80deg);
        -webkit-transform-origin: top left;
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
    }

    40%, 80% {
        -webkit-transform: rotate3d(0, 0, 1, 60deg);
        transform: rotate3d(0, 0, 1, 60deg);
        -webkit-transform-origin: top left;
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
        opacity: 1;
    }

    to {
        -webkit-transform: translate3d(0, 700px, 0);
        transform: translate3d(0, 700px, 0);
        opacity: 0;
    }
}

.hinge {
    -webkit-animation-name: hinge;
    animation-name: hinge;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
        transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    }

    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes rollIn {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
        transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    }

    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

.rollIn {
    -webkit-animation-name: rollIn;
    animation-name: rollIn;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
        transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    }
}

@keyframes rollOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
        transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    }
}

.rollOut {
    -webkit-animation-name: rollOut;
    animation-name: rollOut;
}

@-webkit-keyframes zoomIn {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }

    50% {
        opacity: 1;
    }
}

@keyframes zoomIn {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }

    50% {
        opacity: 1;
    }
}

.zoomIn {
    -webkit-animation-name: zoomIn;
    animation-name: zoomIn;
}

@-webkit-keyframes zoomInDown {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

@keyframes zoomInDown {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

.zoomInDown {
    -webkit-animation-name: zoomInDown;
    animation-name: zoomInDown;
}

@-webkit-keyframes zoomInLeft {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

@keyframes zoomInLeft {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

.zoomInLeft {
    -webkit-animation-name: zoomInLeft;
    animation-name: zoomInLeft;
}

@-webkit-keyframes zoomInRight {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

@keyframes zoomInRight {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

.zoomInRight {
    -webkit-animation-name: zoomInRight;
    animation-name: zoomInRight;
}

@-webkit-keyframes zoomInUp {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

@keyframes zoomInUp {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

.zoomInUp {
    -webkit-animation-name: zoomInUp;
    animation-name: zoomInUp;
}

@-webkit-keyframes zoomOut {
    from {
        opacity: 1;
    }

    50% {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }

    to {
        opacity: 0;
    }
}

@keyframes zoomOut {
    from {
        opacity: 1;
    }

    50% {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }

    to {
        opacity: 0;
    }
}

.zoomOut {
    -webkit-animation-name: zoomOut;
    animation-name: zoomOut;
}

@-webkit-keyframes zoomOutDown {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

@keyframes zoomOutDown {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

.zoomOutDown {
    -webkit-animation-name: zoomOutDown;
    animation-name: zoomOutDown;
}

@-webkit-keyframes zoomOutLeft {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    }

    to {
        opacity: 0;
        -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
        transform: scale(0.1) translate3d(-2000px, 0, 0);
        -webkit-transform-origin: left center;
        transform-origin: left center;
    }
}

@keyframes zoomOutLeft {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    }

    to {
        opacity: 0;
        -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
        transform: scale(0.1) translate3d(-2000px, 0, 0);
        -webkit-transform-origin: left center;
        transform-origin: left center;
    }
}

.zoomOutLeft {
    -webkit-animation-name: zoomOutLeft;
    animation-name: zoomOutLeft;
}

@-webkit-keyframes zoomOutRight {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    }

    to {
        opacity: 0;
        -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
        transform: scale(0.1) translate3d(2000px, 0, 0);
        -webkit-transform-origin: right center;
        transform-origin: right center;
    }
}

@keyframes zoomOutRight {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    }

    to {
        opacity: 0;
        -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
        transform: scale(0.1) translate3d(2000px, 0, 0);
        -webkit-transform-origin: right center;
        transform-origin: right center;
    }
}

.zoomOutRight {
    -webkit-animation-name: zoomOutRight;
    animation-name: zoomOutRight;
}

@-webkit-keyframes zoomOutUp {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

@keyframes zoomOutUp {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

.zoomOutUp {
    -webkit-animation-name: zoomOutUp;
    animation-name: zoomOutUp;
}

@-webkit-keyframes slideInDown {
    from {
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes slideInDown {
    from {
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.slideInDown {
    -webkit-animation-name: slideInDown;
    animation-name: slideInDown;
}

@-webkit-keyframes slideInLeft {
    from {
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes slideInLeft {
    from {
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.slideInLeft {
    -webkit-animation-name: slideInLeft;
    animation-name: slideInLeft;
}

@-webkit-keyframes slideInRight {
    from {
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes slideInRight {
    from {
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.slideInRight {
    -webkit-animation-name: slideInRight;
    animation-name: slideInRight;
}

@-webkit-keyframes slideInUp {
    from {
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes slideInUp {
    from {
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.slideInUp {
    -webkit-animation-name: slideInUp;
    animation-name: slideInUp;
}

@-webkit-keyframes slideOutDown {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }
}

@keyframes slideOutDown {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }
}

.slideOutDown {
    -webkit-animation-name: slideOutDown;
    animation-name: slideOutDown;
}

@-webkit-keyframes slideOutLeft {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }
}

@keyframes slideOutLeft {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }
}

.slideOutLeft {
    -webkit-animation-name: slideOutLeft;
    animation-name: slideOutLeft;
}

@-webkit-keyframes slideOutRight {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }
}

@keyframes slideOutRight {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }
}

.slideOutRight {
    -webkit-animation-name: slideOutRight;
    animation-name: slideOutRight;
}

@-webkit-keyframes slideOutUp {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }
}

@keyframes slideOutUp {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }
}

.slideOutUp {
    -webkit-animation-name: slideOutUp;
    animation-name: slideOutUp;
}

/* Slider */
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0;
}

    .slick-list:focus {
        outline: none;
    }

    .slick-list.dragging {
        cursor: pointer;
        cursor: hand;
    }

.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
}

    .slick-track:before, .slick-track:after {
        content: "";
        display: table;
    }

    .slick-track:after {
        clear: both;
    }

.slick-loading .slick-track {
    visibility: hidden;
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    display: none;
}

[dir="rtl"] .slick-slide {
    float: right;
}

.slick-slide img {
    display: block;
}

.slick-slide.slick-loading img {
    display: none;
}

.slick-slide.dragging img {
    pointer-events: none;
}

.slick-initialized .slick-slide {
    display: block;
}

.slick-loading .slick-slide {
    visibility: hidden;
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
    display: none;
}

@font-face {
    font-family: "AvenirNextLTW01-Regular";
    src: url("Fonts/e9167238-3b3f-4813-a04a-a384394eed42.eot?#iefix");
    src: url("Fonts/e9167238-3b3f-4813-a04a-a384394eed42.eot?#iefix") format("eot"), url("Fonts/2cd55546-ec00-4af9-aeca-4a3cd186da53.woff2") format("woff2"), url("Fonts/1e9892c0-6927-4412-9874-1b82801ba47a.woff") format("woff"), url("Fonts/46cf1067-688d-4aab-b0f7-bd942af6efd8.ttf") format("truetype"), url("Fonts/52a192b1-bea5-4b48-879f-107f009b666f.svg#52a192b1-bea5-4b48-879f-107f009b666f") format("svg");
}

@font-face {
    font-family: "AvenirNextLTW01-Italic";
    src: url("Fonts/d1fddef1-d940-4904-8f6c-17e809462301.eot?#iefix");
    src: url("Fonts/d1fddef1-d940-4904-8f6c-17e809462301.eot?#iefix") format("eot"), url("Fonts/7377dbe6-f11a-4a05-b33c-bc8ce1f60f84.woff2") format("woff2"), url("Fonts/92b66dbd-4201-4ac2-a605-4d4ffc8705cc.woff") format("woff"), url("Fonts/18839597-afa8-4f0b-9abb-4a30262d0da8.ttf") format("truetype"), url("Fonts/1de7e6f4-9d4d-47e7-ab23-7d5cf10ab585.svg#1de7e6f4-9d4d-47e7-ab23-7d5cf10ab585") format("svg");
}

@font-face {
    font-family: "AvenirNextLTW01-Medium";
    src: url("Fonts/1a7c9181-cd24-4943-a9d9-d033189524e0.eot?#iefix");
    src: url("Fonts/1a7c9181-cd24-4943-a9d9-d033189524e0.eot?#iefix") format("eot"), url("Fonts/627fbb5a-3bae-4cd9-b617-2f923e29d55e.woff2") format("woff2"), url("Fonts/f26faddb-86cc-4477-a253-1e1287684336.woff") format("woff"), url("Fonts/63a74598-733c-4d0c-bd91-b01bffcd6e69.ttf") format("truetype"), url("Fonts/a89d6ad1-a04f-4a8f-b140-e55478dbea80.svg#a89d6ad1-a04f-4a8f-b140-e55478dbea80") format("svg");
}

@font-face {
    font-family: "Avenir Next LT W01 Demi";
    src: url("Fonts/12d643f2-3899-49d5-a85b-ff430f5fad15.eot?#iefix");
    src: url("Fonts/12d643f2-3899-49d5-a85b-ff430f5fad15.eot?#iefix") format("eot"), url("Fonts/aad99a1f-7917-4dd6-bbb5-b07cedbff64f.woff2") format("woff2"), url("Fonts/91b50bbb-9aa1-4d54-9159-ec6f19d14a7c.woff") format("woff"), url("Fonts/a0f4c2f9-8a42-4786-ad00-fce42b57b148.ttf") format("truetype"), url("Fonts/99affa9a-a5e9-4559-bd07-20cf0071852d.svg#99affa9a-a5e9-4559-bd07-20cf0071852d") format("svg");
}

@font-face {
    font-family: "Avenir Next LT W01 Bold";
    src: url("Fonts/dccb10af-07a2-404c-bfc7-7750e2716bc1.eot?#iefix");
    src: url("Fonts/dccb10af-07a2-404c-bfc7-7750e2716bc1.eot?#iefix") format("eot"), url("Fonts/14c73713-e4df-4dba-933b-057feeac8dd1.woff2") format("woff2"), url("Fonts/b8e906a1-f5e8-4bf1-8e80-82c646ca4d5f.woff") format("woff"), url("Fonts/890bd988-5306-43ff-bd4b-922bc5ebdeb4.ttf") format("truetype"), url("Fonts/ed104d8c-7f39-4e8b-90a9-4076be06b857.svg#ed104d8c-7f39-4e8b-90a9-4076be06b857") format("svg");
}

.row {
    max-width: 90rem;
}

ul, ol {
    list-style-type: none;
    margin: 0;
}

body {
    overflow-x: hidden;
}

@media screen and (max-width: 61.875em) {
    body.menu-open {
        overflow: hidden;
    }
}

h1, h2, h3, h4, h5 {
    font-family: "Avenir Next LT W01 Demi";
}

a {
    font-family: "Avenir Next LT W01 Demi";
}

p {
    font-family: "AvenirNextLTW01-Regular";
    color: #000;
}

    p i {
        font-family: "AvenirNextLTW01-Italic";
    }

    p a {
        color: #5765ce;
    }

a.button {
    font-family: "AvenirNextLTW01-Medium";
    border-radius: 80px;
    background-color: #5765ce;
    text-transform: uppercase;
    font-size: 1.125rem;
    line-height: 1.125rem;
    padding: 0.875rem 3.875rem;
    -webkit-transition: border-color 0.3s, color 0.3s;
    transition: border-color 0.3s, color 0.3s;
    -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
    transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
    position: relative;
    overflow: hidden;
    z-index: 1;
    border-color: #5765ce;
}

    a.button:focus {
        background-color: #5765ce;
    }

    a.button.white {
        background: #fff;
        border-color: #fff;
        color: #5765ce;
    }

        a.button.white:focus {
            background-color: #fff;
        }

    a.button:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 150%;
        height: 100%;
        background: #fff;
        z-index: -1;
        -webkit-transform: rotate3d(0, 0, 1, -45deg) translate3d(0, -3em, 0);
        transform: rotate3d(0, 0, 1, -45deg) translate3d(0, -3em, 0);
        -webkit-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transition: -webkit-transform 0.3s, opacity 0.3s, background-color 0.3s;
        transition: transform 0.3s, opacity 0.3s, background-color 0.3s;
    }

    a.button.white:before {
        background: #ebebeb;
    }

    a.button:hover {
        background-color: #5765ce;
        border-color: #3f51b5;
    }

        a.button:hover:before {
            opacity: 1;
            background-color: #3f51b5;
            -webkit-transform: rotate3d(0, 0, 1, 0deg);
            transform: rotate3d(0, 0, 1, 0deg);
            -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
            transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
        }

    a.button.white:hover {
        background-color: #fff;
        border-color: #ebebeb;
    }

        a.button.white:hover:before {
            background-color: #ebebeb;
        }

    a.button.button-secondary {
        background-color: #1bc9e4;
        border-color: #1bc9e4;
    }

        a.button.button-secondary:hover {
            background-color: #1bc9e4;
            border-color: #18b5cd;
        }

            a.button.button-secondary:hover:before {
                background-color: #18b5cd;
            }

@media screen and (min-width: 40.0625em) {
    a.button {
        font-size: 1.25rem;
        line-height: 1.25rem;
    }
}

video#bgvid {
    position: fixed;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: -100;
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    background-size: cover;
}

header {
    float: left;
    width: 100%;
    background: #f5f7fa;
    border-bottom: 3px solid #1bc9e4;
}

@media screen and (max-width: 61.875em) {
    header {
        background: #343434;
    }

        header .columns.shrink {
            display: none;
        }
}

header .mobile-header {
    float: left;
    width: 100%;
}

    header .mobile-header .logo {
        position: absolute;
        position: relative;
        left: 50%;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        transform: translateX(-50%);
        padding: 0.75rem 0;
    }

        header .mobile-header .logo img {
            max-width: 10.375rem;
        }

    header .mobile-header .menu {
        float: left;
        height: 2rem;
        width: 2rem;
        position: absolute;
        z-index: 99;
        top: 0.875rem;
        left: 0.9375rem;
    }

        header .mobile-header .menu span:after {
            content: '';
            position: absolute;
            display: block;
            width: 100%;
            height: 2px;
            background: #fff;
            top: 7px;
            right: 0;
            box-shadow: 0 10px 0 #fff, 0 20px 0 #fff;
        }

        header .mobile-header .menu.open span:after {
            content: 'x';
            box-shadow: none;
            background: transparent;
            font-size: 4.125rem;
            color: #fff;
            font-family: "AvenirNextLTW01-Regular";
            top: -40px;
        }

    header .mobile-header .cart {
        float: right;
        margin: 1rem 0.9375rem 0 1.25rem;
    }

@media screen and (max-width: 26.25em) {
    header .mobile-header .cart {
        margin-left: 0.625rem;
    }
}

header .mobile-header .cart svg {
    height: 2rem;
    width: 2rem;
}

header .mobile-header .account {
    float: right;
    margin: 1rem 0 0;
}

    header .mobile-header .account svg {
        height: 1.75rem;
        width: 1.75rem;
    }

@media screen and (min-width: 61.875em) {
    header .mobile-header {
        display: none;
    }
}

header .logo {
    float: left;
    background: #343434;
    padding: 1.25rem;
    position: relative;
}

    header .logo:before {
        content: '';
        background: #343434;
        height: 100%;
        width: 10000%;
        float: left;
        right: 18.25rem;
        position: absolute;
        top: 0;
    }

header .top {
    float: left;
    width: 100%;
}

    header .top ul {
        float: right;
    }

        header .top ul li {
            float: left;
            position: relative;
        }

            header .top ul li a {
                color: #fff;
                text-align: center;
                font-size: 0.75rem;
                padding: 0.9375rem;
                background: #343434;
                float: left;
                text-transform: uppercase;
                border-right: 1px solid #000000;
            }

            header .top ul li:nth-child(4) svg {
                float: left;
                margin-top: 0.25rem;
                margin-bottom: 0.125rem;
            }

            header .top ul li:nth-child(5) a, header .top ul li:nth-child(6) a {
                background: #5765ce;
                color: #000;
                text-transform: none;
                border-right: 1px solid #606ddd;
            }

                header .top ul li:nth-child(5) a svg, header .top ul li:nth-child(6) a svg {
                    margin: 0.125rem 0.625rem 0 0;
                    float: left;
                }

            header .top ul li:nth-child(6) {
                position: relative;
            }

                header .top ul li:nth-child(6) a {
                    border-right: none;
                }

                header .top ul li:nth-child(6):after {
                    content: '';
                    background: #5765ce;
                    height: 100%;
                    width: 10000%;
                    float: right;
                    left: 5rem;
                    position: absolute;
                    top: 0;
                }

            header .top ul li .search-box {
                float: left;
                position: relative;
                min-height: 3.0625rem;
                background: #343434;
                margin-right: -2.6875rem;
                padding-right: 0.9375rem;
                width: 0;
                overflow: hidden;
            }

                header .top ul li .search-box .search-input {
                    float: left;
                    background: transparent;
                    border: none;
                    border-bottom: 1px solid #606ddd;
                    color: #aab2bd;
                    padding: 0.1875rem 1.25rem 0.1875rem 0;
                    height: auto;
                    font-size: 0.75rem;
                    box-shadow: none;
                    margin: 0.9375rem 0 0 0.9375rem;
                    z-index: 999;
                    position: relative;
                    width: 16.25rem;
                }

@media screen and (max-width: 75em) {
    header .top ul li .search-box .search-input {
        width: 12.5rem;
        font-size: 1rem;
    }
}

header .top ul li .search-box .search-icon {
    outline: none;
    border: none;
    background: url("../img/search.svg");
    background-size: cover;
    float: right;
    height: 0.75rem;
    width: 0.75rem;
    position: absolute;
    right: 0.9375rem;
    top: 1.125rem;
}

@media screen and (max-width: 61.875em) {
    header .top ul {
        display: none;
    }
}

header .bottom {
    float: left;
    width: 100%;
    border-top: 1px solid #ebebeb;
    padding: 0.8125rem;
    position: relative;
}

@media screen and (max-width: 61.875em) {
    header .bottom {
        border-top: 0;
        position: absolute;
        left: 0;
        width: 100%;
        padding: 0;
    }
}

header .bottom ul {
    float: left;
}

    header .bottom ul li {
        float: left;
        margin-right: 1.875rem;
    }

        header .bottom ul li a {
            font-family: "AvenirNextLTW01-Regular";
            color: #000;
            position: relative;
        }

            header .bottom ul li a.active:before {
                content: '';
                background: #1bc9e4;
                width: 100%;
                height: 0.1875rem;
                position: absolute;
                top: -1.0625rem;
                left: 0;
            }

@media screen and (max-width: 85em) {
    header .bottom ul li a {
        font-size: 0.875rem;
    }

        header .bottom ul li a.active:before {
            top: -1.1875rem;
        }
}

@media screen and (min-width: 40.0625em) and (max-width: 64em) {
    header .bottom ul li a {
        font-size: 0.8125rem;
    }

        header .bottom ul li a.active:before {
            top: -1.25rem;
        }
}

@media screen and (max-width: 61.875em) {
    header .bottom ul {
        display: none;
    }
}

header .bottom .nav-drawer {
    position: absolute;
    z-index: 9999;
    top: 3.3125rem;
    left: -16.375rem;
    padding: 1.25rem 10% 0.75rem;
    display: none;
    overflow: visible !important;
}

@media screen and (min-width: 61.9375em) {
    header .bottom .nav-drawer .call {
        display: none;
    }

    header .bottom .nav-drawer .controls {
        display: mone;
    }
}

header .bottom .nav-drawer .controls {
    display: none;
}

@media screen and (max-width: 61.875em) {
    header .bottom .nav-drawer {
        height: 0;
        overflow: hidden;
        display: inline;
        padding: 0;
        background: #343434;
        width: 100%;
        left: 0;
        top: 67px;
        -moz-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease;
    }

        header .bottom .nav-drawer:before {
            display: none;
        }

        header .bottom .nav-drawer.mob-open {
            height: calc(100vh - 67px);
            overflow-y: auto !important;
        }

            header .bottom .nav-drawer.mob-open.sub {
                overflow: hidden !important;
            }

            header .bottom .nav-drawer.mob-open .call {
                display: inline;
                color: #fff;
                float: left;
                width: 100%;
                text-align: center;
                font-size: 1.375rem;
                padding: 0.5rem 1.875rem;
                border-bottom: 3px solid #1bc9e4;
            }

            header .bottom .nav-drawer.mob-open .controls {
                display: inline;
                float: left;
                width: 100%;
                padding: 0.3125rem 1.875rem 1.25rem;
            }

                header .bottom .nav-drawer.mob-open .controls li {
                    float: left;
                    width: 100%;
                    padding: 0.9375rem 0.9375rem 0;
                }

                    header .bottom .nav-drawer.mob-open .controls li a {
                        color: #fff;
                        font-size: 1rem;
                    }

                    header .bottom .nav-drawer.mob-open .controls li:not(:nth-child(9)):not(:nth-child(10)) a:after {
                        content: url("../img/link-arrows.svg");
                        vertical-align: sub;
                        margin: 0 0 0 0.4375rem;
                        -moz-transition: all 0.5s ease;
                        -webkit-transition: all 0.5s ease;
                        transition: all 0.5s ease;
                    }

                    header .bottom .nav-drawer.mob-open .controls li:not(:nth-child(9)):not(:nth-child(10)) a:hover:after {
                        margin: 0 0 0 0.75rem;
                    }
}

header .bottom .nav-drawer:before {
    content: '';
    height: 100%;
    width: 160vw;
    background: #fff;
    position: absolute;
    left: -50vw;
    top: 0;
}

header .bottom .nav-drawer .inner {
    position: relative;
    float: left;
    width: 100%;
    display: none;
    z-index: 99;
}

@media screen and (min-width: 61.9375em) {
    header .bottom .nav-drawer .inner.mob-only {
        display: none;
    }

    header .bottom .nav-drawer .inner .menu-title, header .bottom .nav-drawer .inner .back {
        display: none;
    }
}

header .bottom .nav-drawer .inner.active {
    display: inline;
}

header .bottom .nav-drawer .inner ul {
    float: left;
    width: 100%;
    margin-top: 0.75rem;
}

    header .bottom .nav-drawer .inner ul li {
        float: left;
        width: 100%;
    }

        header .bottom .nav-drawer .inner ul li p {
            margin: 0;
        }

        header .bottom .nav-drawer .inner ul li a {
            line-height: 1.86;
            color: #343434;
            font-size: 0.875rem;
            font-family: "Avenir Next LT W01 Demi";
            -moz-transition: all 0.5s ease;
            -webkit-transition: all 0.5s ease;
            transition: all 0.5s ease;
        }

            header .bottom .nav-drawer .inner ul li a:hover {
                color: #5765ce;
            }

header .bottom .nav-drawer .inner h3 {
    font-family: "Avenir Next LT W01 Demi";
    color: #000;
    font-size: 1.125rem;
    margin: 0.4375rem 0 0.125rem;
}

header .bottom .nav-drawer .inner p {
    font-size: 0.875rem;
    color: #000;
}

    header .bottom .nav-drawer .inner p.header {
        font-family: "Avenir Next LT W01 Demi";
    }

header .bottom .nav-drawer .inner ul.contact li a {
    font-family: "AvenirNextLTW01-Regular";
    line-height: 1em;
}

header .bottom .nav-drawer .inner ul.contact li p {
    margin-bottom: 0;
}

    header .bottom .nav-drawer .inner ul.contact li p.header {
        margin-top: 0.5rem;
        line-height: 1em;
    }

header .bottom .nav-drawer .inner ul.contact li:first-of-type p.header {
    position: relative;
    padding-bottom: 0.4375rem;
    margin-top: 0;
    margin-bottom: 0.1875rem;
}

    header .bottom .nav-drawer .inner ul.contact li:first-of-type p.header:after {
        content: '';
        background: #f75573;
        float: left;
        width: 1.25rem;
        height: 0.1875rem;
        position: absolute;
        bottom: -0.0625rem;
        left: 0;
    }

header .bottom .nav-drawer .inner ul.contact li:last-of-type {
    margin-bottom: 0.625rem;
}

header .bottom .nav-drawer .inner a.more {
    font-size: 0.875rem;
    margin: 0;
    color: #000;
    font-family: "Avenir Next LT W01 Demi";
    text-transform: uppercase;
}

    header .bottom .nav-drawer .inner a.more:after {
        content: url("../img/header-arrows.png");
        vertical-align: text-top;
        margin: 0 0 0 0.4375rem;
        -moz-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease;
    }

    header .bottom .nav-drawer .inner a.more:hover:after {
        margin: 0 0 0 0.75rem;
    }

@media screen and (max-width: 61.875em) {
    header .bottom .nav-drawer .inner {
        width: 0;
        position: absolute;
        right: 0;
        top: 0;
        overflow-x: hidden;
        -moz-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease;
        z-index: 9999;
    }

        header .bottom .nav-drawer .inner .img-blk {
            display: none;
        }

        header .bottom .nav-drawer .inner.active {
            border-left: 1px solid #1bc9e4;
            width: calc(100vw - 20px);
            background: #343434;
            height: 100%;
        }

            header .bottom .nav-drawer .inner.active .row {
                margin-left: auto;
                margin-right: auto;
            }

            header .bottom .nav-drawer .inner.active ul li a, header .bottom .nav-drawer .inner.active ul li p {
                color: #fff;
            }

            header .bottom .nav-drawer .inner.active .columns:last-of-type {
                margin-top: 0.9375rem;
                padding-top: 0.3125rem;
                border-top: 1px solid #1bc9e4;
                border-left: none;
            }

        header .bottom .nav-drawer .inner ul {
            display: inline;
            margin-left: 1.25rem;
        }

        header .bottom .nav-drawer .inner a.more {
            color: #fff;
            margin-left: 1.25rem;
        }

            header .bottom .nav-drawer .inner a.more:after {
                content: url("../img/link-arrows.svg");
                vertical-align: sub;
                margin: 0 0 0 0.4375rem;
                -moz-transition: all 0.5s ease;
                -webkit-transition: all 0.5s ease;
                transition: all 0.5s ease;
            }

            header .bottom .nav-drawer .inner a.more:hover:after {
                margin: 0 0 0 0.75rem;
            }

        header .bottom .nav-drawer .inner .menu-title, header .bottom .nav-drawer .inner .back {
            margin: 0.9375rem 0 0;
            color: #fff;
            font-size: 0.875rem;
        }

        header .bottom .nav-drawer .inner .back {
            margin: 0.9375rem 0.9375rem 0 1.875rem;
        }

            header .bottom .nav-drawer .inner .back:after {
                content: '|';
                margin: 0 0 0 0.9375rem;
            }
}

header .bottom .nav-drawer .inner .columns:last-of-type {
    border-left: solid 2px #ebebeb;
}

header .bottom .nav-drawer .inner .columns.notvis {
    opacity: 0;
}

header .bottom .call {
    float: right;
    text-transform: uppercase;
    color: #000;
    font-family: "AvenirNextLTW01-Regular";
    margin-top: 0.0625rem;
}

@media screen and (max-width: 85em) {
    header .bottom .call {
        font-size: 0.875rem;
        margin-top: 0.1875rem;
    }
}

@media screen and (max-width: 64em) {
    header .bottom .call {
        display: none;
    }
}

section {
    float: left;
    width: 100%;
    position: relative;
}

    section:not(.col2):last-of-type {
        padding-bottom: 8.75rem;
    }

.shadow {
    overflow: hidden;
}

    .shadow:after {
        content: '';
        position: relative;
        left: 50%;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        transform: translateX(-50%);
        position: absolute;
        top: 0;
        width: 60%;
        height: 8px;
        -webkit-filter: blur(10px);
        filter: blur(10px);
        background-image: linear-gradient(to right, rgba(59, 59, 59, 0), #000000 49%, rgba(84, 83, 83, 0));
    }

.hero {
    border-bottom: 3px solid #f75573;
    min-height: 50rem;
    position: relative;
}

@media screen and (min-width: 40.0625em) and (max-width: 64em) {
    .hero {
        min-height: 37.5rem;
    }
}

@media screen and (max-width: 40em) {
    .hero {
        min-height: 23.75rem;
    }
}

.hero h2 {
    color: #fff;
    text-shadow: 4px 4px 4px rgba(0, 0, 0, 0.35);
    letter-spacing: 12.9px;
    font-size: 5.625rem;
    text-transform: uppercase;
    position: relative;
    margin-top: 21.5625rem;
}

@media screen and (min-width: 40.0625em) and (max-width: 64em) {
    .hero h2 {
        margin-top: 13.75rem;
        font-size: 3.75rem;
    }
}

@media screen and (max-width: 61.875em) {
    .hero h2 {
        margin-top: 8.75rem;
        font-size: 3.75rem;
    }
}

.hero h2:after {
    content: '';
    border: solid 3px #f75573;
    float: left;
    position: absolute;
    bottom: 0;
    left: 0.4375rem;
    width: 3.125rem;
}

@media screen and (max-width: 40em) {
    .hero h2 {
        font-size: 2rem;
        letter-spacing: 0.5rem;
        line-height: 2.625rem;
        margin-top: 5rem;
    }

        .hero h2:after {
            bottom: -0.625rem;
        }
}

.hero p {
    font-size: 1.75rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    color: #fff;
    margin-top: 1.875rem;
}

@media screen and (min-width: 40.0625em) and (max-width: 64em) {
    .hero p {
        font-size: 1.375rem;
    }
}

@media screen and (max-width: 40em) {
    .hero p {
        font-size: 1.25rem;
    }
}

.hero .down-arr {
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    transform: translateX(-50%);
    position: absolute;
    bottom: 2.1875rem;
}

.quote {
    background: #fff;
    padding: 3.75rem 0 4.375rem;
}

    .quote .box {
        float: left;
        width: 100%;
        border: 6px solid #ebebeb;
        position: relative;
    }

        .quote .box .item {
            float: left;
            width: 100%;
            padding: 1.75rem 15% 1.25rem;
            text-align: center;
            position: relative;
        }

            .quote .box .item:not(:last-of-type):after {
                content: '';
                background: #ebebeb;
                height: 0.125rem;
                width: 11.25rem;
                float: left;
                position: relative;
                left: 50%;
                -webkit-transform: translateX(-50%);
                -ms-transform: translateX(-50%);
                -moz-transform: translateX(-50%);
                transform: translateX(-50%);
                position: absolute;
                bottom: 0;
            }

            .quote .box .item p {
                font-family: "AvenirNextLTW01-Italic";
                font-size: 1.5rem;
                color: #000;
                margin-bottom: 0.625rem;
            }

            .quote .box .item h4 {
                color: #5765ce;
                text-transform: uppercase;
                font-size: 1.125rem;
            }

        .quote .box:before {
            content: url("../img/“.svg");
            position: absolute;
            left: -2.375rem;
            top: -1.75rem;
            background: #fff;
            padding: 0.5rem;
        }

        .quote .box:after {
            content: url("../img/”.svg");
            position: absolute;
            right: -2.375rem;
            bottom: -1.75rem;
            background: #fff;
            padding: 0.5rem;
        }

.blue, .purple {
    padding: 5rem 0 3.125rem;
}

    .blue .full-box, .purple .full-box {
        padding-bottom: 2.75rem;
    }

    .blue .row, .purple .row {
        position: relative;
        z-index: 99;
    }

        .blue .row:not(.align-center) .small-12.columns:not(:last-of-type), .purple .row:not(.align-center) .small-12.columns:not(:last-of-type) {
            margin-bottom: 1.875rem;
        }

    .blue .box, .purple .box {
        float: left;
        width: 100%;
        border: 6px solid #1bc9e4;
        border-bottom: none;
        position: relative;
        padding: 0 0 6.25rem;
        margin-top: 1.5625rem;
    }

@media screen and (max-width: 40em) {
    .blue .box, .purple .box {
        padding: 0 0 3.75rem;
    }
}

.blue .box h2, .purple .box h2 {
    position: absolute;
    left: -1.25rem;
    top: -2.625rem;
    padding: 0 1.5625rem 0.625rem 0.9375rem;
}

@media screen and (max-width: 40em) {
    .blue .box h2, .purple .box h2 {
        font-size: 1.875rem;
        top: -1.375rem;
        padding: 0 1.5625rem 0.3125rem 0.9375rem;
    }
}

.blue h3, .purple h3 {
    color: #fff;
    font-size: 1.75rem;
    text-transform: uppercase;
}

.blue h2, .purple h2 {
    background: #06beda;
    text-transform: uppercase;
    font-size: 3.25rem;
}

    .blue h2 span, .purple h2 span {
        font-family: "AvenirNextLTW01-Regular";
    }

.blue h4, .purple h4 {
    font-size: 1.75rem;
    line-height: 2rem;
    margin: 0 0 0 2.1875rem;
}

@media screen and (max-width: 64em) {
    .blue h4, .purple h4 {
        margin-left: 0;
    }
}

.blue p, .purple p {
    font-size: 1.125rem;
    margin: 0 0 1.25rem 2.1875rem;
}

@media screen and (max-width: 64em) {
    .blue p, .purple p {
        margin-left: 0;
    }
}

.blue img, .purple img {
    margin-bottom: 1.5rem;
}

.blue a.more, .purple a.more {
    font-size: 1.125rem;
    margin: 0 0 1.25rem 2.1875rem;
    color: #000;
    font-family: "Avenir Next LT W01 Demi";
    text-transform: uppercase;
}

@media screen and (max-width: 64em) {
    .blue a.more, .purple a.more {
        margin-left: 0;
    }
}

@media screen and (max-width: 40em) {
    .blue a.more, .purple a.more {
        float: left;
        margin-bottom: 2.5rem;
    }
}

.blue a.more:after, .purple a.more:after {
    content: url("../img/link-arrows.svg");
    vertical-align: text-top;
    margin: 0 0 0 0.625rem;
    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.blue a.more:hover:after, .purple a.more:hover:after {
    margin: 0 0 0 0.9375rem;
}

body.home .blue {
    background: #fff;
}

.blue:before {
    content: '';
    float: left;
    position: absolute;
    background: #06beda;
    top: 0;
    left: 0;
    width: 100%;
    height: 37.5rem;
    z-index: 0;
}

@media screen and (max-width: 64em) {
    .blue:before {
        height: 25rem;
    }
}

.col2, .col1 {
    background: #fff;
    padding: 3.75rem 0 4.375rem;
}

    .col2 .inner, .col1 .inner {
        float: left;
        width: 100%;
        border: 6px solid #ebebeb;
        padding: 2.1875rem 10% 3.75rem;
        position: relative;
    }

        .col2 .inner h2, .col1 .inner h2 {
            font-size: 1.75rem;
            line-height: 1.2;
            position: relative;
            max-width: 32.8125rem;
            text-align: center;
            position: relative;
            left: 50%;
            -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
            -moz-transform: translateX(-50%);
            transform: translateX(-50%);
            padding: 0 0 1.875rem;
        }

            .col2 .inner h2:after, .col1 .inner h2:after {
                content: '';
                background: #f75573;
                float: left;
                width: 1.25rem;
                height: 0.375rem;
                position: relative;
                left: 50%;
                -webkit-transform: translateX(-50%);
                -ms-transform: translateX(-50%);
                -moz-transform: translateX(-50%);
                transform: translateX(-50%);
                position: absolute;
                bottom: 0.625rem;
            }

        .col2 .inner p, .col1 .inner p {
            text-align: center;
            margin-bottom: 0;
        }

            .col2 .inner p span, .col1 .inner p span {
                font-family: "Avenir Next LT W01 Demi";
            }

        .col2 .inner .button-container, .col1 .inner .button-container {
            position: relative;
            left: 50%;
            -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
            -moz-transform: translateX(-50%);
            transform: translateX(-50%);
            position: absolute;
            background: #fff;
            bottom: -2.625rem;
            min-width: 15.9375rem;
        }

            .col2 .inner .button-container .button, .col1 .inner .button-container .button {
                position: relative;
                width: 100%;
            }

            .col2 .inner .button-container:after, .col1 .inner .button-container:after {
                content: '';
                width: 120%;
                height: 100%;
                float: left;
                background: #fff;
                position: absolute;
                left: -10%;
                top: 0;
                z-index: -1;
            }

@media screen and (max-width: 64em) {
    .col2 .row .medium-12:last-of-type:not(:only-of-type), .col1 .row .medium-12:last-of-type:not(:only-of-type) {
        margin-top: 3.125rem;
    }
}

.col1 {
    background: #f5f7fa;
    padding: 2.5rem 0 6.875rem;
}

    .col1 .align-center .columns .inner {
        height: auto !important;
    }

        .col1 .align-center .columns .inner p {
            max-width: 32.5rem;
            position: relative;
            left: 50%;
            -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
            -moz-transform: translateX(-50%);
            transform: translateX(-50%);
        }

        .col1 .align-center .columns .inner .button-container:after {
            background: #f5f7fa;
        }

    .col1.shadow .align-center .columns:only-of-type .inner {
        border: none;
    }

.event--block + .col1 {
    padding: 6.25rem 0 4.375rem;
}

.col1.shadow + .event {
    padding: 2.5rem 0 9.375rem;
}

.event {
    background: #f5f7fa;
    padding: 9.375rem 0;
}

@media screen and (max-width: 61.875em) {
    .event {
        padding: 5rem 0;
    }
}

.event .img-wrap {
    position: relative;
    float: left;
    width: 100%;
}

    .event .img-wrap img {
        border: 10px solid #fff;
        box-shadow: 0 2px 14px 0 rgba(0, 0, 0, 0.19);
        position: relative;
        z-index: 99;
    }

    .event .img-wrap:before {
        content: '';
        border: 6px solid #06beda;
        height: 20.625rem;
        width: 20.625rem;
        float: left;
        position: absolute;
        z-index: 0;
        top: -1.3125rem;
        left: -1.3125rem;
    }

@media screen and (max-width: 64em) {
    .event .img-wrap:before {
        height: 10rem;
        width: 10rem;
    }
}

.event .img-wrap:after {
    content: '';
    background: #06beda;
    height: 23.4375rem;
    width: 23.4375rem;
    z-index: 0;
    position: absolute;
    bottom: -0.9375rem;
    right: -0.9375rem;
    float: left;
}

@media screen and (max-width: 64em) {
    .event .img-wrap:after {
        height: 10rem;
        width: 10rem;
    }
}

.event .content-wrap {
    float: left;
    border-top: 6px solid #ebebeb;
    border-right: 6px solid #ebebeb;
    margin-top: 2.8125rem;
    padding-top: 2.375rem;
    max-width: 35.375rem;
    margin-left: 3.125rem;
}

@media screen and (max-width: 64em) {
    .event .content-wrap {
        max-width: 26.25rem;
    }
}

@media screen and (max-width: 61.875em) {
    .event .content-wrap {
        max-width: 90%;
        margin-left: 1.875rem;
        border: none;
        margin-top: 0;
    }
}

.event .content-wrap h4 {
    font-size: 1.75rem;
    text-transform: uppercase;
    color: #f75573;
}

.event .content-wrap h2 {
    text-transform: uppercase;
    font-family: "AvenirNextLTW01-Regular";
    font-size: 3.25rem;
    position: relative;
    padding-bottom: 1.25rem;
    margin-bottom: 1.5625rem;
}

@media screen and (max-width: 64em) {
    .event .content-wrap h2 {
        font-size: 2.25rem;
    }
}

.event .content-wrap h2:after {
    content: '';
    background: #f75573;
    height: 0.375rem;
    width: 1.25rem;
    float: left;
    position: absolute;
    left: 0.25rem;
    bottom: 0;
}

.event .content-wrap p {
    font-size: 1.125rem;
    line-height: 1.5625rem;
    padding-right: 3.125rem;
}

@media screen and (max-width: 64em) {
    .event .content-wrap p {
        font-size: 1rem;
    }
}

.event .content-wrap p i {
    font-size: 1.25rem;
}

.event .content-wrap a.button {
    margin: 1.5625rem 0 2.1875rem;
}

@media screen and (max-width: 61.875em) {
    .event .medium-6.columns {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

.grid {
    background: #f5f7fa;
    padding-bottom: 8.75rem;
}

@media screen and (max-width: 61.875em) {
    .grid {
        padding-bottom: 5rem;
    }
}

.grid .row {
    position: relative;
    z-index: 99;
}

.grid h3 {
    color: #f54061;
}

.grid .box {
    float: left;
    width: 100%;
    border: 6px solid #5765ce;
    border-bottom: none;
    position: relative;
    padding: 0 0 3.125rem;
    margin-top: 1.5625rem;
}

@media screen and (max-width: 40em) {
    .grid .box {
        margin-top: 0.625rem;
    }
}

.grid .box h2 {
    position: absolute;
    left: -1.25rem;
    top: -2.625rem;
    padding: 0 1.5625rem 0.625rem 0.9375rem;
    background: #f5f7fa;
    text-transform: uppercase;
    font-size: 3.25rem;
}

@media screen and (max-width: 40em) {
    .grid .box h2 {
        font-size: 1.875rem;
        top: -1.375rem;
        padding: 0 1.5625rem 0.3125rem 0.9375rem;
    }
}

.grid .box h2 span {
    font-family: "AvenirNextLTW01-Regular";
}

.grid .box a.button {
    margin: 3.125rem 0 0 1.875rem;
}

.grid .img-grid {
    float: left;
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 999;
    width: 100%;
}

    .grid .img-grid:before {
        content: '';
        height: 0.625rem;
        width: 100%;
        position: absolute;
        bottom: -0.625rem;
        left: 0;
        background: #fff;
        z-index: 99;
    }

    .grid .img-grid:after {
        content: '';
        height: 22.5rem;
        width: 22.5rem;
        background: #5765ce;
        position: absolute;
        bottom: -1.5625rem;
        right: -0.9375rem;
        z-index: -1;
    }

    .grid .img-grid .block {
        float: left;
        width: 58.45%;
        border-top: 10px solid #fff;
        border-right: 10px solid #fff;
        border-left: 10px solid #fff;
        position: relative;
        -moz-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease;
    }

@media screen and (max-width: 40em) {
    .grid .img-grid .block {
        width: 100%;
        border: 10px solid #fff;
        border-bottom: none;
    }
}

.grid .img-grid .block img {
    width: 100%;
}

.grid .img-grid .block a:not(.button) {
    float: left;
    width: 100%;
}

@media screen and (max-width: 64em) {
    .grid .img-grid .block a:not(.button) {
        position: relative;
        z-index: 89;
    }
}

.grid .img-grid .block .inner {
    float: left;
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    z-index: 99;
    display: none;
}

    .grid .img-grid .block .inner:before {
        content: '';
        position: absolute;
        height: 100%;
        width: 100%;
        z-index: 0;
        background-image: -webkit-linear-gradient(rgba(52, 52, 52, 0.86), rgba(52, 52, 52, 0.53) 25%, rgba(16, 21, 56, 0));
        background-image: -o-linear-gradient(rgba(52, 52, 52, 0.86), rgba(52, 52, 52, 0.53) 25%, rgba(16, 21, 56, 0));
        background-image: linear-gradient(rgba(52, 52, 52, 0.86), rgba(52, 52, 52, 0.53) 25%, rgba(16, 21, 56, 0));
    }

    .grid .img-grid .block .inner h3 {
        color: #fff;
        font-size: 1.75rem;
        margin: 1.875rem 0 0 1.875rem;
        position: relative;
        z-index: 99;
        -moz-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease;
    }

    .grid .img-grid .block .inner p {
        color: #fff;
        font-size: 1.25rem;
        font-family: "AvenirNextLTW01-Italic";
        margin-left: 1.875rem;
        position: relative;
        z-index: 99;
        -moz-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease;
    }

.grid .img-grid .block.tall {
    width: 41.55%;
    border-right: none;
}

    .grid .img-grid .block.tall.right {
        float: right;
        border-right: 10px solid #fff;
        border-left: none;
    }

@media screen and (max-width: 40em) {
    .grid .img-grid .block.tall {
        width: 100%;
    }

        .grid .img-grid .block.tall.right {
            border: 10px solid #fff;
            border-bottom: none;
        }
}

.grid .img-grid .block .hover {
    position: absolute;
    height: 100%;
    width: 100%;
    padding: 0.625rem;
    top: 0;
    left: 0;
    background-color: rgba(96, 109, 221, 0.9);
    box-shadow: 0 2px 14px 0 rgba(0, 0, 0, 0.9);
    opacity: 0;
    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

@media screen and (min-width: 64.0625em) {
    .grid .img-grid .block .hover {
        z-index: 999;
    }
}

.grid .img-grid .block .hover .inside {
    float: left;
    width: 100%;
    max-width: 80%;
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    transform: translateX(-50%);
    margin-top: 2.5rem;
    border-right: 6px solid #fff;
    border-top: 6px solid #fff;
    padding: 1.875rem 3.125rem 0;
}

@media screen and (max-width: 85.375em) {
    .grid .img-grid .block .hover .inside {
        max-width: 90%;
        margin-top: 1.5%;
    }
}

.grid .img-grid .block .hover .inside h3, .grid .img-grid .block .hover .inside p {
    color: #fff;
}

    .grid .img-grid .block .hover .inside p.date {
        font-family: "AvenirNextLTW01-Italic";
    }

    .grid .img-grid .block .hover .inside p:not(.date) {
        max-width: 17.5rem;
        margin-bottom: 2.5rem;
    }

@media screen and (max-width: 85.375em) {
    .grid .img-grid .block .hover .inside p:not(.date) {
        max-width: 22.5rem;
    }
}

@media screen and (min-width: 64.0625em) {
    .grid .img-grid .block:hover .inner h3, .grid .img-grid .block:hover .inner p {
        opacity: 0;
    }

    .grid .img-grid .block:hover .hover {
        opacity: 1;
    }
}

.grid a.more {
    float: right;
    margin: 3.125rem 0 0;
    color: #000;
    font-family: "Avenir Next LT W01 Bold";
    text-transform: uppercase;
    font-size: 1.75rem;
}

@media screen and (max-width: 40em) {
    .grid a.more {
        font-size: 1.25rem;
    }
}

.grid a.more:after {
    content: url("../img/link-arrows-large.svg");
    float: right;
    margin: 0.1875rem 0.9375rem 0 0.9375rem;
    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

@media screen and (max-width: 40em) {
    .grid a.more:after {
        margin-top: -0.0625rem;
    }
}

.grid a.more:hover:after {
    margin: 0.1875rem 0.3125rem 0 1.5625rem;
}

footer {
    float: left;
    width: 100%;
}

    footer .top {
        float: left;
        width: 100%;
        background: #343434;
        border-top: 3px solid #f75573;
        padding: 1.375rem 0 0.625rem;
        position: relative;
    }

        footer .top p {
            font-size: 1.75rem;
            color: #fff;
            font-weight: 600;
            float: left;
        }

            footer .top p a {
                font-size: 1.75rem;
                color: #fff;
                font-weight: 600;
                float: left;
                padding-left: 10px;
                padding-right: 10px;
                border: 2px solid #1bc9e4;
            }

                footer .top p a:hover {
                    font-size: 1.75rem;
                    color: #1bc9e4;
                    font-weight: 600;
                    float: left;
                    border: 2px solid #fff;
                }

@media screen and (max-width: 61.875em) {
    footer .top p {
        margin-bottom: 0;
    }
}

footer .top .input-holder {
    float: left;
    position: relative;
    min-width: 22.5rem;
    padding-top: 0.3125rem;
}

@media screen and (max-width: 40em) {
    footer .top .input-holder {
        width: 96%;
        min-width: 0;
    }
}

footer .top .input-holder svg {
    position: absolute;
    left: 0.9375rem;
    top: 1.0625rem;
}

@media screen and (max-width: 61.875em) {
    footer .top .input-holder svg {
        left: 0.3125rem;
    }
}

footer .top .input-holder input.field {
    background: transparent;
    box-shadow: none;
    border: none;
    border-bottom: 1px solid #1bc9e4;
    color: #1bc9e4;
    padding: 0.3125rem 2rem 0.3125rem 1.875rem;
    margin: 0 0 0 0.9375rem;
}

@media screen and (max-width: 61.875em) {
    footer .top .input-holder input.field {
        margin-left: 0;
    }
}

footer .top .input-holder input.arrows {
    background: url("../img/link-arrows-blue.svg");
    background-size: cover;
    border: none;
    outline: 0;
    width: 1.375rem;
    position: absolute;
    right: -0.75rem;
    top: 0.625rem;
}

@media screen and (max-width: 40em) {
    footer .top .input-holder input.arrows {
        right: 0;
    }
}

footer .top .input-holder ::-webkit-input-placeholder {
    color: #1bc9e4;
    font-size: 1.5rem;
}

@media screen and (max-width: 40em) {
    footer .top .input-holder ::-webkit-input-placeholder {
        font-size: 1rem;
    }
}

footer .top .input-holder :-moz-placeholder {
    color: #1bc9e4;
    font-size: 1.5rem;
}

@media screen and (max-width: 40em) {
    footer .top .input-holder :-moz-placeholder {
        font-size: 1rem;
    }
}

footer .top .input-holder ::-moz-placeholder {
    color: #1bc9e4;
    font-size: 1.5rem;
}

@media screen and (max-width: 40em) {
    footer .top .input-holder ::-moz-placeholder {
        font-size: 1rem;
    }
}

footer .top .input-holder :-ms-input-placeholder {
    color: #1bc9e4;
    font-size: 1.5rem;
}

@media screen and (max-width: 40em) {
    footer .top .input-holder :-ms-input-placeholder {
        font-size: 1rem;
    }
}

footer .top .social {
    float: right;
    margin-bottom: 0.9375rem;
}

@media screen and (max-width: 40em) {
    footer .top .social {
        float: left;
        margin-top: 1.875rem;
        position: relative;
        left: 50%;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        transform: translateX(-50%);
    }
}

footer .top .social li {
    float: left;
}

    footer .top .social li:not(:last-of-type) {
        margin-right: 0.9375rem;
    }

@media screen and (max-width: 23.4375em) {
    footer .top .social li:not(:last-of-type) {
        margin-right: 0.75rem;
    }
}

footer .top .social li a {
    float: left;
    height: 2.5625rem;
    width: 2.5rem;
    background-size: cover;
    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

    footer .top .social li a.fb {
        background: url("../img/facebook.svg");
    }

    footer .top .social li a.yt {
        background: url("../img/youtube-play.svg");
    }

    footer .top .social li a.tw {
        background: url("../img/twitter.svg");
    }

    footer .top .social li a.ma {
        background: url("../img/mail.svg");
    }

    footer .top .social li a.ig {
        background: url("../img/instagram.svg");
    }

    footer .top .social li a.fl {
        background: url("../img/flikr.svg");
    }

    footer .top .social li a:hover.fb {
        background: url("../img/facebook_hover.svg");
    }

    footer .top .social li a:hover.yt {
        background: url("../img/youtube-play_hover.svg");
    }

    footer .top .social li a:hover.tw {
        background: url("../img/twitter_hover.svg");
    }

    footer .top .social li a:hover.ma {
        background: url("../img/mail_hover.svg");
    }

    footer .top .social li a:hover.ig {
        background: url("../img/instagram_hover.svg");
    }

    footer .top .social li a:hover.fl {
        background: url("../img/flikr_hover.svg");
    }

footer .top .wrap {
    float: left;
    width: 100%;
}

@media screen and (max-width: 40em) {
    footer .top .wrap {
        width: auto;
        position: relative;
        left: 50%;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        transform: translateX(-50%);
    }
}

footer .top .blog {
    float: right;
    text-transform: uppercase;
    color: #fff;
}

    footer .top .blog:after {
        content: url("../img/link-arrows-blue.svg");
        margin: 0.125rem 0.9375rem 0;
        float: right;
        -moz-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease;
    }

    footer .top .blog:hover:after {
        margin: 0.125rem 0.625rem 0 1.25rem;
    }

footer .bottom {
    float: left;
    width: 100%;
    background: #2d2d2d;
    padding: 0 0 2.1875rem;
}

    footer .bottom ul {
        float: left;
        width: 100%;
        margin-top: 1.875rem;
    }

        footer .bottom ul li {
            margin-bottom: 0.25rem;
            font-size: 1rem;
            color: #b7b7b7;
            font-family: "Avenir Next LT W01 Demi";
            float: left;
            width: 100%;
        }

            footer .bottom ul li.subheader {
                margin-top: 1.25rem;
            }

            footer .bottom ul li a {
                font-size: 0.9375rem;
                color: #b7b7b7;
                opacity: 0.75;
                -moz-transition: all 0.5s ease;
                -webkit-transition: all 0.5s ease;
                transition: all 0.5s ease;
            }

                footer .bottom ul li a:hover {
                    opacity: 0.5;
                }

                footer .bottom ul li a.more {
                    opacity: 1;
                    color: #fff;
                    font-family: "AvenirNextLTW01-Medium";
                    line-height: 1.625rem;
                    margin-top: 0.625rem;
                    float: left;
                }

                    footer .bottom ul li a.more:after {
                        content: url("../img/link-arrows.svg");
                        margin-left: 0.625rem;
                        opacity: 1;
                        vertical-align: text-top;
                        -moz-transition: all 0.5s ease;
                        -webkit-transition: all 0.5s ease;
                        transition: all 0.5s ease;
                    }

                    footer .bottom ul li a.more:hover:after {
                        margin-left: 0.9375rem;
                    }

            footer .bottom ul li:first-of-type {
                margin-bottom: 1.5625rem;
            }

                footer .bottom ul li:first-of-type a {
                    position: relative;
                    text-transform: uppercase;
                    font-size: 1.125rem;
                    font-family: "AvenirNextLTW01-Medium";
                    color: #fff;
                    padding: 0 0 0.9375rem;
                    opacity: 1;
                }

                    footer .bottom ul li:first-of-type a:after {
                        content: '';
                        background: #f75573;
                        width: 1.25rem;
                        height: 0.375rem;
                        float: left;
                        position: absolute;
                        left: 0;
                        bottom: 0;
                    }

@media screen and (min-width: 40.0625em) {
    footer .bottom ul.subheader {
        margin-top: 5.25rem;
    }
}

footer .bottom ul.subheader li:first-of-type {
    margin-bottom: 0.25rem;
}

footer .bottom p.copy {
    float: left;
    font-family: "AvenirNextLTW01-Italic";
    font-size: 0.875rem;
    color: #aab2bd;
    margin-top: 2.5rem;
}

.hero-short {
    min-height: 0;
}

    .hero-short:after {
        content: '';
        width: 100%;
        height: 3px;
        background: #f75573;
        display: block;
        position: absolute;
        bottom: -3px;
    }

    .hero-short > .row {
        position: absolute;
        z-index: 999;
        width: 100%;
        float: left;
        height: 100%;
        top: 0;
        left: 0;
    }

        .hero-short > .row .large-10.medium-11.small-12.columns {
            display: -ms-flexbox;
            display: -webkit-flex;
            display: flex;
            -webkit-align-items: center;
            align-items: center;
            -webkit-justify-content: center;
            justify-content: center;
        }

    .hero-short .inner {
        float: left;
        width: 100%;
    }

    .hero-short p {
        margin-top: 0.625rem;
    }

    .hero-short h2 {
        margin-top: 0;
        line-height: 1;
    }

@media screen and (min-width: 40.0625em) {
    .hero-short h2 {
        max-width: 80%;
        font-size: 3.5rem;
    }
}

.hero-short h2:after {
    border: none;
}

@media screen and (min-width: 64.0625em) {
    .hero-short h2 {
        font-size: 4.5rem;
        max-width: 50%;
    }
}

@media screen and (max-width: 40em) {
    .hero-short p {
        margin: 0;
        line-height: 1.05em;
    }
}

.purple {
    margin-top: 5rem;
    background-color: #5765ce;
}

    .purple h2 {
        background-color: #5765ce;
    }

    .purple .box {
        border-color: #606ddd;
    }

.event--block + .purple {
    margin-top: 7.5rem;
}

.full-box {
    position: relative;
    border: 6px solid #606ddd;
    padding-bottom: 3.75rem;
    float: left;
    width: 100%;
}

    .full-box h2 {
        background-color: #5765ce;
        display: inline-block;
        font-family: "AvenirNextLTW01-Regular";
        font-size: 1.75rem;
        padding: 0 1.5625rem 0 0.9375rem;
        position: relative;
        left: 0.625rem;
        z-index: 99;
        top: -1.75rem;
    }

@media screen and (min-width: 40.0625em) {
    .full-box h2 {
        top: -2.25rem;
        font-size: 2.5rem;
        left: 1.25rem;
    }
}

@media screen and (min-width: 64.0625em) {
    .full-box h2 {
        top: -2.25rem;
        font-size: 3.25rem;
        left: 2.5rem;
    }
}

.section-header {
    border-top: 6px solid #e6e9ed;
    text-transform: uppercase;
    position: relative;
}

    .section-header h2 {
        background: #f5f7fa;
        font-family: "AvenirNextLTW01-Regular";
        font-size: 3.25rem;
        padding: 0 1.5625rem 0.625rem 0.9375rem;
        display: inline-block;
        position: relative;
        top: -2.5rem;
        left: 3.75rem;
    }

@media screen and (min-width: 40.0625em) and (max-width: 64em) {
    .section-header h2 {
        font-size: 2.5rem;
        top: -2.1875rem;
        left: 2.5rem;
    }
}

@media screen and (max-width: 40em) {
    .section-header h2 {
        font-size: 1.75rem;
        top: -1.5625rem;
        left: 1.25rem;
    }
}

.section-header p {
    font-size: 1.25rem;
    text-transform: none;
    margin-left: 3.75rem;
}

@media screen and (min-width: 40.0625em) and (max-width: 64em) {
    .section-header p {
        margin-left: 2.5rem;
    }
}

.item-grid {
    float: left;
    width: 100%;
    min-width: 99vw;
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    transform: translateX(-50%);
}

@media screen and (min-width: 120.0625em) {
    .item-grid {
        min-width: 80vw;
    }
}

.item-grid .item {
    position: relative;
    width: 19.2%;
    float: left;
    margin-right: 1%;
    margin-bottom: 1%;
}

@media screen and (min-width: 64.0625em) {
    .item-grid .item:nth-child(5n) {
        margin-right: 0;
    }
}

@media screen and (min-width: 40.0625em) and (max-width: 64em) {
    .item-grid .item {
        width: 32.6666666667%;
    }

        .item-grid .item:nth-child(3n) {
            margin-right: 0;
        }
}

@media screen and (max-width: 40em) {
    .item-grid .item {
        width: 49%;
        margin-right: 2%;
        margin-bottom: 2%;
    }

        .item-grid .item:nth-child(2n) {
            margin-right: 0;
        }
}

.item-grid .item .img-wrap {
    float: left;
    width: 100%;
    background-color: #5765ce;
    -webkit-box-shadow: 0px 2px 15px 2px rgba(0, 0, 0, 0.35);
    -moz-box-shadow: 0px 2px 15px 2px rgba(0, 0, 0, 0.35);
    box-shadow: 0px 2px 15px 2px rgba(0, 0, 0, 0.35);
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    min-height: 17.25rem;
}

@media screen and (max-width: 85.375em) {
    .item-grid .item .img-wrap {
        min-height: 15.125rem;
    }
}

@media screen and (min-width: 40.0625em) and (max-width: 64em) {
    .item-grid .item .img-wrap {
        min-height: 15.5rem;
    }
}

@media screen and (max-width: 28.125em) {
    .item-grid .item .img-wrap {
        min-height: 13.625rem;
    }
}

.item-grid .item .img-wrap img {
    margin-bottom: 0;
}

.item-grid .item h3, .item-grid .item p {
    text-transform: none;
    float: left;
    width: 100%;
    text-align: center;
}

.item-grid .item h3 {
    font-size: 1.25rem;
    line-height: 1em;
    margin: 0.375rem 0 0.125rem;
}

.item-grid .item p {
    font-size: 1.125rem;
    color: #343434;
    margin: 0;
    font-family: "AvenirNextLTW01-Italic";
}

@media screen and (max-width: 85.375em) {
    .item-grid .item p {
        margin-bottom: 0.9375rem;
    }
}

.event-wrap {
    position: relative;
    z-index: 99;
    width: 100%;
    float: left;
}

    .event-wrap:before, .event-wrap:after {
        content: '';
        background: #5765ce;
        height: 23.4375rem;
        width: 23.4375rem;
        z-index: -1;
        position: absolute;
        float: left;
    }

@media screen and (max-width: 64em) {
    .event-wrap:before, .event-wrap:after {
        height: 10rem;
        width: 10rem;
    }
}

.event-wrap:before {
    top: -0.9375rem;
    right: -0.9375rem;
}

.event-wrap::after {
    bottom: -0.9375rem;
    left: -0.9375rem;
}

.event--item {
    position: relative;
    float: left;
    width: 100%;
    padding: 1.5625rem 1.5625rem 0;
    background: #fff;
}

    .event--item:not(:last-of-type):after {
        content: '';
        background: #f5f7fa;
        height: 0.375rem;
        float: left;
        width: 100%;
        padding: 0 1.5625rem;
        margin-top: 1.5625rem;
    }

    .event--item .content-wrap {
        float: left;
        border-top: 6px solid #ebebeb;
        border-right: 6px solid #ebebeb;
        margin-top: 0.3125rem;
        padding-top: 2.375rem;
        max-width: 38.75rem;
        margin-left: 3.125rem;
    }

@media screen and (max-width: 64em) {
    .event--item .content-wrap {
        max-width: 26.25rem;
    }
}

@media screen and (max-width: 61.875em) {
    .event--item .content-wrap {
        max-width: 90%;
        margin-left: 1.875rem;
        border: none;
        margin-top: 0;
    }
}

.event--item .content-wrap h4 {
    font-size: 1.75rem;
    text-transform: uppercase;
    color: #f75573;
}

.event--item .content-wrap h2 {
    font-family: "Avenir Next LT W01 Demi";
    font-size: 1.75rem;
    position: relative;
    padding-bottom: 1.25rem;
    margin-bottom: 1.5625rem;
}

    .event--item .content-wrap h2:after {
        content: '';
        background: #f75573;
        height: 0.375rem;
        width: 1.25rem;
        float: left;
        position: absolute;
        left: 0.25rem;
        bottom: 0;
    }

.event--item .content-wrap p {
    font-size: 1.125rem;
    line-height: 1.5625rem;
    padding-right: 3.125rem;
}

    .event--item .content-wrap p.sub-warning {
        font-weight: 900;
    }

@media screen and (max-width: 64em) {
    .event--item .content-wrap p.sub-warning {
        margin-top: 0.9375rem;
    }
}

@media screen and (max-width: 64em) {
    .event--item .content-wrap p {
        font-size: 1rem;
    }
}

.event--item .content-wrap p i {
    font-size: 1.25rem;
}

@media screen and (max-width: 64em) {
    .event--item .content-wrap p i {
        font-size: 1rem;
    }
}

.event--item .content-wrap a.button {
    margin: 1.5625rem 0 2.1875rem;
}

    .event--item .content-wrap a.button + .button-secondary {
        margin-left: 1.25rem;
    }

@media screen and (max-width: 75em) {
    .event--item .content-wrap a.button {
        margin-bottom: 0;
    }

        .event--item .content-wrap a.button + .button-secondary {
            margin-left: 0;
        }
}

@media screen and (max-width: 60em) {
    .event--item .large-6.medium-6.columns {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

.event--item .large-12 .content-wrap {
    margin-left: 0;
    padding-left: 25px;
    max-width: none;
}

@media screen and (min-width: 64.0625em) {
    .event--item .large-12 .content-wrap {
        padding-right: 50%;
    }
}

.event--item:first-child {
    padding-top: 1.875rem;
}

.event--item:last-child {
    padding-bottom: 1.875rem;
}

.event--item:last-of-type {
    padding-bottom: 6.25rem;
    border-bottom: none;
}

.text--block p {
    font-size: 1.125rem;
}

.text--block .section-header p {
    font-size: 1.25rem;
}

.text--block.intro h2 {
    font-size: 1.75rem;
    text-transform: uppercase;
    color: #f75573;
}

.text--block.intro h3 {
    font-size: 3.25rem;
    font-family: "AvenirNextLTW01-Regular";
}

.text--block.intro h4 {
    font-size: 1.25rem;
    font-style: normal;
    font-family: "AvenirNextLTW01-Regular";
    padding-bottom: 2.1875rem;
    margin-bottom: 1.25rem;
    position: relative;
}

    .text--block.intro h4:after {
        content: '';
        background: #f75573;
        height: 0.375rem;
        width: 1.25rem;
        float: left;
        position: absolute;
        left: 0.25rem;
        bottom: 0;
    }

.text--block.intro p {
    max-width: 85%;
}

.stylized-table thead {
    background: transparent;
}

    .stylized-table thead th {
        border-left: 0.125rem solid #fff;
    }

        .stylized-table thead th:first-child {
            border: none;
        }

.stylized-table thead,
.stylized-table tbody {
    border: none;
}

.stylized-table th {
    font-size: 0.875rem;
    text-transform: uppercase;
    color: #f75573;
}

.stylized-table a {
    background-color: #1bc9e4;
    color: #fff;
    text-transform: uppercase;
    font-size: 0.875rem;
    padding: 0.6875rem 1.25rem;
    float: right;
    height: 100%;
    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

    .stylized-table a:not(.disabled):hover {
        opacity: 0.7;
    }

    .stylized-table a.disabled {
        background-color: #ccd1d9;
    }

.stylized-table td {
    border-left: 0.125rem solid #f5f7fa;
    font-family: "AvenirNextLTW01-Medium";
    vertical-align: middle;
}

    .stylized-table td:first-child {
        border: none;
        font-weight: 600;
    }

    .stylized-table td:last-child {
        padding: 0;
        text-align: right;
    }

.stylized-table tbody tr:nth-child(even) td {
    padding: 0.3125rem 0;
    border-color: #fff;
    background-color: #f5f7fa;
}

@media screen and (min-width: 40.0625em) {
    .stylized-table thead th, .stylized-table td {
        border-width: 0.25rem;
    }

    .stylized-table th, .stylized-table button {
        font-size: 1rem;
    }

    .stylized-table a {
        padding: 0.875rem 1.875rem;
    }

    .stylized-table td {
        font-size: 1.125rem;
    }
}

@media screen and (min-width: 64.0625em) {
    .stylized-table thead th {
        border-width: 0.375rem;
    }

    .stylized-table th {
        font-size: 1.75rem;
    }

    .stylized-table a {
        font-size: 1.5rem;
        padding: 0.9375rem 3.4375rem;
    }

    .stylized-table td {
        border-width: 0.375rem;
        font-size: 1.75rem;
    }

    .stylized-table tbody tr:nth-child(even) td {
        padding: 0.6875rem 0;
    }
}

.stylized-table tbody tr:nth-child(even):last-of-type {
    display: none;
}

.showtimes {
    padding-top: 6.25rem;
}

    .showtimes .inner {
        margin-right: 15px;
        margin-left: 15px;
    }

    .showtimes .section-header p {
        position: relative;
        top: -2.5rem;
        margin-left: 5rem;
    }

@media screen and (min-width: 40.0625em) and (max-width: 64em) {
    .showtimes .section-header p {
        margin-left: 3.75rem;
    }
}

@media screen and (max-width: 40em) {
    .showtimes .section-header p {
        margin-left: 2.5rem;
        font-size: 1rem;
    }
}

.showtimes a.more {
    float: right;
    margin: 3.125rem 0 0;
    color: #000;
    font-family: "Avenir Next LT W01 Bold";
    text-transform: uppercase;
    font-size: 1.75rem;
}

@media screen and (max-width: 40em) {
    .showtimes a.more {
        font-size: 1.25rem;
    }
}

.showtimes a.more:after {
    content: url("../img/link-arrows-large.svg");
    float: right;
    margin: 0.1875rem 0.9375rem 0 0.9375rem;
    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

@media screen and (max-width: 40em) {
    .showtimes a.more:after {
        margin-top: -0.0625rem;
    }
}

.showtimes a.more:hover:after {
    margin: 0.1875rem 0.3125rem 0 1.5625rem;
}

.showtimes .table--details {
    padding-top: 12px;
}

    .showtimes .table--details span {
        display: block;
        font-family: "AvenirNextLTW01-Italic";
        font-size: 0.875rem;
    }

    .showtimes .table--details a.more {
        margin-top: 0;
        float: none;
        display: inline-block;
        margin-top: 1rem;
    }

@media screen and (min-width: 64.0625em) {
    .showtimes .table--details {
        display: table;
        width: 100%;
    }

        .showtimes .table--details span,
        .showtimes .table--details a {
            display: table-cell;
            vertical-align: middle;
        }

        .showtimes .table--details span {
            font-size: 1.25rem;
        }

        .showtimes .table--details a.more {
            float: right;
            margin-top: 0;
        }
}

.info-block {
    padding: 5rem 0;
}

    .info-block h2 {
        font-weight: 400;
        font-size: 3.25rem;
        line-height: 1.05em;
        font-family: "AvenirNextLTW01-Regular";
        margin-bottom: 0.625rem;
    }

    .info-block h3 {
        text-transform: uppercase;
        color: #f75573;
        font-size: 1.75rem;
        line-height: 1.05em;
        font-weight: 600;
        letter-spacing: 1px;
        margin-bottom: 0.9375rem;
    }

    .info-block h4 {
        font-family: "AvenirNextLTW01-Italic";
        font-size: 1.25rem;
    }

    .info-block hr {
        border: solid 2px #f85573;
        width: 1.25rem;
        margin: 1.5625rem 0 0.9375rem;
    }

    .info-block p {
        font-size: 1.125rem;
        max-width: 63.75rem;
    }

.registration {
    padding: 6.25rem 0 4.375rem;
}

.carousel {
    padding: 8.75rem 0 3.75rem;
}

@media screen and (max-width: 47.9375em) {
    .carousel {
        padding-bottom: 0;
    }
}

.carousel .inner {
    float: left;
    width: 100%;
    position: relative;
}

    .carousel .inner:before {
        content: '';
        height: 84%;
        top: 8%;
        width: 160vw;
        left: -50vw;
        position: absolute;
        background: #fff;
    }

    .carousel .inner .info-sections {
        float: left;
        width: 100%;
    }

        .carousel .inner .info-sections .slick-slide {
            outline: none;
        }

        .carousel .inner .info-sections .item .holder {
            position: relative;
            left: 50%;
            -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
            -moz-transform: translateX(-50%);
            transform: translateX(-50%);
            float: left;
            padding: 0.625rem;
            background: #fff;
            box-shadow: 0 2px 14px 0 rgba(0, 0, 0, 0.19);
            margin-top: 0.9375rem;
            margin-bottom: 0.9375rem;
        }

    .carousel .inner .control-holder {
        float: left;
        bottom: -1.25rem;
        position: relative;
        left: 50%;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        transform: translateX(-50%);
        z-index: 999;
        position: absolute;
    }

@media screen and (max-width: 47.9375em) {
    .carousel .inner .control-holder {
        width: 100%;
        bottom: 0;
    }
}

.carousel .inner .control-holder .controls {
    float: left;
}

    .carousel .inner .control-holder .controls .slick-track {
        min-width: 41.25rem;
    }

@media screen and (max-width: 61.875em) {
    .carousel .inner .control-holder .controls .slick-track {
        min-width: 40rem;
    }
}

.carousel .inner .control-holder .controls .slick-slide {
    width: auto !important;
    min-width: 7.5rem;
    float: left;
    margin-right: 0.9375rem;
    outline: none;
    position: relative;
}

@media screen and (max-width: 61.875em) {
    .carousel .inner .control-holder .controls .slick-slide {
        margin-right: 0.625rem;
    }
}

.carousel .inner .control-holder .controls .slick-slide:last-of-type {
    margin-right: 0;
}

.carousel .inner .control-holder .controls .slick-slide:before {
    content: '';
    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.carousel .inner .control-holder .controls .slick-slide:not(.slick-current):before {
    content: '';
    background: rgba(26, 200, 228, 0.6);
    position: absolute;
    height: 100%;
    width: 100%;
}

.carousel .inner .control-holder .controls .slick-slide:not(.slick-current):hover:before {
    opacity: 0.75;
}

@media screen and (max-width: 47.9375em) {
    .carousel .inner .control-holder .controls {
        display: none;
    }
}

.carousel .inner .control-holder .prev {
    position: absolute;
    left: -4.6875rem;
    top: 0.625rem;
    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

@media screen and (max-width: 61.875em) {
    .carousel .inner .control-holder .prev {
        left: -3.75rem;
    }
}

.carousel .inner .control-holder .prev:hover {
    opacity: 0.75;
}

@media screen and (max-width: 47.9375em) {
    .carousel .inner .control-holder .prev {
        left: -0.4375rem;
        top: -11.25rem;
        opacity: 0.75;
    }
}

.carousel .inner .control-holder .next {
    position: absolute;
    right: -4.6875rem;
    top: 0.625rem;
    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

@media screen and (max-width: 61.875em) {
    .carousel .inner .control-holder .next {
        right: -3.75rem;
    }
}

.carousel .inner .control-holder .next:hover {
    opacity: 0.75;
}

@media screen and (max-width: 47.9375em) {
    .carousel .inner .control-holder .next {
        right: -0.4375rem;
        top: -11.25rem;
        opacity: 0.75;
    }
}
