/*
Theme Name: 	Spring Impact 2022
Theme URI: 		https://alchemy.digital/
Description: 	Custom template for Spring Impact
Version: 		3.0
Author: 		Alchemy Digital
Author URI: 	https://alchemy.digital/
Tags:
*/
/*================ UTILS ================*/
/*============================================================================
  Color Variables
==============================================================================*/
/* ---- Colors ---- */
/*============================================================================
  Grid Breakpoints and Class Names
==============================================================================*/
/*============================================================================
  Easing & Transitions
==============================================================================*/
/*============================================================================
  Mixins
==============================================================================*/
/*============================================================================
  Mixin - Cover Image
==============================================================================*/
/*============================================================================
  Mixin - Input Placeholder Styles
==============================================================================*/
/*============================================================================
  Mixin - Responsive ratio

  Used for creating scalable elements that maintain the same ratio
  example:
  .element {
    @include responsive-ratio(400, 300);
  }
==============================================================================*/
/*============================================================================
  Mixin - Clear fix
==============================================================================*/
/*============================================================================
  Mixin - Visually Hidden
==============================================================================*/
/*============================================================================
  Mixin - Visually shown
==============================================================================*/
/*============================================================================
  Mixin - Media Queries
==============================================================================*/
/*============================================================================
  Mixin - Keyframes
==============================================================================*/
/*============================================================================
  Mixin - Animation
==============================================================================*/
/*============================================================================
  Mixin - Color Classes
==============================================================================*/
/*============================================================================
  Mixin - Double bg classes
  Removes margin and bottom padding so two module with same background colour look connected
==============================================================================*/
/*============================================================================
  Mixin - Grid
==============================================================================*/
/*============================================================================
  Mixin - Add gridsize to end of classes e.g. "--md" and puts it within the media query
  this is currently mostly used in _grid.scss
==============================================================================*/
/*================ VENDOR ================*/
@import url(sass/vendor/owl/owl.carousel.min.css);
@import url(sass/vendor/owl/owl.theme.default.min.css);
@import url(sass/fancybox/jquery.fancybox.css);
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block; }

/**
 * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
 */
audio,
canvas,
video {
  display: inline-block;
  *display: inline;
  *zoom: 1; }

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

/**
 * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
 * Known issue: no IE 6 support.
 */
[hidden] {
  display: none; }

/* ==========================================================================
   Base
   ========================================================================== */
/**
 * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
 *    `em` units.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-size: 100%;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Address `font-family` inconsistency between `textarea` and other form
 * elements.
 */
html,
button,
input,
select,
textarea {
  font-family: sans-serif; }

/**
 * Address margins handled incorrectly in IE 6/7.
 */
body {
  margin: 0; }

/* ==========================================================================
   Links
   ========================================================================== */
/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: 0; }

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

/* ==========================================================================
   Typography
   ========================================================================== */
/**
 * Address font sizes and margins set differently in IE 6/7.
 * Address font sizes within `section` and `article` in Firefox 4+, Safari 5,
 * and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

h2 {
  font-size: 1.5em;
  margin: 0.83em 0; }

h3 {
  font-size: 1.17em;
  margin: 1em 0; }

h4 {
  font-size: 1em;
  margin: 1.33em 0; }

h5 {
  font-size: 0.83em;
  margin: 1.67em 0; }

h6 {
  font-size: 0.67em;
  margin: 2.33em 0; }

/**
 * Address styling not present in IE 7/8/9, Safari 5, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

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

blockquote {
  margin: 1em 40px; }

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

/**
 * Address differences between Firefox and other browsers.
 * Known issue: no IE 6/7 normalization.
 */
hr {
  box-sizing: content-box;
  height: 0; }

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

/**
 * Address margins set differently in IE 6/7.
 */
p,
pre {
  margin: 1em 0; }

/**
 * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  _font-family: "courier new", monospace;
  font-size: 1em; }

/**
 * Improve readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word; }

/**
 * Address CSS quotes not supported in IE 6/7.
 */
q {
  quotes: none; }

/**
 * Address `quotes` property not supported in Safari 4.
 */
q:before,
q:after {
  content: "";
  content: none; }

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

/* ==========================================================================
   Lists
   ========================================================================== */
/**
 * Address margins set differently in IE 6/7.
 */
dl,
menu,
ol,
ul {
  margin: 1em 0; }

dd {
  margin: 0 0 0 40px; }

/**
 * Address paddings set differently in IE 6/7.
 */
menu,
ol,
ul {
  padding: 0 0 0 40px; }

/**
 * Correct list images handled incorrectly in IE 7.
 */
nav ul,
nav ol {
  list-style: none;
  list-style-image: none; }

/* ==========================================================================
   Embedded content
   ========================================================================== */
/**
 * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
 * 2. Improve image quality when scaled in IE 7.
 */
img {
  border: 0;
  /* 1 */
  -ms-interpolation-mode: bicubic;
  /* 2 */ }

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

/* ==========================================================================
   Figures
   ========================================================================== */
/**
 * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
 */
figure {
  margin: 0; }

/* ==========================================================================
   Forms
   ========================================================================== */
/**
 * Correct margin displayed oddly in IE 6/7.
 */
form {
  margin: 0; }

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

/**
 * 1. Correct color not being inherited in IE 6/7/8/9.
 * 2. Correct text not wrapping in Firefox 3.
 * 3. Correct alignment displayed oddly in IE 6/7.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  white-space: normal;
  /* 2 */
  *margin-left: -7px;
  /* 3 */ }

/**
 * 1. Correct font size not being inherited in all browsers.
 * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
 *    and Chrome.
 * 3. Improve appearance and consistency in all browsers.
 */
button,
input,
select,
textarea {
  font-size: 100%;
  /* 1 */
  margin: 0;
  /* 2 */
  vertical-align: baseline;
  /* 3 */
  *vertical-align: middle;
  /* 3 */ }

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

/**
 * 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 Chrome, Safari 5+, and IE 6+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
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.
 * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
 *    Known issue: inner spacing remains in IE 6.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
  *overflow: visible;
  /* 4 */ }

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

/**
 * 1. Address box sizing set to content-box in IE 8/9.
 * 2. Remove excess padding in IE 8/9.
 * 3. Remove excess padding in IE 7.
 *    Known issue: excess padding remains in IE 6.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
  *height: 13px;
  /* 3 */
  *width: 13px;
  /* 3 */ }

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

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

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

/**
 * 1. Remove default vertical scrollbar in IE 6/7/8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */ }

.nf-form-fields-required {
  display: none; }

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

/*  ==========================================================================
    Helper classes
    ========================================================================== */
/*
//  Image replacement
*/
.ir {
  background-color: transparent;
  border: 0;
  overflow: hidden;
  /* IE 6/7 fallback */
  *text-indent: -9999px; }

.ir:before {
  content: "";
  display: block;
  width: 0;
  height: 150%; }

/*
//  Hide from both screenreaders and browsers: h5bp.com/u
*/
.hidden {
  display: none !important;
  visibility: hidden; }

/*
//  Hide only visually, but have it available for screenreaders: h5bp.com/v
*/
.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

/*
 * Extends the .visuallyhidden class to allow the element to be focusable
 * when navigated to via the keyboard: h5bp.com/p
 */
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto; }

/*
 * Hide visually and from screenreaders, but maintain layout
 */
.invisible {
  visibility: hidden; }

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */
.clearfix:before,
.clearfix:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */ }

.clearfix:after {
  clear: both; }

/*
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */
.clearfix {
  *zoom: 1; }

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

/* ==========================================================================
   grid
   ========================================================================== */
.gd-g {
  display: -webkit-box;
  /* OLD - iOS 6-, Safari 3.1-6 */
  /* OLD - Firefox 19- (buggy but mostly works) */
  display: -ms-flexbox;
  /* TWEENER - IE 10 */
  display: -webkit-flex;
  /* NEW - Chrome */
  display: flex;
  /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap; }

.gd-g--center {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.gd-g--space-between {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.gd-g--vertcenter {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.gd-g--vertend {
  -webkit-box-align: end;
  -webkit-align-items: end;
      -ms-flex-align: end;
          align-items: end; }

.gd-g--mb {
  margin-bottom: calc(0.5em * -2); }
  @media only screen and (min-width: 550px) {
    .gd-g--mb {
      margin-bottom: calc(0.75em * -2); } }
  @media only screen and (min-width: 700px) {
    .gd-g--mb {
      margin-bottom: calc(0.75em * -2); } }
  @media only screen and (min-width: 1000px) {
    .gd-g--mb {
      margin-bottom: calc(1em * -2); } }
  @media only screen and (min-width: 1200px) {
    .gd-g--mb {
      margin-bottom: calc(1em * -2); } }
  @media only screen and (min-width: 1400px) {
    .gd-g--mb {
      margin-bottom: calc(1em * -2); } }
  .gd-g--mb > .gd-u {
    margin-bottom: calc(0.5em * 2); }
    @media only screen and (min-width: 550px) {
      .gd-g--mb > .gd-u {
        margin-bottom: calc(0.75em * 2); } }
    @media only screen and (min-width: 700px) {
      .gd-g--mb > .gd-u {
        margin-bottom: calc(0.75em * 2); } }
    @media only screen and (min-width: 1000px) {
      .gd-g--mb > .gd-u {
        margin-bottom: calc(1em * 2); } }
    @media only screen and (min-width: 1200px) {
      .gd-g--mb > .gd-u {
        margin-bottom: calc(1em * 2); } }
    @media only screen and (min-width: 1400px) {
      .gd-g--mb > .gd-u {
        margin-bottom: calc(1em * 2); } }

.gd-u {
  vertical-align: top;
  box-sizing: border-box;
  padding-left: 0.5em;
  padding-right: 0.5em; }

.gd-u--nopadleft {
  padding-left: 0; }

.gd-u--nopadright {
  padding-right: 0; }

.gd-u-1 {
  width: 100%; }

.gd-u-1-2 {
  width: 50%; }

.gd-u-1-3 {
  width: 33.3%; }

.gd-u-2-3 {
  width: 66.66666%; }

.gd-u-1-4 {
  width: 25%; }

.gd-u-3-4 {
  width: 75%; }

.gd-u-1-5 {
  width: 20%; }

.gd-u-2-5 {
  width: 40%; }

.gd-u-3-5 {
  width: 60%; }

.gd-u-4-5 {
  width: 80%; }

.gd-u-1-6 {
  width: 16.656%; }

.gd-u-5-6 {
  width: 83.33%; }

.gd-u-1-8 {
  width: 12.5%; }

.gd-u-3-8 {
  width: 37.5%; }

.gd-u-5-8 {
  width: 62.5%; }

.gd-u-7-8 {
  width: 87.5%; }

.gd-u-1-12 {
  width: 8.3333%; }

.gd-u-5-12 {
  width: 41.6666%; }

.gd-u-7-12 {
  width: 58.3333%; }

.gd-u-11-12 {
  width: 91.6666%; }

.gd-u-1-24 {
  width: 4.1666%; }

.gd-u-5-24 {
  width: 20.8333%; }

.gd-u-7-24 {
  width: 29.1666%; }

.gd-u-11-24 {
  width: 45.8333%; }

.gd-u-13-24 {
  width: 54.1666%; }

.gd-u-17-24 {
  width: 70.8333%; }

.gd-u-19-24 {
  width: 79.1666%; }

.gd-u-23-24 {
  width: 95.8333%; }

.gd-u-auto {
  width: auto; }

@media screen and (min-width: 420px) {
  .gd-u-gt420-1 {
    width: 100%; }

  .gd-u-gt420-1-2 {
    width: 50%; }

  .gd-u-gt420-1-3 {
    width: 33.33333%; }

  .gd-u-gt420-2-3 {
    width: 66.66666%; }

  .gd-u-gt420-1-4 {
    width: 25%; }

  .gd-u-gt420-3-4 {
    width: 75%; }

  .gd-u-gt420-1-5 {
    width: 20%; }

  .gd-u-gt420-2-5 {
    width: 40%; }

  .gd-u-gt420-3-5 {
    width: 60%; }

  .gd-u-gt420-4-5 {
    width: 80%; }

  .gd-u-gt420-1-6 {
    width: 16.656%; }

  .gd-u-gt420-5-6 {
    width: 83.33%; }

  .gd-u-gt420-1-8 {
    width: 12.5%; }

  .gd-u-gt420-3-8 {
    width: 37.5%; }

  .gd-u-gt420-5-8 {
    width: 62.5%; }

  .gd-u-gt420-7-8 {
    width: 87.5%; }

  .gd-u-gt420-1-12 {
    width: 8.3333%; }

  .gd-u-gt420-5-12 {
    width: 41.6666%; }

  .gd-u-gt420-7-12 {
    width: 58.3333%; }

  .gd-u-gt420-11-12 {
    width: 91.6666%; }

  .gd-u-gt420-1-24 {
    width: 4.1666%; }

  .gd-u-gt420-5-24 {
    width: 20.8333%; }

  .gd-u-gt420-7-24 {
    width: 29.1666%; }

  .gd-u-gt420-11-24 {
    width: 45.8333%; }

  .gd-u-gt420-13-24 {
    width: 54.1666%; }

  .gd-u-gt420-17-24 {
    width: 70.8333%; }

  .gd-u-gt420-19-24 {
    width: 79.1666%; }

  .gd-u-gt420-23-24 {
    width: 95.8333%; }

  .gd-u-gt420-auto {
    width: auto; }

  .gd-u-gt420--nopadleft {
    padding-left: 0; }

  .gd-u-gt420--nopadright {
    padding-right: 0; } }
@media screen and (max-width: 549px) {
  .lt550-hide {
    display: none; } }
@media screen and (min-width: 550px) {
  .gd-u-gt550-1 {
    width: 100%; }

  .gd-u-gt550-1-2 {
    width: 50%; }

  .gd-u-gt550-1-3 {
    width: 33.33333%; }

  .gd-u-gt550-2-3 {
    width: 66.66666%; }

  .gd-u-gt550-1-4 {
    width: 25%; }

  .gd-u-gt550-3-4 {
    width: 75%; }

  .gd-u-gt550-1-5 {
    width: 20%; }

  .gd-u-gt550-2-5 {
    width: 40%; }

  .gd-u-gt550-3-5 {
    width: 60%; }

  .gd-u-gt550-4-5 {
    width: 80%; }

  .gd-u-gt550-1-6 {
    width: 16.656%; }

  .gd-u-gt550-5-6 {
    width: 83.33%; }

  .gd-u-gt550-1-8 {
    width: 12.5%; }

  .gd-u-gt550-3-8 {
    width: 37.5%; }

  .gd-u-gt550-5-8 {
    width: 62.5%; }

  .gd-u-gt550-7-8 {
    width: 87.5%; }

  .gd-u-gt550-1-12 {
    width: 8.3333%; }

  .gd-u-gt550-5-12 {
    width: 41.6666%; }

  .gd-u-gt550-7-12 {
    width: 58.3333%; }

  .gd-u-gt550-11-12 {
    width: 91.6666%; }

  .gd-u-gt550-1-24 {
    width: 4.1666%; }

  .gd-u-gt550-5-24 {
    width: 20.8333%; }

  .gd-u-gt550-7-24 {
    width: 29.1666%; }

  .gd-u-gt550-11-24 {
    width: 45.8333%; }

  .gd-u-gt550-13-24 {
    width: 54.1666%; }

  .gd-u-gt550-17-24 {
    width: 70.8333%; }

  .gd-u-gt550-19-24 {
    width: 79.1666%; }

  .gd-u-gt550-23-24 {
    width: 95.8333%; }

  .gd-u-gt550-auto {
    width: auto; }

  .gd-u-gt550--nopadleft {
    padding-left: 0; }

  .gd-u-gt550--nopadright {
    padding-right: 0; }

  .gd-g {
    margin-right: -0.75em;
    margin-left: -0.75em; }

  .gd-u {
    padding-right: 0.75em;
    padding-left: 0.75em; } }
@media screen and (max-width: 699px) {
  .lt700-hide {
    display: none; } }
@media screen and (min-width: 700px) {
  .gd-u-gt700-1 {
    width: 100%; }

  .gd-u-gt700-1-2 {
    width: 50%; }

  .gd-u-gt700-1-3 {
    width: 33.33333%; }

  .gd-u-gt700-2-3 {
    width: 66.66666%; }

  .gd-u-gt700-1-4 {
    width: 25%; }

  .gd-u-gt700-3-4 {
    width: 75%; }

  .gd-u-gt700-1-5 {
    width: 20%; }

  .gd-u-gt700-2-5 {
    width: 40%; }

  .gd-u-gt700-3-5 {
    width: 60%; }

  .gd-u-gt700-4-5 {
    width: 80%; }

  .gd-u-gt700-1-6 {
    width: 16.656%; }

  .gd-u-gt700-5-6 {
    width: 83.33%; }

  .gd-u-gt700-1-8 {
    width: 12.5%; }

  .gd-u-gt700-3-8 {
    width: 37.5%; }

  .gd-u-gt700-5-8 {
    width: 62.5%; }

  .gd-u-gt700-7-8 {
    width: 87.5%; }

  .gd-u-gt700-1-12 {
    width: 8.3333%; }

  .gd-u-gt700-5-12 {
    width: 41.6666%; }

  .gd-u-gt700-7-12 {
    width: 58.3333%; }

  .gd-u-gt700-11-12 {
    width: 91.6666%; }

  .gd-u-gt700-1-24 {
    width: 4.1666%; }

  .gd-u-gt700-5-24 {
    width: 20.8333%; }

  .gd-u-gt700-7-24 {
    width: 29.1666%; }

  .gd-u-gt700-11-24 {
    width: 45.8333%; }

  .gd-u-gt700-13-24 {
    width: 54.1666%; }

  .gd-u-gt700-17-24 {
    width: 70.8333%; }

  .gd-u-gt700-19-24 {
    width: 79.1666%; }

  .gd-u-gt700-23-24 {
    width: 95.8333%; }

  .gd-u-gt700-auto {
    width: auto; }

  .gd-g {
    margin-right: -0.75em;
    margin-left: -0.75em; }

  .gd-u {
    padding-right: 0.75em;
    padding-left: 0.75em; }

  .gd-u-gt700--nopadleft {
    padding-left: 0; }

  .gd-u-gt700--nopadright {
    padding-right: 0; } }
@media screen and (max-width: 799px) {
  .lt800-hide {
    display: none; } }
@media screen and (min-width: 800px) {
  .gd-u-gt800-1 {
    width: 100%; }

  .gd-u-gt800-1-2 {
    width: 50%; }

  .gd-u-gt800-1-3 {
    width: 33.33333%; }

  .gd-u-gt800-2-3 {
    width: 66.66666%; }

  .gd-u-gt800-1-4 {
    width: 25%; }

  .gd-u-gt800-3-4 {
    width: 75%; }

  .gd-u-gt800-1-5 {
    width: 20%; }

  .gd-u-gt800-2-5 {
    width: 40%; }

  .gd-u-gt800-3-5 {
    width: 60%; }

  .gd-u-gt800-4-5 {
    width: 80%; }

  .gd-u-gt800-1-6 {
    width: 16.656%; }

  .gd-u-gt800-5-6 {
    width: 83.33%; }

  .gd-u-gt800-1-8 {
    width: 12.5%; }

  .gd-u-gt800-3-8 {
    width: 37.5%; }

  .gd-u-gt800-5-8 {
    width: 62.5%; }

  .gd-u-gt800-7-8 {
    width: 87.5%; }

  .gd-u-gt800-1-12 {
    width: 8.3333%; }

  .gd-u-gt800-5-12 {
    width: 41.6666%; }

  .gd-u-gt800-7-12 {
    width: 58.3333%; }

  .gd-u-gt800-11-12 {
    width: 91.6666%; }

  .gd-u-gt800-1-24 {
    width: 4.1666%; }

  .gd-u-gt800-5-24 {
    width: 20.8333%; }

  .gd-u-gt800-7-24 {
    width: 29.1666%; }

  .gd-u-gt800-11-24 {
    width: 45.8333%; }

  .gd-u-gt800-13-24 {
    width: 54.1666%; }

  .gd-u-gt800-17-24 {
    width: 70.8333%; }

  .gd-u-gt800-19-24 {
    width: 79.1666%; }

  .gd-u-gt800-23-24 {
    width: 95.8333%; }

  .gd-u-gt800-auto {
    width: auto; }

  .gd-u-gt800--nopadleft {
    padding-left: 0; }

  .gd-u-gt800--nopadright {
    padding-right: 0; } }
@media screen and (max-width: 999px) {
  .lt1000-hide {
    display: none; } }
@media screen and (min-width: 1000px) {
  .gd-u-gt1000-1 {
    width: 100%; }

  .gd-u-gt1000-1-2 {
    width: 50%; }

  .gd-u-gt1000-1-3 {
    width: 33.33333%; }

  .gd-u-gt1000-2-3 {
    width: 66.66666%; }

  .gd-u-gt1000-1-4 {
    width: 25%; }

  .gd-u-gt1000-3-4 {
    width: 75%; }

  .gd-u-gt1000-1-5 {
    width: 20%; }

  .gd-u-gt1000-2-5 {
    width: 40%; }

  .gd-u-gt1000-3-5 {
    width: 60%; }

  .gd-u-gt1000-4-5 {
    width: 80%; }

  .gd-u-gt1000-1-6 {
    width: 16.656%; }

  .gd-u-gt1000-5-6 {
    width: 83.33%; }

  .gd-u-gt1000-1-8 {
    width: 12.5%; }

  .gd-u-gt1000-3-8 {
    width: 37.5%; }

  .gd-u-gt1000-5-8 {
    width: 62.5%; }

  .gd-u-gt1000-7-8 {
    width: 87.5%; }

  .gd-u-gt1000-1-12 {
    width: 8.3333%; }

  .gd-u-gt1000-5-12 {
    width: 41.6666%; }

  .gd-u-gt1000-7-12 {
    width: 58.3333%; }

  .gd-u-gt1000-11-12 {
    width: 91.6666%; }

  .gd-u-gt1000-1-24 {
    width: 4.1666%; }

  .gd-u-gt1000-5-24 {
    width: 20.8333%; }

  .gd-u-gt1000-7-24 {
    width: 29.1666%; }

  .gd-u-gt1000-11-24 {
    width: 45.8333%; }

  .gd-u-gt1000-13-24 {
    width: 54.1666%; }

  .gd-u-gt1000-17-24 {
    width: 70.8333%; }

  .gd-u-gt1000-19-24 {
    width: 79.1666%; }

  .gd-u-gt1000-23-24 {
    width: 95.8333%; }

  .gd-u-gt1000-auto {
    width: auto; }

  .gd-g {
    margin-right: -1em;
    margin-left: -1em; }

  .gd-u {
    padding-right: 1em;
    padding-left: 1em; }

  .gd-u-gt1000--nopadleft {
    padding-left: 0; }

  .gd-u-gt1000--nopadright {
    padding-right: 0; } }
@media screen and (max-width: 1200px) {
  .lt1200-hide {
    display: none; } }
@media screen and (min-width: 1200px) {
  .gd-u-gt1200-1 {
    width: 100%; }

  .gd-u-gt1200-1-2 {
    width: 50%; }

  .gd-u-gt1200-1-3 {
    width: 33.33333%; }

  .gd-u-gt1200-2-3 {
    width: 66.66666%; }

  .gd-u-gt1200-1-4 {
    width: 25%; }

  .gd-u-gt1200-3-4 {
    width: 75%; }

  .gd-u-gt1200-1-5 {
    width: 20%; }

  .gd-u-gt1200-2-5 {
    width: 40%; }

  .gd-u-gt1200-3-5 {
    width: 60%; }

  .gd-u-gt1200-4-5 {
    width: 80%; }

  .gd-u-gt1200-1-6 {
    width: 16.656%; }

  .gd-u-gt1200-5-6 {
    width: 83.33%; }

  .gd-u-gt1200-1-8 {
    width: 12.5%; }

  .gd-u-gt1200-3-8 {
    width: 37.5%; }

  .gd-u-gt1200-5-8 {
    width: 62.5%; }

  .gd-u-gt1200-7-8 {
    width: 87.5%; }

  .gd-u-gt1200-1-12 {
    width: 8.3333%; }

  .gd-u-gt1200-5-12 {
    width: 41.6666%; }

  .gd-u-gt1200-7-12 {
    width: 58.3333%; }

  .gd-u-gt1200-11-12 {
    width: 91.6666%; }

  .gd-u-gt1200-1-24 {
    width: 4.1666%; }

  .gd-u-gt1200-5-24 {
    width: 20.8333%; }

  .gd-u-gt1200-7-24 {
    width: 29.1666%; }

  .gd-u-gt1200-11-24 {
    width: 45.8333%; }

  .gd-u-gt1200-13-24 {
    width: 54.1666%; }

  .gd-u-gt1200-17-24 {
    width: 70.8333%; }

  .gd-u-gt1200-19-24 {
    width: 79.1666%; }

  .gd-u-gt1200-23-24 {
    width: 95.8333%; }

  .gd-u-gt1200-auto {
    width: auto; }

  .gd-g {
    margin-right: -1em;
    margin-left: -1em; }

  .gd-u {
    padding-right: 1em;
    padding-left: 1em; }

  .gd-u-gt1200--nopadleft {
    padding-left: 0; }

  .gd-u-gt1200--nopadright {
    padding-right: 0; } }
@media screen and (max-width: 1399px) {
  .lt1400-hide {
    display: none; } }
@media screen and (min-width: 1400px) {
  .gd-u-gt1400-1 {
    width: 100%; }

  .gd-u-gt1400-1-2 {
    width: 50%; }

  .gd-u-gt1400-1-3 {
    width: 33.33333%; }

  .gd-u-gt1400-2-3 {
    width: 66.66666%; }

  .gd-u-gt1400-1-4 {
    width: 25%; }

  .gd-u-gt1400-3-4 {
    width: 75%; }

  .gd-u-gt1400-1-5 {
    width: 20%; }

  .gd-u-gt1400-2-5 {
    width: 40%; }

  .gd-u-gt1400-3-5 {
    width: 60%; }

  .gd-u-gt1400-4-5 {
    width: 80%; }

  .gd-u-gt1400-1-6 {
    width: 16.656%; }

  .gd-u-gt1400-5-6 {
    width: 83.33%; }

  .gd-u-gt1400-1-8 {
    width: 12.5%; }

  .gd-u-gt1400-3-8 {
    width: 37.5%; }

  .gd-u-gt1400-5-8 {
    width: 62.5%; }

  .gd-u-gt1400-7-8 {
    width: 87.5%; }

  .gd-u-gt1400-1-12 {
    width: 8.3333%; }

  .gd-u-gt1400-5-12 {
    width: 41.6666%; }

  .gd-u-gt1400-7-12 {
    width: 58.3333%; }

  .gd-u-gt1400-11-12 {
    width: 91.6666%; }

  .gd-u-gt1400-1-24 {
    width: 4.1666%; }

  .gd-u-gt1400-5-24 {
    width: 20.8333%; }

  .gd-u-gt1400-7-24 {
    width: 29.1666%; }

  .gd-u-gt1400-11-24 {
    width: 45.8333%; }

  .gd-u-gt1400-13-24 {
    width: 54.1666%; }

  .gd-u-gt1400-17-24 {
    width: 70.8333%; }

  .gd-u-gt1400-19-24 {
    width: 79.1666%; }

  .gd-u-gt1400-23-24 {
    width: 95.8333%; }

  .gd-u-gt1400-auto {
    width: auto; }

  .gd-g {
    margin-right: -1em;
    margin-left: -1em; }

  .gd-u {
    padding-right: 1em;
    padding-left: 1em; }

  .gd-u-gt1400--nopadleft {
    padding-left: 0; }

  .gd-u-gt1400--nopadright {
    padding-right: 0; } }
.opera-only :-o-prefocus,
.gd-g {
  word-spacing: -0.43em; }

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

/* 	==========================================================================
	animations
   	========================================================================== */
.effect--fade,
.effect--slidein {
  -webkit-transition: opacity 1000ms ease-out 0s, -webkit-transform 750ms ease-out 0s;
  transition: opacity 1000ms ease-out 0s, -webkit-transform 750ms ease-out 0s;
  transition: opacity 1000ms ease-out 0s, transform 750ms ease-out 0s;
  transition: opacity 1000ms ease-out 0s, transform 750ms ease-out 0s, -webkit-transform 750ms ease-out 0s; }

.effect--fade {
  opacity: 0; }

.effect--fade.effect--ready,
.no-cssanimations .effect--fade {
  opacity: 1; }

.effect--slidein {
  -ms-transform: translate(0, 2em);
      transform: translate(0, 2em);
  -moz-transform: translate(0, 2em);
  -webkit-transform: translate(0, 2em); }

.effect--slidein.effect--ready,
.no-cssanimations .effect--slidein {
  -ms-transform: translate(0, 0px);
      transform: translate(0, 0px);
  -moz-transform: translate(0, 0px);
  -webkit-transform: translate(0, 0px); }

.effect--slidedown {
  -ms-transform: translate(0, -2em);
      transform: translate(0, -2em);
  -moz-transform: translate(0, -2em);
  -webkit-transform: translate(0, -2em); }

.effect--slidedown.effect--ready,
.no-cssanimations .effect--slidedown {
  -ms-transform: translate(0, 0px);
      transform: translate(0, 0px);
  -moz-transform: translate(0, 0px);
  -webkit-transform: translate(0, 0px); }

.effect--slideright {
  -ms-transform: translate(-2em, 0);
      transform: translate(-2em, 0);
  -moz-transform: translate(-2em, 0);
  -webkit-transform: translate(-2em, 0); }

.effect--slideright.effect--ready,
.no-cssanimations .effect--slideright {
  -ms-transform: translate(0, 0px);
      transform: translate(0, 0px);
  -moz-transform: translate(0, 0px);
  -webkit-transform: translate(0, 0px); }

.effect--slideleft {
  -ms-transform: translate(2em, 0px);
      transform: translate(2em, 0px);
  -moz-transform: translate(2em, 0px);
  -webkit-transform: translate(2em, 0px); }

.effect--slideleft.effect--ready,
.no-cssanimations .effect--slideleft {
  -ms-transform: translate(0, 0px);
      transform: translate(0, 0px);
  -moz-transform: translate(0, 0px);
  -webkit-transform: translate(0, 0px); }

.effect--delay-1 {
  -webkit-transition-delay: 200ms;
  transition-delay: 200ms; }

.effect--delay-2 {
  -webkit-transition-delay: 400ms;
  transition-delay: 400ms; }

.effect--delay-3 {
  -webkit-transition-delay: 600ms;
  transition-delay: 600ms; }

.effect--delay-2 {
  -webkit-transition-delay: 800ms;
  transition-delay: 800ms; }

.effect--delay-3 {
  -webkit-transition-delay: 1000ms;
  transition-delay: 1000ms; }

.effect--delay-0 {
  -webkit-transition-delay: 0ms;
  transition-delay: 0ms; }

.owl-carousel {
  display: block; }
  .owl-carousel .owl-nav {
    position: absolute;
    bottom: 100%;
    padding-bottom: 2em;
    right: 0.5em; }
    @media only screen and (min-width: 1000px) {
      .owl-carousel .owl-nav {
        bottom: 102%; } }
    .owl-carousel .owl-nav .owl-prev,
    .owl-carousel .owl-nav .owl-next {
      position: relative;
      -webkit-transition: opacity 150ms ease-out 0ms;
      transition: opacity 150ms ease-out 0ms; }
      .owl-carousel .owl-nav .owl-prev.disabled i,
      .owl-carousel .owl-nav .owl-next.disabled i {
        opacity: .25; }
      .owl-carousel .owl-nav .owl-prev::after,
      .owl-carousel .owl-nav .owl-next::after {
        position: absolute;
        right: 0;
        content: '';
        display: block;
        top: 0;
        height: 100%;
        border-left: solid 1px rgba(0, 0, 0, 0.1); }
      .owl-carousel .owl-nav .owl-prev i,
      .owl-carousel .owl-nav .owl-next i {
        padding: 1em;
        width: 1.5em;
        height: 1em;
        text-align: center; }
    .owl-carousel .owl-nav .owl-next::after {
      display: none; }
    @media only screen and (min-width: 550px) {
      .owl-carousel .owl-nav {
        right: 0.75em; } }
    @media only screen and (min-width: 700px) {
      .owl-carousel .owl-nav {
        right: 0.75em; } }
    @media only screen and (min-width: 1000px) {
      .owl-carousel .owl-nav {
        right: 1em; } }
    @media only screen and (min-width: 1200px) {
      .owl-carousel .owl-nav {
        right: 1em; } }
    @media only screen and (min-width: 1400px) {
      .owl-carousel .owl-nav {
        right: 1em; } }

/* ==========================================================================
   forms
   ========================================================================== */
.field {
  padding: 0 0.5em 0.5em 0;
  position: relative; }

input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="search"],
input[type="url"],
textarea {
  padding: 1em;
  background: #ffffff;
  border: solid 1px #e5e5e5;
  border-radius: 0;
  outline: none;
  width: 100%;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
  font-family: inherit;
  box-shadow: none; }

textarea {
  min-height: 5.2em; }

input[disabled],
input[disabled],
input[disabled],
input[disabled],
textarea[disabled],
input[readonly],
input[readonly],
input[readonly],
input[readonly],
textarea[readonly] {
  opacity: 0.5; }

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
textarea:focus {
  border-color: #1d2e3c; }

[type="text"].error,
input[type="email"].error,
input[type="password"].error,
input[type="number"].error,
textarea.error {
  background-image: url(img/input.invalid.png);
  background-size: auto 1em;
  background-position: right center;
  background-repeat: no-repeat; }

textarea.error {
  background-position: right 1em; }

.form-error {
  position: relative;
  display: block;
  background: #e8492c;
  padding: 0.5em 1em;
  z-index: 2;
  font-size: 12px; }

.form-error:before {
  content: " ";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  top: -5px;
  left: 1em;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 5px solid #e8492c; }

.wpcf7 .wpcf7-not-valid-tip {
  background: #e8492c;
  color: #ffffff;
  padding: 1em;
  position: relative;
  font-size: 12px;
  z-index: 2; }

.wpcf7 .wpcf7-not-valid-tip:after {
  content: " ";
  display: block;
  position: absolute;
  top: -0.5em;
  left: 1em;
  border-left: 0.5em solid transparent;
  border-right: 0.5em solid transparent;
  border-bottom: 0.5em solid #e8492c; }

.wpcf7 .wpcf7-response-output {
  border: none;
  background: #888;
  color: #ffffff;
  padding: 1em;
  font-size: 13px; }

.wpcf7 .wpcf7-validation-errors {
  background: #e8492c; }

.wpcf7 .wpcf7-mail-sent-ok {
  background: #5be0cc;
  color: #111; }

.wpcf7 div.wpcf7-response-output {
  margin-left: 0;
  margin-right: 0; }

.field--radio ul {
  list-style: none; }

.field--radio ul li {
  padding: 0.5em 0; }

#ninja_forms_required_items,
.nf-field-container {
  margin-bottom: 20px; }

#mc_embed_signup {
  font-family: "Bureau Grot Lt"; }
  #mc_embed_signup #mc_embed_signup_scroll .mc-field-group {
    margin-bottom: 1rem; }
    #mc_embed_signup #mc_embed_signup_scroll .mc-field-group label {
      margin-bottom: -0.5rem;
      display: block;
      font-family: "Bureau Grot Lt"; }
  #mc_embed_signup #mc_embed_signup_scroll input {
    font-family: "Bureau Grot Lt"; }
    #mc_embed_signup #mc_embed_signup_scroll input.mce_inline_error {
      border-color: #e80000; }
  #mc_embed_signup #mc_embed_signup_scroll div.mce_inline_error {
    color: #e80000;
    background-color: transparent;
    padding: 0.25em 0 0 0;
    font-weight: 400;
    font-family: "Bureau Grot Lt"; }

/*  ==========================================================================
	Base typography
	========================================================================== */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0em 0 0.25em;
  line-height: 1.2;
  font-family: "Bureau Grot Cond Med";
  font-style: Normal;
  font-weight: Normal; }

h1,
.h1 {
  margin: 0; }

h2,
.h2 {
  font-weight: normal; }

h1,
.fontsize--huge {
  font-size: 48px;
  line-height: 1.1;
  font-family: "Bureau Grot Comp Med";
  font-style: Normal;
  font-weight: Normal; }

h2,
.fontsize--large {
  font-size: 32px;
  line-height: 1.1;
  font-family: "Bureau Grot Comp Med";
  font-style: Normal;
  font-weight: Normal; }

h3,
.fontsize--med {
  font-size: 22px;
  line-height: 1.3; }

body,
h4,
.fontsize--reg,
.filters .filters__bar .filters__bar__primary .filter__links__tooltip {
  font-size: 15px; }

h5,
.fontsize--sml {
  font-size: 14px; }

h6,
.fontsize--tiny,
.filters .filters__bar .filters__tags .filters__tag,
.filters .filters__bar .filters__tags .filters__tags__placeholder .filters__tags__placeholder__heading,
.filters .filters__bar .filters__tags .filters__activetags .filters__clearall {
  font-size: 12px; }

strong,
b {
  font-family: "Bureau Grot Cond Med";
  font-style: Normal;
  font-weight: Normal;
  font-size: 1.1em; }

.font--narrow {
  font-family: "Bureau Grot Comp Med";
  font-style: Normal;
  font-weight: Normal; }

.font--seminarrow {
  font-family: "Bureau Grot Cond Med";
  font-style: Normal;
  font-weight: Normal; }

.font--reg {
  font-family: "Bureau Grot Lt";
  font-style: Normal;
  font-weight: Normal; }

.case--lower {
  text-transform: lowercase; }

.case--upper {
  text-transform: uppercase; }

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

.text-align--left {
  text-align: left; }

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

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

@media only screen and (min-width: 550px) {
  h1,
  .fontsize--huge {
    font-size: 60px; }

  h2,
  .fontsize--large {
    font-size: 42px; }

  h3,
  .fontsize--med {
    font-size: 23px; }

  body,
  h4,
  .fontsize--reg,
  .filters .filters__bar .filters__bar__primary .filter__links__tooltip {
    font-size: 16px; }

  h5,
  .fontsize--sml {
    font-size: 14px; }

  h6,
  .fontsize--tiny,
  .filters .filters__bar .filters__tags .filters__tag,
  .filters .filters__bar .filters__tags .filters__tags__placeholder .filters__tags__placeholder__heading,
  .filters .filters__bar .filters__tags .filters__activetags .filters__clearall {
    font-size: 12px; } }
@media only screen and (min-width: 700px) {
  h1,
  .fontsize--huge {
    font-size: 70px; }

  h2,
  .fontsize--large {
    font-size: 50px; }

  h3,
  .fontsize--med {
    font-size: 27px; }

  body,
  h4,
  .fontsize--reg,
  .filters .filters__bar .filters__bar__primary .filter__links__tooltip {
    font-size: 16px; }

  h5,
  .fontsize--sml {
    font-size: 14px; }

  h6,
  .fontsize--tiny,
  .filters .filters__bar .filters__tags .filters__tag,
  .filters .filters__bar .filters__tags .filters__tags__placeholder .filters__tags__placeholder__heading,
  .filters .filters__bar .filters__tags .filters__activetags .filters__clearall {
    font-size: 12px; } }
@media only screen and (min-width: 1200px) {
  h1,
  .fontsize--huge {
    font-size: 80px; }

  h2,
  .fontsize--large {
    font-size: 60px; }

  h3,
  .fontsize--med {
    font-size: 32px; }

  body,
  h4,
  .fontsize--reg,
  .filters .filters__bar .filters__bar__primary .filter__links__tooltip {
    font-size: 17px; }

  h5,
  .fontsize--sml {
    font-size: 14px; }

  h6,
  .fontsize--tiny,
  .filters .filters__bar .filters__tags .filters__tag,
  .filters .filters__bar .filters__tags .filters__tags__placeholder .filters__tags__placeholder__heading,
  .filters .filters__bar .filters__tags .filters__activetags .filters__clearall {
    font-size: 12px; } }
@media only screen and (min-width: 1400px) {
  h1,
  .fontsize--huge {
    font-size: 90px; }

  h2,
  .fontsize--large {
    font-size: 69px; }

  h3,
  .fontsize--med {
    font-size: 36px; }

  body,
  h4,
  .fontsize--reg,
  .filters .filters__bar .filters__bar__primary .filter__links__tooltip {
    font-size: 18px; }

  h5,
  .fontsize--sml {
    font-size: 15px; }

  h6,
  .fontsize--tiny,
  .filters .filters__bar .filters__tags .filters__tag,
  .filters .filters__bar .filters__tags .filters__tags__placeholder .filters__tags__placeholder__heading,
  .filters .filters__bar .filters__tags .filters__activetags .filters__clearall {
    font-size: 13px; } }
@media only screen and (min-width: 1600px) {
  h1,
  .fontsize--huge {
    font-size: 100px; }

  h2,
  .fontsize--large {
    font-size: 72px; }

  h3,
  .fontsize--med {
    font-size: 38px; }

  body,
  h4,
  .fontsize--reg,
  .filters .filters__bar .filters__bar__primary .filter__links__tooltip {
    font-size: 20px; }

  h5,
  .fontsize--sml {
    font-size: 15px; }

  h6,
  .fontsize--tiny,
  .filters .filters__bar .filters__tags .filters__tag,
  .filters .filters__bar .filters__tags .filters__tags__placeholder .filters__tags__placeholder__heading,
  .filters .filters__bar .filters__tags .filters__activetags .filters__clearall {
    font-size: 13px; } }
ul,
ol {
  margin: 0 0 1em;
  padding: 0; }

p {
  margin: 0 0 1em; }

/*  ==========================================================================
	prevent FOUT
	========================================================================== */
body:after {
  content: " ";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  bottom: 0;
  background: #ffffff;
  z-index: 1000;
  -webkit-transition: opacity 250ms ease-out 500ms, left 0ms linear 0ms;
  transition: opacity 250ms ease-out 500ms, left 0ms linear 0ms; }

body.ready:after {
  opacity: 0;
  left: 100%;
  pointer-events: none;
  -webkit-transition: opacity 250ms ease-out 0ms, left 0ms linear 300ms;
  transition: opacity 250ms ease-out 0ms, left 0ms linear 300ms; }

/*  ==========================================================================
	END prevent FOUT
	========================================================================== */
body {
  font-family: "Bureau Grot Lt";
  font-style: Normal;
  font-weight: Normal;
  margin: 0;
  padding: 0;
  color: #000000;
  line-height: 1.4;
  overflow-x: hidden;
  max-width: 100%;
  -webkit-font-smoothing: antialiased; }

/*  ==========================================================================
	base links, buttons, interaction colors
	========================================================================== */
.color--white {
  color: #ffffff; }

.color--grey {
  color: #888; }

.color--pink {
  color: #ffb5c1; }

.color--red {
  color: #e8492c; }

.color--yellow {
  color: #f2ad11; }

.color--aqua {
  color: #009991; }

.color--teal {
  color: #5be0cc; }

.color--purple {
  color: #5b1ebf; }

.bg--white {
  background-color: #ffffff; }

.bg--grey {
  background-color: #888; }

.bg--pink {
  background-color: #ffb5c1; }

.bg--red {
  background-color: #e8492c; }

.bg--yellow {
  background-color: #f2ad11; }

.bg--aqua {
  background-color: #009991; }

.bg--teal {
  background-color: #5be0cc; }

.bg--purple {
  background-color: #5b1ebf; }

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

a:hover {
  color: inherit; }

a.line--added {
  display: inline-block; }

.linkline {
  border-bottom: solid 1px rgba(0, 212, 255, 0.5); }

a:hover .linkline {
  border-color: #5be0cc; }

.color--white .linkline,
.line--white .linkline {
  border-color: rgba(255, 255, 255, 0.5); }

.color--white a:hover .linkline,
.line--white a:hover .linkline {
  border-color: #ffffff; }

.line--pink .linkline {
  border-bottom: solid 1px rgba(255, 181, 193, 0.5); }

.line--pink a:hover .linkline {
  border-color: #ffb5c1; }

.line--pink .fa--shape:after {
  border-left: 2em solid #ffb5c1; }

.line--red .linkline {
  border-bottom: solid 1px rgba(232, 73, 44, 0.5); }

.line--red a:hover .linkline {
  border-color: #e8492c; }

.line--red .fa--shape:after {
  border-left: 2em solid #e8492c; }

.line--yellow .linkline {
  border-bottom: solid 1px rgba(242, 173, 17, 0.5); }

.line--yellow a:hover .linkline {
  border-color: #f2ad11; }

.line--yellow .fa--shape:after {
  border-left: 2em solid #f2ad11; }

.line--aqua .linkline {
  border-bottom: solid 1px rgba(0, 153, 145, 0.5); }

.line--aqua a:hover .linkline {
  border-color: #009991; }

.line--aqua .fa--shape:after {
  border-left: 2em solid #009991; }

.line--teal .linkline {
  border-bottom: solid 1px rgba(91, 224, 204, 0.5); }

.line--teal a:hover .linkline {
  border-color: #5be0cc; }

.line--teal .fa--shape:after {
  border-left: 2em solid #5be0cc; }

.line--purple .linkline {
  border-bottom: solid 1px rgba(91, 30, 191, 0.5); }

.line--purple a:hover .linkline {
  border-color: #5b1ebf; }

.line--purple .fa--shape:after {
  border-left: 2em solid #5b1ebf; }

a .fa {
  padding: 0 0 0 0.66em; }

a .fa--left {
  padding: 0 0.66em 0 0; }

a .fa--nopad {
  padding: 0; }

.fa--shape {
  position: relative;
  z-index: 1; }

.fa--shape:after {
  content: " ";
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-top: 2em solid transparent;
  border-bottom: 2em solid transparent;
  border-left: 2em solid #5be0cc;
  z-index: -1;
  top: -1em;
  margin-top: -0.5em;
  left: 0.25em;
  -webkit-transition: -webkit-transform 150ms ease-out 0ms;
  transition: -webkit-transform 150ms ease-out 0ms;
  transition: transform 150ms ease-out 0ms;
  transition: transform 150ms ease-out 0ms, -webkit-transform 150ms ease-out 0ms;
  -webkit-transform: rotate(-15deg);
  -ms-transform: rotate(-15deg);
      transform: rotate(-15deg); }

.fa--shape--2:after {
  left: 1em;
  -webkit-transform: rotate(15deg);
  -ms-transform: rotate(15deg);
      transform: rotate(15deg); }

.fa--shape--3:after {
  -webkit-transform: rotate(-10deg);
  -ms-transform: rotate(-10deg);
      transform: rotate(-10deg); }

.fa--shape--4:after {
  left: 1em;
  -webkit-transform: rotate(15deg);
  -ms-transform: rotate(15deg);
      transform: rotate(15deg); }

.fa--shape--5:after {
  left: 0.88em;
  -webkit-transform: rotate(-10deg);
  -ms-transform: rotate(-10deg);
      transform: rotate(-10deg); }

a:hover .fa--shape:after {
  -webkit-transform: rotate(0deg);
      -ms-transform: rotate(0deg);
          transform: rotate(0deg); }

.btn, #mc_embed_signup #mc_embed_signup_scroll input[type="submit"],
.button {
  background-color: #5be0cc;
  color: #ffffff;
  border-radius: 2px;
  display: inline-block;
  margin: 0 0.5em 0.5em 0;
  padding: 0.75em 2em;
  text-transform: uppercase;
  color: #ffffff;
  border: none;
  box-shadow: none;
  font-family: "Bureau Grot Comp Med";
  font-style: Normal;
  font-weight: Normal; }
  .btn .icon, #mc_embed_signup #mc_embed_signup_scroll input[type="submit"] .icon,
  .button .icon {
    display: none; }
  .btn--icon .icon, .signup__submit--ninja .icon,
  .button--icon .icon {
    display: block;
    margin: 0 0 0 1rem; }

.btn:hover, #mc_embed_signup #mc_embed_signup_scroll input[type="submit"]:hover {
  color: #ffffff;
  background-color: #009991; }

.btn--block {
  display: block;
  text-align: center; }

.btn .linkline, #mc_embed_signup #mc_embed_signup_scroll input[type="submit"] .linkline {
  border: none; }

.btn--black {
  background-color: #000000; }

.btn--red {
  background-color: #e8492c; }

/* red */
.btn--red:hover {
  background-color: #f2ad11; }

/* yellow */
.btn--red .fa--shape:after {
  border-left: 2em solid #ffb5c1; }

/* pink */
.btn--pink {
  background-color: #ffb5c1; }

/* pink */
.btn--pink:hover {
  background-color: #e8492c; }

/* red */
.btn--pink .fa--shape:after {
  border-left: 2em solid #f2ad11; }

/* yellow */
.btn--yellow {
  background-color: #f2ad11; }

/* yellow */
.btn--yellow:hover {
  background-color: #ffb5c1; }

/* pink */
.btn--yellow .fa--shape:after {
  border-left: 2em solid #e8492c; }

/* red */
.btn--aqua {
  background-color: #009991; }

/* aqua */
.btn--aqua:hover {
  background-color: #5b1ebf; }

/* purple */
.btn--aqua .fa--shape:after {
  border-left: 2em solid #5be0cc; }

/* teal */
.btn--teal {
  background-color: #5be0cc; }

/* teal */
.btn--teal:hover {
  background-color: #5b1ebf; }

/* purple */
.btn--teal .fa--shape:after {
  border-left: 2em solid #ffb5c1; }

/* pink */
.btn--purple {
  background-color: #5b1ebf; }

/* purple */
.btn--purple:hover {
  background-color: #ffb5c1; }

/* pink */
.btn--purple .fa--shape:after {
  border-left: 2em solid #5be0cc; }

/* teal */
.btn--white {
  background-color: #ffffff;
  color: #000000; }

/* purple */
.btn--white:hover {
  background-color: #eee;
  color: #000000; }

/* pink */
.btn--white .fa--shape:after {
  border-left: 2em solid #e8492c; }

/* teal */
.btn--grey {
  background-color: #eee;
  color: #000000; }

.btn--grey:hover {
  background-color: #5b1ebf;
  color: #ffffff; }

/* purple */
/*  ==========================================================================
	Basic layout classes
	========================================================================== */
.bd {
  margin: 0 7.14%;
  position: relative;
  min-height: 1px; }

.bd:after {
  content: "";
  visibility: hidden;
  display: block;
  height: 0;
  clear: both; }

.padding--top {
  padding-top: 10%; }

.padding--bottom {
  padding-bottom: 10%; }

.padding--top-half {
  padding-top: 7%; }

.padding--bottom-half {
  padding-bottom: 7%; }

.padding--top-em {
  padding-top: 1em; }

.padding--bottom-em {
  padding-top: 1em; }

.padding--none {
  padding: 0; }

.margin--top-n {
  margin-top: -10%; }

.margin--bottom-n {
  margin-bottom: -10%; }

.margin--top {
  margin-top: 10%; }

.margin--bottom {
  margin-bottom: 10%; }

.margin--top-half {
  margin-top: 7%; }

.margin--bottom-half {
  margin-bottom: 7%; }

.margin--top-em {
  margin-top: 1em; }

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

.margin--none {
  margin: 0; }

@media only screen and (min-width: 550px) {
  .padding--top {
    padding-top: 7%; }

  .padding--bottom {
    padding-bottom: 7%; }

  .padding--top-half {
    padding-top: 3.5%; }

  .padding--bottom-half {
    padding-bottom: 3.5%; }

  .margin--top-n {
    margin-top: -7%; }

  .margin--bottom-n {
    margin-bottom: -7%; }

  .margin--top {
    margin-top: 7%; }

  .margin--bottom {
    margin-bottom: 7%; }

  .margin--top-half {
    margin-top: 3.5%; }

  .margin--bottom-half {
    margin-bottom: 3.5%; }

  .margin--top-em {
    margin-top: 1em; }

  .margin--bottom-em {
    margin-bottom: 1em; } }
@media only screen and (min-width: 1400px) {
  .padding--top {
    padding-top: 5%; }

  .padding--bottom {
    padding-bottom: 5%; }

  .padding--top-half {
    padding-top: 3.5%; }

  .padding--bottom-half {
    padding-bottom: 3.5%; }

  .margin--top-n {
    margin-top: -5%; }

  .margin--bottom-n {
    margin-bottom: -5%; }

  .margin--top {
    margin-top: 5%; }

  .margin--bottom {
    margin-bottom: 5%; }

  .margin--top-half {
    margin-top: 3.5%; }

  .margin--bottom-half {
    margin-bottom: 3.5%; }

  .margin--top-em {
    margin-top: 1em; }

  .margin--bottom-em {
    margin-bottom: 1em; } }
/*  ==========================================================================
	base nav
	========================================================================== */
nav ul {
  margin: 0;
  padding: 0;
  list-style: none; }

.inlinenavlist {
  margin: 0 -0.75em; }

.inlinenavlist li {
  display: inline-block;
  margin: 0;
  padding: 0; }

.inlinenavlist a {
  display: block;
  padding: 0 0.75em; }

/*  ==========================================================================
	pagenav
	========================================================================== */
.pagenav {
  text-align: center;
  position: relative;
  z-index: 100; }
  .pagenav--tool .pagenav__bd {
    padding: 0.5em 65px 0.2em; }
    .pagenav--tool .pagenav__bd ul li {
      display: inline-block; }

.pagenav--top {
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15); }

.pagenav--bottom {
  box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.15); }

.pagenav__bd {
  padding: 0.5em 65px 0.75em; }

.pagenav li {
  position: relative;
  z-index: 1; }

.pagenav li:hover {
  z-index: 2; }

.pagenav ul ul li {
  margin-bottom: -0.5em; }

.pagenav a {
  display: block;
  padding-top: 0.75em;
  padding-bottom: 0.75em; }

.pagenav a:hover {
  color: #5be0cc;
  -webkit-animation: color-pulse-hover 1000ms infinite;
  animation: color-pulse-hover 1000ms infinite; }

.pagenav__bd > ul > li {
  display: none; }

.pagenav__bd > ul > li.current-menu-item,
.pagenav__bd > ul > li.current-menu-ancestor {
  display: block; }

.pagenav__bd > ul > li.current-menu-item > a,
.pagenav__bd > ul > li.current-menu-ancestor > a {
  display: none; }

/* level one */
.pagenav ul ul ul {
  display: block;
  position: absolute;
  width: 200px;
  top: 100%;
  left: 50%;
  margin-left: -100px;
  background: rgba(0, 0, 0, 0.9);
  box-sizing: border-box;
  padding: 1em;
  color: #ffffff;
  pointer-events: none;
  opacity: 0;
  -webkit-transform-origin: 50% 0%;
  -ms-transform-origin: 50% 0%;
      transform-origin: 50% 0%;
  -webkit-transform: perspective(1000px) rotateX(-25deg);
  transform: perspective(1000px) rotateX(-25deg);
  -webkit-transition: opacity 150ms ease-out 0ms, -webkit-transform 150ms ease-out 0ms;
  transition: opacity 150ms ease-out 0ms, -webkit-transform 150ms ease-out 0ms;
  transition: opacity 150ms ease-out 0ms, transform 150ms ease-out 0ms;
  transition: opacity 150ms ease-out 0ms, transform 150ms ease-out 0ms, -webkit-transform 150ms ease-out 0ms; }
  @media only screen and (max-width: 1000px) {
    body.page-template-template-team .pagenav ul ul ul {
      display: none; } }

.pagenav ul ul ul ul {
  display: none; }

.pagenav ul ul li:hover ul {
  pointer-events: auto;
  opacity: 1;
  -webkit-transform: perspective(1000px) rotateX(0deg);
  transform: perspective(1000px) rotateX(0deg); }

.pagenav ul ul ul:after {
  content: " ";
  display: block;
  position: absolute;
  border-left: 0.5em solid transparent;
  border-right: 0.5em solid transparent;
  border-bottom: 0.5em solid rgba(0, 0, 0, 0.9);
  position: absolute;
  top: -0.5em;
  left: 50%;
  margin-left: -0.5em;
  z-index: 5; }

.pagenav ul ul ul li {
  display: block;
  margin: 0; }

.pagenav ul ul ul a {
  padding: 0.5em 0; }

/*  ==========================================================================
	Page
	========================================================================== */
.pageheader {
  text-align: center;
  position: relative; }

.pageheader__bd {
  position: relative;
  z-index: 2; }

.pageheader h1 {
  margin-left: auto;
  margin-right: auto;
  max-width: 7em;
  margin-bottom: 0.25em;
  text-transform: uppercase; }

.pageheader .heading--long-plus40 {
  max-width: 11em; }

.pageheader .leader {
  margin: 0 auto 1em;
  max-width: 30em; }

/*
// pageheader--img
*/
.pageheader--img {
  background: #000000;
  color: #ffffff;
  overflow: hidden; }

.pageheader__img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  z-index: 1;
  opacity: 0;
  -webkit-transition: opacity 1000ms ease-out 0ms;
  transition: opacity 1000ms ease-out 0ms;
  -webkit-transform: scale(1.1, 1.1);
  -ms-transform: scale(1.1, 1.1);
      transform: scale(1.1, 1.1); }

.pageheaderimg--loaded .pageheader__img {
  -webkit-transition: -webkit-transform 2000ms ease-out 0ms, opacity 2000ms ease-out 0ms;
  -webkit-transition: opacity 2000ms ease-out 0ms, -webkit-transform 2000ms ease-out 0ms;
  transition: opacity 2000ms ease-out 0ms, -webkit-transform 2000ms ease-out 0ms;
  transition: transform 2000ms ease-out 0ms, opacity 2000ms ease-out 0ms;
  transition: transform 2000ms ease-out 0ms, opacity 2000ms ease-out 0ms, -webkit-transform 2000ms ease-out 0ms;
  -webkit-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
      transform: scale(1, 1);
  opacity: 0.66; }

/*
// pageheader--video
*/
.pageheader__video {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  z-index: 1;
  opacity: 0;
  -webkit-transition: opacity 2000ms ease-out 0ms;
  transition: opacity 2000ms ease-out 0ms; }

.has-videoheader--playing .pageheader__video {
  opacity: 0.66; }

.no-touch .has-videoheader .pageheader__img {
  display: none; }

.shareicons {
  position: relative;
  z-index: 2; }

/* postheader */
.postheaderimg {
  padding: 50% 0 0;
  position: relative;
  background: #eee;
  overflow: hidden;
  margin-top: -1.5em;
  z-index: 1; }

.has-videoheader--playing .postheaderimg .pageheader__video {
  opacity: 1; }

.pageheaderimg--loaded .postheaderimg .pageheader__img {
  opacity: 1; }

/*  ==========================================================================
    share icons
    ========================================================================== */
.shareicons {
  color: #ffffff; }

.shareiconslist li {
  margin: 0;
  display: inline-block; }

.sharelink {
  display: block;
  height: 2.75em;
  background: #f1f1f1;
  line-height: 2.75em;
  margin: 0;
  color: #ffffff;
  border-radius: 1.5em; }

.sharelink:after {
  content: "";
  height: 0;
  visibility: hidden;
  clear: both;
  display: block; }

.sharelink--facebook {
  background: #3b5998; }

.sharelink--twitter {
  background: #00aced; }

.sharelink--linkedin {
  background: #007bb6; }

.sharelink--email {
  background: #000000; }

.shareicon {
  width: 2.75em;
  text-align: center;
  display: block;
  float: left;
  padding: 0;
  border: none; }

.shareicon .fa {
  display: inline-block;
  padding: 0; }

a:hover .shareicon .fa {
  display: inline-block;
  padding: 0; }

.sharetext {
  overflow: hidden;
  font-size: 12px;
  display: block;
  float: left;
  text-align: right;
  width: 0;
  -webkit-transition: all 0.15s ease-in-out 0s;
  transition: all 0.15s ease-in-out 0s;
  text-align: left; }

.sharelink:hover .sharetext {
  width: 45px; }

/* reverse sharelink when image is present */
.pageheader--img .sharelink {
  background: #ffffff; }

.pageheader--img .sharelink--facebook,
.pageheader--img .sharelink--facebook:hover {
  color: #3b5998; }

.pageheader--img .sharelink--twitter,
.pageheader--img .sharelink--twitter:hover {
  color: #00aced; }

.pageheader--img .sharelink--linkedin,
.pageheader--img .sharelink--linkedin:hover {
  color: #007bb6; }

.pageheader--img .sharelink--email,
.pageheader--img .sharelink--email:hover {
  color: #000000; }

/*  ==========================================================================
	content
	========================================================================== */
.content {
  margin: 0 auto;
  box-sizing: border-box; }

.content ul {
  padding: 0 0 0 20px; }

@media only screen and (min-width: 550px) {
  .content {
    width: 83.4%;
    padding: 0 0.5em; } }
@media only screen and (min-width: 700px) {
  .content {
    padding: 0 0.625em; } }
@media only screen and (min-width: 800px) {
  .content {
    width: 66.8%; } }
@media only screen and (min-width: 1000px) {
  .content {
    width: 60%;
    padding: 0 0.75em; } }
@media only screen and (min-width: 1200px) {
  .content {
    width: 50%; } }
/*  ==========================================================================
	.posts
	========================================================================== */
.gd-g--carousel .owl-carousel.owl-loaded .gd-u {
  width: 100%; }

.post {
  position: relative; }

.post__categories {
  position: absolute;
  top: 3px;
  left: 3px;
  right: 3px;
  z-index: 2; }

.post__categories a {
  display: inline-block;
  padding: 0.3em 0.5em;
  background: #ffffff;
  margin: 0 3px 3px 0; }

.post__categories a:hover {
  color: #5be0cc; }

.post__heading {
  margin: 0 0 0.75em; }

.post__tags {
  padding: 0 0.66em 0.66em 0;
  position: absolute;
  top: 0;
  left: 0;
  background: #f4f4f4;
  z-index: 2;
  -webkit-transition: -webkit-box-shadow 150ms ease-out 0s;
  -webkit-transition: box-shadow 150ms ease-out 0s;
  transition: box-shadow 150ms ease-out 0s; }

.post__tags:hover {
  box-shadow: 10px 10px 25px rgba(0, 0, 0, 0.25); }

.post__link {
  position: relative;
  z-index: 1; }

.postimg {
  padding: 56.6% 0 0;
  position: relative;
  overflow: hidden;
  z-index: 1;
  margin-bottom: 1.66em;
  -webkit-transition: -webkit-box-shadow 150ms ease-out 0s;
  -webkit-transition: box-shadow 150ms ease-out 0s;
  transition: box-shadow 150ms ease-out 0s; }

.post__link:hover .postimg {
  box-shadow: 10px 10px 25px rgba(0, 0, 0, 0.15); }

.postimg__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #eee;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center; }

.postcta {
  text-align: right; }

/*  ==========================================================================
	paging
	========================================================================== */
.paging {
  position: relative;
  padding: 0;
  border-top: solid 1px #ddd; }
  .paging--ajax {
    border: none; }
  .paging__loadmore {
    padding: 0.75em 2em !important;
    margin: 1em 0 2em 0;
    cursor: pointer; }

.paging .btn, .paging #mc_embed_signup #mc_embed_signup_scroll input[type="submit"], #mc_embed_signup #mc_embed_signup_scroll .paging input[type="submit"] {
  padding-top: 1em;
  padding-bottom: 1em; }

.paging__numbers {
  display: none; }

.paging__numbers a,
.paging__numbers span {
  padding: 1.5em;
  border: none;
  border-right: solid 1px #ddd;
  display: block;
  float: left;
  min-width: 1.4em;
  text-align: center; }

.paging__numbers .current {
  color: #aaa; }

.paging__nextprev {
  text-align: center;
  padding: 0.5em; }

.paging__nextprev {
  text-align: center; }

.paging__nextprev .btn, .paging__nextprev #mc_embed_signup #mc_embed_signup_scroll input[type="submit"], #mc_embed_signup #mc_embed_signup_scroll .paging__nextprev input[type="submit"] {
  margin-bottom: 0; }

.paging__pager--older a:hover {
  background: #afb472; }

.paging__nextprev--bothpresent .paging__pager--older {
  border-left: solid 1px #e0e0d9; }

@media only screen and (min-width: 800px) {
  .paging {
    border-bottom: solid 1px #ddd; }

  .paging__bd {
    border-bottom: solid 1px #d4d4cb;
    border-top: solid 1px #d4d4cb; }

  .paging__numbers {
    display: block; }

  .paging__nextprev {
    position: absolute;
    padding: 0;
    right: 0;
    top: 50%;
    margin-top: -1.75em; }

  .paging__pager {
    display: inline-block;
    padding: 0.5em; } }
/*  ==========================================================================
    searchpopup
    ========================================================================== */
.searchpopup {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 100%;
  right: 0;
  bottom: 0;
  color: #ffffff;
  text-align: center;
  z-index: 99999;
  -webkit-transition: opacity 250ms ease-out 0ms, top 250ms ease-out 0ms, left 0ms linear 250ms;
  transition: opacity 250ms ease-out 0ms, top 250ms ease-out 0ms, left 0ms linear 250ms;
  opacity: 0;
  top: 1em; }

.searchpopupoverlay {
  position: fixed;
  z-index: 98;
  top: 0;
  left: 100%;
  right: 0;
  bottom: 0;
  background: #000000;
  opacity: 0;
  -webkit-transition: opacity 300ms ease-out 0ms, left 0ms linear 500ms;
  transition: opacity 300ms ease-out 0ms, left 0ms linear 500ms; }

.popupsearch--open .searchpopup {
  left: 0;
  opacity: 1;
  top: 0em;
  -webkit-transition: opacity 500ms ease-out 250ms, top 500ms ease-out 250ms, left 0ms linear 0ms;
  transition: opacity 500ms ease-out 250ms, top 500ms ease-out 250ms, left 0ms linear 0ms; }

.popupsearch--open .searchpopupoverlay {
  left: 0;
  opacity: 0.88;
  -webkit-transition: opacity 500ms ease-out 5ms, left 0ms linear 0ms;
  transition: opacity 500ms ease-out 5ms, left 0ms linear 0ms; }

.searchpopup:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -0.25em;
  /* Adjusts for spacing */ }

.searchpopupform {
  width: 85.72%;
  display: inline-block;
  vertical-align: middle; }

.searchpopupform .field__label {
  display: block;
  font-weight: 700;
  margin: 0 0 0.75em; }

.searchpopupform .field__note {
  margin: 0.75em 0 0; }

.searchpopupform .field__note strong {
  cursor: pointer; }

.searchpopupform .field__input {
  padding: 0.66em 3.5em 0.66em 0.66em;
  border: solid 1px #ffffff;
  font-size: 1.5em;
  border-radius: 2px;
  position: relative; }

.searchpopupform .field__input input {
  background: none;
  border: none;
  padding: 0;
  color: #ffffff;
  width: 100%;
  outline: none;
  text-align: left; }

.searchpopupbtn {
  width: 1.75em;
  padding: 0.66em;
  color: #ffffff;
  position: absolute;
  top: 0;
  right: 0; }

.searchpopupbtn:hover {
  background: #ffffff;
  color: #333; }

.searchpopupbtn .fa {
  padding: 0; }

@media only screen and (min-width: 550px) {
  .searchpopupform .field__input {
    font-size: 1.75em; } }
@media only screen and (min-width: 700px) {
  .searchpopupform .field__input {
    font-size: 2em; }

  .searchpopupform {
    width: 75%; } }
/*  ==========================================================================
	Search results page
	========================================================================== */
.searchpagefield {
  position: relative; }

.searchpagefield input {
  background: none;
  padding-right: 4em;
  position: relative;
  z-index: 1; }

.searchpagesubmit {
  padding: 1em 1.25em;
  border: none;
  position: absolute;
  z-index: 2;
  top: 1px;
  right: 1px;
  background: none;
  text-align: center; }

.searchpagesubmit:hover {
  background: #eee; }

/*  ==========================================================================
	main
	========================================================================== */
.main {
  position: relative;
  overflow: hidden; }
  body.page-template .main, body.page-template-default .main {
    overflow: initial; }

.main__shape {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  background-position: center top;
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-attachment: fixed; }

.main__shape--2 {
  z-index: -2; }

.main__shape--a--1 {
  background-image: url(img/page-shapes/hero.a.01.png); }

.main__shape--a--2 {
  background-image: url(img/page-shapes/hero.a.02.png); }

.main__shape--b--1 {
  background-image: url(img/page-shapes/hero.b.01.png); }

.main__shape--b--2 {
  background-image: url(img/page-shapes/hero.b.02.png); }

.main__shape--c--1 {
  background-image: url(img/page-shapes/hero.c.01.png); }

.main__shape--c--2 {
  background-image: url(img/page-shapes/hero.c.02.png); }

.main__shape--d--1 {
  background-image: url(img/page-shapes/hero.d.01.png); }

.main__shape--d--2 {
  background-image: url(img/page-shapes/hero.d.02.png); }

/*  ==========================================================================
	HERO
	========================================================================== */
.hero {
  position: relative; }

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

.herobg {
  padding: 120% 0 0;
  position: relative;
  z-index: 1;
  background: #000000; }

.herobg:after {
  content: " ";
  display: block;
  background: #000000;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  opacity: 0.33; }

.herobg__img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center; }

.hero__bd {
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 2; }

.heroheading {
  margin: 0 0 0.25em;
  /* max-width: 6em; */ }

.herocontent {
  text-align: left; }

@media only screen and (min-width: 550px) {
  .herobg {
    padding-top: 100%; }

  .hero__bd {
    top: 0;
    height: 100%; }

  .hero__bd:before {
    content: "";
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    margin-right: -0.25em;
    /* Adjusts for spacing */ }

  .herocontent {
    display: inline-block;
    vertical-align: middle;
    width: 66%;
    padding-bottom: 0; } }
@media only screen and (min-width: 700px) {
  .herobg {
    padding-top: 75%; } }
@media only screen and (min-width: 1000px) {
  .herobg {
    padding-top: 50%; }

  .herocontent {
    width: 50%; } }
/*  ==========================================================================
    newsletter
    ========================================================================== */
.newsletterlink {
  position: fixed;
  right: -10em;
  top: 100px;
  margin: 0 -2px 0 0;
  z-index: 999;
  -webkit-transition: right 500ms ease-in-out;
  transition: right 500ms ease-in-out; }

.hasscrolled .newsletterlink {
  right: 0; }

.newsletterlink .btn, .newsletterlink #mc_embed_signup #mc_embed_signup_scroll input[type="submit"], #mc_embed_signup #mc_embed_signup_scroll .newsletterlink input[type="submit"] {
  margin: 0;
  padding: 1em 0.75em 1.25em; }

.newsletterlink .btn .fa, .newsletterlink #mc_embed_signup #mc_embed_signup_scroll input[type="submit"] .fa, #mc_embed_signup #mc_embed_signup_scroll .newsletterlink input[type="submit"] .fa {
  padding: 0 0 0.66em; }

.newsletterlink span {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  line-height: 1;
  display: block; }

@media only screen and (min-width: 700px) {
  .newsletterlink {
    margin: 0 1em 0 0; } }
/*  ==========================================================================
    clients
    ========================================================================== */
.clientsection__clients.gd-g {
  margin-left: -0.5em;
  margin-right: -0.5em; }

.clientsection__clients .gd-u {
  padding-left: 0.5em;
  padding-right: 0.5em; }

.clients--nocontent .client:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: none; }

.clients--nocontent .client:last-child {
  padding-bottom: 1em; }

.clientheader__logo {
  height: 4.5em;
  width: auto;
  margin: 0 0 1em; }

.clientheader__heading {
  margin: 0 0 0.5em; }

.clientheader__logo {
  float: right;
  margin: 0 0 1em 1.25em; }

.clientsection__client {
  text-align: center;
  margin-bottom: 1em; }

.clientsection__client h5 {
  margin-top: 1em;
  display: none; }

.clientlogo__wrapper {
  border: solid 1px rgba(0, 0, 0, 0.15);
  height: 0;
  padding-bottom: 70%;
  position: relative;
  background: #ffffff;
  -webkit-transition: border-color 200ms ease-out 0s;
  transition: border-color 200ms ease-out 0s; }

.clientsection__client--withcontent .clientlogo__wrapper {
  cursor: pointer; }

.clientsection__client--withcontent .clientlogo__wrapper:hover {
  border-color: #eee; }

.active .clientlogo__wrapper::before {
  content: "";
  width: 0;
  height: 0;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-top: 15px solid #eee;
  position: absolute;
  top: -2.1em;
  left: 50%;
  margin-left: -15px; }

.clientlogo__logo {
  position: absolute;
  top: 8%;
  left: 10%;
  bottom: 8%;
  right: 10%;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat; }

.client_blurb {
  margin-bottom: 2em; }

.copy__wrapper {
  background: #eee;
  padding: 2em 2em 1.5em; }

.clientcopy {
  max-width: 35em;
  margin: 0 auto; }

/*  ==========================================================================
    member
    ========================================================================== */
.team {
  margin-bottom: -3em; }

.member {
  margin: 0 0 3em; }

.member__name {
  margin: 0 0 0.25em; }

.memberimg {
  position: relative;
  display: block;
  border-radius: 50%;
  overflow: hidden;
  padding: 100% 0 0;
  margin: 0 0 1em;
  background: #eee; }

.memberimg__img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center; }

.profilepicture {
  margin: 0 auto 2em;
  width: 75%; }

.membercontact {
  border-bottom: solid 1px #eee;
  text-align: center;
  padding-bottom: 1.5em;
  margin-bottom: 1.5em; }

@media only screen and (min-width: 400px) {
  .profilepicture {
    width: 66.6%; } }
@media only screen and (min-width: 550px) {
  .profilepicture {
    width: 100%;
    margin: 0; }

  .memberrightbar {
    padding: 0 0 1em 2em;
    float: right;
    box-sizing: border-box;
    width: 50%;
    margin-right: -12%; }

  .membercontact {
    border-bottom: none;
    padding-bottom: 0em;
    margin-bottom: 0; } }
@media only screen and (min-width: 800px) {
  .memberrightbar {
    width: 66%;
    margin-right: -28%;
    padding: 0 0 2em 3em; } }
@media only screen and (min-width: 1000px) {
  .memberrightbar {
    width: 50%;
    margin-right: -25%; } }
.grecaptcha-badge {
  visibility: hidden !important; }

/*  ==========================================================================
	flex--yumpu
	========================================================================== */
.flex--yumpu > iframe {
  width: 100% !important;
  height: 600px !important; }

.block-center {
  margin: auto;
  display: block; }

.block-center > iframe {
  width: 100% !important;
  height: 600px !important; }

/*  ==========================================================================
	Fancybox Styles
	========================================================================== */
.fancybox-bg {
  background: #1e1e1e;
  opacity: 0.4 !important; }

/*  ==========================================================================
Sign Up Popup
	========================================================================== */
#cookie-law-info-bar {
  z-index: 99999 !important; }

/*  ==========================================================================
Sign Up Popup
	========================================================================== */
#signup__popup {
  background: none;
  overflow: hidden;
  position: relative;
  display: none;
  max-width: 700px; }

#close__signup__popup {
  position: absolute;
  top: -1em;
  right: -1em;
  z-index: 3;
  background: #5be0cc;
  border-radius: 2px;
  text-transform: uppercase;
  padding: 1.25em 1.5em;
  box-sizing: border-box;
  display: block;
  margin: 0;
  cursor: pointer; }

#signup__popup .fancybox-close-small svg {
  width: 20px;
  height: 20px; }

#signup__popup .fancybox-button {
  display: none; }

.signup__popup__form {
  background: #ffffff;
  position: relative; }

.signup__popup__form__inner {
  position: relative;
  overflow: hidden;
  padding: 2rem; }

@media screen and (min-width: 700px) {
  .signup__popup__form__inner {
    padding: 2.5rem; } }
.signup__popup__form__inner::before {
  content: "";
  background-image: url("triangles/triangle.pink.svg");
  position: absolute;
  top: 100px;
  left: -4em;
  bottom: 0;
  opacity: 0.4;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: right center;
  -webkit-transform: rotate(299deg);
      -ms-transform: rotate(299deg);
          transform: rotate(299deg);
  -webkit-transform-origin: left;
      -ms-transform-origin: left;
          transform-origin: left;
  width: 30%;
  z-index: 1; }

.signup__popup__form__inner::after {
  content: "";
  background-image: url("triangles/triangle.purple.svg");
  position: absolute;
  top: 50%;
  left: 60%;
  right: 0;
  bottom: 0;
  opacity: 0.4;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom right;
  z-index: 1; }

.popup__heading,
.signup__popup__form__inner .nf-form-content {
  z-index: 3;
  position: relative; }

/*  ==========================================================================
  Filters -- layout/layout.scss
	========================================================================== */
.pageheader--toolkit + .filters {
  margin-top: -10%; }
  @media only screen and (min-width: 550px) {
    .pageheader--toolkit + .filters {
      margin-top: -7%; } }
  @media only screen and (min-width: 1400px) {
    .pageheader--toolkit + .filters {
      margin-top: -5%; } }

.filters {
  position: relative;
  z-index: 10;
  background-color: #ffffff; }
  @media only screen and (min-width: 700px) {
    .filters {
      position: -webkit-sticky;
      position: sticky;
      top: 0; } }
  .bg-black .filters {
    background-color: #000000; }
  .filters .filters__bar {
    position: relative;
    padding: 0;
    box-shadow: 0px -1px 0px rgba(0, 0, 0, 0.1), 0px 1px 0px rgba(0, 0, 0, 0.1); }
    .filters .filters__bar__gd-g {
      padding: 0.5em 0;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
      @media only screen and (max-width: 699px) {
        .filters .filters__bar__gd-g {
          -webkit-box-orient: vertical;
          -webkit-box-direction: reverse;
          -webkit-flex-direction: column-reverse;
              -ms-flex-direction: column-reverse;
                  flex-direction: column-reverse; } }
    .color-white .filters .filters__bar {
      border-color: #ffffff; }
    @media only screen and (max-width: 699px) {
      .filters .filters__bar .all__toolkits {
        margin-bottom: 0.5em; } }
    .filters .filters__bar .all__toolkits i {
      margin-left: 0.5rem; }
    @media only screen and (max-width: 699px) {
      .filters .filters__bar .filters__bar__scroll .inlinenavlist .filters__bar__primary {
        width: 50%;
        float: left;
        text-align: center; }
      .filters .filters__bar .filters__bar__scroll .inlinenavlist .filters__dropdownbtn {
        width: 100%;
        text-align: center;
        margin-top: 0.5em; } }
    .filters .filters__bar .filters__bar__primary {
      position: relative;
      font-family: "Bureau Grot Comp Med";
      font-style: Normal;
      font-weight: Normal; }
      .filters .filters__bar .filters__bar__primary:before {
        content: " ";
        display: none;
        width: 1em;
        height: 0.5em;
        position: absolute;
        bottom: 0;
        left: 50%;
        margin-left: -0.5em;
        background: url(img/toolkit.selected.png) no-repeat center bottom;
        background-size: 100% auto;
        z-index: 1; }
      .filters .filters__bar .filters__bar__primary a {
        text-transform: uppercase;
        padding: 0.75rem; }
      .filters .filters__bar .filters__bar__primary .filter__links__tooltip {
        opacity: 0;
        position: absolute;
        background: #ffffff;
        text-align: center;
        padding: 2rem 3rem;
        box-sizing: border-box;
        width: 417px;
        box-shadow: 0px 0px 60px rgba(0, 0, 0, 0.1);
        -webkit-transition: opacity 150ms cubic-bezier(0.33, 1, 0.68, 1) 0s, -webkit-transform 250ms cubic-bezier(0.33, 1, 0.68, 1) 0s;
        transition: opacity 150ms cubic-bezier(0.33, 1, 0.68, 1) 0s, -webkit-transform 250ms cubic-bezier(0.33, 1, 0.68, 1) 0s;
        transition: transform 250ms cubic-bezier(0.33, 1, 0.68, 1) 0s, opacity 150ms cubic-bezier(0.33, 1, 0.68, 1) 0s;
        transition: transform 250ms cubic-bezier(0.33, 1, 0.68, 1) 0s, opacity 150ms cubic-bezier(0.33, 1, 0.68, 1) 0s, -webkit-transform 250ms cubic-bezier(0.33, 1, 0.68, 1) 0s;
        -webkit-transform: perspective(1000px) rotateX(20deg);
        transform: perspective(1000px) rotateX(20deg);
        -webkit-transform-origin: 50% 0;
        -ms-transform-origin: 50% 0;
        transform-origin: 50% 0;
        display: none;
        text-align: left;
        font-family: "Bureau Grot Lt"; }
        .filters .filters__bar .filters__bar__primary .filter__links__tooltip .btn, .filters .filters__bar .filters__bar__primary .filter__links__tooltip #mc_embed_signup #mc_embed_signup_scroll input[type="submit"], #mc_embed_signup #mc_embed_signup_scroll .filters .filters__bar .filters__bar__primary .filter__links__tooltip input[type="submit"] {
          text-align: center;
          width: -webkit-fit-content;
          width: -moz-fit-content;
          width: fit-content;
          margin: 2rem 0 0; }
      @media only screen and (min-width: 700px) {
        .filters .filters__bar .filters__bar__primary:hover:before {
          display: block; }
        .filters .filters__bar .filters__bar__primary:hover .filter__links__tooltip {
          display: block;
          opacity: 1;
          pointer-events: all;
          -webkit-transform: perspective(1000px) rotateX(0);
          transform: perspective(1000px) rotateX(0); } }
    .filters .filters__bar .filters__search {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      height: 100%;
      border-right: 1px solid #000000; }
      .color-white .filters .filters__bar .filters__search {
        border-color: #ffffff; }
      .filters .filters__bar .filters__search .filters__search__icon {
        cursor: pointer;
        position: relative;
        height: 3rem;
        line-height: 3rem; }
        @media only screen and (min-width: 700px) {
          .filters .filters__bar .filters__search .filters__search__icon {
            height: 3.5rem;
            line-height: 3.5rem; } }
        .filters .filters__bar .filters__search .filters__search__icon .fal {
          padding: 0 1.5em; }
      .filters .filters__bar .filters__search .filters__search__field {
        width: 0;
        -webkit-transition: width 550ms cubic-bezier(0.65, 0, 0.35, 1);
        transition: width 550ms cubic-bezier(0.65, 0, 0.35, 1); }
        .filters .filters__bar .filters__search .filters__search__field input {
          width: 100%;
          border-radius: 0;
          box-sizing: border-box;
          -webkit-transition: width 550ms cubic-bezier(0.65, 0, 0.35, 1);
          transition: width 550ms cubic-bezier(0.65, 0, 0.35, 1);
          padding-left: 0.5em;
          background: transparent; }
      .filters .filters__bar .filters__search--open .filters__search__field {
        width: 15em; }
    .filters .filters__bar .filters__dropdownbtn {
      position: relative;
      cursor: pointer; }
      .filters .filters__bar .filters__dropdownbtn:before {
        content: " ";
        display: none;
        width: 1em;
        height: 0.5em;
        position: absolute;
        bottom: -0.5em;
        left: 50%;
        margin-left: -0.5em;
        background: url(img/toolkit.selected.png) no-repeat center bottom;
        background-size: 100% auto;
        z-index: 1; }
      .filters .filters__bar .filters__dropdownbtn.is-active:before {
        display: block; }
      @media only screen and (max-width: 699px) {
        .filters .filters__bar .filters__dropdownbtn {
          margin-top: 1em; } }
      @media only screen and (max-width: 699px) {
        .filters .filters__bar .filters__dropdownbtn {
          margin-top: 1em; } }
      .filters .filters__bar .filters__dropdownbtn .filters__dropdownbtn__text {
        display: inline-block; }
      @media only screen and (min-width: 700px) {
        .filters .filters__bar .filters__dropdownbtn .fal {
          padding-right: 1em; } }
      .filters .filters__bar .filters__dropdownbtn:after {
        content: "";
        width: 100%;
        height: 4px;
        position: absolute;
        bottom: -0.5rem;
        left: 0;
        background-color: #e8492c;
        opacity: 0;
        -webkit-transition: opacity 250ms cubic-bezier(0.65, 0, 0.35, 1);
        transition: opacity 250ms cubic-bezier(0.65, 0, 0.35, 1); }
    .filters .filters__bar .filters__tags {
      height: 100%;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      white-space: nowrap; }
      @media only screen and (min-width: 1200px) {
        .filters .filters__bar .filters__tags {
          height: 3rem; } }
      .filters .filters__bar .filters__tags i {
        margin-left: -2em;
        padding-right: 1em; }
      .filters .filters__bar .filters__tags .filters__tag {
        cursor: pointer;
        position: relative;
        padding: 1em 3.5em 1em 1.5em;
        color: #000000;
        font-weight: bold;
        border-radius: 0.35em;
        border: 1px solid #000000; }
        .filters .filters__bar .filters__tags .filters__tag--strategy {
          background: #5be0cc; }
        .filters .filters__bar .filters__tags .filters__tag--implementation {
          background: #ffb5c1; }
        .filters .filters__bar .filters__tags .filters__tag--model {
          background: #f2ad11; }
        .filters .filters__bar .filters__tags .filters__tag:after {
          content: "\f00d";
          font-family: "Font Awesome 5 Pro";
          position: absolute;
          font-weight: 300;
          opacity: 0.5;
          top: 50%;
          right: 1.5em;
          -webkit-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
                  transform: translateY(-50%);
          -webkit-transition: opacity 250ms cubic-bezier(0.65, 0, 0.35, 1);
          transition: opacity 250ms cubic-bezier(0.65, 0, 0.35, 1); }
        .filters .filters__bar .filters__tags .filters__tag:hover:after {
          opacity: 1; }
      .filters .filters__bar .filters__tags .filters__tags__placeholder {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        display: none; }
        .filters .filters__bar .filters__tags .filters__tags__placeholder .filters__tags__placeholder__heading {
          margin-right: 1.5em; }
        .filters .filters__bar .filters__tags .filters__tags__placeholder .filters__tag {
          cursor: default;
          padding-right: 1.5em; }
          .filters .filters__bar .filters__tags .filters__tags__placeholder .filters__tag::after {
            display: none; }
      .filters .filters__bar .filters__tags .filters__activetags {
        display: none;
        white-space: nowrap;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center; }
        .filters .filters__bar .filters__tags .filters__activetags .filters__tag {
          display: inline-block;
          margin-right: 1em; }
          @media only screen and (min-width: 1200px) {
            .filters .filters__bar .filters__tags .filters__activetags .filters__tag {
              margin-top: 0; } }
        .filters .filters__bar .filters__tags .filters__activetags .filters__clearall {
          margin-right: 1em;
          padding: 1em;
          cursor: pointer; }
          .filters .filters__bar .filters__tags .filters__activetags .filters__clearall:hover {
            opacity: 1; }
      .filters .filters__bar .filters__tags--active .filters__tags__placeholder {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; }
      .filters .filters__bar .filters__tags--active .filters__activetags,
      .filters .filters__bar .filters__tags--active .filters__activetags__tags {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; }
        @media only screen and (min-width: 1200px) {
          .filters .filters__bar .filters__tags--active .filters__activetags,
          .filters .filters__bar .filters__tags--active .filters__activetags__tags {
            -webkit-flex-wrap: nowrap;
                -ms-flex-wrap: nowrap;
                    flex-wrap: nowrap; } }
  .filters .filters__dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #ffffff;
    -webkit-transition: opacity 150ms cubic-bezier(0.33, 1, 0.68, 1) 0ms, -webkit-transform 550ms cubic-bezier(0.33, 1, 0.68, 1) 0ms;
    transition: opacity 150ms cubic-bezier(0.33, 1, 0.68, 1) 0ms, -webkit-transform 550ms cubic-bezier(0.33, 1, 0.68, 1) 0ms;
    transition: transform 550ms cubic-bezier(0.33, 1, 0.68, 1) 0ms, opacity 150ms cubic-bezier(0.33, 1, 0.68, 1) 0ms;
    transition: transform 550ms cubic-bezier(0.33, 1, 0.68, 1) 0ms, opacity 150ms cubic-bezier(0.33, 1, 0.68, 1) 0ms, -webkit-transform 550ms cubic-bezier(0.33, 1, 0.68, 1) 0ms;
    -webkit-transform: perspective(1000px) rotateX(-10deg);
            transform: perspective(1000px) rotateX(-10deg);
    -webkit-transform-origin: 50% 0%;
        -ms-transform-origin: 50% 0%;
            transform-origin: 50% 0%;
    opacity: 0;
    pointer-events: none;
    width: 100%;
    box-shadow: 25px 25px 60px rgba(0, 0, 0, 0.25);
    padding: 1em;
    box-sizing: border-box; }
    .filters .filters__dropdown .filters__submit {
      cursor: pointer; }
      @media only screen and (max-width: 549px) {
        .filters .filters__dropdown .filters__submit {
          margin-left: 1rem; } }
    .filters .filters__dropdown .filters__fieldset {
      position: relative;
      border: none;
      padding: 0;
      margin: 0; }
      .filters .filters__dropdown .filters__fieldset .filters__fieldset__fields {
        margin-bottom: 1em; }
      .filters .filters__dropdown .filters__fieldset .filters__fieldset__heading {
        display: block;
        padding: 1em 1.5em;
        text-transform: uppercase;
        font-family: "Bureau Grot Cond Med"; }
      .filters .filters__dropdown .filters__fieldset .filters__fieldset__fields .filters__fieldset__field {
        position: relative;
        display: block;
        cursor: pointer;
        margin-bottom: 0.5em;
        position: relative;
        padding: 0.5em 2.5em 0.5em 1em;
        color: #000000;
        border-radius: 0.35em;
        border: 1px solid rgba(0, 0, 0, 0.1);
        background: rgba(0, 0, 0, 0.05); }
        .filters .filters__dropdown .filters__fieldset .filters__fieldset__fields .filters__fieldset__field:after {
          content: "\f067";
          font-family: "FONT AWESOME 5 PRO";
          position: absolute;
          right: 1.5em;
          top: calc((100% - 14px) / 2);
          font-weight: light;
          font-size: 14px; }
        .filters .filters__dropdown .filters__fieldset .filters__fieldset__fields .filters__fieldset__field--active {
          background: #ffffff;
          border: 1px solid #000000; }
          .filters .filters__dropdown .filters__fieldset .filters__fieldset__fields .filters__fieldset__field--active.filters__fieldset__field--strategy {
            background: #5be0cc; }
          .filters .filters__dropdown .filters__fieldset .filters__fieldset__fields .filters__fieldset__field--active.filters__fieldset__field--implementation {
            background: #ffb5c1; }
          .filters .filters__dropdown .filters__fieldset .filters__fieldset__fields .filters__fieldset__field--active.filters__fieldset__field--model {
            background: #f2ad11; }
          .filters .filters__dropdown .filters__fieldset .filters__fieldset__fields .filters__fieldset__field--active .filters__fieldset__field__label {
            opacity: 1; }
          .filters .filters__dropdown .filters__fieldset .filters__fieldset__fields .filters__fieldset__field--active:after {
            content: "\f00c"; }
        .filters .filters__dropdown .filters__fieldset .filters__fieldset__fields .filters__fieldset__field input[type="checkbox"] {
          position: absolute;
          top: 0.25em;
          left: 0;
          cursor: pointer;
          width: 15px;
          height: 15px;
          -webkit-appearance: none;
             -moz-appearance: none;
                  appearance: none;
          visibility: hidden; }
          .filters .filters__dropdown .filters__fieldset .filters__fieldset__fields .filters__fieldset__field input[type="checkbox"]:focus {
            outline: none; }
          .filters .filters__dropdown .filters__fieldset .filters__fieldset__fields .filters__fieldset__field input[type="checkbox"]:checked {
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none;
            background: transparent; }
          .filters .filters__dropdown .filters__fieldset .filters__fieldset__fields .filters__fieldset__field input[type="checkbox"]:after {
            content: "";
            position: absolute;
            border: 1px solid #ffffff;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            border-radius: 50%;
            box-sizing: border-box; }
            .color-white .filters .filters__dropdown .filters__fieldset .filters__fieldset__fields .filters__fieldset__field input[type="checkbox"]:after {
              border-color: #000000; }
          .filters .filters__dropdown .filters__fieldset .filters__fieldset__fields .filters__fieldset__field input[type="checkbox"]:checked::after {
            background-color: #ffffff; }
            .color-white .filters .filters__dropdown .filters__fieldset .filters__fieldset__fields .filters__fieldset__field input[type="checkbox"]:checked::after {
              background-color: #000000; }
    .filters .filters__dropdown.is-active {
      opacity: 1;
      pointer-events: all;
      -webkit-transform: perspective(1000px) rotateX(0deg);
              transform: perspective(1000px) rotateX(0deg); }
  .filters--dropdownopen .filters__dropdown {
    opacity: 1;
    pointer-events: all;
    -webkit-transform: perspective(1000px) rotateX(0deg);
            transform: perspective(1000px) rotateX(0deg); }

.posts-container {
  -webkit-transition: opacity 250ms cubic-bezier(0.32, 0, 0.67, 0);
  transition: opacity 250ms cubic-bezier(0.32, 0, 0.67, 0);
  margin-bottom: 0;
  margin-top: calc(0.5em * 2); }
  @media only screen and (min-width: 550px) {
    .posts-container {
      margin-top: calc(0.75em * 2); } }
  @media only screen and (min-width: 700px) {
    .posts-container {
      margin-top: calc(0.75em * 2); } }
  @media only screen and (min-width: 1000px) {
    .posts-container {
      margin-top: calc(1em * 2); } }
  @media only screen and (min-width: 1200px) {
    .posts-container {
      margin-top: calc(1em * 2); } }
  @media only screen and (min-width: 1400px) {
    .posts-container {
      margin-top: calc(1em * 2); } }
  .posts-container.filtering {
    opacity: 0.15;
    -webkit-transition: opacity 950ms cubic-bezier(0.33, 1, 0.68, 1);
    transition: opacity 950ms cubic-bezier(0.33, 1, 0.68, 1); }

.flexiblecontent {
  overflow: hidden; }
  body.single-tool .flexiblecontent {
    padding-top: 3rem; }

/*  ==========================================================================
	siteheader
	========================================================================== */
.siteheader {
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  right: 0;
  text-align: center;
  -webkit-transition: color 250ms ease-out 0ms;
  transition: color 250ms ease-out 0ms;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15);
  -webkit-transform: translate3d(0, 0, 0); }
  @media only screen and (min-width: 1000px) {
    body.single-tool .siteheader:before {
      content: " ";
      display: block;
      width: 1em;
      height: 0.5em;
      position: absolute;
      top: 100%;
      left: 52%;
      margin-left: -0.5em;
      background: url(img/sitenav.selected.png) no-repeat center bottom;
      background-size: 100% auto;
      -webkit-transition: height 250ms ease-out 0ms;
      transition: height 250ms ease-out 0ms; } }
  body.single-tool.hasscrolled .siteheader:before {
    height: 0; }

.siteheader:after {
  content: " ";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 1;
  z-index: 1;
  background: #ffffff;
  -webkit-transition: opacity 150ms ease-out 0ms;
  transition: opacity 150ms ease-out 0ms; }

.siteheader__bd {
  position: relative;
  z-index: 2;
  padding: 15px 0; }

.siteheader--padder {
  position: relative;
  visibility: hidden; }

/*
// sitelogo
*/
.sitelogo {
  margin: 0 0 -50px -14px;
  z-index: 2;
  width: 90px;
  -webkit-transition: margin 150ms ease-out 0ms;
  transition: margin 150ms ease-out 0ms; }

.sitelogo__link {
  display: block; }

.sitelogo__img {
  width: 100%; }

.sitelogo__img--png {
  display: none; }

.no-svg .sitelogo__img--svg {
  display: none; }

.no-svg .sitelogo__img--png {
  display: block; }

/* .hasscrolled .sitelogo{ margin-top: -30px; } */
.hasscrolled .siteheader--padder .sitelogo {
  margin-top: 0px !important; }

@media only screen and (min-width: 1000px) {
  .siteheader:after {
    opacity: 1; }

  .hasscrolled .siteheader:after {
    opacity: 1; }

  .sitelogo {
    width: 120px;
    margin-bottom: -60px;
    margin-left: -18px; }

  .hasscrolled .sitelogo {
    margin-top: -35px; }

  .siteheadercollapse .siteheader--padder {
    display: none; } }
@media only screen and (min-width: 1200px) {
  .sitelogo {
    width: 130px;
    margin-bottom: -65px; }

  .hasscrolled .sitelogo {
    margin-top: -40px; } }
/*  ==========================================================================
	mobnav
	========================================================================== */
.mobnav {
  position: relative;
  width: 100%;
  overflow: hidden;
  height: 0;
  text-align: center;
  z-index: 2;
  -webkit-transition: height 350ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: height 350ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); }

.mobnav li {
  border-top: solid 1px rgba(255, 255, 255, 0.15);
  border-bottom: solid 1px rgba(0, 0, 0, 0.25); }

.mobnav li:first-child {
  border-top: none; }

.mobnav li:last-child {
  border-bottom: none; }

.mobnav a {
  display: block;
  padding: 1em 0; }

.mobnav .btn, .mobnav #mc_embed_signup #mc_embed_signup_scroll input[type="submit"], #mc_embed_signup #mc_embed_signup_scroll .mobnav input[type="submit"] {
  margin: 0; }

.mobnav ul ul {
  display: none; }

@media only screen and (min-width: 700px) {
  .mobnav li {
    border: none; }

  .mobnavprimary {
    margin: 0 0 0.5em; }

  .mobnavprimary li {
    display: inline-block;
    border-right: solid 1px rgba(255, 255, 255, 0.15);
    box-shadow: 1px 0 0 rgba(0, 0, 0, 0.25); }

  .mobnavprimary li:last-child {
    border: none;
    box-shadow: none; }

  .mobnavprimary li a {
    padding: 0.66em 1.1em 0.66em 1em; } }
@media only screen and (min-width: 1000px) {
  .mobnav {
    display: none; } }
/*  ==========================================================================
	mobtools
	========================================================================== */
.mobtools {
  position: absolute;
  bottom: 50%;
  margin-bottom: -0.75em;
  right: 0; }

@media only screen and (min-width: 1000px) {
  .mobtools {
    display: none; } }
/*  ==========================================================================
	sitenav
	========================================================================== */
.sitenav,
.sitetools {
  display: none; }

.sitenav {
  position: absolute;
  top: 50%;
  left: 8em;
  right: 8em;
  margin-top: -0.6em;
  z-index: 1;
  bottom: 0; }

.sitenav ul ul {
  display: none; }

.sitenav > ul,
.sitenav > ul > li {
  position: relative;
  top: 0;
  bottom: 0;
  height: 100%; }

.sitenav > ul > li.current-menu-item.menu-item-has-children:after,
.sitenav > ul > li.current-menu-ancestor:after {
  content: " ";
  display: block;
  width: 1em;
  height: 0.5em;
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -0.5em;
  background: url(img/sitenav.selected.png) no-repeat center bottom;
  background-size: 100% auto;
  -webkit-transition: height 250ms ease-out 0ms;
  transition: height 250ms ease-out 0ms; }

.hasscrolled .sitenav > ul > li.current-menu-item.menu-item-has-children:after,
.hasscrolled .sitenav > ul > li.current-menu-ancestor:after {
  height: 0; }

.sitetools {
  position: absolute;
  right: 0;
  z-index: 5;
  top: 50%;
  margin-top: -1.5em;
  margin-right: -8.3%;
  padding-right: 15px; }

.sitetools li {
  display: inline-block;
  padding: 0 0 0 1.5em; }

.sitetools .btn, .sitetools #mc_embed_signup #mc_embed_signup_scroll input[type="submit"], #mc_embed_signup #mc_embed_signup_scroll .sitetools input[type="submit"] {
  margin: 0; }

.sitenav a:hover,
.sitetools a:hover {
  color: #5be0cc;
  -webkit-animation: color-pulse-hover 1000ms infinite;
  animation: color-pulse-hover 1000ms infinite; }

.sitetools .btn:hover, .sitetools #mc_embed_signup #mc_embed_signup_scroll input[type="submit"]:hover, #mc_embed_signup #mc_embed_signup_scroll .sitetools input[type="submit"]:hover {
  color: #ffffff;
  -webkit-animation: bg-pulse-hover 1000ms infinite;
  animation: bg-pulse-hover 1000ms infinite; }

@-webkit-keyframes color-pulse-hover {
  0%,
  100% {
    color: #009991; }
  50% {
    color: #5be0cc; } }
@keyframes color-pulse-hover {
  0%,
  100% {
    color: #009991; }
  50% {
    color: #5be0cc; } }
@-webkit-keyframes bg-pulse-hover {
  0%,
  100% {
    background-color: #009991; }
  50% {
    background-color: #5be0cc; } }
@keyframes bg-pulse-hover {
  0%,
  100% {
    background-color: #009991; }
  50% {
    background-color: #5be0cc; } }
@media only screen and (min-width: 1000px) {
  .sitenav,
  .sitetools {
    display: block; } }
@media only screen and (min-width: 1200px) {
  .sitetools {
    margin-right: 0;
    padding-right: 0; } }
/*  ==========================================================================
	sitefooter
	========================================================================== */
.sitefooter {
  position: relative;
  overflow: hidden; }

.sitefooter__bd {
  position: relative;
  z-index: 3; }

.sitefooter__bg {
  content: " ";
  display: block;
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  -webkit-transition: -webkit-transform 750ms cubic-bezier(0.645, 0.045, 0.355, 1) 0ms;
  transition: -webkit-transform 750ms cubic-bezier(0.645, 0.045, 0.355, 1) 0ms;
  transition: transform 750ms cubic-bezier(0.645, 0.045, 0.355, 1) 0ms;
  transition: transform 750ms cubic-bezier(0.645, 0.045, 0.355, 1) 0ms, -webkit-transform 750ms cubic-bezier(0.645, 0.045, 0.355, 1) 0ms; }

.sitefooter__bg--1 {
  background-image: url(img/sitefooter__bg--1.png);
  -webkit-transform: translate(-30%, 0);
  -ms-transform: translate(-30%, 0);
      transform: translate(-30%, 0); }

.sitefooter__bg--2 {
  background-image: url(img/sitefooter__bg--2.png);
  background-position: center bottom;
  z-index: 1;
  -webkit-transform: translate(0, 70%);
  -ms-transform: translate(0, 70%);
      transform: translate(0, 70%);
  -webkit-transition-delay: 150ms;
  transition-delay: 150ms; }

.sitefooter--inview .sitefooter__bg--1,
.sitefooter--inview .sitefooter__bg--2 {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
      transform: translate(0, 0); }

.sitefooterheading {
  margin: 0 0 0.15em; }

.sitefootersignup__leader {
  max-width: 22em; }

/*
// signupform
*/
.signupform {
  position: relative;
  margin-bottom: 1em; }

.signup__field {
  position: relative; }

.signup__field input {
  position: relative;
  z-index: 1;
  padding-right: 8em; }

.signup__submit {
  position: absolute;
  top: 1em;
  right: 1em;
  z-index: 2;
  color: #e8492c; }

.signup__submit:hover {
  color: #5be0cc; }

.field__feedback {
  padding: 1em;
  color: #ffffff;
  background: #e8492c;
  display: block;
  position: relative;
  z-index: 5;
  margin-bottom: 1.5em; }

.signup__submit--ninja {
  color: #e8492c;
  background: #ffffff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 1em 1em 1em 1.6em;
  cursor: pointer;
  width: 100% !important;
  border: 0;
  border-left: 0px;
  margin: 0;
  border-radius: 0;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 55px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  @media only screen and (min-width: 600px) {
    .signup__submit--ninja {
      -webkit-box-pack: end;
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      height: 67px; } }
  @media only screen and (min-width: 1000px) {
    .signup__submit--ninja {
      width: 100% !important;
      -webkit-box-pack: start;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; } }

.signup__submit--ninja:hover {
  color: #5be0cc;
  background-color: #ffffff; }

.signup__submit--ninjawrapper:hover .nf-field-element:before {
  color: #5be0cc; }

.footer__signup .nf-multi-cell .nf-cell {
  padding: 0px; }

@media only screen and (min-width: 1235px) {
  .footer__signup .nf-multi-cell .nf-cell:last-child {
    width: auto !important; } }
.footer__signup input[type="email"] {
  border: solid 1.5px #e5e5e5;
  border-color: #ffffff;
  height: 55px; }
  @media only screen and (min-width: 600px) {
    .footer__signup input[type="email"] {
      height: 67px; } }

.footer__signup .nf-error .ninja-forms-field {
  border-color: #e80000; }

.field__feedback:before {
  content: " ";
  display: block;
  border-left: 0.5em solid transparent;
  border-right: 0.5em solid transparent;
  border-bottom: 0.5em solid #e8492c;
  position: absolute;
  top: -0.5em;
  left: 1em;
  margin-left: -5px;
  z-index: 5; }

/* invalid */
.signupform .field__feedback {
  display: none; }

.signupform--invalid .field__feedback {
  display: block; }

.signupform--invalid .signup__field {
  border-color: #bc001e; }

@media only screen and (min-width: 1000px) {
  .sitefootersignup {
    padding-bottom: 0; } }
/*
// sitefootertiles
*/
.sitefootertile:last-child {
  padding-bottom: 0; }

/*
// sitefooter__secondary
*/
.sitefooter__secondary {
  border-top: solid 1px rgba(255, 255, 255, 0.3);
  position: relative; }

.sitefooter__copyright {
  margin-bottom: 0.5em;
  max-width: 30em; }

.legalnav {
  margin-bottom: 0.5em; }

@media only screen and (min-width: 1000px) {
  .sitefooter__credit {
    position: absolute;
    top: 0;
    right: 0;
    margin-top: 3.5%; } }
/*  ==========================================================================
	flex
	========================================================================== *

.preheading {
	margin: 0 0 0.66em;
}

.heading {
	margin: 0 0 0.25em;
}

/*  ==========================================================================
	flex
	========================================================================== */
.flex:first-child {
  margin-top: 0; }

.flex__heading {
  margin: 0 0 0.33em; }

.flex--fullwidth + .flex--fullwidth {
  margin-top: -10%; }

@media only screen and (min-width: 550px) {
  .flex--fullwidth + .flex--fullwidth {
    margin-top: -7%; } }
@media only screen and (min-width: 1400px) {
  .flex--fullwidth + .flex--fullwidth {
    margin-top: -5%; } }
/*  ==========================================================================
	flexline
	========================================================================== */
.flexline__line {
  border-top: solid 1px #ddd;
  height: 0; }

/*  ==========================================================================
	flexcols
	========================================================================== */
.content--cols {
  margin-bottom: -2em;
  padding: 0; }

.flex--contentcols .content:last-child {
  padding-bottom: 0; }

.contentcol {
  margin-bottom: 2em; }

@media only screen and (min-width: 550px) {
  .content--cols--2,
  .content--cols--3,
  .content--cols--4 {
    width: 100%; } }
@media only screen and (min-width: 800px) {
  .content--cols--2,
  .content--cols--3,
  .content--cols--4 {
    width: 100%; } }
@media only screen and (min-width: 1000px) {
  .content--cols--2 {
    width: 83.4%; }

  .content--cols--3,
  .content--cols--4 {
    width: 100%; } }
@media only screen and (min-width: 1200px) {
  .content--cols--2 {
    width: 83.4%; }

  .content--cols--3,
  .content--cols--4 {
    width: 100%; } }
@media only screen and (min-width: 1400px) {
  .content--cols--2 {
    width: 83.4%; }

  .content--cols--3 {
    width: 100%; }

  .content--cols--4 {
    width: 100%; } }
.content--cols {
  margin-bottom: -2em; }

/*  ==========================================================================
	flex--faqs
	========================================================================== */
.faqs {
  border-top: 1px solid #ddd;
  position: relative; }

.faq {
  display: block;
  position: relative;
  border-bottom: 1px solid #ddd; }

.faq__question {
  margin: 0;
  border-top: none;
  padding: 1.5em 0 1.5em 3em;
  position: relative;
  cursor: pointer; }

.faq__question:hover {
  color: #888; }

.faq__question .fa {
  position: absolute;
  top: 1.5em;
  left: 1em;
  display: block;
  line-height: 1.2;
  -webkit-transition: -webkit-transform 150ms ease-out 0s;
  transition: -webkit-transform 150ms ease-out 0s;
  transition: transform 150ms ease-out 0s;
  transition: transform 150ms ease-out 0s, -webkit-transform 150ms ease-out 0s; }

.faq__answer .inner {
  margin: 0;
  padding: 0em 0em 3em 3em; }

.faq__answer {
  height: 0;
  overflow: hidden;
  opacity: 0;
  -webkit-transform: translate(0, -1em);
  -ms-transform: translate(0, -1em);
      transform: translate(0, -1em);
  -webkit-transition: height 0ms linear 260ms, opacity 250ms ease-out 0ms, -webkit-transform 150ms ease-out 0ms;
  transition: height 0ms linear 260ms, opacity 250ms ease-out 0ms, -webkit-transform 150ms ease-out 0ms;
  transition: height 0ms linear 260ms, opacity 250ms ease-out 0ms, transform 150ms ease-out 0ms;
  transition: height 0ms linear 260ms, opacity 250ms ease-out 0ms, transform 150ms ease-out 0ms, -webkit-transform 150ms ease-out 0ms; }

.faq--open .faq__answer {
  -webkit-transition: height 0ms linear 0ms, opacity 250ms ease-out 10ms, -webkit-transform 150ms ease-out 10ms;
  transition: height 0ms linear 0ms, opacity 250ms ease-out 10ms, -webkit-transform 150ms ease-out 10ms;
  transition: height 0ms linear 0ms, opacity 250ms ease-out 10ms, transform 150ms ease-out 10ms;
  transition: height 0ms linear 0ms, opacity 250ms ease-out 10ms, transform 150ms ease-out 10ms, -webkit-transform 150ms ease-out 10ms;
  height: auto;
  opacity: 1;
  -webkit-transform: translate(0, 0em);
  -ms-transform: translate(0, 0em);
      transform: translate(0, 0em); }

.faq--open .faq__question {
  color: #6e6f71; }

.faq--open .faq__question .fa {
  -webkit-transform: rotate(-180deg);
  -ms-transform: rotate(-180deg);
      transform: rotate(-180deg); }

/*  ==========================================================================
	Flex slides
	========================================================================== */
.flexslides {
  max-width: 100%;
  overflow: hidden; }

.flexslides .owl-controls {
  position: absolute;
  top: 0em;
  left: 0;
  right: 0;
  text-align: center; }

.flexslide {
  position: relative;
  text-align: center; }

.flexslideimg {
  padding: 50% 0 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flexslide__content {
  background: #ffffff;
  padding: 2em 2em 0;
  margin: -3em 0 0;
  box-sizing: border-box;
  text-align: left; }

.flexslide__heading {
  margin-top: 0; }

.flexslides.owl-carousel .flexslide__content {
  opacity: 0;
  -webkti-transform: translate(0px, 20px);
  -webkit-transform: translate(0px, 20px);
      -ms-transform: translate(0px, 20px);
          transform: translate(0px, 20px);
  -webkit-transition: opacity 500ms ease-out 250ms, -webkit-transform 500ms ease-out 250ms;
  transition: opacity 500ms ease-out 250ms, -webkit-transform 500ms ease-out 250ms;
  transition: opacity 500ms ease-out 250ms, transform 500ms ease-out 250ms;
  transition: opacity 500ms ease-out 250ms, transform 500ms ease-out 250ms, -webkit-transform 500ms ease-out 250ms; }

.flexslides.owl-carousel .active .flexslide__content {
  opacity: 1;
  -webkti-transform: translate(0px, 0px);
  -webkit-transform: translate(0px, 0px);
      -ms-transform: translate(0px, 0px);
          transform: translate(0px, 0px); }

.flexslides .owl-dots {
  text-align: center;
  display: inline-block; }

.flexslides .owl-dot {
  display: inline-block;
  margin: 0;
  color: #888; }

.flexslides .owl-dot span {
  display: block;
  width: 2.5em;
  height: 2.5em;
  line-height: 2.5em;
  background: #ffffff;
  border: none;
  border-left: solid 1px #eee;
  line-height: 1em;
  position: relative;
  border-radius: 0;
  opacity: 1; }

.flexslides .owl-dot:first-child span {
  border-left: none; }

.flexslides .owl-dot span:before {
  font-size: 11px;
  line-height: 1em;
  display: block;
  position: absolute;
  top: 50%;
  margin-top: -0.5em;
  left: 0;
  right: 0;
  text-align: center; }

.flexslides .owl-dot:nth-child(1) span:before {
  content: "1"; }

.flexslides .owl-dot:nth-child(2) span:before {
  content: "2"; }

.flexslides .owl-dot:nth-child(3) span:before {
  content: "3"; }

.flexslides .owl-dot:nth-child(4) span:before {
  content: "4"; }

.flexslides .owl-dot:nth-child(5) span:before {
  content: "5"; }

.flexslides .owl-dot:nth-child(6) span:before {
  content: "6"; }

.flexslides .owl-dot:hover {
  color: #111; }

.flexslides .owl-dot.active {
  color: #111;
  font-weight: 700; }

@media only screen and (min-width: 550px) {
  .flexslide__content {
    width: 90.6%;
    display: inline-block; }

  .flexslide--left .flexslide__content {
    margin-left: auto;
    margin-right: auto; } }
@media only screen and (min-width: 700px) {
  .flexslide--left {
    text-align: left; }

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

  .flexslide--center {
    text-align: center; }

  .flexslide--right .flexslide__content {
    margin-right: 0em; }

  .flexslide--left .flexslide__content {
    margin-left: 0em; }

  .flexslide__bd {
    padding-top: 12%;
    padding-bottom: 12%;
    position: relative;
    z-index: 2; }

  .flexslideimg {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    padding: 0;
    height: 100%;
    width: 100%; }

  .flexslide__content {
    margin: 0;
    padding: 2.5em;
    width: 50%; } }
@media only screen and (min-width: 1000px) {
  .flexslide__content {
    margin: 0;
    padding: 3em;
    width: 33.3%; } }
@media only screen and (min-width: 1400px) {
  .flexslide__content {
    width: 28.5%; }

  .flexslide__bd {
    padding-top: 10%;
    padding-bottom: 10%; } }
/*  ==========================================================================
	flex--imgfeature
	========================================================================== */
.fleximgfeaturecontent__heading {
  margin: 0 0 0.5em; }

.fleximgfeature__imgcontainer--last {
  display: none; }

.fleximgfeature__img {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  padding: 66.6% 0 0; }

.fleximgfeature--even .fleximgfeature__img {
  -webkit-animation-delay: 10s;
  animation-delay: 10s; }

@media only screen and (min-width: 1000px) {
  .fleximgfeature__imgcontainer {
    margin-bottom: 0; }

  .fleximgfeature__img {
    padding: 100% 0 0; }

  .fleximgfeature--right .fleximgfeature__imgcontainer--first {
    display: none; }

  .fleximgfeature--right .fleximgfeature__imgcontainer--last {
    display: inline-block; }

  .fleximgfeaturecontent {
    padding: 0 16.6%; }
    .fleximgfeaturecontent__text ul,
    .fleximgfeaturecontent__text ol {
      margin-left: 2rem; } }
/*  ==========================================================================
	flex--iconlist
	========================================================================== */
.iconlist {
  margin-bottom: -2em; }

.gd-g .iconlistitem {
  text-align: center; }

.iconlistitem {
  text-align: center;
  margin-bottom: 2em; }

.iconlistitem__img {
  width: 3.5em;
  display: block;
  margin: 0 auto 1em; }

.iconlistitem__heading {
  margin: 0 0 0.5em; }

@media only screen and (min-width: 700px) {
  .iconlist {
    margin-bottom: -2.5em; }

  .iconlistitem {
    margin-bottom: 2.5em; }

  .iconlist--rows-4 {
    margin-left: -14%;
    margin-right: -14%; } }
@media only screen and (min-width: 1000px) {
  .iconlist {
    margin-bottom: -3em; }

  .iconlistitem {
    margin-bottom: 3em; } }
/*  ==========================================================================
	flex--images
	========================================================================== */
.galleryitem {
  margin-bottom: 2em; }

.galleryitem__img {
  width: 100%;
  display: block; }

.galleryitem__caption {
  margin-top: 1em;
  color: #888; }

.galleryitem__caption:after {
  content: " ";
  display: block;
  width: 1.5em;
  border-bottom: solid 1px #ddd;
  margin: 1em 0 0; }

/*  ==========================================================================
	flex featuredposts
	========================================================================== */
.featuredposts .featuredposts__heading {
  margin: 0 0 0em 0;
  opacity: 0.5; }
.featuredposts .fpleader {
  text-align: center;
  max-width: 15em;
  margin: 0 auto 0em; }
  .featuredposts .fpleader p {
    margin: 0 0 0.3em; }
@media only screen and (min-width: 700px) {
  .featuredposts .flexpostcount--1 .fpleader {
    text-align: left; }
  .featuredposts .flexpostcount--1 .fpleader .leader {
    margin-right: 10%; } }
@media only screen and (min-width: 800px) {
  .featuredposts .flexpostcount--1 .fpleader {
    text-align: left; }
  .featuredposts .flexpostcount--1 .fpleader .leader {
    margin-right: 15%; } }
.featuredposts--carousel .featuredposts__heading {
  opacity: 1; }
.featuredposts--carousel .owl-stage-outer {
  overflow: visible;
  -webkit-transition: height 0.5s ease-in-out;
  transition: height 0.5s ease-in-out; }
  .featuredposts--carousel .owl-stage-outer .owl-stage {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    .featuredposts--carousel .owl-stage-outer .owl-stage .owl-item .gd-u {
      height: 100%; }
.featuredposts--carousel .featuredpostsheader {
  border-bottom: solid 1px rgba(0, 0, 0, 0.1);
  margin-bottom: 5em; }
  @media only screen and (min-width: 1000px) {
    .featuredposts--carousel .featuredpostsheader {
      margin-bottom: 2em; } }

/*  ==========================================================================
	flex--quote
	========================================================================== */
.flexquote {
  position: relative; }

.flexquote__bd {
  position: relative;
  z-index: 2; }

.flexquote__quote {
  margin: 0;
  padding: 0; }

.flexquote__quote p {
  margin: 0;
  display: inline; }

.flexquote__quotemark {
  line-height: 1;
  font-family: Georgia, Times New Roman, serif;
  height: 0.75em;
  font-weight: bold; }

.flexquote__quotemark--first {
  margin-left: -0.7em; }

.flexquote__cite {
  margin-top: 1em;
  font-style: normal;
  display: block; }
  .flexquote__citesecondary {
    font-style: normal; }

.flexquote__citationimg {
  width: 3em;
  height: 3em;
  background-size: cover;
  border-radius: 50%;
  background-position: center center; }
  @media only screen and (max-width: 999px) {
    .flexquote__citationimg {
      margin-top: 2em; } }

.flexquote__ctalink {
  margin-top: 2em; }
  @media only screen and (max-width: 999px) {
    .flexquote__ctalink {
      margin-bottom: 2em; } }

/* flexquote--img */
.flexquote--withimg {
  background: #000000;
  overflow: hidden; }

.flexquote__img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 1;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  opacity: 0;
  -webkit-transition: -webkit-transform 2000ms ease-out 0ms, opacity 2000ms ease-out 0ms;
  -webkit-transition: opacity 2000ms ease-out 0ms, -webkit-transform 2000ms ease-out 0ms;
  transition: opacity 2000ms ease-out 0ms, -webkit-transform 2000ms ease-out 0ms;
  transition: transform 2000ms ease-out 0ms, opacity 2000ms ease-out 0ms;
  transition: transform 2000ms ease-out 0ms, opacity 2000ms ease-out 0ms, -webkit-transform 2000ms ease-out 0ms;
  -webkit-transform: scale(1.1, 1.1);
  -ms-transform: scale(1.1, 1.1);
      transform: scale(1.1, 1.1); }

.flexquote__img.effect--ready {
  opacity: 0.66;
  -webkit-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
      transform: scale(1, 1); }

/*  ==========================================================================
	single featured tools
	========================================================================== */
.singlefeaturedtools__link {
  margin-top: 3em;
  margin-bottom: 3em; }
.singlefeaturedtools__preheading {
  color: #e8492c;
  margin-bottom: 1em; }

.steps .step {
  box-shadow: 10px 10px 60px rgba(0, 0, 0, 0.1);
  position: relative;
  margin-bottom: 3em; }
  .steps .step .wp-caption {
    max-width: 100%; }
  .steps .step__number {
    width: 3em;
    background-color: #000000;
    border-radius: 50%;
    height: 3em;
    color: #ffffff;
    font-weight: bold;
    font-size: 24px;
    top: -1.3em;
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    left: 0;
    right: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .tool--implementation .steps .step__number, .tool--strategy .steps .step__number, .tool--model .steps .step__number {
      color: #ffffff; }
    .tool--implementation .steps .step__number {
      background-color: #ffb5c1; }
    .tool--strategy .steps .step__number {
      background-color: #5be0cc; }
    .tool--model .steps .step__number {
      background-color: #f2ad11; }
  .steps .step .content__first {
    padding: 4em 1em 2em 1em; }
  .steps .step__tip {
    padding: 2.5em 1em; }
    .tool--implementation .steps .step__tip {
      background-color: rgba(255, 181, 193, 0.1); }
    .tool--strategy .steps .step__tip {
      background-color: rgba(91, 224, 204, 0.1); }
    .tool--model .steps .step__tip {
      background-color: rgba(242, 173, 17, 0.1); }
    .steps .step__tip__title {
      margin-bottom: 1.2em; }

.flex--text-content-video .link {
  margin-top: 2em; }
  @media only screen and (max-width: 999px) {
    .flex--text-content-video .link {
      margin-bottom: 3em; } }

@media only screen and (max-width: 999px) {
  .textcontentfaqs .textcontent {
    margin-bottom: 2em; } }

.component__textcontent .textcontent__preheading {
  margin-bottom: 1em; }
.component__textcontent .textcontent__textarea {
  max-width: 19em; }
.component__textcontent .textcontent__link {
  margin-top: 3em; }

.textcontent__list {
  margin-top: 3em;
  list-style-type: none; }
  .textcontent__list li {
    margin-bottom: 0.5em;
    background-color: #f6f6f6;
    padding: 1em 1em 1em 2em;
    border-radius: 10px;
    position: relative; }
    .textcontent__list li:before {
      content: "\f054";
      font-family: "Font Awesome 5 Pro";
      position: absolute;
      font-weight: 500;
      top: calc((100% - 24px) / 2);
      left: 1em; }
    .textcontent__list li i {
      margin-right: 0.5em; }

/*  ==========================================================================
	flex--video
	========================================================================== */
.flexvideo__videocode {
  padding: 56.6% 0 0;
  position: relative; }

.flexvideo__videocode * {
  display: none; }

.flexvideo__videocode iframe {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  border: 0; }

.flexvideo__caption {
  margin-top: 1em;
  color: #888; }

.flexvideo__caption:after {
  content: " ";
  display: block;
  width: 1.5em;
  border-bottom: solid 1px #ddd;
  margin: 1em 0 0; }

/*  ==========================================================================
	flex cta
	========================================================================== */
.flexcta {
  text-align: center;
  position: relative; }

.flexcta--left.flexcta--withimg,
.flexcta--right.flexcta--withimg {
  text-align: left; }

.flexcta--left.flexcta--withimg .gd-u,
.flexcta--right.flexcta--withimg .gd-u {
  text-align: left; }

.flexcta__bd {
  position: relative;
  z-index: 2; }

.flexcta__cta {
  margin: 0 -0.75em; }

.flexcta__ctalink {
  display: inline-block; }

.flexcta__cta a {
  margin: 0 0.75em 0.75em;
  display: inline-block; }

/* flexquote--img */
.flexcta--withimg {
  color: #ffffff;
  background: #000000;
  overflow: hidden; }

.flexcta__img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 1;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  opacity: 0;
  -webkit-transition: -webkit-transform 2000ms ease-out 0ms, opacity 2000ms ease-out 0ms;
  -webkit-transition: opacity 2000ms ease-out 0ms, -webkit-transform 2000ms ease-out 0ms;
  transition: opacity 2000ms ease-out 0ms, -webkit-transform 2000ms ease-out 0ms;
  transition: transform 2000ms ease-out 0ms, opacity 2000ms ease-out 0ms;
  transition: transform 2000ms ease-out 0ms, opacity 2000ms ease-out 0ms, -webkit-transform 2000ms ease-out 0ms;
  -webkit-transform: scale(1.1, 1.1);
  -ms-transform: scale(1.1, 1.1);
      transform: scale(1.1, 1.1); }

.flexcta__img.effect--ready {
  opacity: 0.66;
  -webkit-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
      transform: scale(1, 1); }

@media only screen and (min-width: 550px) {
  .flexcta--right.flexcta--withimg {
    text-align: right; } }
@media only screen and (min-width: 1000px) {
  .flexcta--right.flexcta--withimg .flexctacontent,
  .flexcta--left.flexcta--withimg .flexctacontent {
    padding-left: 16.6%;
    padding-right: 16.6%; } }
/*  ==========================================================================
	flex map
	========================================================================== */
.flexmap {
  text-align: center;
  position: relative;
  color: #ffffff; }

.flexmap__bd {
  position: relative;
  z-index: 2; }

.flexmap--left,
.flexmap--right {
  text-align: left; }

.flexmap--left .gd-u,
.flexmap--right .gd-u {
  text-align: left; }

.flexmap__map {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0.66; }

/*
// map
*/
.map,
.map__canvas {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }

.map__data {
  display: none; }

@media only screen and (min-width: 550px) {
  .flexmap--right.flexcta--withimg {
    text-align: right; } }
@media only screen and (min-width: 1000px) {
  .flexmap--right .flexmapcontent,
  .flexmap--left .flexmapcontent {
    padding-left: 16.6%;
    padding-right: 16.6%; } }
/*  ==========================================================================
	triangles
	========================================================================== */
.triangle {
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center; }

.triangle--aqua {
  background-image: url(img/triangles/triangle.aqua.svg); }

.triangle--pink {
  background-image: url(img/triangles/triangle.pink.svg); }

.triangle--purple {
  background-image: url(img/triangles/triangle.purple.svg); }

.triangle--red {
  background-image: url(img/triangles/triangle.red.svg); }

.triangle--teal {
  background-image: url(img/triangles/triangle.teal.svg); }

.triangle--yellow {
  background-image: url(img/triangles/triangle.yellow.svg); }

/*  ==========================================================================
	flex--tiles
	========================================================================== */
.tile {
  position: relative; }

.tiles .gd-u:last-child .tile {
  margin-bottom: 0; }

.tilecontent {
  position: relative;
  z-index: 10; }

.tile--withbg {
  color: #ffffff;
  padding: 8.3%; }

.tile__heading {
  max-width: 7.5em; }

.tile__leader {
  margin: 0 0 1.33em;
  max-width: 22em; }

.tile__bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2; }

.tile__triangle {
  position: absolute;
  top: 0;
  left: 0;
  right: -5%;
  bottom: -5%;
  z-index: 1;
  background-position: right bottom; }

.tile__morphpanel {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1; }

@media only screen and (min-width: 550px) {
  .tile--withbg {
    padding-left: 0;
    padding-right: 0; }

  .tile__bg {
    left: -8.3%;
    right: -8.3%; } }
@media only screen and (min-width: 700px) {
  .tile {
    margin-bottom: 0; }

  .tile--withbg {
    padding: 16.6%; }

  .tile__bg {
    left: 0;
    right: 0; } }
@media only screen and (min-width: 1000px) {
  .tile {
    padding-left: 16.6%;
    padding-right: 16.6%; } }
/*  ==========================================================================
	morphpanel
	========================================================================== */
.morphpanel {
  -webkit-transform: translateZ(0px);
  -webkit-transform: translate3d(0, 0, 0);
  -webkit-perspective: 1000px;
  perspective: 1000px; }

.csstransforms3d .morphpanel .morphpanel__bg {
  -webkit-transform: translateZ(0px);
  -webkit-transform: translate3d(0, 0, 0);
  -webkit-perspective: 1000;
  -webkit-animation: morph 20s infinite;
  animation: morph 20s infinite; }

.csstransforms3d .morphpanel .triangle {
  -webkit-transform: translateZ(0px);
  -webkit-transform: translate3d(0, 0, 0);
  -webkit-perspective: 1000;
  -webkit-animation: morphalt 20s infinite;
  animation: morphalt 20s infinite; }

@-webkit-keyframes morph {
  0%,
  100% {
    -webkit-transform: rotateX(-7deg) rotateY(0); }
  25% {
    -webkit-transform: rotateX(7deg) rotateY(7deg); }
  50% {
    -webkit-transform: rotateX(-7deg) rotateY(7deg); }
  75% {
    -webkit-transform: rotateX(-7deg) rotateY(-7deg); } }
@keyframes morph {
  0%,
  100% {
    -webkit-transform: rotateX(-7deg) rotateY(0);
            transform: rotateX(-7deg) rotateY(0); }
  25% {
    -webkit-transform: rotateX(7deg) rotateY(7deg);
            transform: rotateX(7deg) rotateY(7deg); }
  50% {
    -webkit-transform: rotateX(-7deg) rotateY(7deg);
            transform: rotateX(-7deg) rotateY(7deg); }
  75% {
    -webkit-transform: rotateX(-7deg) rotateY(-7deg);
            transform: rotateX(-7deg) rotateY(-7deg); } }
@-webkit-keyframes morphalt {
  0%,
  100% {
    -webkit-transform: rotateX(7deg) rotateY(0); }
  25% {
    -webkit-transform: rotateX(-7deg) rotateY(-7deg); }
  50% {
    -webkit-transform: rotateX(7deg) rotateY(-7deg); }
  75% {
    -webkit-transform: rotateX(7deg) rotateY(7deg); } }
@keyframes morphalt {
  0%,
  100% {
    -webkit-transform: rotateX(7deg) rotateY(0);
            transform: rotateX(7deg) rotateY(0); }
  25% {
    -webkit-transform: rotateX(-7deg) rotateY(-7deg);
            transform: rotateX(-7deg) rotateY(-7deg); }
  50% {
    -webkit-transform: rotateX(7deg) rotateY(-7deg);
            transform: rotateX(7deg) rotateY(-7deg); }
  75% {
    -webkit-transform: rotateX(7deg) rotateY(7deg);
            transform: rotateX(7deg) rotateY(7deg); } }
/*  ==========================================================================
	flex logolist
	========================================================================== */
.logolist {
  margin: 0 -1em -1em; }

.logolist__logo {
  max-height: 2em;
  max-width: 7em;
  height: auto;
  width: auto;
  vertical-align: middle;
  display: inline-block;
  margin: 0 1em 1em; }

@media only screen and (min-width: 700px) {
  .logolist__logo {
    max-height: 2.5em;
    max-width: 7em; } }
@media only screen and (min-width: 1000px) {
  .logolist__logo {
    max-height: 3em;
    max-width: 8em; } }
/*  ==========================================================================
	flex info columns
	========================================================================== */
@media only screen and (max-width: 1199px) {
  .infocolumn--maintitle {
    margin-left: 9%;
    max-width: 10em;
    margin-bottom: 5%; } }
@media only screen and (max-width: 549px) {
  .infocolumn--maintitle {
    margin-left: 18%; }

  .icon--column {
    padding-left: 0.75em;
    padding-right: 0.75em; } }
.flex--infocolumns .title--column {
  margin-left: 17%; }

.title--column .title {
  border-top: 4px solid; }

.flex--infocolumns h3,
.flex--infocolumns h4,
.flex--infocolumns h5,
.flex--infocolumns h6 {
  color: inherit;
  margin: 0; }

.flex--infocolumns p {
  color: #000000; }

.flex--infocolumns .section--row h3 {
  margin-right: 0%;
  margin-bottom: 0.33em; }

@media only screen and (min-width: 550px) {
  .flex--infocolumns .section--row h3 {
    margin-right: 50%; } }
.flex--infocolumns .section--row .icon--wrapper {
  margin-top: 22%;
  position: relative;
  padding-top: 100%;
  -ms-transform: rotate(-20deg);
  /* IE 9 */
  -webkit-transform: rotate(-20deg);
  /* Safari 3-8 */
  transform: rotate(-20deg); }

.flex--infocolumns .section--row .icon--wrapper .icon {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  -ms-transform: rotate(20deg);
  /* IE 9 */
  -webkit-transform: rotate(20deg);
  /* Safari 3-8 */
  transform: rotate(20deg);
  margin: 0.5em;
  box-sizing: border-box; }

.flexform--stacked .nf-multi-cell .nf-cell {
  padding: 0px; }
.flexform--stacked .nf-field {
  border-left: solid 1px #e5e5e5;
  border-top: solid 1px #e5e5e5;
  border-bottom: solid 1px #e5e5e5;
  border-right: solid 1px #e5e5e5; }
  @media only screen and (min-width: 601px) {
    .flexform--stacked .nf-field {
      border-right: 0; } }
  .flexform--stacked .nf-field input[type="email"],
  .flexform--stacked .nf-field .signup__submit--ninja {
    border: none;
    background: none; }
.flexform--stacked .signup__submit--ninjawrapper .nf-field {
  border-right: solid 1px #e5e5e5;
  border-left: solid 1px #e5e5e5; }
  @media only screen and (min-width: 601px) {
    .flexform--stacked .signup__submit--ninjawrapper .nf-field {
      border-left: 0; } }
.flexform--stacked input[type="email"] {
  border-right: 0px !important; }
.flexform--stacked .signup__submit--ninja {
  width: 100%;
  padding: 0.91em 1em 0.91em 1.6em;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media only screen and (min-width: 601px) {
    .flexform--stacked .signup__submit--ninja {
      -webkit-box-pack: end;
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end; } }
.flexform--stacked .nf-error-msg.nf-error-required-error {
  text-align: center; }
  @media only screen and (min-width: 601px) {
    .flexform--stacked .nf-error-msg.nf-error-required-error {
      text-align: left; } }
.flexform--stacked .nf-error-msg.nf-error-field-errors {
  display: none; }
.flexform--stacked .nf-response-msg {
  margin-top: -500px;
  padding-top: 500px; }

/*  ==========================================================================
	flex--accordion-carousel
	========================================================================== */
.accordions {
  border-top: 1px solid #ddd;
  position: relative; }

.accordion {
  display: block;
  position: relative;
  border-bottom: 1px solid #ddd; }
  .accordion .accordion__question {
    margin: 0;
    border-top: none;
    padding: 1em 3em 1em 0;
    position: relative;
    cursor: pointer; }
    .accordion .accordion__question:hover :hover {
      color: #888; }
    .accordion .accordion__question .fa {
      position: absolute;
      top: 1em;
      right: 1em;
      display: block;
      line-height: 1.2;
      -webkit-transition: -webkit-transform 150ms ease-out 0s;
      transition: -webkit-transform 150ms ease-out 0s;
      transition: transform 150ms ease-out 0s;
      transition: transform 150ms ease-out 0s, -webkit-transform 150ms ease-out 0s;
      color: #f2ad11;
      font-weight: 300; }
  .accordion .accordion__answer {
    max-height: 0;
    overflow: hidden;
    -webkit-transition: overflow 0.55s ease;
    transition: overflow 0.55s ease; }
    .accordion .accordion__answer .inner {
      margin: 0;
      padding: 0em; }
      .accordion .accordion__answer .inner .featuredposts--carousel {
        margin-top: 5rem !important; }
    .accordion .accordion__answer .flex__bd {
      margin: 0; }
  .accordion--open .accordion__answer .inner .featuredposts--carousel {
    display: block; }
    @media only screen and (min-width: 1000px) {
      .accordion--open .accordion__answer .inner .featuredposts--carousel .owl-carousel .owl-nav {
        bottom: 99%; } }
  .accordion--open .accordion__question {
    color: #6e6f71; }
    .accordion--open .accordion__question .fa {
      -webkit-transform: rotate(-180deg);
      -ms-transform: rotate(-180deg);
          transform: rotate(-180deg); }

/*  ==========================================================================
    pageheader--toolkit
    ========================================================================== */
.pageheader--toolkit {
  margin-top: 0.5em;
  margin-left: 0.5em;
  margin-right: 0.5em;
  background: #fcece9 url("img/toolkit/pageheader--toolkit.png") no-repeat center top;
  background-size: 100% auto;
  border-radius: 8px;
  overflow: hidden;
  border: solid 1px rgba(0, 0, 0, 0.15); }
  .pageheader--toolkit .pageheaderbody {
    margin-left: -0.5em;
    margin-right: -0.5em; }
  .pageheader--toolkit .pageheadercontent {
    text-align: center; }
    .pageheader--toolkit .pageheadercontent .preheading {
      margin-bottom: 0.25em; }
    .pageheader--toolkit .pageheadercontent h1 {
      margin-bottom: 0.25em; }
    .pageheader--toolkit .pageheadercontent .leader {
      max-width: 20em; }
    @media only screen and (min-width: 1000px) {
      .pageheader--toolkit .pageheadercontent {
        text-align: left; }
        .pageheader--toolkit .pageheadercontent .preheading {
          margin-left: 0; }
        .pageheader--toolkit .pageheadercontent h1 {
          margin-left: 0; }
        .pageheader--toolkit .pageheadercontent .leader {
          margin-left: 0; } }
  .pageheader--toolkit .pageheadergraphic {
    position: relative; }
    .pageheader--toolkit .pageheadergraphic .pageheadergraphic__img {
      padding: 100% 0 0;
      background-size: cover;
      background-position: center; }
  .pageheader--toolkit .pageheader__cta {
    margin-bottom: -1em; }
    .pageheader--toolkit .pageheader__cta a {
      margin: 0 1em 2em 0; }
  .pageheader--toolkit .pageheadercontent {
    text-align: center; }
    .pageheader--toolkit .pageheadercontent .preheading {
      margin-bottom: 0.25em; }
    .pageheader--toolkit .pageheadercontent h1 {
      margin-bottom: 0.25em; }
    @media only screen and (min-width: 1000px) {
      .pageheader--toolkit .pageheadercontent {
        text-align: left; }
        .pageheader--toolkit .pageheadercontent .preheading {
          margin-left: 0; }
        .pageheader--toolkit .pageheadercontent h1 {
          margin-left: 0; }
        .pageheader--toolkit .pageheadercontent .leader {
          margin-left: 0; } }
  @media only screen and (min-width: 550px) {
    .pageheader--toolkit .pageheadergraphic {
      width: 83.33%;
      margin: 0 auto; } }
  @media only screen and (min-width: 700px) {
    .pageheader--toolkit .pageheadercontent {
      width: 83.33%;
      margin: 0 auto; }
    .pageheader--toolkit .pageheadergraphic {
      width: 75%; } }
  @media only screen and (max-width: 999px) {
    .pageheader--toolkit .pageheaderbody {
      padding-bottom: 0; } }
  @media only screen and (min-width: 1000px) {
    .pageheader--toolkit .pageheadercontent {
      width: 45%;
      margin: 0 auto 0 0; }
    .pageheader--toolkit .pageheadergraphic {
      position: absolute;
      right: 0;
      top: 0;
      bottom: 0;
      left: 50%;
      width: auto;
      margin: 0; }
      .pageheader--toolkit .pageheadergraphic .pageheadergraphic__img {
        padding: 0;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; } }

/*  ==========================================================================
    pageheader--tool
    ========================================================================== */
.pageheader--tool {
  border-radius: 8px;
  background: #5be0cc;
  margin-top: 0.5em;
  margin-left: 0.5em;
  margin-right: 0.5em;
  border: none; }
  .pageheader--tool .pageheadergraphic .pageheadergraphic__img {
    background-size: contain;
    background-repeat: no-repeat; }
  .pageheader--tool.pageheader--tool--strategy {
    background: #5be0cc; }
  .pageheader--tool.pageheader--tool--model {
    background: #f2ad11; }
  .pageheader--tool.pageheader--tool--implementation {
    background: #ffb5c1; }
  .pageheader--tool .toolheader {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    .pageheader--tool .toolheader .preheading {
      margin-bottom: 0.25em; }
    .pageheader--tool .toolheader h1 {
      margin-bottom: 0.25em; }
    .pageheader--tool .toolheader .leader {
      max-width: 20em; }
    @media only screen and (min-width: 1000px) {
      .pageheader--tool .toolheader {
        text-align: left; }
        .pageheader--tool .toolheader .preheading {
          margin-left: 0; }
        .pageheader--tool .toolheader h1 {
          margin-left: 0; }
        .pageheader--tool .toolheader .leader {
          margin-left: 0; } }
  .pageheader--tool .pageheaderbody {
    margin-left: -0.5em;
    margin-right: -0.5em; }
  @media only screen and (min-width: 1000px) {
    .pageheader--tool .toolheadergraphic {
      margin-bottom: 0; }
    .pageheader--tool .toolheader {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
      -webkit-flex-direction: row-reverse;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse;
      text-align: left; } }
  .pageheader--tool .toolmeta {
    border-top: solid 1px rgba(0, 0, 0, 0.15);
    padding: 1em 0; }
    .pageheader--tool .toolmeta .gd-g {
      margin-bottom: -1em; }
    .pageheader--tool .toolmeta .gd-u {
      margin: 0 0 1em; }
  .pageheader--tool .shareicons li {
    vertical-align: middle; }
  .pageheader--tool .shareicons .downloaditem {
    display: block; }
    .pageheader--tool .shareicons .downloaditem a {
      margin-bottom: 1em; }
  .pageheader--tool .shareicons .sharelink {
    color: #000000;
    background: #ffffff; }
  @media only screen and (min-width: 1200px) {
    .pageheader--tool .shareicons .downloaditem {
      display: inline-block; }
      .pageheader--tool .shareicons .downloaditem a {
        margin-bottom: 0; } }

/*  ==========================================================================
    post--tool & workflow--tool
    ========================================================================== */
.post--tool,
.post--workflow {
  background: #fff;
  border-radius: 8px;
  box-shadow: 10px 10px 60px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  margin: 0 0 1em;
  height: 100%;
  -webkit-transition: -webkit-transform 150ms ease-out 0ms, box-shadow 150ms ease-out 0ms;
  -webkit-transition: box-shadow 150ms ease-out 0ms, -webkit-transform 150ms ease-out 0ms;
  transition: box-shadow 150ms ease-out 0ms, -webkit-transform 150ms ease-out 0ms;
  transition: transform 150ms ease-out 0ms, box-shadow 150ms ease-out 0ms;
  transition: transform 150ms ease-out 0ms, box-shadow 150ms ease-out 0ms, -webkit-transform 150ms ease-out 0ms; }
  .post--tool .post__content,
  .post--workflow .post__content {
    padding: 1em; }
    .post--tool .post__content .post__heading,
    .post--workflow .post__content .post__heading {
      margin: 0 0 0.25em;
      line-height: 1.2; }
  .post--tool .postimg,
  .post--workflow .postimg {
    margin: 0;
    background: #5be0cc;
    position: relative;
    box-shadow: none;
    padding: 75% 0 0; }
    .post--tool .postimg .postimg__img,
    .post--workflow .postimg .postimg__img {
      -webkit-transition: -webkit-transform 150ms ease-out 0ms, box-shadow 150ms ease-out 0ms;
      -webkit-transition: box-shadow 150ms ease-out 0ms, -webkit-transform 150ms ease-out 0ms;
      transition: box-shadow 150ms ease-out 0ms, -webkit-transform 150ms ease-out 0ms;
      transition: transform 150ms ease-out 0ms, box-shadow 150ms ease-out 0ms;
      transition: transform 150ms ease-out 0ms, box-shadow 150ms ease-out 0ms, -webkit-transform 150ms ease-out 0ms;
      background-color: transparent;
      position: absolute;
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
      top: 0em;
      right: 0em;
      bottom: 0em;
      left: 0em;
      width: auto;
      height: auto; }
  .post--tool:hover,
  .post--workflow:hover {
    box-shadow: 25px 25px 60px rgba(0, 0, 0, 0.25);
    -webkit-transform: scale(1.05, 1.05);
        -ms-transform: scale(1.05, 1.05);
            transform: scale(1.05, 1.05); }
    .post--tool:hover .postimg,
    .post--workflow:hover .postimg {
      box-shadow: none; }
      .post--tool:hover .postimg .postimg__img,
      .post--workflow:hover .postimg .postimg__img {
        -webkit-transform: rotate(6deg) scale(1.1, 1.1);
            -ms-transform: rotate(6deg) scale(1.1, 1.1);
                transform: rotate(6deg) scale(1.1, 1.1); }
  .post--tool[data-phase="strategy"] .postimg,
  .post--workflow[data-phase="strategy"] .postimg {
    background: #5be0cc; }
  .post--tool[data-phase="model"] .postimg,
  .post--workflow[data-phase="model"] .postimg {
    background: #f2ad11; }
  .post--tool[data-phase="implementation"] .postimg,
  .post--workflow[data-phase="implementation"] .postimg {
    background: #ffb5c1; }

/*# sourceMappingURL=style.css.map */