@charset "UTF-8";
/* Genesis Child Theme
Theme Name: Capital 4 Impact Foundation pro
Theme URI: https://github.com/mbernth/c4if
Description: This is a theme by mono voce, created for the Genesis Framework.
Author: mono voce aps
Author URI: https://www.monovoce.com/
Template: genesis
Version: 1.0.0
License: GPL-2.0-or-later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Text Domain: c4if-pro
*/
/* # HTML5 Reset
---------------------------------------------------------------------------------------------------- */
/* ## Baseline Normalize
--------------------------------------------- */
/* normalize.css v3.0.1 | MIT License | git.io/normalize */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
  display: block;
}

audio, canvas, progress, video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden], template {
  display: none;
}

a {
  background: 0 0;
}

a:active, a:hover {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b, strong {
  font-weight: 700;
}

dfn {
  font-style: italic;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

mark {
  background: #ff0;
  color: #333;
}

small {
  font-size: 80%;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 0;
}

hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code, kbd, pre, samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

button, input, optgroup, select, textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button, select {
  text-transform: none;
}

button, html input[type=button], input[type=reset], input[type=submit] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled], html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type=checkbox], input[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

input[type=search] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

fieldset {
  border: 1px solid silver;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: 700;
}

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

td, th {
  padding: 0;
}

/* ## Box Sizing
--------------------------------------------- */
html,
input[type=search] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

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

/* # MIXINS
---------------------------------------------------------------------------------------------------- */
/* ## Typography
---------------------------------------------------------------------- */
/* Basic Font Sizes mixin */
/* ## Responsive Typography
---------------------------------------------------------------------- */
/*
@mixin typography($fs-t_font) {
  @if type-of($fs-t_font) == "list" {
    font-size: nth($fs-t_font, 1);
    @if (length($fs-t_font) > 1) {
      line-height: nth($fs-t_font, 2);
    }
    @if (length($fs-t_font) > 2) {
      font-weight: nth($fs-t_font, 3);
    }
  }
}
*/
/* ## Responsive paddings
---------------------------------------------------------------------- */
/* ## Responsive margins
---------------------------------------------------------------------- */
/* ## Responsive Grid Gap
---------------------------------------------------------------------- */
/* ## Responsive Gridcontainer inside wrap max width
---------------------------------------------------------------------- */
/* ## Border Radius
---------------------------------------------------------------------- */
/* ## Gradients
---------------------------------------------------------------------- */
/* # Variables
---------------------------------------------------------------------------------------------------- */
/* ## Colour palette
---------------------------------------------------------------------- */
/* Shade */
/* Tint */
/* Primary */
/* Secondary */
/* Active - Active/Focused*/
/* Accent 1 - Succes */
/* Accent 2 - Warning */
/* Accent 3 - Error/Alert */
:root {
  --color-primary: #005bbb;
  --color-primary-shade-20: #004996;
  --color-primary-shade-40: #003770;
  --color-primary-shade-60: #00244b;
  --color-primary-shade-80: #001225;
  --color-primary-tint-20: #337cc9;
  --color-primary-tint-40: #669dd6;
  --color-primary-tint-60: #99bde4;
  --color-primary-tint-80: #ccdef1;
  --color-secondary: #58CAE7;
  --color-secondary-shade-20: #48a0b8;
  --color-secondary-shade-40: #35798b;
  --color-secondary-shade-60: #23515c;
  --color-secondary-shade-80: #12282e;
  --color-secondary-tint-20: #79d5eb;
  --color-secondary-tint-40: #9bdff1;
  --color-secondary-tint-60: #bceaf5;
  --color-secondary-tint-80: #def4fa;
  --color-active: #EF008C;
  --color-active-shade-20: #b90974;
  --color-active-shade-40: #8f0054;
  --color-active-shade-60: #600038;
  --color-active-shade-80: #30001c;
  --color-active-tint-20: #f233a3;
  --color-active-tint-40: #f566ba;
  --color-active-tint-60: #f999d1;
  --color-active-tint-80: #fccce8;
  --color-shade: #243C4B;
  --color-shade-shade-20: #1d2f3c;
  --color-shade-shade-40: #16242D;
  --color-shade-shade-60: #0e181f;
  --color-shade-shade-80: #070d10;
  --color-shade-tint-20: #4b565d;
  --color-shade-tint-40: #7c8a93;
  --color-shade-tint-60: #a7b1b7;
  --color-shade-tint-80: #d3d8db;
  --color-shade-tint-90: #EAECED;
  --color-tint: #FEFEFE;
  --color-tint-shade-20: #cbcbcb;
  --color-tint-shade-40: #989898;
  --color-tint-shade-60: #676766;
  --color-tint-shade-80: #333333;
  --color-tint-tint-20: var(--color-tint);
  --color-tint-tint-40: var(--color-tint);
  --color-tint-tint-60: #ffffff;
  --color-tint-tint-80: #ffffff;
  --color-success: #00843d;
  --color-success-shade-20: #1a6b31;
  --color-success-shade-40: #114f25;
  --color-success-shade-60: #083518;
  --color-success-shade-80: #031b0c;
  --color-success-tint-20: #339d65;
  --color-success-tint-40: #66b68b;
  --color-success-tint-60: #99cdb1;
  --color-success-tint-80: #cce6d8;
  --color-warning: #f1c400;
  --color-warning-shade-20: #bb9c0c;
  --color-warning-shade-40: #917600;
  --color-warning-shade-60: #604f00;
  --color-warning-shade-80: #302700;
  --color-warning-tint-20: #f4d034;
  --color-warning-tint-40: #f7dc67;
  --color-warning-tint-60: #f9e799;
  --color-warning-tint-80: #fcf3cc;
  --color-error: #d22630;
  --color-error-shade-20: #a2252f;
  --color-error-shade-40: #7e171d;
  --color-error-shade-60: #540e13;
  --color-error-shade-80: #2a090a;
  --color-error-tint-20: #db5159;
  --color-error-tint-40: #e47e83;
  --color-error-tint-60: #eda8ab;
  --color-error-tint-80: #f6d4d6;
  /* 
      Tint and Shade Generator
      https://maketintsandshades.com/
  */
}

/* ### Global colours
---------------------------------------------------------------------- */
/* Global body values 
$g_body-background-color:       $color-shade;
$g_font_color_default:          $color-tint;
*/
/* Default body link 
$g_font-bread-a-color:          $color-active;
$g_font-bread-a-hover-color:    $color-active;
*/
/* Mark
$g_font-mark-color:             $color-shade;
$g_font-mark-background-color:  $color-tint;
 */
/* Button */
:root {
  /* Global body values */
  --color-body-background: var(--color-shade);
  --color-body-text: var(--color-tint);
  /* Default body link */
  --color-body-link: var(--color-secondary);
  --color-body-link-hover: var(--color-secondary);
  /* Mark */
  --color-body-mark-text: var(--color-body-text);
  --color-body-mark-background: var(--color-body-background);
  /* Default button */
  --color-button-text: var(--color-shade);
  --color-button-text-hover: var(--color-shade);
  --color-button-back: var(--color-tint);
  --color-button-back-hover: var(--color-tint-shade-20);
  /* Primary button */
  --color-button-primary-text: var(--color-tint);
  --color-button-primary-text-hover: var(--color-tint);
  --color-button-primary-back: var(--color-shade-shade-40);
  --color-button-primary-back-hover: var(--color-shade-shade-20);
  /* Info button */
  --color-button-info-text: var(--color-tint);
  --color-button-info-text-hover: var(--color-tint);
  --color-button-info-back: var(--color-active);
  --color-button-info-back-hover: var(--color-active-shade-40);
  /* Alert button */
  --color-button-alert-text: var(--color-tint);
  --color-button-alert-text-hover: var(--color-tint);
  --color-button-alert-back: var(--color-error);
  --color-button-alert-back-hover: var(--color-error-shade-40);
  /* Disabled button */
  --color-button-disabled-text: var(--color-shade-tint-20t);
  --color-button-disabled-text-hover: var(--color-shade-tint-20);
  --color-button-disabled-back: var(---color-tint-shade-40);
  --color-button-disabled-back-hover: var(---color-tint-shade-40);
}

/* ## Defaults Globals
---------------------------------------------------------------------- */
/* ## Typography
---------------------------------------------------------------------- */
:root {
  /* -- ROOT SETTINGS -- */
  --type-scale: 1.2; /* Typography Scala */
  --type-root: 1.6; /* Normal reading size starting point */
  --type-root-max: 2.2; /* Maxium size for normal reading text */
  --measure-0: 75ch; /* Reading measure */
  --type-increase: calc(var(--type-scale) * 1vw); /* Type increase as screen gets wider */
  /* Starting sizes */
  --type--2: calc(var(--type--1) / var(--type-scale));
  --type--1: calc(var(--type-0) / var(--type-scale));
  --type-0: calc(var(--type-root) * 1rem);
  --type-1: calc(var(--type-0) * var(--type-scale));
  --type-2: calc(var(--type-1) * var(--type-scale));
  --type-3: calc(var(--type-2) * var(--type-scale));
  --type-4: calc(var(--type-3) * var(--type-scale));
  --type-5: calc(var(--type-4) * var(--type-scale));
  --type-6: calc(var(--type-5) * var(--type-scale));
  --type-7:calc(var(--type-6) * var(--type-scale));
  --type-8:calc(var(--type-7) * var(--type-scale));
  --type-9:calc(var(--type-8) * var(--type-scale));
  --type-10:calc(var(--type-9) * var(--type-scale));
  --type-hero: var(--type-6);
  --type-text-image-title: var(--type-5);
  --type-cite: var(--type-2);
  /* Ending sizes */
  --type--2-max: calc(var(--type--1-max) / var(--type-scale));
  --type--1-max: calc(var(--type-0-max) / var(--type-scale));
  --type-0-max: calc(var(--type-root-max) * 1rem);
  --type-1-max: calc(var(--type-0-max) * var(--type-scale));
  --type-2-max: calc(var(--type-1-max) * var(--type-scale));
  --type-3-max: calc(var(--type-2-max) * var(--type-scale));
  --type-4-max: calc(var(--type-3-max) * var(--type-scale));
  --type-5-max: calc(var(--type-4-max) * var(--type-scale));
  --type-6-max: calc(var(--type-5-max) * var(--type-scale));
  --type-7-max: calc(var(--type-6-max) * var(--type-scale));
  --type-8-max: calc(var(--type-7-max) * var(--type-scale));
  --type-9-max: calc(var(--type-8-max) * var(--type-scale));
  --type-10-max: calc(var(--type-9-max) * var(--type-scale));
  --type-hero-max: var(--type-8-max);
  --type-text-image-title-max: var(--type-9-max);
  --type-cite-max: var(--type-8);
  --type-cite-long-max: var(--type-6);
  /* Resonsive calculations */
  --type--2-responsive: clamp(var(--type--2), calc(var(--type-scale) / var(--type-scale) / var(--type-scale) * var(--type-increase)), var(--type--1-max));
  --type--1-responsive: clamp(var(--type--1), calc(var(--type-scale) / var(--type-scale) * var(--type-increase)), var(--type--1-max));
  --type-0-responsive: clamp(var(--type-0), calc(var(--type-scale) * var(--type-increase)), var(--type-0-max));
  --type-1-responsive: clamp(var(--type-1), calc(var(--type-scale) * var(--type-scale) * var(--type-increase)), var(--type-1-max));
  --type-2-responsive: clamp(var(--type-2), calc(var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-increase)), var(--type-2-max));
  --type-3-responsive: clamp(var(--type-3), calc(var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-increase)), var(--type-3-max));
  --type-4-responsive: clamp(var(--type-4), calc(var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-increase)), var(--type-4-max));
  --type-5-responsive: clamp(var(--type-5), calc(var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-increase)), var(--type-5-max));
  --type-6-responsive: clamp(var(--type-6), calc(var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-increase)), var(--type-6-max));
  --type-7-responsive: clamp(var(--type-7), calc(var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-increase)), var(--type-7-max));
  --type-hero-responsive: clamp(var(--type-hero), calc(var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-increase)), var(--type-hero-max));
  --type-hero-small-responsive: clamp(var(--type-4), calc(var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-increase)), var(--type-6-max));
  --type-text-image-title-responsive: clamp(var(--type-text-image-title), calc(var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-increase)), var(--type-text-image-title-max));
  --type-cite-responsive: clamp(var(--type-cite), calc(var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-increase)), var(--type-cite-max));
  --type-cite-long-responsive: clamp(var(--type-cite), calc(var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-scale) * var(--type-increase)), var(--type-cite-long-max));
  /* Font-sizes */
  --font-size-xs: var(--type--2-responsive);
  --font-size-s: var(--type--1-responsive);
  --font-size-m: var(--type-0-responsive);
  --font-size-l: var(--type-1-responsive);
  --font-size-xl: var(--type-2-responsive);
  --font-size-xxl: var(--type-3-responsive);
  --font-size-xxxl: var(--type-4-responsive);
  --font-size-xxxxl: var(--type-5-responsive);
  --font-size-xxxxxl: var(--type-6-responsive);
  --font-size-h6: var(--font-size-m);
  --font-size-h5: var(--font-size-l);
  --font-size-h4: var(--font-size-xl);
  --font-size-h3: var(--font-size-xxl);
  --font-size-h2: var(--font-size-xxxl);
  --font-size-h1: var(--font-size-xxxxl);
  --font-size-entry-title: var(--font-size-h1);
  /* Line heights */
  --line-height-xs: calc(var(--type-scale) / var(--type-scale));
  --line-height-s: var(--type-scale);
  --line-height-m: calc(var(--type-scale) * var(--type-scale));
  --line-height-l: calc(var(--type-scale) * var(--type-scale) * var(--type-scale));
  /* Responsive margins */
  --margin-0:calc((var(--type-scale) * 1rem) + (var(--type-scale) * var(--type-increase)));
  --margin-1:calc(var(--margin-0) * 1.5);
  --margin-2:calc(var(--margin-0) * 2);
  --margin-3:calc(var(--margin-0) * 2.5);
  --margin-4:calc(var(--margin-0) * 3);
  --margin-5:calc(var(--margin-0) * 3.5);
  --margin-6:calc(var(--margin-0) * 4);
  --margin--1:calc(var(--margin-0) / 1.5);
  --margin--2:calc(var(--margin-0) / 2);
  --margin--3:calc(var(--margin-0) / 2.5);
  /* Margin Sizes */
  --margin-xxs: var(--margin--3);
  --margin-xs: var(--margin--2);
  --margin-s: var(--margin--1);
  --margin-m: var(--margin-0);
  --margin-l: var(--margin-1);
  --margin-xl: var(--margin-2);
  --margin-xxl: var(--margin-3);
  --margin-xxxl: var(--margin-4);
  /* Global button radius */
  --corner-radius: 0.444em;
}

/* ### Responsive typography
---------------------------------------------------------------------- */
/*

$t_font_default:        ($t_font_size_root, $t_line-height, 300);

$t_font_smallest:       ($t_font_size_smallest, $t_line-height);
$t_font_smaller:        ($t_font_size_smaller, $t_line-height);
$t_font_small:          ($t_font_size_small, $t_line-height);
$t_font_large:          ($t_font_size_large, $t_line-height);
$t_font_larger:         ($t_font_size_larger, $t_line-height);

$t_font_h1:             ($t_font_size_h1, $t_line-height_small, 800);
$t_font_h2:             ($t_font_size_h2, $t_line-height_small, 800);
$t_font_h3:             ($t_font_size_h3, $t_line-height_small, 800);
$t_font_h4:             ($t_font_size_h4, $t_line-height_small, 800);
$t_font_h5:             ($t_font_size_h5, $t_line-height_small, 800);
$t_font_h6:             ($t_font_size_h6, $t_line-height_small, 800);

$t_font_entry_title:    ($t_font_size_entry_title, $t_line-height_small, 800);

*/
/* ### Font family
---------------------------------------------------------------------- */
/* Global Font Faminly 
$font-bread:        'Eastman-Regular', Helvetica, Arial, sans-serif;
$font-bold:         'Eastman-Bold', Helvetica, Arial, sans-serif;
$font-black:        'Eastman-Black', Helvetica, Arial, sans-serif;
$font-headlines:    'Eastman-Black', Helvetica, Arial, sans-serif;
$font-hero:         'Eastman-Black', Helvetica, Arial, sans-serif;
$font-navigation:   'Eastman-Bold', Helvetica, Arial, sans-serif;
*/
:root {
  /* Global Font Faminly */
  --font-default: Helvetica, Arial, sans-serif;
  --font-bold: Helvetica, Arial, sans-serif;
  --font-black: "Poppins", Helvetica, Arial, sans-serif;
  --font-headline: "Poppins", Helvetica, Arial, sans-serif;
  --font-navigation: "Poppins", Helvetica, Arial, sans-serif;
}

/* ## Border Radius
---------------------------------------------------------------------- */
/* Globals */
/* ## Colored Gridcontainer
---------------------------------------------------------------------- */
/* ## Media Queries
---------------------------------------------------------------------- */
/* 592 pixel */
/* 768 pixel */
/* 1023 pixel */
/* 1024 pixel */
/* 1280 pixel */
/* 1600 pixel */
/* 1920 pixel */
/* 2480 pixel */
/* ## Site Structure
---------------------------------------------------------------------- */
/* # Arrays
---------------------------------------------------------------------------------------------------- */
/* ## Breakpoints
---------------------------------------------------------------------- */
/* ## Responsive site measure
---------------------------------------------------------------------- */
/* # Structure and Layout
---------------------------------------------------------------------------------------------------- */
.site-container {
  position: relative;
}

.before-header {
  position: relative;
}

.site-header {
  position: relative;
}

.featured-section {
  position: relative;
}

.nav-secondary {
  position: relative;
}

.breadcrumb {
  position: relative;
}

.site-inner {
  position: relative;
  z-index: 200;
}

.footer-widgets {
  position: relative;
  z-index: 200;
}

.site-footer {
  position: relative;
  z-index: 200;
}

@supports (display: grid) {
  .site-container {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas: "site-header" "featured-section" "site-inner" "footer-widgets" "site-footer";
  }
  .site-container .site-header {
    grid-area: site-header;
  }
  .site-container .featured-section {
    grid-area: featured-section;
  }
  .site-container .site-inner {
    grid-area: site-inner;
  }
  .site-container .footer-widgets {
    grid-area: footer-widgets;
  }
  .site-container .site-footer {
    grid-area: site-footer;
  }
}
/* ## Site Inner
---------------------------------------------------------------------- */
.site-inner,
.wrap {
  margin: 0 auto;
}

.site-inner {
  position: relative;
  display: block;
  clear: both;
  margin: 0;
  width: 100%;
  overflow: hidden;
}

.site-inner .content .breadcrumb {
  width: 90%;
}

/* ## Content Entry
---------------------------------------------------------------------- */
.entry-content {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
}

.entry-content > * + * {
  margin-top: var(--margin-m);
}

.content .entry {
  max-width: var(--measure-0);
  width: 90%;
  margin: 0px auto;
}
.content .entry .entry-header {
  /*
  margin-left: calc(-100vw / 2 + 100% / 2);
  margin-right: calc(-100vw / 2 + 100% / 2);
  padding-left: var(--margin-m);
  padding-right: var(--margin-m);
  margin-bottom: var(--margin-m);
  width: 100vw;
  */
}

.page-template-default .entry-header .typed-cursor {
  font-family: var(--font-black);
  font-size: clamp(3.1850496rem + 1.2vw / 10, 4vw, 7vw);
  visibility: hidden;
}

/* ## Archive Entry
---------------------------------------------------------------------- */
.archive .content {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  gap: var(--margin-m);
  margin-bottom: var(--margin-xl);
}
.archive .content .entry-image-link img {
  display: block;
}
.archive .content .entry .entry-header {
  padding-top: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}
.archive .content .entry .entry-header .entry-title {
  margin-bottom: 0;
  font-size: var(--font-size-h2);
}
.archive .content .entry .entry-header .entry-meta {
  margin-bottom: unset;
}
.archive .entry-content {
  display: block;
}
.archive .entry-content > * + * {
  margin-top: var(--margin-xs);
}
.archive .content article.post {
  display: grid;
  grid-template-columns: 1fr 2fr;
  grid-template-rows: auto;
  gap: var(--margin-m);
}
.archive .content article.post p {
  font-size: var(--font-size-xs);
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

/* ## Single Entry
---------------------------------------------------------------------- */
.single .content .entry {
  margin-bottom: var(--margin-m);
  padding-bottom: var(--margin-m);
}

/* ## Team Archive Entry
---------------------------------------------------------------------- */
.team-member-archive .content-sidebar-wrap {
  margin-left: auto;
  margin-right: auto;
  width: 90%;
  max-width: var(--measure-0);
}
.team-member-archive .content .entry {
  width: 100%;
  max-width: 100%;
}
.team-member-archive .archive-description {
  width: 100%;
  max-width: 100%;
}
.team-member-archive .archive-pagination {
  width: 100%;
  max-width: 100%;
}
.team-member-archive figure {
  position: relative;
  margin-bottom: 10px;
}
.team-member-archive figure img {
  display: block;
  object-fit: cover;
  max-width: unset;
  width: 100%;
  height: auto;
}
.team-member-archive figure .onleave {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 5px 15px;
  color: #fefefe;
  background-color: transparent;
  font-size: var(--font-size-xs);
}
.team-member-archive .name,
.team-member-archive .title {
  display: block;
}
.team-member-archive .name.chair,
.team-member-archive .title.chair {
  display: inline;
}
.team-member-archive .name {
  font-weight: 400;
  font-size: var(--font-size-h6);
}
.team-member-archive .title {
  font-style: italic;
  margin-bottom: 10px;
}
.team-member-archive .biography {
  font-size: var(--font-size-xs);
  line-height: var(--line-height-m);
  margin-bottom: 20px;
}
.team-member-archive .onleave,
.team-member-archive .email,
.team-member-archive .phone {
  display: flex;
  align-items: center;
}
.team-member-archive .onleave [class^=icon-], .team-member-archive .onleave .contact [class*=" icon-"],
.team-member-archive .email [class^=icon-],
.team-member-archive .email .contact [class*=" icon-"],
.team-member-archive .phone [class^=icon-],
.team-member-archive .phone .contact [class*=" icon-"] {
  width: 22px;
  height: 22px;
  border-radius: 30px;
  padding: 4px;
  margin-right: 10px;
}
.team-member-archive .onleave [class^=icon-], .team-member-archive .onleave .contact [class*=" icon-"] {
  display: none;
  color: #EF008C;
  fill: #EF008C;
  background-color: #fefefe;
}
.team-member-archive .email [class^=icon-], .team-member-archive .email .contact [class*=" icon-"],
.team-member-archive .phone [class^=icon-],
.team-member-archive .phone .contact [class*=" icon-"] {
  color: #fefefe;
  fill: #fefefe;
  background-color: #EF008C;
}

/* ## Gutenberg
---------------------------------------------------------------------- */
/* ### Color mixins
---------------------------------------------------------------------- */
.has-theme-shade-color {
  color: #243C4B;
}

.has-theme-shade-background-color {
  background-color: #243C4B;
}

.has-theme-tint-color {
  color: #fefefe;
}

.has-theme-tint-background-color {
  background-color: #fefefe;
}

.has-theme-primary-color {
  color: #005bbb;
}

.has-theme-primary-background-color {
  background-color: #005bbb;
}

.has-theme-secondary-color {
  color: #58CAE7;
}

.has-theme-secondary-background-color {
  background-color: #58CAE7;
}

.has-theme-active-color {
  color: #EF008C;
}

.has-theme-active-background-color {
  background-color: #EF008C;
}

.has-theme-accent-one-color {
  color: #92CA08;
}

.has-theme-accent-one-background-color {
  background-color: #92CA08;
}

.has-theme-accent-two-color {
  color: #FFD500;
}

.has-theme-accent-two-background-color {
  background-color: #FFD500;
}

.has-theme-accent-three-color {
  color: #D22630;
}

.has-theme-accent-three-background-color {
  background-color: #D22630;
}

/* ### Gutenberg Front-end styles
---------------------------------------------------------------------- */
/* Drop Caps
---------------------------------------------------------------------------- */
.site-container p.has-drop-cap:not(:focus)::first-letter {
  font-size: 7rem;
  font-weight: 500;
  line-height: 1;
  margin: 10px 4px 0 -8px;
}

.site-container p.has-large-font-size.has-drop-cap:not(:focus)::first-letter {
  font-size: 12.2rem;
  margin: 17px 7px 0 -12px;
}

.site-container p.has-small-font-size.has-drop-cap:not(:focus)::first-letter {
  font-size: 4.3rem;
  margin: 7px 3px 0 -5px;
}

/* Paragraphs
---------------------------------------------------------------------------- */
p.has-background {
  padding: var(--margin-m);
}

.alignfull:not(.has-background) .wp-block-group__inner-container > p:not(.has-background-color) {
  padding: var(--margin-m);
}

/* Text Size
---------------------------------------------------------------------------- */
.has-smaller-font-size {
  font-size: var(--font-size-xs);
}

.has-small-font-size {
  font-size: var(--font-size-s);
}

.has-large-font-size {
  font-size: var(--font-size-l);
}

.has-larger-font-size {
  font-size: var(--font-size-xl);
}

/* Margin
---------------------------------------------------------------------------- */
.has-top-margin {
  margin-top: var(--margin-m) !important;
}

/* Background Color
---------------------------------------------------------------------------- */
.site-container p.has-background {
  padding: var(--margin-m);
}

.site-container p.has-background.box-shadow {
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}

.site-container p.has-background a,
.site-container p.has-text-color a {
  color: inherit;
  text-decoration: underline;
}

.site-container p.has-background a:focus,
.site-container p.has-background a:hover,
.site-container p.has-text-color a:focus,
.site-container p.has-text-color a:hover {
  color: inherit;
  text-decoration: none;
}

/* Images
---------------------------------------------------------------------------- */
.wp-block-image figcaption {
  margin-top: 0;
  margin-bottom: 0;
}

/* Alignment
---------------------------------------------------------------------------- */
.has-text-align-center {
  text-align: center;
}

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

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

.wp-block-button.alignleft,
.wp-block-cover.alignleft,
.wp-block-image .alignleft {
  margin-right: 2em;
}

.wp-block-button.alignright,
.wp-block-cover.alignright,
.wp-block-image .alignright {
  margin-left: 2em;
}

.entry-content .wp-block-image:last-child {
  margin-bottom: 0;
}

.wp-block-cover,
.wp-block-cover-image {
  width: auto;
  min-height: 50vh;
}

.wp-block-cover-image .wp-block-cover__inner-container,
.wp-block-cover .wp-block-cover__inner-container {
  margin-top: var(--margin-m);
  margin-bottom: var(--margin-m);
  padding-top: var(--margin-m);
  padding-bottom: var(--margin-m);
  width: 90%;
  z-index: 1;
  color: var(--color-tint);
}
.wp-block-cover-image .wp-block-cover__inner-container h1, .wp-block-cover-image .wp-block-cover__inner-container h2, .wp-block-cover-image .wp-block-cover__inner-container h3, .wp-block-cover-image .wp-block-cover__inner-container h4, .wp-block-cover-image .wp-block-cover__inner-container h5, .wp-block-cover-image .wp-block-cover__inner-container h6,
.wp-block-cover .wp-block-cover__inner-container h1,
.wp-block-cover .wp-block-cover__inner-container h2,
.wp-block-cover .wp-block-cover__inner-container h3,
.wp-block-cover .wp-block-cover__inner-container h4,
.wp-block-cover .wp-block-cover__inner-container h5,
.wp-block-cover .wp-block-cover__inner-container h6 {
  line-height: 1;
}
.wp-block-cover-image .wp-block-cover__inner-container h2,
.wp-block-cover .wp-block-cover__inner-container h2 {
  font-size: var(--font-size-entry-title);
  line-height: var(--line-height-s);
  color: var(--color-tint);
}

.full-width-content .entry-content > .alignfull {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding-left: var(--margin-m);
  padding-right: var(--margin-m);
  max-width: 100vw;
}

.full-width-content .entry-content > .wp-block-table.alignfull {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
}

.alignfull .alignwide,
.alignwide .alignwide {
  width: 90%;
  margin: 0 auto;
}

@media only screen and (min-width: 48em) {
  .full-width-content .entry-content > .alignwide,
  .full-width-content.team-member-archive .alignwide {
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    padding-left: var(--margin-m);
    padding-right: var(--margin-m);
  }
}
@media only screen and (min-width: 64em) {
  .full-width-content .entry-content > .alignwide,
  .full-width-content.team-member-archive .alignwide {
    margin-left: calc(-1 * var(--type-root) * 1vw * 10 / 2);
    margin-right: calc(-1 * var(--type-root) * 1vw * 10 / 2);
    padding-left: unset;
    padding-right: unset;
    width: auto;
  }
}

/* Columns
---------------------------------------------------------------------------- */
.wp-block-columns.has-background,
.wp-block-columns.has-background.alignfull {
  padding: var(--margin-m);
}

.site-container .wp-block-columns {
  margin-bottom: var(--margin-m);
}

/* Cover Image
---------------------------------------------------------------------------- */
.full-width-content .entry-content > .wp-block-cover.alignfull {
  width: 100vw;
}

.site-container .wp-block-cover .wp-block-cover-text {
  font-size: var(--font-size-xl);
  line-height: var(--line-height-m);
}

/* Buttons
---------------------------------------------------------------------------- */
.site-container .ab-button {
  background-color: var(--color-tint);
  font-size: var(--font-size-m);
  line-height: var(--line-height-m);
  text-transform: uppercase;
}

.site-container .wp-block-button .wp-block-button__link,
.wp-block-button__link {
  background-color: var(--color-button-back);
  color: var(--color-button-text);
  font-size: var(--font-size-m);
  font-weight: bold;
  line-height: var(--line-height-m);
  border-radius: var(--corner-radius);
  cursor: pointer;
  padding: 0.4em 1.1em 0.25em;
  min-width: 180px;
  text-transform: none;
  white-space: normal;
  width: auto;
}
.site-container .wp-block-button .wp-block-button__link:hover,
.wp-block-button__link:hover {
  background-color: var(--color-button-back-hover);
}

.site-container .wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent;
  border: 2px solid currentColor;
  padding: 0.6em 1.5em;
}

.site-container .wp-block-button.is-style-outline .wp-block-button__link.has-background {
  background-color: transparent !important;
}

/* Blockquotes and captions
---------------------------------------------------------------------------- */
.site-container .wp-block-quote::before {
  color: var(--color-secondary);
  content: "“";
  display: block;
  font-family: sans-serif;
  font-size: 3em;
  font-style: normal;
  font-weight: 600;
  height: 0;
  left: -0.6em;
  position: relative;
  text-align: left;
  top: -0.18em;
}

.site-container .wp-block-pullquote blockquote {
  margin: 0;
  padding: 0;
}

.wp-block-pullquote {
  padding-top: var(--margin-m);
  padding-bottom: var(--margin-m);
}

.wp-block-pullquote.alignleft,
.wp-block-pullquote.alignright {
  padding: 0;
  max-width: 100%;
}

.wp-block-pullquote p,
.wp-block-pullquote.alignleft p,
.wp-block-pullquote.alignright p {
  font-size: var(--font-size-l);
  line-height: var(--line-height-m);
}

.site-container .wp-block-pullquote.alignleft blockquote {
  margin-right: var(--margin-m);
  margin-bottom: var(--margin-m);
}

.site-container .wp-block-pullquote.alignright blockquote {
  margin-left: var(--margin-m);
  margin-bottom: var(--margin-m);
}

.wp-block-pullquote.is-style-solid-color blockquote {
  padding: var(--margin-m);
  max-width: 100%;
  color: var(--color-tint);
  background-color: #EF008C;
}
.wp-block-pullquote.is-style-solid-color blockquote p {
  font-size: var(--font-size-l);
  line-height: var(--line-height-m);
  color: var(--color-tint);
  font-size: inherit;
}
.wp-block-pullquote.is-style-solid-color blockquote cite {
  font-style: italic;
}

.wp-block-pullquote.alignfull {
  padding: var(--margin-m);
  text-align: center;
}
.wp-block-pullquote.alignfull blockquote {
  text-align: center;
}

.wp-block-pullquote.alignwide blockquote {
  text-align: center;
}

/* Code Block
---------------------------------------------------------------------------- */
.wp-block-code {
  padding: var(--margin-m);
  background-color: var(--color-shade-shade-90);
  border: 1px solid var(--color-shade-shade-80);
  border-radius: 0.5px;
}

/* Category Block
---------------------------------------------------------------------------- */
.site-container .wp-block-categories {
  margin-left: 0;
  padding-left: 0;
}

.site-container .wp-block-categories li {
  list-style-type: none;
}

.site-container .wp-block-categories.aligncenter {
  text-align: center;
}

.site-container .wp-block-categories.alignfull {
  padding: 0 30px;
}

.site-container .wp-block-categories .children {
  padding-left: 30px;
}

/* Latest Posts Block
---------------------------------------------------------------------------- */
.site-container .wp-block-latest-posts {
  margin-left: 0;
  padding-left: 0;
}

.site-container .wp-block-latest-posts li {
  list-style-type: none;
}

.site-container .wp-block-latest-posts.aligncenter {
  text-align: center;
}

.site-container .wp-block-latest-posts.alignfull {
  padding: 0 30px;
}

/* Atomic Blocks
---------------------------------------------------------------------------- */
.ab-block-container h3,
.ab-block-post-grid .ab-post-grid-items .ab-block-post-grid-title {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.5px;
  margin-bottom: 10px;
  text-transform: uppercase;
}

.ab-block-post-grid .ab-post-grid-items .ab-block-post-grid-title {
  margin-bottom: 5px;
}

.ab-block-post-grid .ab-post-grid-items .ab-block-post-grid-title a {
  color: #000;
}

.ab-block-pricing-table-inside {
  box-shadow: 10px 10px 40px rgba(0, 0, 0, 0.05);
}

/* Other Blocks
---------------------------------------------------------------------------- */
.wp-block-preformatted {
  white-space: pre-wrap;
}

hr.wp-block-separator {
  border-width: 0;
  border-bottom: 1px solid currentColor;
  color: var(--color-tint);
}

.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
  max-width: 3.5%;
}

.wp-block-audio audio {
  display: inline-block;
  width: 100%;
}

.site-container .blocks-gallery-grid {
  padding-left: 0;
}

.wp-block-table.is-style-stripes {
  border-bottom-width: 0;
}

/* Search Block
---------------------------------------------------------------------------- */
.wp-block-search {
  flex-wrap: nowrap;
  padding-top: var(--margin-m);
  padding-bottom: var(--margin-m);
}
.wp-block-search.alignright {
  padding-left: var(--margin-m);
}
.wp-block-search.alignleft {
  padding-right: var(--margin-m);
}
.wp-block-search.aligncenter {
  display: flex;
}
.wp-block-search.alignfull {
  padding: 20px 5%;
}
.wp-block-search.alignwide {
  padding: 20px 0;
}
.wp-block-search .wp-block-search__label {
  display: inline-block;
  height: 0;
  width: 0;
  overflow: hidden;
}
.wp-block-search .wp-block-search__input {
  width: 100%;
  max-width: 100%;
  min-width: 50%;
}
.wp-block-search .wp-block-search__button {
  min-width: unset;
}

/* Media Queries
---------------------------------------------------------------------------- */
@media only screen and (min-width: 48em) {
  /* Alignment
  ---------------------------------------------------------------------------- 
  .full-width-content .entry-content > .alignwide,
  .full-width-content.team-member-archive .alignwide {
    		// margin-left:    calc((-1.536vw * 10) / 2);
     	// margin-right:   calc((-1.536vw * 10) / 2);    
     	max-width:      calc( 100% + (1.536vw * 10));

  	margin-left: 	calc( (-1 * (var(--type-root) * 1vw) * 10) / 2);
       	margin-right: 	calc( (-1 * (var(--type-root) * 1vw) * 10) / 2);
     	width: auto;
  }
  */
  /* ### Gutenberg Front-end styles
  ---------------------------------------------------------------------- */
  .wp-block-pullquote.alignleft {
    max-width: 50%;
    margin-left: calc(-1.28em - (1.2vw));
  }
  .wp-block-pullquote.alignright {
    max-width: 50%;
    margin-right: calc(-1.28em - (1.2vw));
  }
}
/* Gutnberg mono margins and paddings
---------------------------------------------------------------------- */
[class^=block-] .has-top-bottom-margin,
[class*=" block-"] .has-top-bottom-margin {
  margin-top: var(--margin-m);
  margin-bottom: var(--margin-m);
}
[class^=block-].has-top-bottom-margin,
[class*=" block-"].has-top-bottom-margin {
  margin-top: var(--margin-m);
  margin-bottom: var(--margin-m);
}
[class^=block-] .has-top-bottom-padding,
[class*=" block-"] .has-top-bottom-padding {
  padding-top: var(--margin-m);
  padding-bottom: var(--margin-m);
}
[class^=block-] .has-top-bottom-padding-large,
[class*=" block-"] .has-top-bottom-padding-large {
  padding-top: calc(calc(1.28em + (1.2vw)) * 2);
  padding-bottom: calc(calc(1.28em + (1.2vw)) * 2);
}

.alignfull .alignwide,
.alignwide .alignwide {
  width: 100%;
  max-width: calc(75ch + 1.536vw * 10);
  margin: 0 auto;
}

/* ### Block Container
---------------------------------------------------------------------- */
.blockcontainer {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: var(--measure-0);
}
.blockcontainer > * + * {
  margin-top: var(--margin-m);
}

/* ### Hero Video
---------------------------------------------------------------------- */
.hero.hero-video {
  width: 100vw;
  background-color: rgba(0, 11, 18, 0.5);
}
.hero .wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  max-width: 90%;
  margin-top: var(--margin-m);
  margin-bottom: var(--margin-m);
  padding-top: var(--margin-m);
  padding-bottom: var(--margin-m);
}
.hero .wrap p {
  margin-bottom: var(--margin-m);
  width: 90%;
}
.hero .wrap p.has-small-font-size, .hero .wrap p.normal {
  max-width: var(--measure-0);
}
.hero h2.hero-title {
  font-size: clamp(4.8rem, 7vw, 18rem);
  line-height: 1.2;
  text-align: center;
  font-weight: 100;
  color: var(--color-tint);
}

/* ### Images and text block
---------------------------------------------------------------------- */
.section-link {
  display: flex;
  align-items: center;
  font-weight: 600;
  color: #EF008C;
  text-decoration: none;
  margin-top: var(--margin-m);
}
.section-link .icon-stepup-arrow {
  fill: #EF008C;
  margin-left: 1em;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.section-link:hover {
  color: var(--color-tint);
}
.section-link:hover .icon-stepup-arrow {
  fill: var(--color-tint);
  margin-left: 1.5em;
}

.section-content {
  padding-bottom: var(--margin-m);
}
.section-content:last-child {
  padding-bottom: 0;
}
.section-content .section-header {
  font-size: var(--font-size-h2);
  line-height: var(--line-height-s);
}
.section-content .section-text {
  margin-top: var(--margin-m);
}
.section-content .carousel img {
  display: block;
  float: left;
  width: 100%;
  object-fit: cover;
}
.section-content .section-image img {
  display: block;
  object-fit: cover;
  max-width: unset;
  width: 100%;
}

.block-images-text.alignfull .section-content {
  padding-left: 5%;
  padding-right: 5%;
}

/* ### Flexible Grid block
---------------------------------------------------------------------- */
.alignfull .gridcontainer.has-column-gap > section.team-member {
  padding-top: var(--margin-m);
  padding-right: var(--margin-m);
  padding-left: var(--margin-m);
}
.alignfull .gridcontainer.alignfull.has-top-bottom-margin {
  margin-left: var(--margin-m);
  margin-right: var(--margin-m);
}
.alignfull.has-top-bottom-padding .gridcontainer.alignfull {
  padding-left: var(--margin-m);
  padding-right: var(--margin-m);
}

.gridcontainer {
  display: grid;
  gap: var(--margin-m);
  width: 100%;
  max-width: 75ch;
  margin-left: auto;
  margin-right: auto;
}
.gridcontainer.alignfull {
  max-width: 100%;
}
.gridcontainer.coll1 {
  grid-template-columns: 1fr;
  grid-template-rows: auto;
}
.gridcontainer.coll1 .flexgrid-video.crop-video {
  min-height: 50vw;
}
.gridcontainer.coll2 {
  grid-template-columns: 1fr;
  grid-template-rows: auto;
}
.gridcontainer.coll3 {
  grid-template-columns: 1fr;
  grid-template-rows: auto;
}
.gridcontainer.coll4 {
  grid-template-columns: 1fr;
  grid-template-rows: auto;
}
.gridcontainer.has-column-gap > section:last-child {
  padding-bottom: var(--margin-m);
}
.gridcontainer.has-column-gap > section.team-member {
  padding-top: 0;
  padding-right: 0;
  padding-left: 0;
}
.gridcontainer.has-no-column-gap .flexgrid-text {
  padding: var(--margin-m);
}
.gridcontainer section {
  position: relative;
  display: block;
  width: 100%;
}
.gridcontainer .flexgrid-text {
  display: flex;
  flex-direction: column;
}
.gridcontainer .flexgrid-text.vertical-top {
  justify-content: start;
}
.gridcontainer .flexgrid-text.vertical-middle {
  justify-content: center;
}
.gridcontainer .flexgrid-text.vertical-bottom {
  justify-content: end;
}
.gridcontainer .flexgrid-text p {
  max-width: 75ch;
}
.gridcontainer .flexgrid-text img.alignleft,
.gridcontainer .flexgrid-text img.alingright {
  max-width: 100%;
}
.gridcontainer .flexgrid-image figure {
  height: 100%;
}
.gridcontainer .flexgrid-image figure img {
  display: block;
  object-fit: cover;
  max-width: unset;
  width: 100%;
  height: 100%;
}
.gridcontainer .team-member figure {
  position: relative;
  margin-bottom: 10px;
}
.gridcontainer .team-member figure img {
  display: block;
  object-fit: cover;
  max-width: unset;
  width: 100%;
  height: auto;
}
.gridcontainer .team-member figure .onleave {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 0.313em 0.938em;
  color: var(--color-tint);
  background-color: transparent;
  font-size: var(--font-size-xs);
}
.gridcontainer .team-member:last-child .biography {
  margin-bottom: 0;
}
.gridcontainer .team-member .name,
.gridcontainer .team-member .title {
  display: block;
}
.gridcontainer .team-member .name.chair,
.gridcontainer .team-member .title.chair {
  display: inline;
}
.gridcontainer .team-member .name {
  font-weight: 400;
  font-size: var(--font-size-h6);
}
.gridcontainer .team-member .title {
  font-style: italic;
  margin-bottom: 0.625em;
}
.gridcontainer .team-member .biography {
  font-size: var(--font-size-s);
  line-height: var(--line-height-m);
}
.gridcontainer .team-member .onleave,
.gridcontainer .team-member .email,
.gridcontainer .team-member .phone {
  display: flex;
  align-items: center;
}
.gridcontainer .team-member .onleave [class^=icon-], .gridcontainer .team-member .onleave .contact [class*=" icon-"],
.gridcontainer .team-member .email [class^=icon-],
.gridcontainer .team-member .email .contact [class*=" icon-"],
.gridcontainer .team-member .phone [class^=icon-],
.gridcontainer .team-member .phone .contact [class*=" icon-"] {
  width: 22px;
  height: 22px;
  border-radius: 30px;
  padding: 4px;
  margin-right: 0.625em;
}
.gridcontainer .team-member .onleave [class^=icon-], .gridcontainer .team-member .onleave .contact [class*=" icon-"] {
  color: #EF008C;
  fill: #EF008C;
  background-color: var(--color-tint);
}
.gridcontainer .team-member .email [class^=icon-], .gridcontainer .team-member .email .contact [class*=" icon-"],
.gridcontainer .team-member .phone [class^=icon-],
.gridcontainer .team-member .phone .contact [class*=" icon-"] {
  color: var(--color-tint);
  fill: var(--color-tint);
  background-color: #EF008C;
}
.gridcontainer .flexgrid-carousel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: auto;
}
.gridcontainer .flexgrid-carousel img {
  display: block;
  object-fit: cover;
  max-width: unset;
  width: 100%;
  height: 100%;
}
.gridcontainer .flexgrid-video {
  overflow: hidden;
}
.gridcontainer .flexgrid-video.crop-video video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  min-height: 100%;
  width: auto;
  min-width: 100%;
}
.gridcontainer .flexgrid-video video {
  display: block;
  max-width: unset;
  width: 100%;
}
.gridcontainer .flexgrid-embed .wrap-embed {
  position: relative;
  overflow: hidden;
  max-width: 100%;
  height: auto;
}
.gridcontainer .flexgrid-embed .wrap-embed iframe,
.gridcontainer .flexgrid-embed .wrap-embed object,
.gridcontainer .flexgrid-embed .wrap-embed embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.gridcontainer footer {
  display: flex;
  width: 100%;
}
.gridcontainer footer.align-left {
  justify-content: flex-start;
}
.gridcontainer footer.align-right {
  justify-content: flex-end;
}
.gridcontainer footer.align-center {
  justify-content: center;
}

/* ### Team block
---------------------------------------------------------------------- */
.block-team {
  position: relative;
}
.block-team.alignfull.has-top-bottom-margin .gridcontainer__team {
  margin-left: var(--margin-m);
  margin-right: var(--margin-m);
}
.block-team.alignfull.has-top-bottom-padding .gridcontainer__team {
  padding-left: var(--margin-m);
  padding-right: var(--margin-m);
}
.block-team > header {
  margin-bottom: var(--margin-s);
}
@media only screen and (min-width: 80em) {
  .block-team > header {
    padding-left: var(--margin-xxl);
    padding-right: var(--margin-xxl);
  }
}
@media only screen and (min-width: 80em) {
  .block-team.coll2 > header {
    padding-left: 0;
    padding-right: 0;
  }
}

hr.hr-spacer {
  border-top: 1px solid transparent;
}

.gridcontainer__team {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  gap: var(--margin-l);
}
.gridcontainer__team .team-member {
  display: grid;
  grid-template-columns: 1fr 2fr;
  grid-template-rows: min-content auto;
  gap: var(--margin-m);
}
.gridcontainer__team .team-member figure {
  position: relative;
}
.gridcontainer__team .team-member figure img {
  display: block;
  object-fit: cover;
  max-width: unset;
  width: 100%;
  height: auto;
}
.gridcontainer__team .team-member figure .onleave {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 0.313em 0.938em;
  color: var(--color-tint);
  background-color: transparent;
  font-size: var(--font-size-xs);
}
.gridcontainer__team .team-member:last-child .biography {
  margin-bottom: 0;
}
.gridcontainer__team .team-member .name,
.gridcontainer__team .team-member .title {
  display: block;
}
.gridcontainer__team .team-member .name.chair,
.gridcontainer__team .team-member .title.chair {
  display: inline;
}
.gridcontainer__team .team-member .name {
  font-weight: 400;
  font-size: var(--font-size-h6);
}
.gridcontainer__team .team-member .title {
  font-size: var(--font-size-s);
  font-style: italic;
  margin-bottom: 0.625em;
}
.gridcontainer__team .team-member .biography {
  font-size: var(--font-size-s);
  line-height: var(--line-height-m);
}
.gridcontainer__team .team-member .onleave,
.gridcontainer__team .team-member .email,
.gridcontainer__team .team-member .phone {
  display: flex;
  align-items: top;
}
.gridcontainer__team .team-member .onleave [class^=icon-], .gridcontainer__team .team-member .onleave .contact [class*=" icon-"],
.gridcontainer__team .team-member .email [class^=icon-],
.gridcontainer__team .team-member .email .contact [class*=" icon-"],
.gridcontainer__team .team-member .phone [class^=icon-],
.gridcontainer__team .team-member .phone .contact [class*=" icon-"] {
  width: 1em;
  height: 1em;
  margin-right: 0.625em;
}
.gridcontainer__team .team-member .onleave [class^=icon-], .gridcontainer__team .team-member .onleave .contact [class*=" icon-"] {
  display: none;
  color: #EF008C;
  fill: #EF008C;
  background-color: var(--color-tint);
}
.gridcontainer__team .team-member .icon-mail {
  position: relative;
  top: 0.25em;
}
.gridcontainer__team .team-member .email [class^=icon-], .gridcontainer__team .team-member .email .contact [class*=" icon-"],
.gridcontainer__team .team-member .phone [class^=icon-],
.gridcontainer__team .team-member .phone .contact [class*=" icon-"] {
  color: var(--color-tint);
  fill: var(--color-tint);
}

@media only screen and (min-width: 64em) {
  .alignwide .gridcontainer__team.coll3 .team-member {
    grid-template-columns: 1fr;
    gap: var(--margin-s);
  }
}
@media only screen and (min-width: 80em) {
  .alignwide .gridcontainer__team.coll3 {
    padding-left: var(--margin-xxxl);
    padding-right: var(--margin-xxxl);
  }
}

@media only screen and (min-width: 64em) {
  .alignfull .gridcontainer__team.coll3 {
    grid-template-columns: repeat(2, 1fr);
  }
}

.bust-out {
  margin-top: 0 !important;
}

.wrap-portbox {
  position: relative;
  pointer-events: none;
  z-index: 999;
}

.portBox-overlay {
  height: 100%;
  width: 100%;
  background: var(--color-shade-shade-80);
  opacity: 0.75;
  position: fixed;
  top: 0;
  left: 0;
  margin: 0;
  z-index: 1000;
  display: none;
}

.portBox {
  width: 90%;
  max-width: 800px;
  position: absolute;
  display: none;
  background: var(--color-shade);
  z-index: 1001;
  padding-top: 30px;
  padding-left: 30px;
  padding-bottom: 30px;
  text-align: left;
  -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  -box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  min-width: 200px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.portBox h3 {
  text-align: center;
  margin-bottom: var(--margin-s);
}

.close-portBox {
  font-size: 40px;
  line-height: 0.5;
  position: absolute;
  top: -18px !important;
  right: -18px !important;
  color: var(--color-tint);
  text-shadow: none;
  font-weight: bold;
  cursor: pointer;
  border-radius: 50%;
  padding: 10px;
  width: 40px;
  height: 40px;
  background-color: var(--color-secondary);
  overflow: visible;
  text-decoration: none;
}

.close-portBox:hover {
  color: var(--color-tint);
  background-color: var(--color-secondary);
}

.teammember {
  display: flex;
  flex-wrap: wrap;
}
.teammember p, .teammember header {
  width: 100%;
}

.speaker-link {
  display: inline-block;
  align-self: flex-end;
  font-size: var(--font-size-xs);
  margin-top: var(--margin-xxs);
}

/* ### Image hotspots
---------------------------------------------------------------------- */
.section-hotspots img {
  display: block;
}
.section-hotspots.has-small-font-size .wp-block-button__link {
  font-size: var(--font-size-s);
  line-height: var(--line-height-m);
  font-weight: 400;
}
.section-hotspots .wp-block-button__link {
  padding: 0.75em 1.25em;
}
.section-hotspots .wp-block-button__link.has-small-font-size {
  font-size: var(--font-size-s);
  line-height: var(--line-height-m);
}

.tooltip h5 {
  font-size: var(--font-size-m);
  font-weight: normal;
  text-align: center;
}

.tooltip p {
  margin-top: 0.4em;
  color: var(--color-tint);
}

.tooltip::after {
  height: 4px;
  width: 30px;
  content: "";
  display: block;
  position: absolute;
  background-color: transparent !important;
  z-index: 20;
  border-left: 14px solid transparent;
  border-right: 14px solid transparent;
  border-top: 14px solid var(--color-shade-shade-80);
}

.tooltip.top::after {
  margin-left: -18px !important;
}

.tooltip.right::after {
  left: -22px !important;
  margin-top: -6px !important;
  transform: rotate(90deg);
}

.tooltip.bottom::after {
  top: -29px !important;
  margin-left: -16px !important;
  transform: rotate(180deg);
}

.tooltip.left::after {
  right: -22px !important;
  margin-top: -5px !important;
  transform: rotate(-90deg);
}

.hotspot__pointer {
  -webkit-animation: pulsation 1.4s ease-in-out infinite;
  -moz-animation: pulsation 1.4s ease-in-out infinite;
  animation: pulsation 1.4s ease-in-out infinite;
  -webkit-animation-delay: 2s;
  -moz-animation-delay: 2s;
  animation-delay: 2s;
}

@-webkit-keyframes pulsation {
  0% {
    opacity: 0.8;
  }
  50% {
    opacity: 1;
    scale: 1.3;
  }
  100% {
    opacity: 0.8;
  }
}
@-moz-keyframes pulsation {
  0% {
    opacity: 0.8;
  }
  50% {
    opacity: 1;
    scale: 1.3;
  }
  100% {
    opacity: 0.8;
  }
}
@keyframes pulsation {
  0% {
    opacity: 0.8;
  }
  50% {
    opacity: 1;
    scale: 1.3;
  }
  100% {
    opacity: 0.8;
  }
}
/* ### Hero carousel
---------------------------------------------------------------------- */
.block-hero-carousel {
  display: flex;
  flex-direction: column;
  gap: var(--margin-m);
}

.block-hero-carousel .carousel {
  height: calc(70vh - 73px);
  min-height: 40vw;
  width: 100%;
}
.block-hero-carousel .carousel img:focus {
  outline: none;
  box-shadow: none;
}
.block-hero-carousel .carousel:focus {
  outline: none;
  box-shadow: none;
}

.static-banner {
  position: absolute;
  left: var(--margin-m);
  bottom: var(--margin-m);
  z-index: 10;
}

.block-hero-carousel .text-area {
  padding: var(--margin-m);
}

.block-hero-carousel.typed-text-animation {
  background-color: transparent;
  padding: 0 var(--margin-m);
}
.block-hero-carousel.typed-text-animation .typed {
  position: relative;
  background-color: #58CAE7;
  padding: calc(calc(1.28em + (1.2vw)) * 2);
  width: 100%;
  height: calc(70vh - 73px);
  min-height: 40vw;
}
.block-hero-carousel.typed-text-animation .typed p {
  font-family: var(--font-black);
  font-size: clamp(2.21184rem + 1.2vw / 10, 4vw, 7vw);
}
.block-hero-carousel.typed-text-animation .typed p span span {
  color: var(--color-active);
}
.block-hero-carousel.typed-text-animation .typed .section-link {
  position: absolute;
  left: calc(calc(1.28em + (1.2vw)) * 2);
  bottom: calc(calc(1.28em + (1.2vw)) * 2);
  color: var(--color-tint);
}
.block-hero-carousel.typed-text-animation .typed .section-link:hover {
  color: #EF008C;
}
.block-hero-carousel.typed-text-animation .typed .section-link::before {
  position: absolute;
  content: "";
  height: 2px;
  width: 8em;
  background-color: var(--color-tint);
  left: 0;
  bottom: 4em;
}

@media only screen and (max-width: 63.938em) and (orientation: landscape) {
  .block-hero-carousel.typed-text-animation .typed {
    height: 100vh;
  }
  .block-hero-carousel .carousel {
    min-height: 50vw;
  }
}
@media only screen and (min-width: 48em) {
  .block-hero-carousel {
    flex-direction: row;
  }
  .block-hero-carousel .carousel,
  .block-hero-carousel.typed-text-animation .typed {
    min-height: calc(55vh - 98px);
    min-height: calc(var(--vh, 1vh) * 55 - 98px);
    width: 50%;
  }
}
@media only screen and (min-width: 64em) {
  .block-hero-carousel .carousel,
  .block-hero-carousel.typed-text-animation .typed {
    min-height: calc(100vh - calc(1.28em + (1.2vw)) * 5);
    min-height: calc(var(--vh, 1vh) * 100 - calc(1.28em + (1.2vw)) * 5);
  }
}
@media only screen and (min-width: 64em) and (orientation: portrait) {
  .block-hero-carousel .carousel,
  .block-hero-carousel.typed-text-animation .typed {
    min-height: calc(50vh - 104px);
    min-height: calc(var(--vh, 1vh) * 50 - 104px);
  }
}
@media only screen and (min-width: 120em) {
  .block-hero-carousel .carousel,
  .block-hero-carousel.typed-text-animation .typed {
    min-height: calc(100vh - calc(1.28em + (1.2vw)) * 4);
    min-height: calc(var(--vh, 1vh) * 100 - calc(1.28em + (1.2vw)) * 4);
  }
}
/* ### Counter
---------------------------------------------------------------------- */
.counter {
  position: relative;
  text-align: center;
}
.counter__numbers {
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.counter__numbers h2 {
  position: relative;
  font-size: var(--type-hero-responsive);
  line-height: 0.85em;
  font-variant: tabular-nums;
  margin-bottom: 0;
  margin-left: 0.15em;
  margin-right: 0.15em;
  color: var(--color-secondary);
  z-index: 10;
}
.counter__prefix, .counter__suffix {
  position: relative;
  line-height: 1.2;
  margin-bottom: 0;
  z-index: 20;
}
.counter__text {
  position: relative;
  margin-top: 0.4em;
  font-size: var(--font-size-xs);
  font-style: italic;
  z-index: 20;
}

/* ### Hero advanced
---------------------------------------------------------------------- */
.block-hero-advanced {
  position: relative;
  overflow: hidden;
  background-color: rgba(0, 11, 18, 0.5);
}
.block-hero-advanced video,
.block-hero-advanced img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: unset;
  min-height: 100%;
  min-width: 100%;
  z-index: -1;
}
.block-hero-advanced #clockdiv {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: var(--margin-m);
  margin-bottom: var(--margin-m);
}
.block-hero-advanced .counter {
  display: flex;
  flex-direction: column;
  font-size: calc(5.5037657088rem + 1.2vw / 10);
  font-weight: 600;
  font-variant: tabular-nums;
  line-height: 1;
  color: var(--color-tint);
  margin: calc(calc(1.28em + (1.2vw)) / 6);
}
.block-hero-advanced .counter .smalltext {
  font-size: calc(1.0666666667rem + 1.2vw / 10);
  font-weight: 400;
  font-variant: normal;
  text-transform: uppercase;
  margin-top: calc(calc(1.28em + (1.2vw)) / 10);
}

/* ### Animated types block
---------------------------------------------------------------------- */
.typed .has-small-font-size {
  font-size: calc(2.654208rem + 1.2vw / 10);
}
.typed .has-normal-font-size {
  font-size: calc(3.1850496rem + 1.2vw / 10);
}
.typed .has-large-font-size {
  font-size: calc(4.586471424rem + 1.2vw / 10);
  font-size: clamp(3.1850496rem + 1.2vw / 10, 5.5vw, 4.586471424rem + 1.2vw / 10);
}
.typed .has-larger-font-size {
  font-size: calc(5.5037657088rem + 1.2vw / 10);
  font-size: clamp(3.82205952rem + 1.2vw / 10, 5vw, 5.5037657088rem + 1.2vw / 10);
}
.typed .has-bold-font-weight {
  font-weight: 600;
}
.typed p {
  margin-bottom: 0;
  line-height: 1.2;
}

/*Removes cursor that comes with typed.js*/
.typed-cursor {
  display: inline;
  opacity: 0 !important;
  -webkit-animation: blink 0.7s infinite;
  -moz-animation: blink 0.7s infinite;
  animation: blink 0.7s infinite;
}

/*Custom cursor animation*/
@keyframes blink {
  0% {
    opacity: 0.85;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 0.85;
  }
}
@-webkit-keyframes blink {
  0% {
    opacity: 0.85;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 0.85;
  }
}
@-moz-keyframes blink {
  0% {
    opacity: 0.85;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 0.85;
  }
}
/* ### Two Column Grid
---------------------------------------------------------------------- */
.block-two-column-grid .gridcontainer {
  position: relative;
}
.block-two-column-grid .gridcontainer section > * + * {
  margin-top: var(--margin-m);
}
.block-two-column-grid .gridcontainer .flexgrid-text {
  max-width: 75ch;
}
.block-two-column-grid .gridcontainer .flexgrid-video.crop-video {
  height: 100%;
}
.block-two-column-grid .gridcontainer.has-top-line::before {
  position: absolute;
  content: "";
  left: 0;
  top: calc(var(--margin-m) * -1);
  width: 100%;
  height: 2px;
  background-color: #58CAE7;
}
.block-two-column-grid .gridcontainer.has-column-line {
  gap: calc(calc(1.28em + (1.2vw)) * 2);
  gap: var(--margin-xl);
}
.block-two-column-grid .gridcontainer.has-column-line section:first-child {
  position: relative;
}
.block-two-column-grid .gridcontainer.has-column-line section:first-child::after {
  position: absolute;
  content: "";
  left: 0;
  bottom: calc(var(--margin-m) * -1);
  height: 2px;
  width: 100%;
  background-color: #58CAE7;
}
.block-two-column-grid .column-left .flexgrid-text {
  margin-left: auto;
}

@media only screen and (min-width: 48em) {
  .block-two-column-grid .gridcontainer.has-column-line section:first-child::after {
    top: -1em;
    left: unset;
    bottom: unset;
    right: calc(var(--margin-m) * -1);
    width: 2px;
    height: calc(100% + 1em);
  }
}
/* ### Subscriptions Columns
---------------------------------------------------------------------- */
.block-subscriptions {
  margin-bottom: var(--margin-m);
}
.block-subscriptions header h3 {
  text-align: center;
}
.block-subscriptions .subscription-price {
  font-size: var(--font-size-xxl);
  text-align: center;
  padding-bottom: var(--margin-xs);
  margin-bottom: var(--margin-xs);
  border-bottom: 1px solid var(--color-tint);
}
.block-subscriptions section {
  background-color: var(--color-secondary);
  padding: var(--margin-s);
}

/* ### Subscriptions Table
---------------------------------------------------------------------- */
.block-subscriptions-table {
  display: none;
  margin-bottom: var(--margin-m);
}
@media only screen and (min-width: 64em) {
  .block-subscriptions-table {
    display: block;
  }
}
.block-subscriptions-table thead span {
  color: var(--color-active);
}
.block-subscriptions-table thead th {
  vertical-align: bottom;
  padding: var(--margin-xxs);
}
.block-subscriptions-table tbody tr:nth-child(odd) {
  background-color: var(--color-secondary);
}
.block-subscriptions-table tbody td {
  padding: var(--margin-xxs);
}
.block-subscriptions-table tbody .point-mark {
  display: flex;
  border-radius: 2em;
  background-color: var(--color-active);
  height: 2em;
  width: 2em;
  justify-content: center;
  align-items: center;
  font-weight: bold;
}
.block-subscriptions-table .table-notes {
  margin-top: var(--margin-m);
  font-size: var(--font-size-s);
}

/* ### Animated types block
---------------------------------------------------------------------- */
.typed .has-small-font-size {
  font-size: calc(2.654208rem + 1.2vw / 10);
}
.typed .has-normal-font-size {
  font-size: calc(3.1850496rem + 1.2vw / 10);
}
.typed .has-large-font-size {
  font-size: calc(4.586471424rem + 1.2vw / 10);
  font-size: clamp(3.1850496rem + 1.2vw / 10, 5.5vw, 4.586471424rem + 1.2vw / 10);
}
.typed .has-larger-font-size {
  font-size: calc(5.5037657088rem + 1.2vw / 10);
  font-size: clamp(3.82205952rem + 1.2vw / 10, 5vw, 5.5037657088rem + 1.2vw / 10);
}
.typed .has-bold-font-weight {
  font-weight: 600;
}
.typed p {
  margin-bottom: 0;
  line-height: 1.2;
}

/*Removes cursor that comes with typed.js*/
.typed-cursor {
  display: inline;
  opacity: 0;
  -webkit-animation: blink 0.7s infinite;
  -moz-animation: blink 0.7s infinite;
  animation: blink 0.7s infinite;
}

/*Custom cursor animation*/
@keyframes blink {
  0% {
    opacity: 0.85;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 0.85;
  }
}
@-webkit-keyframes blink {
  0% {
    opacity: 0.85;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 0.85;
  }
}
@-moz-keyframes blink {
  0% {
    opacity: 0.85;
  }
  50% {
    opacity: 0;
  }
}
/* ### 5.0.0 Main Hero content block
---------------------------------------------------------------------- */
.full-width-content .entry-content > .block-main-hero-block.alignfull {
  padding-left: 0;
  padding-right: 0;
}

.block-main-hero-block {
  position: relative;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  min-height: 600px;
  overflow: hidden;
}
.block-main-hero-block .wrap__video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.block-main-hero-block .wrap__video::before {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #004A96;
  background: transparent linear-gradient(225deg, #05244B 0%, #004A96 100%) 0% 0% no-repeat padding-box;
  mix-blend-mode: multiply;
  opacity: 0.4;
}
.block-main-hero-block .wrap__video video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: unset;
  min-height: 100%;
  min-width: 100%;
  z-index: -1;
}
.block-main-hero-block .wrap__hero {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: clamp(75px, 6vw, 6vw);
  padding-right: 2.5%;
  z-index: 10;
  height: 100%;
}
@media only screen and (min-width: 64em) {
  .block-main-hero-block .wrap__hero {
    padding-left: unset;
    padding-right: unset;
    margin-left: auto;
    margin-right: auto;
    width: 75%;
    max-width: 160ch;
  }
}
.block-main-hero-block .wrap__hero header {
  position: relative;
}
.block-main-hero-block .wrap__hero .entry-hidden {
  position: relative;
  top: 0;
  opacity: 0;
}
.block-main-hero-block .wrap__hero .typed-title {
  position: absolute;
  top: 0;
  left: 0;
}
.block-main-hero-block .wrap__hero .hero-header {
  font-size: var(--type-text-image-title-responsive);
}
.block-main-hero-block .wrap__hero section p {
  margin-top: var(--margin-m);
  font-size: var(--font-size-l);
  max-width: var(--measure-0);
}
@media only screen and (min-width: 48em) {
  .block-main-hero-block .wrap {
    height: 75vh;
    height: calc(var(--vh, 1vh) * 75);
  }
}
@media only screen and (min-width: 64em) {
  .block-main-hero-block .wrap {
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
  }
}
.block-main-hero-block figure {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.block-main-hero-block figure::before {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #004A96;
  background: transparent linear-gradient(225deg, #05244B 0%, #004A96 100%) 0% 0% no-repeat padding-box;
  mix-blend-mode: multiply;
  opacity: 0.4;
  z-index: 4;
}
.block-main-hero-block figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.block-main-hero-block .targetgrid {
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  min-height: clamp(1200px, 200vw, 130vw);
  max-width: unset;
  z-index: 5;
}

.entry-hidden {
  /*
  display: inline;
  margin: 0;
  font-size: 0;
  line-height: 0;
  height: 0;
  text-indent: -9999em;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  */
  display: inline-block;
  font-family: var(--font-black);
  font-size: clamp(3.1850496rem + 0.12vw, 4vw, 7vw);
  line-height: 1.1;
  margin-bottom: 0;
  max-width: 28ch;
  position: absolute;
  font-weight: 900;
  top: 25px;
  color: var(--color-secondary);
  opacity: 0.1;
}

.typed-title {
  display: inline-block;
  font-family: var(--font-black);
  font-size: clamp(3.1850496rem + 1.2vw / 10, 4vw, 7vw);
  line-height: 1.1;
  margin-bottom: 0;
  max-width: 28ch;
  font-weight: 900;
}
.typed-title span {
  color: var(--color-active);
}

/* ### 4.0.0 Large Text Content Block
---------------------------------------------------------------------- */
.has_dark_background {
  background-color: #05244B;
  background: transparent linear-gradient(225deg, #243C4B 0%, #05244B 100%) 0% 0% no-repeat padding-box;
}

.has_primary_background {
  background-color: #004A96;
  background: transparent linear-gradient(225deg, #05244B 0%, #004A96 100%) 0% 0% no-repeat padding-box;
}

.has_secondary_background {
  background-color: #015BBB;
  background: transparent linear-gradient(225deg, #58CAE7 0%, #015BBB 100%) 0% 0% no-repeat padding-box;
}

.block-large-text-block {
  margin-top: 0;
  padding: var(--margin-xl);
}
.block-large-text-block p {
  font-size: var(--font-size-l);
}
.block-large-text-block .large_body_text p {
  font-size: var(--font-size-xl);
  font-weight: bold;
}

/* ### 5.0.0 Citation content block
---------------------------------------------------------------------- */
.block-citation-content-block {
  margin-top: 0;
  padding: var(--margin-xxl);
}
.block-citation-content-block blockquote {
  padding: 0;
  margin: 0;
  font-size: var(--type-cite-responsive);
  font-family: "Poppins", Helvetica, Arial, sans-serif;
  font-weight: 900;
  font-style: italic;
}

/* # Icon Gallery Bloc
---------------------------------------------------------------------------------------------------- */
.block-icon-gallery-block {
  position: relative;
  margin-top: 0;
  padding-top: var(--margin-xxl);
  padding-bottom: var(--margin-xxl);
}
.block-icon-gallery-block .wrap {
  display: flex;
  flex-flow: column;
  gap: var(--margin-m);
}
@media only screen and (min-width: 48em) {
  .block-icon-gallery-block .wrap {
    flex-flow: row;
  }
}
.block-icon-gallery-block header {
  text-align: center;
  margin-bottom: var(--margin-m);
}
.block-icon-gallery-block section {
  flex-basis: 100%;
}
.block-icon-gallery-block .icon-gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--margin-s);
}
.block-icon-gallery-block .icon-gallery figure {
  flex-basis: 25%;
}
.block-icon-gallery-block figure p {
  margin-top: 0.5em;
  text-align: center;
}

/* ### 7.0.0 CTA, Newsletter block
---------------------------------------------------------------------- */
.full-width-content .entry-content > .block-newsletter-block.alignfull {
  margin-top: 0;
  padding-left: 0;
  padding-right: 0;
}

.block-newsletter-block {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: calc(var(--vh, 1vh) * 50);
  min-height: 500px;
  padding-top: var(--margin-xxl);
  padding-bottom: var(--margin-xxl);
  overflow: hidden;
}
@media only screen and (min-width: 80em) {
  .block-newsletter-block {
    height: calc(var(--vh, 1vh) * 60);
    min-height: 600px;
  }
}
.block-newsletter-block .wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: clamp(75px, 6vw, 6vw);
  padding-right: 2.5%;
  z-index: 10;
}
.block-newsletter-block .wrap > * + * {
  margin-top: 1em;
}
@media only screen and (min-width: 64em) {
  .block-newsletter-block .wrap {
    padding-left: unset;
    padding-right: unset;
    width: 90%;
    max-width: var(--measure-0);
  }
}
.block-newsletter-block .targetgrid {
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  min-height: clamp(1200px, 200vw, 130vw);
  max-width: unset;
  z-index: 5;
}
.block-newsletter-block figure {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.block-newsletter-block figure::before {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #004A96;
  background: transparent linear-gradient(225deg, #05244B 0%, #004A96 100%) 0% 0% no-repeat padding-box;
  mix-blend-mode: multiply;
  opacity: 0.4;
  z-index: 4;
}
.block-newsletter-block figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.block-newsletter-block .gform_wrapper form .gform_fields > * + * {
  margin-top: 0.5em;
}
.block-newsletter-block input[type=submit] {
  color: var(--color-button-info-text);
  background-color: var(--color-button-info-back);
}
.block-newsletter-block input[type=submit]:hover, .block-newsletter-block input[type=submit]:focus {
  color: var(--color-button-info-text-hover);
  background-color: var(--color-button-info-back-hover);
}
.block-newsletter-block input[type=email] {
  max-width: 40ch;
}

/* ### 7.0.0 CTA, Newsletter block
---------------------------------------------------------------------- */
.block-news-slider-block {
  margin-top: 0;
  padding-top: var(--margin-xxl);
  padding-bottom: var(--margin-xxl);
}

/* #### Carousel
------------------------------------------ */
.carousel-selected {
  margin-top: var(--margin-m);
  margin-bottom: var(--margin-m);
}
.carousel-selected .carousel-cell {
  width: 75%;
  margin-left: var(--margin-s);
}
@media only screen and (min-width: 48em) {
  .carousel-selected .carousel-cell {
    width: 40%;
  }
}
.carousel-selected .carousel-cell h3 {
  font-size: var(--font-size-h4);
}
.carousel-selected .carousel-cell .entry-excerpt {
  font-size: var(--font-s);
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  width: 100%;
}
.carousel-selected .carousel-cell .entry-content > * + * {
  margin-top: var(--margin-xs);
}
.carousel-selected .carousel-cell .meta-divider {
  margin-left: 0.2em;
  margin-right: 0.3em;
}
@media only screen and (min-width: 80em) {
  .carousel-selected.cells4 .carousel-cell, .carousel-selected.cells5 .carousel-cell, .carousel-selected.cells6 .carousel-cell {
    width: 28%;
  }
}

.carousel-selected:after {
  content: "flickity";
  display: none;
}

.carousel-selected:focus {
  box-shadow: none;
}

/* ### 10.0.0 CTA, Contact block
---------------------------------------------------------------------- */
.full-width-content .entry-content > .block-contact-block.alignfull {
  margin-top: 0;
  padding-left: 0;
  padding-right: 0;
}

.block-contact-block {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 500px;
  padding-top: var(--margin-xxl);
  padding-bottom: clamp(70px, 9vw, 8.5vw);
  overflow: hidden;
}
@media only screen and (min-width: 80em) {
  .block-contact-block {
    min-height: 600px;
  }
}
.block-contact-block .wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: clamp(75px, 7vw, 7vw);
  padding-right: 2.5%;
  z-index: 10;
}
.block-contact-block .wrap > * + * {
  margin-top: var(--margin-m);
}
@media only screen and (min-width: 64em) {
  .block-contact-block .wrap {
    width: 90%;
    max-width: 80em;
    margin: unset;
    padding-right: unset;
    padding-left: clamp(85px, 7vw, 7vw);
  }
}
@media only screen and (min-width: 120em) {
  .block-contact-block .wrap {
    margin-left: auto;
    margin-right: auto;
  }
}
.block-contact-block .wrap h2 {
  font-size: var(--font-size-xxxxxl);
}
.block-contact-block .wrap p {
  font-size: var(--font-size-l);
}
.block-contact-block .wrap section > * + * {
  margin-top: 1em;
}
.block-contact-block .wrap section.team-member > * + * {
  margin-top: 0;
}
@media only screen and (min-width: 64em) {
  .block-contact-block .wrap.coll2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: min-content auto;
    gap: var(--margin-m);
  }
  .block-contact-block .wrap.coll2 > * + * {
    margin-top: 0;
  }
}
@media only screen and (min-width: 155em) {
  .block-contact-block .wrap.coll2 {
    padding-left: unset;
  }
}
.block-contact-block .targetgrid {
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  min-height: clamp(1200px, 200vw, 130vw);
  max-width: unset;
  z-index: 5;
}
.block-contact-block figure.contact-background {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.block-contact-block figure.contact-background::before {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #004A96;
  background: transparent linear-gradient(225deg, #05244B 0%, #004A96 100%) 0% 0% no-repeat padding-box;
  mix-blend-mode: multiply;
  opacity: 0.4;
  z-index: 4;
}
.block-contact-block figure.contact-background img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.block-contact-block .gform_wrapper form .gform_fields > * + * {
  margin-top: 0.5em;
}
.block-contact-block input[type=submit] {
  color: var(--color-button-info-text);
  background-color: var(--color-button-info-back);
}
.block-contact-block input[type=submit]:hover, .block-contact-block input[type=submit]:focus {
  color: var(--color-button-info-text-hover);
  background-color: var(--color-button-info-back-hover);
}
.block-contact-block input[type=email] {
  max-width: 40ch;
}
.block-contact-block .team-member {
  display: grid;
  grid-template-columns: 1fr 2fr;
  grid-template-rows: min-content auto;
  gap: var(--margin-m);
}
.block-contact-block .team-member div {
  align-self: center;
}
.block-contact-block .team-member figure {
  position: relative;
}
.block-contact-block .team-member figure img {
  display: block;
  object-fit: cover;
  max-width: unset;
  width: 100%;
  height: auto;
}
.block-contact-block .team-member .name,
.block-contact-block .team-member .title {
  display: block;
}
.block-contact-block .team-member .name.chair,
.block-contact-block .team-member .title.chair {
  display: inline;
}
.block-contact-block .team-member .name {
  font-weight: 400;
}
.block-contact-block .team-member .title {
  font-size: var(--font-size-m);
  font-style: italic;
  margin-bottom: 0.625em;
}
.block-contact-block .team-member .email,
.block-contact-block .team-member .phone {
  display: flex;
  align-items: top;
}
.block-contact-block .team-member .email [class^=icon-], .block-contact-block .team-member .email .contact [class*=" icon-"],
.block-contact-block .team-member .phone [class^=icon-],
.block-contact-block .team-member .phone .contact [class*=" icon-"] {
  width: 1em;
  height: 1em;
  margin-right: 0.625em;
}
.block-contact-block .team-member .icon-mail {
  position: relative;
  top: 0.25em;
}
.block-contact-block .team-member .email [class^=icon-], .block-contact-block .team-member .email .contact [class*=" icon-"],
.block-contact-block .team-member .phone [class^=icon-],
.block-contact-block .team-member .phone .contact [class*=" icon-"] {
  color: var(--color-tint);
  fill: var(--color-tint);
}

/* # 12.0.0 Vision, mission and values block
---------------------------------------------------------------------------------------------------- */
.block-vision-mission-values {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: min-content auto;
  gap: var(--margin-m);
}
@media only screen and (min-width: 64em) {
  .block-vision-mission-values.coll2 {
    grid-template-columns: 1fr 1fr;
  }
}
.block-vision-mission-values section {
  padding: 1em;
}
.block-vision-mission-values section > * + * {
  margin-top: var(--margin-s);
}
.block-vision-mission-values section.has_default_grey {
  padding: 0;
}
.block-vision-mission-values section header {
  display: flex;
  align-items: center;
  gap: 0.5em;
}
.block-vision-mission-values section header img {
  opacity: 1;
}
.block-vision-mission-values section article > * + * {
  margin-top: var(--margin-xs);
}

/* ### 4.0.0 Text dropdown content Block
---------------------------------------------------------------------- */
.has_dark_background {
  background-color: #05244B;
  background: transparent linear-gradient(225deg, #243C4B 0%, #05244B 100%) 0% 0% no-repeat padding-box;
}

.has_primary_background {
  background-color: #004A96;
  background: transparent linear-gradient(225deg, #05244B 0%, #004A96 100%) 0% 0% no-repeat padding-box;
}

.has_secondary_background {
  background-color: #015BBB;
  background: transparent linear-gradient(225deg, #58CAE7 0%, #015BBB 100%) 0% 0% no-repeat padding-box;
}

.block-text-dropdown-block {
  margin-top: 0;
  padding: var(--margin-xl);
}
.block-text-dropdown-block > * + * {
  margin-top: var(--margin-m);
  border-top: 1px solid var(--color-tint);
  padding-top: var(--margin-m);
}
.block-text-dropdown-block article {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--measure-0);
}
.block-text-dropdown-block article > * + * {
  margin-top: var(--margin-m);
}
.block-text-dropdown-block header {
  display: flex;
  align-items: center;
  gap: 0.5em;
}
.block-text-dropdown-block header img {
  opacity: 1;
}
.block-text-dropdown-block summary {
  margin-top: var(--margin-xs);
  cursor: pointer;
  color: var(--color-secondary);
}
.block-text-dropdown-block summary:hover {
  text-decoration: underline;
}
.block-text-dropdown-block details[open] summary {
  opacity: 0;
  height: 0;
  overflow: hidden;
}
.block-text-dropdown-block .extra-content > * + * {
  margin-top: var(--margin-m);
}
.block-text-dropdown-block .extra-content .button {
  display: inline-block;
}
.block-text-dropdown-block.has_default_grey {
  margin-top: var(--margin-m);
  padding: 0;
}

/* ### 14.0.0 Long Quote block
---------------------------------------------------------------------- */
.block-long-quote-block {
  margin-top: 0;
  padding: var(--margin-xxl);
}
.block-long-quote-block blockquote {
  padding: 0;
  margin: 0;
  font-size: var(--type-cite-long-responsive);
  font-family: "Poppins", Helvetica, Arial, sans-serif;
  font-weight: 900;
  font-style: italic;
  hyphens: none;
}
.block-long-quote-block cite {
  display: inline-block;
  margin-top: var(--margin-m);
  width: 100%;
  text-align: right;
  font-size: var(--font-size-xxl);
}

/* # Content Form Block
---------------------------------------------------------------------------------------------------- */
.block-contact-form-block {
  padding-top: var(--margin-xxl);
  padding-bottom: var(--margin-xxl);
}
.block-contact-form-block.has_default_grey {
  padding-top: 0;
  padding-bottom: 0;
}
.block-contact-form-block .coll2 {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  gap: var(--margin-m);
}
@media only screen and (min-width: 48em) {
  .block-contact-form-block .coll2 {
    grid-template-columns: 3fr 2fr;
  }
}
.block-contact-form-block legend {
  display: inline-block;
  font-size: var(--font-size-xs);
  line-height: var(--line-height-m);
  font-weight: 600;
}
.block-contact-form-block section > * + * {
  margin-top: var(--margin-s);
}
.block-contact-form-block .team-member {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-columns: auto;
  gap: var(--margin-m);
}
.block-contact-form-block .team-member div {
  display: flex;
  flex-direction: column;
  margin-top: 0;
}
.block-contact-form-block .team-member .name,
.block-contact-form-block .team-member .title {
  display: block;
}
.block-contact-form-block .team-member .name.chair,
.block-contact-form-block .team-member .title.chair {
  display: inline;
}
.block-contact-form-block .team-member .name {
  font-weight: 400;
  font-size: var(--font-size-h6);
}
.block-contact-form-block .team-member .title {
  font-size: var(--font-size-s);
  font-style: italic;
  margin-bottom: 0.625em;
}
.block-contact-form-block .team-member .email,
.block-contact-form-block .team-member .phone {
  display: flex;
}
.block-contact-form-block .team-member .email [class^=icon-], .block-contact-form-block .team-member .email .contact [class*=" icon-"],
.block-contact-form-block .team-member .phone [class^=icon-],
.block-contact-form-block .team-member .phone .contact [class*=" icon-"] {
  width: 1em;
  height: 1em;
  margin-right: 0.625em;
}
@media only screen and (min-width: 120em) {
  .block-contact-form-block div.gform_body > div {
    display: flex;
    flex-wrap: wrap;
    column-gap: var(--margin-s);
  }
  .block-contact-form-block .input-fullname,
  .block-contact-form-block .input-location,
  .block-contact-form-block .input-subject,
  .block-contact-form-block .input-message,
  .block-contact-form-block .gfield--type-checkbox {
    flex-grow: 2;
  }
  .block-contact-form-block .input-email,
  .block-contact-form-block .input-phone {
    flex-grow: 2;
    flex-shrink: 1;
  }
}

/* # Defaults
---------------------------------------------------------------------------------------------------- */
/* ## Typographical Elements
---------------------------------------------------------------------- */
html {
  display: block;
  font-size: 62.5%; /* 10px browser default */
  background-color: var(--color-body-background);
  height: 100%;
}

body {
  font-family: var(--font-default);
  font-size: var(--font-size-m);
  line-height: var(--line-height-m);
  color: var(--color-body-text);
  background-color: var(--color-body-background);
  margin: 0;
}

a,
button,
input:focus,
input[type=button],
input[type=reset],
input[type=submit],
textarea:focus,
.button,
.gallery img {
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

*:focus {
  outline: none;
  border: none;
  box-shadow: 0 0 10px 1px rgba(239, 64, 92, 0.25), 0 0 0 0px rgba(239, 64, 92, 0.1);
}

a.mail-link,
a:not([class]) {
  color: var(--color-body-link);
  font-weight: 400;
  text-decoration: none;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
a.mail-link:hover, a.mail-link:focus,
a:not([class]):hover,
a:not([class]):focus {
  color: var(--color-body-link-hover);
  text-decoration: underline;
}

p {
  margin-top: 0;
  margin-bottom: 0;
}
p:last-child {
  margin-bottom: 0;
}

mark {
  background: var(--color-body-mark-background);
  color: var(--color-body-mark-text);
  padding: 0 2px;
}

ol,
ul {
  margin: 0;
  padding: 0;
}

li {
  margin-bottom: 5px;
}

ol {
  list-style: none;
  counter-reset: li;
}

ol li {
  counter-increment: li;
}

ol li::before {
  font-family: var(--font-headline);
  content: "." counter(li);
  display: inline-block;
  width: 1em;
  margin-left: -1.5em;
  margin-right: 0.5em;
  text-align: right;
  direction: rtl;
}

hr {
  border: 0;
  border-collapse: collapse;
  border-top: 1px solid var(--color-shade);
  clear: both;
  margin: 20px 0;
}

b,
strong {
  font-family: var(--font-bold);
  font-weight: 800;
}

blockquote,
em,
i {
  font-style: italic;
}

blockquote {
  font-size: var(--font-size-l);
  line-height: var(--line-height-m);
  margin: 0;
  padding-left: calc(1.2 * 1.2em);
  padding-right: calc(1.2 * 1.2em);
  margin-bottom: calc(1.2 * 1.2em);
}

cite {
  font-size: var(--font-size-m);
  line-height: var(--line-height-m);
  font-weight: 400;
  font-style: normal;
}

.large_font_size {
  font-size: var(--font-size-l);
  line-height: var(--line-height-m);
}

figure {
  position: relative;
}
figure img {
  display: block;
}

figcaption {
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 0.5em 1em;
  font-size: var(--font-size-s);
  line-height: var(--line-height-m);
  color: var(--color-tint);
  background-color: rgba(0, 11, 18, 0.5);
}

/* ## Headings
---------------------------------------------------------------------- */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-headline);
  margin: 0;
  hyphens: none;
}
h1 a, h1 a:not([class]),
h2 a,
h2 a:not([class]),
h3 a,
h3 a:not([class]),
h4 a,
h4 a:not([class]),
h5 a,
h5 a:not([class]),
h6 a,
h6 a:not([class]) {
  color: var(--color-tint);
}
h1 a:hover, h1 a:not([class]):hover,
h2 a:hover,
h2 a:not([class]):hover,
h3 a:hover,
h3 a:not([class]):hover,
h4 a:hover,
h4 a:not([class]):hover,
h5 a:hover,
h5 a:not([class]):hover,
h6 a:hover,
h6 a:not([class]):hover {
  color: var(--color-secondary);
  text-decoration: none;
}

h1 {
  font-size: var(--font-size-h1);
  line-height: var(--line-height-s);
}

h2 {
  font-size: var(--font-size-h2);
  line-height: var(--line-height-s);
}

h3 {
  font-size: var(--font-size-h3);
  line-height: var(--line-height-s);
}

h4 {
  font-size: var(--font-size-h4);
  line-height: var(--line-height-s);
}

h5 {
  font-size: var(--font-size-h5);
  line-height: var(--line-height-s);
}

h6 {
  font-size: var(--font-size-h6);
  line-height: var(--line-height-s);
}

h1 a:not([class]),
h2 a:not([class]),
h3 a:not([class]),
h4 a:not([class]),
h5 a:not([class]),
h6 a:not([class]) {
  text-decoration: none;
  font-weight: 800;
}

/* ## Objects
---------------------------------------------------------------------- */
embed,
iframe,
img,
object,
video,
.wp-caption {
  max-width: 100%;
}

img {
  height: auto;
  opacity: 0.75;
}

.featured-content img,
.gallery img {
  width: auto;
}

/* ## Forms
---------------------------------------------------------------------- */
fieldset {
  border: none;
  margin: 0;
  padding: 0;
}

legend {
  display: none;
}

label {
  font-size: var(--font-size-xs);
  line-height: var(--line-height-m);
  font-weight: 600;
}

input,
textarea,
select,
select[multiple] {
  border: none;
  color: var(--color-tint);
  background-color: var(--color-shade-tint-20);
  border-radius: var(--corner-radius);
  padding: 0.5em 1em;
  width: 100%;
  max-width: var(--messure-0);
}
input:hover,
textarea:hover,
select:hover,
select[multiple]:hover {
  border-color: #EF008C;
}

.gform_confirmation_message {
  border: none;
  color: var(--color-tint);
  background-color: var(--color-shade-tint-20);
  border-radius: var(--corner-radius);
  padding: 1em 1em;
  width: 100%;
  max-width: var(--messure-0);
}

select[multiple] {
  height: auto;
}
select[multiple] option:checked {
  background-color: var(--color-active-tint-80);
}

input[type=checkbox],
input[type=image],
input[type=radio] {
  width: auto;
}

/* Radio start */
[type=radio]:checked,
[type=radio]:not(:checked) {
  position: absolute;
  left: -9999px;
}

[type=radio]:checked + label,
[type=radio]:not(:checked) + label {
  position: relative;
  padding-left: 28px;
  cursor: pointer;
  line-height: 20px;
  display: inline-block;
}

[type=radio]:checked + label:before,
[type=radio]:not(:checked) + label:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 1.3em;
  height: 1.3em;
  border: 2px solid var(--color-tint);
  border-radius: 100%;
  background: transparent;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

[type=radio]:checked + label:after,
[type=radio]:not(:checked) + label:after {
  content: "";
  width: 0.5em;
  height: 0.5em;
  background: var(--color-tint);
  position: absolute;
  top: 0.375em;
  left: 0.375em;
  border-radius: 100%;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

[type=radio]:not(:checked) + label:after {
  opacity: 0;
  -webkit-transform: scale(0);
  transform: scale(0);
}

[type=radio]:checked + label:after {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}

/* radio end */
/* Checkbox start */
[type=checkbox]:checked,
[type=checkbox]:not(:checked) {
  position: absolute;
  left: -9999px;
}

[type=checkbox]:checked + label,
[type=checkbox]:not(:checked) + label {
  position: relative;
  padding-left: 28px;
  cursor: pointer;
  line-height: 20px;
  display: inline-block;
}

[type=checkbox]:checked + label:before,
[type=checkbox]:not(:checked) + label:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 18px;
  height: 18px;
  border: 2px solid var(--color-tint);
  background: transparent;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

[type=checkbox]:checked + label:after,
[type=checkbox]:not(:checked) + label:after {
  content: "";
  width: 8px;
  height: 8px;
  background: var(--color-tint);
  position: absolute;
  top: 5px;
  left: 5px;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

[type=checkbox]:not(:checked) + label:after {
  opacity: 0;
  -webkit-transform: scale(0);
  transform: scale(0);
}

[type=checkbox]:checked + label:after {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}

/* Checkbox end */
::-moz-placeholder,
::-webkit-input-placeholder {
  color: var(--color-shade-tint-90);
}

/*
.button{
	display: block;
	padding: .6em 1.5em;
	text-align: left;
	width: auto;
	min-width: 180px;
	line-height: var(--line-height-s);
	text-decoration: none;
	color: $g_font-button-background-color;
	border-left: 5px solid $g_font-button-background-color;
	box-shadow: inset 0 0 0 $g_font-button-background-color;
	-webkit-transition: all 0.6s ease-in-out;
	-moz-transition:    all 0.6s ease-in-out;
	-ms-transition:     all 0.6s ease-in-out;
	-o-transition:      all 0.6s ease-in-out;
	transition:         all 0.6s ease-in-out;
	&:hover{
		// color: tint($g_font-button-background-color, 100%);
		// box-shadow: inset 280px 0 0 $g_font-button-background-color;
	}
	&.button-primary{
		color: $g_font-button-primary-background-color;
		border-left: 5px solid $g_font-button-primary-background-color;
		box-shadow: inset 0 0 0 $g_font-button-primary-background-color;
		&:hover{
			// color: tint($g_font-button-primary-background-color, 100%);
			box-shadow: inset 280px 0 0 $g_font-button-primary-background-color;
		}
	}
	&.button-info{
		color: $g_font-button-info-background-color;
		border-left: 5px solid $g_font-button-info-background-color;
		box-shadow: inset 0 0 0 $g_font-button-info-background-color;
		&:hover{
			// color: tint($g_font-button-info-background-color, 100%);
			box-shadow: inset 280px 0 0 $g_font-button-info-background-color;
		}
	}
	&.button-alert{
		color: $g_font-button-alert-background-color;
		border-left: 5px solid $g_font-button-alert-background-color;
		box-shadow: inset 0 0 0 $g_font-button-alert-background-color;
		&:hover{
			// color: tint($g_font-button-alert-background-color, 100%);
			box-shadow: inset 280px 0 0 $g_font-button-alert-background-color;
		}
	}
}
*/
.button {
  display: inline-block;
  background-color: var(--color-button-back);
  color: var(--color-button-text);
  font-size: var(--font-size-m);
  font-weight: bold;
  line-height: var(--line-height-m);
  border-radius: var(--corner-radius);
  cursor: pointer;
  padding: 0.4em 1.1em 0.25em;
  min-width: 180px;
  text-transform: none;
  white-space: normal;
  width: auto;
  text-decoration: none;
}
.button:hover {
  background-color: var(--color-button-back-hover);
}
.button.button__primary {
  color: var(--color-button-primary-text);
  background-color: var(--color-button-primary-back);
}
.button.button__primary:hover {
  background-color: var(--color-button-primary-back-hover);
}

.button-active {
  border: 0;
  cursor: pointer;
  font-size: var(--font-size-m);
  line-height: var(--line-height-m);
  color: var(--color-shade);
  text-align: center;
  text-decoration: none;
  background-color: var(--color-tint);
  -webkit-border-radius: 0.444em;
  -moz-border-radius: 0.444em;
  border-radius: 0.444em;
  padding: 0.6em 1.5em;
  width: auto;
  border-left: 0px solid var(--color-tint);
  box-shadow: inset 0 0 0 var(--color-tint);
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.button-active:hover, .button-active:focus {
  color: var(--color-tint);
  background-color: var(--color-tint-shade-20);
}

button,
input[type=button],
input[type=reset],
input[type=submit] {
  border: 0;
  cursor: pointer;
  font-size: var(--font-size-m);
  line-height: var(--line-height-m);
  font-family: var(--font-default);
  line-height: var(--line-height-s);
  font-weight: bold;
  color: var(--color-button-text);
  text-align: center;
  text-decoration: none;
  background-color: var(--color-button-back);
  border-radius: var(--corner-radius);
  padding: 0.4em 1.1em 0.25em;
  width: auto;
}
button:hover, button:focus,
input[type=button]:hover,
input[type=button]:focus,
input[type=reset]:hover,
input[type=reset]:focus,
input[type=submit]:hover,
input[type=submit]:focus {
  color: var(--color-button-text-hover);
  background-color: var(--color-button-back-hover);
}
button.disabled,
input[type=button].disabled,
input[type=reset].disabled,
input[type=submit].disabled {
  color: var(--color-shade-tint-20);
  background-color: var(--color-tint-shade-40);
  cursor: default;
}
button.disabled:hover, button.disabled:focus,
input[type=button].disabled:hover,
input[type=button].disabled:focus,
input[type=reset].disabled:hover,
input[type=reset].disabled:focus,
input[type=submit].disabled:hover,
input[type=submit].disabled:focus {
  color: var(--color-shade-tint-20);
  background-color: var(--color-tint-shade-40);
}
button.button-primary,
input[type=button].button-primary,
input[type=reset].button-primary,
input[type=submit].button-primary {
  color: var(--color-tint);
  background-color: var(--color-shade-shade-40);
}
button.button-primary:hover, button.button-primary:focus,
input[type=button].button-primary:hover,
input[type=button].button-primary:focus,
input[type=reset].button-primary:hover,
input[type=reset].button-primary:focus,
input[type=submit].button-primary:hover,
input[type=submit].button-primary:focus {
  color: var(--color-tint);
  background-color: var(--color-shade-shade-20);
}
button.button-info,
input[type=button].button-info,
input[type=reset].button-info,
input[type=submit].button-info {
  color: var(--color-tint);
  background-color: var(--color-active);
}
button.button-info:hover, button.button-info:focus,
input[type=button].button-info:hover,
input[type=button].button-info:focus,
input[type=reset].button-info:hover,
input[type=reset].button-info:focus,
input[type=submit].button-info:hover,
input[type=submit].button-info:focus {
  color: var(--color-tint);
  background-color: var(--color-active-shade-40);
}
button.button-alert,
input[type=button].button-alert,
input[type=reset].button-alert,
input[type=submit].button-alert {
  color: var(--color-tint);
  background-color: var(--color-error);
}
button.button-alert:hover, button.button-alert:focus,
input[type=button].button-alert:hover,
input[type=button].button-alert:focus,
input[type=reset].button-alert:hover,
input[type=reset].button-alert:focus,
input[type=submit].button-alert:hover,
input[type=submit].button-alert:focus {
  color: var(--color-tint);
  background-color: var(--color-error-shade-40);
}

/* ### Gravity form
--------------------------------------------- */
.wpgdprc-required {
  color: var(--color-error);
  text-decoration: none;
}

.gform_wrapper form > * + * {
  margin-top: var(--margin-m);
}
.gform_wrapper form .gform_fields > * + * {
  margin-top: var(--margin-s);
}

.gform_body div span label {
  display: flow-root;
  font-size: var(--font-size-xs);
  line-height: var(--line-height-m);
  text-transform: none;
  margin-bottom: calc(1.2 * 1.2rem);
}

.gform_legacy_markup_wrapper .gfield_radio li label {
  margin: unset;
  padding-left: 2em;
}

.gform_wrapper ul {
  list-style: none;
  margin: 0;
}
.gform_wrapper ul li {
  margin-bottom: calc(1.2 * 1.2rem);
}

.entry-content .gform_wrapper ul {
  margin: 0;
}

.gform_footer {
  display: flex;
}

.gfield_required {
  position: relative;
  color: var(--color-error);
}
.gfield_required::before {
  position: absolute;
  content: "*";
  top: -0.35em;
  left: 0.5em;
  font-weight: bold;
  font-size: var(--font-size-m);
}
.gfield_required .gfield_required_text {
  font-size: 0;
  opacity: 0;
}

h2.gform_submission_error.hide_summary {
  font-size: var(--font-size-l);
  color: var(--color-tint);
  line-height: 1.4;
}

.gfield_error input[type=text],
.gfield_error input[type=email],
.gfield_error input[type=number] {
  border: 2px solid var(--color-error);
}

.gform_validation_errors,
.validation_message {
  background-color: var(--color-error-shade-20);
  color: var(--color-tint);
  margin-top: 0;
  margin-bottom: 0.7em;
  padding: 1em;
  animation: fadeIn 0.3s ease-in-out both;
}
.gform_validation_errors h2,
.validation_message h2 {
  font-size: var(--font-size-h5);
}
.gform_validation_errors ol,
.validation_message ol {
  margin-bottom: 0 !important;
}

a.gform_validation_error_link {
  color: var(--color-tint);
  text-decoration: none;
}
a.gform_validation_error_link:hover {
  text-decoration: underline;
}

/* ## Tables
---------------------------------------------------------------------- */
table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

td,
th {
  text-align: left;
}

/* ## Screen Reader Text
---------------------------------------------------------------------- */
.screen-reader-text,
.screen-reader-text span,
.screen-reader-shortcut {
  position: absolute !important;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  width: 1px;
  border: 0;
  overflow: hidden;
}

.screen-reader-text:focus,
.screen-reader-shortcut:focus,
.genesis-nav-menu .search input[type=submit]:focus,
.widget_search input[type=submit]:focus {
  clip: auto !important;
  height: auto;
  width: auto;
  display: block;
  font-size: 1em;
  font-weight: bold;
  padding: 15px 23px 14px;
  color: var(--color-shade);
  background: var(--color-tint);
  z-index: 100000; /* Above WP toolbar. */
  text-decoration: none;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
}

.more-link {
  position: relative;
}

/* # Common Classes
---------------------------------------------------------------------------------------------------- */
/* ## Avatar
---------------------------------------------------------------------- */
.avatar {
  float: left;
}

.alignleft .avatar,
.author-box .avatar {
  margin-right: 20px;
}

.alignright .avatar {
  margin-left: 20px;
}

.comment .avatar {
  margin: 0 16px 24px 0;
}

/* ## Genesis
---------------------------------------------------------------------- */
.breadcrumb {
  display: block;
  float: left;
  width: 100%;
  background-color: #fefefe;
  margin-bottom: calc(1.2 * 1.2em);
}
.breadcrumb [class^=icon-] {
  position: relative;
  top: 5px;
}

.breadcrumb .wrap {
  width: 90%;
}

.archive-description {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding-left: var(--margin-m);
  padding-right: var(--margin-m);
  margin-bottom: var(--margin-m);
}

.archive--link--picture {
  display: block;
}

.author-box {
  margin: 0 auto 30px auto;
  width: 90%;
}

.author-box-title {
  font-size: var(--font-size-m);
  line-height: var(--line-height-m);
  margin-bottom: 5px;
}

.archive-description p:last-child,
.author-box p:last-child {
  margin-bottom: 0;
}

/* ## Titles
---------------------------------------------------------------------- */
.archive-title {
  font-family: var(--font-black);
  font-size: clamp(3.1850496rem + 1.2vw / 10, 4vw, 7vw);
  line-height: var(--line-height-s);
  margin-bottom: 0;
}

.entry-title {
  font-family: var(--font-black);
  font-size: clamp(3.1850496rem + 1.2vw / 10, 4vw, 7vw);
  line-height: var(--line-height-s);
  margin-bottom: 0;
}

.entry-title a,
.sidebar .widget-title a {
  color: var(--color-tint);
  text-decoration: none;
}

.entry-title a {
  display: block;
}

.entry-title a:hover,
.entry-title a:focus {
  color: #337cc9;
}

.widget-title {
  font-size: var(--font-size-h4);
  line-height: var(--line-height-s);
}

/* ## WordPress
---------------------------------------------------------------------- */
a.aligncenter img {
  display: block;
  margin: 0 auto;
}

a.alignnone {
  display: inline-block;
}

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

.alignright {
  float: right;
  text-align: right;
  justify-self: end;
}

a.alignleft,
a.alignnone,
a.alignright {
  max-width: 100%;
}

img.centered,
.aligncenter {
  display: block;
  margin: 0 auto;
}

img.alignnone,
.alignnone {
  margin-bottom: 0;
}

a.alignleft,
img.alignleft,
.wp-caption.alignleft {
  margin: 0 calc(calc(1.28em + (1.2vw)) / 2) calc(calc(1.28em + (1.2vw)) / 2) 0;
}

a.alignright,
img.alignright,
.wp-caption.alignright {
  margin: 0 0 calc(calc(1.28em + (1.2vw)) / 2) calc(calc(1.28em + (1.2vw)) / 2);
}

.wp-caption-text {
  margin-top: 5px;
  font-size: var(--font-size-s);
  line-height: var(--line-height-m);
}

.entry-content p.wp-caption-text {
  margin-bottom: 0;
}

.entry-content .wp-audio-shortcode,
.entry-content .wp-playlist,
.entry-content .wp-video {
  margin: 0 0 calc(1.2 * 1.2em);
}

/* # Widgets
---------------------------------------------------------------------------------------------------- */
.widget {
  word-wrap: break-word;
}

.widget ol > li {
  list-style-position: inside;
  list-style-type: decimal;
}

.widget li li {
  border: 0;
  margin: 0;
  padding: 0;
}

.widget_calendar table {
  width: 100%;
}

.widget_calendar td,
.widget_calendar th {
  text-align: center;
}

/* ## Footer Widget
---------------------------------------------------------------------- */
.footer-widgets .wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: var(--margin-l);
}
.footer-widgets .menu {
  display: flex;
  flex-direction: column;
  list-style: none;
  font-size: var(--font-size-m);
}
.footer-widgets .menu li {
  margin-bottom: var(--margin-xs);
}
.footer-widgets .menu li a {
  color: var(--color-tint);
  transition: all 0.2s ease-in-out;
}
.footer-widgets .menu li a:hover {
  color: var(--color-secondary);
  text-decoration: none;
}
.footer-widgets .menu .contact-menu-link {
  margin-top: var(--margin-m);
}
.footer-widgets .footer-logo img {
  display: block;
  margin-left: auto;
  max-width: 260px !important;
}

.footer-widgets {
  position: relative;
  width: 100%;
  padding-top: var(--margin-xl);
  padding-bottom: var(--margin-xl);
  background-color: var(--color-shade-shade-60);
  color: var(--color-tint);
}
.footer-widgets .wrap {
  margin: 0 auto;
  width: 90%;
  max-width: var(--measure-0);
}
.footer-widgets h1, .footer-widgets h2, .footer-widgets h3, .footer-widgets h4, .footer-widgets h5, .footer-widgets h6, .footer-widgets p {
  color: var(--color-tint);
}

/* # Plugins
---------------------------------------------------------------------------------------------------- */
/* WP Data Tables
---------------------------------------------------------------------- */
.google_pie_chart rect {
  fill-opacity: 1;
  stroke: white;
  stroke-width: 15px;
}

.wp-block-wpdatatables-wpdatacharts-gutenberg-block {
  margin-top: 0;
}

/* ## Skip Links
---------------------------------------------------------------------- */
.genesis-skip-link {
  margin: 0;
}

.genesis-skip-link li {
  height: 0;
  width: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}

/*! Flickity v2.2.1
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
  position: relative;
}

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
  width: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* draggable */
.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* ---- flickity-button ---- */
.flickity-button {
  position: absolute;
  background: hsl(324.85, 100%, 46.86%);
  border: none;
  color: #333;
}

.flickity-button:hover {
  background: var(--color-active-shade-20);
  cursor: pointer;
}

.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}

.flickity-button:active {
  opacity: 1;
}

.flickity-button:disabled {
  opacity: 0.1;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}

/* ---- previous/next buttons ---- */
.flickity-prev-next-button {
  top: 33%;
  width: 2.5em;
  min-width: unset;
  height: 2.5em;
  border-radius: 50%;
  /* vertically center */
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous {
  left: 10px;
}

.flickity-prev-next-button.next {
  right: 10px;
}

/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}

.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 28%;
  top: 29%;
  width: 40%;
  height: auto;
  fill: var(--color-tint);
}

/* ---- page dots ---- */
.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.flickity-rtl .flickity-page-dots {
  direction: rtl;
}

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
  opacity: 1;
}

/* # Flickerty mono
---------------------------------------------------------------------------------------------------- */
.carousel-cell {
  width: 100%;
}

.entry-content ol.flickity-page-dots {
  position: absolute;
  padding: 0;
  margin: 0;
  bottom: calc(1.2 * 1.2em);
}
.entry-content ol.flickity-page-dots li::before {
  display: none;
}

.flickity-page-dots .dot.is-selected {
  background: #EF008C;
}

.flickity-page-dots .dot {
  background: #58CAE7;
  opacity: 1;
}

/* # Mono Icon styles
---------------------------------------------------------------------------------------------------- */
[class^=icon-], [class*=" icon-"] {
  display: inline-block;
  color: #fefefe;
  fill: currentColor;
}

.icon-stepup-arrow {
  width: 39px;
  height: 20px;
}

.icon-phone {
  width: 20px;
  height: 20px;
}

.icon-mail {
  width: 20px;
  height: 20px;
}

.icon-warning {
  width: 20px;
  height: 20px;
}

.icon-arrow-left5 {
  width: 20px;
  height: 20px;
}

.icon-arrow-right5 {
  width: 20px;
  height: 20px;
}

/*!
Animate.css - http://daneden.me/animate
Licensed under the MIT license - http://opensource.org/licenses/MIT

Copyright (c) 2014 Daniel Eden
*/
/* line 10, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

/* line 17, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

/* line 22, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}

@-webkit-keyframes bounce {
  0%, 20%, 53%, 80%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40%, 43% {
    -webkit-transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    -webkit-transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}
@keyframes bounce {
  0%, 20%, 53%, 80%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40%, 43% {
    -webkit-transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    -ms-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    -webkit-transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    -ms-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    -ms-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}
/* line 87, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  -ms-transform-origin: center bottom;
  transform-origin: center bottom;
}

@-webkit-keyframes flash {
  0%, 50%, 100% {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
@keyframes flash {
  0%, 50%, 100% {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
/* line 115, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.flash {
  -webkit-animation-name: flash;
  animation-name: flash;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes pulse {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    -ms-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    -ms-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    -ms-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
/* line 159, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse;
}

@-webkit-keyframes rubberBand {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes rubberBand {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    -ms-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    -ms-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    -ms-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    -ms-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    -ms-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    -ms-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    -ms-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
/* line 245, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand;
}

@-webkit-keyframes shake {
  0%, 100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}
@keyframes shake {
  0%, 100% {
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    -ms-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    -ms-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}
/* line 287, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.shake {
  -webkit-animation-name: shake;
  animation-name: shake;
}

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }
  100% {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    -ms-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    -ms-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    -ms-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    -ms-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }
  100% {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    -ms-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
/* line 351, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.swing {
  -webkit-transform-origin: top center;
  -ms-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing;
}

@-webkit-keyframes tada {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes tada {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    -ms-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    -ms-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    -ms-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    -ms-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    -ms-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
/* line 418, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.tada {
  -webkit-animation-name: tada;
  animation-name: tada;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  0% {
    -webkit-transform: none;
    transform: none;
  }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  100% {
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes wobble {
  0% {
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    -ms-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    -ms-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    -ms-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    -ms-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    -ms-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  100% {
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
}
/* line 506, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble;
}

@-webkit-keyframes bounceIn {
  0%, 20%, 40%, 60%, 80%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes bounceIn {
  0%, 20%, 40%, 60%, 80%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    -ms-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    -ms-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    -ms-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    -ms-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    -ms-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    -ms-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
/* line 597, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn;
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
}

@-webkit-keyframes bounceInDown {
  0%, 60%, 75%, 90%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }
  100% {
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes bounceInDown {
  0%, 60%, 75%, 90%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    -ms-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    -ms-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    -ms-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    -ms-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }
  100% {
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
}
/* line 677, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown;
}

@-webkit-keyframes bounceInLeft {
  0%, 60%, 75%, 90%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }
  100% {
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes bounceInLeft {
  0%, 60%, 75%, 90%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    -ms-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    -ms-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    -ms-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    -ms-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }
  100% {
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
}
/* line 755, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft;
}

@-webkit-keyframes bounceInRight {
  0%, 60%, 75%, 90%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }
  100% {
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes bounceInRight {
  0%, 60%, 75%, 90%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    -ms-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    -ms-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    -ms-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    -ms-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }
  100% {
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
}
/* line 833, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight;
}

@-webkit-keyframes bounceInUp {
  0%, 60%, 75%, 90%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInUp {
  0%, 60%, 75%, 90%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    -ms-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    -ms-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    -ms-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    -ms-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
/* line 911, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp;
}

@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    -ms-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    -ms-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    -ms-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
/* line 957, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.bounceOut {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut;
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
}

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    -ms-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    -ms-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    -ms-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
/* line 1005, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown;
}

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    -ms-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    -ms-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
/* line 1040, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft;
}

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    -ms-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    -ms-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
/* line 1075, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight;
}

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    -ms-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    -ms-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    -ms-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
/* line 1121, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* line 1146, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    -ms-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
}
/* line 1181, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}

@-webkit-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    -ms-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
}
/* line 1216, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
}

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    -ms-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
}
/* line 1251, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    -ms-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
}
/* line 1286, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}

@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    -ms-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
}
/* line 1321, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

@-webkit-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    -ms-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
}
/* line 1356, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    -ms-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
}
/* line 1391, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    -ms-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
}
/* line 1426, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/* line 1451, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}

@-webkit-keyframes fadeOutDown {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes fadeOutDown {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    -ms-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
/* line 1481, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
}

@-webkit-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
@keyframes fadeOutDownBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    -ms-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
/* line 1511, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig;
}

@-webkit-keyframes fadeOutLeft {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes fadeOutLeft {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    -ms-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
/* line 1541, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft;
}

@-webkit-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
@keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    -ms-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
/* line 1571, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig;
}

@-webkit-keyframes fadeOutRight {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes fadeOutRight {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    -ms-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
/* line 1601, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight;
}

@-webkit-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
@keyframes fadeOutRightBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    -ms-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
/* line 1631, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig;
}

@-webkit-keyframes fadeOutUp {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes fadeOutUp {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    -ms-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
/* line 1661, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
}

@-webkit-keyframes fadeOutUpBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
@keyframes fadeOutUpBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    -ms-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
/* line 1691, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig;
}

@-webkit-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}
@keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -ms-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -ms-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -ms-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -ms-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  100% {
    -webkit-transform: perspective(400px);
    -ms-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}
/* line 1775, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.animated.flip {
  -webkit-backface-visibility: visible;
  -ms-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip;
}

@-webkit-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -ms-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -ms-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    -ms-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    -ms-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  100% {
    -webkit-transform: perspective(400px);
    -ms-transform: perspective(400px);
    transform: perspective(400px);
  }
}
/* line 1854, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.flipInX {
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX;
}

@-webkit-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -ms-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -ms-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    -ms-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    -ms-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  100% {
    -webkit-transform: perspective(400px);
    -ms-transform: perspective(400px);
    transform: perspective(400px);
  }
}
/* line 1933, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.flipInY {
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY;
}

@-webkit-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
@keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px);
    -ms-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -ms-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -ms-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
/* line 1982, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.flipOutX {
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important;
}

@-webkit-keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
@keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px);
    -ms-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    -ms-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -ms-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
/* line 2033, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.flipOutY {
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY;
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
}

@-webkit-keyframes lightSpeedIn {
  0% {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes lightSpeedIn {
  0% {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    -ms-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(20deg);
    -ms-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(-5deg);
    -ms-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    opacity: 1;
  }
}
/* line 2099, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}

@-webkit-keyframes lightSpeedOut {
  0% {
    opacity: 1;
  }
  100% {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
@keyframes lightSpeedOut {
  0% {
    opacity: 1;
  }
  100% {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    -ms-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
/* line 2131, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}

@-webkit-keyframes rotateIn {
  0% {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateIn {
  0% {
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    -ms-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    opacity: 1;
  }
}
/* line 2178, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn;
}

@-webkit-keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    -ms-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    opacity: 1;
  }
}
/* line 2223, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft;
}

@-webkit-keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    -ms-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    opacity: 1;
  }
}
/* line 2268, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight;
}

@-webkit-keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    -ms-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    opacity: 1;
  }
}
/* line 2313, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft;
}

@-webkit-keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    -ms-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    opacity: 1;
  }
}
/* line 2358, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight;
}

@-webkit-keyframes rotateOut {
  0% {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
@keyframes rotateOut {
  0% {
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    -ms-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
/* line 2398, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut;
}

@-webkit-keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0, 0, 1, 45deg);
    transform: rotate(0, 0, 1, 45deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0, 0, 1, 45deg);
    -ms-transform: rotate(0, 0, 1, 45deg);
    transform: rotate(0, 0, 1, 45deg);
    opacity: 0;
  }
}
/* line 2438, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft;
}

@-webkit-keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    -ms-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
/* line 2478, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight;
}

@-webkit-keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    -ms-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
/* line 2518, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft;
}

@-webkit-keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    -ms-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
/* line 2558, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight;
}

@-webkit-keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  100% {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
@keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    -ms-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    -ms-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    -ms-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    -ms-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    -ms-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  100% {
    -webkit-transform: translate3d(0, 700px, 0);
    -ms-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
/* line 2637, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.hinge {
  -webkit-animation-name: hinge;
  animation-name: hinge;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    -ms-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
}
/* line 2674, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
@keyframes rollOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    -ms-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
/* line 2706, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut;
}

@-webkit-keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
@keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    -ms-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
/* line 2736, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn;
}

@-webkit-keyframes zoomInDown {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInDown {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
/* line 2779, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown;
}

@-webkit-keyframes zoomInLeft {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInLeft {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
/* line 2822, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft;
}

@-webkit-keyframes zoomInRight {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInRight {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
/* line 2865, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight;
}

@-webkit-keyframes zoomInUp {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInUp {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
/* line 2908, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp;
}

@-webkit-keyframes zoomOut {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  100% {
    opacity: 0;
  }
}
@keyframes zoomOut {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    -ms-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  100% {
    opacity: 0;
  }
}
/* line 2946, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut;
}

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    -ms-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
/* line 2994, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown;
}

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}
@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    -ms-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    -ms-transform-origin: left center;
    transform-origin: left center;
  }
}
/* line 3034, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft;
}

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}
@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    -ms-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    -ms-transform-origin: right center;
    transform-origin: right center;
  }
}
/* line 3074, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight;
}

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    -ms-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
/* line 3122, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
.zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp;
}

/* @mixin respond-to
------------------------------------------------------------------- */
/* line 6, /Users/miguelperez/Sites/csstricks/source/stylesheets/pageTransitions.css.scss */
#main .scene_element {
  -webkit-animation-duration: 0.25s;
  animation-duration: 0.25s;
  -webkit-transition-timing-function: ease-in;
  transition-timing-function: ease-in;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

/* line 17, /Users/miguelperez/Sites/csstricks/source/stylesheets/pageTransitions.css.scss */
#main .scene_element--fadein {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

/* line 22, /Users/miguelperez/Sites/csstricks/source/stylesheets/pageTransitions.css.scss */
#main .scene_element--fadeinup {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

/* line 27, /Users/miguelperez/Sites/csstricks/source/stylesheets/pageTransitions.css.scss */
#main .scene_element--fadeinright {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

/* line 32, /Users/miguelperez/Sites/csstricks/source/stylesheets/pageTransitions.css.scss */
#main .scene_element--delayed {
  -webkit-animation-delay: 0.25s;
  animation-delay: 0.25s;
}

/* line 37, /Users/miguelperez/Sites/csstricks/source/stylesheets/pageTransitions.css.scss */
#main .is-exiting .scene_element {
  -webkit-animation-direction: alternate-reverse;
  animation-direction: alternate-reverse;
}

/* line 42, /Users/miguelperez/Sites/csstricks/source/stylesheets/pageTransitions.css.scss */
#main .is-exiting .scene_element--delayed {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}

/* line 47, /Users/miguelperez/Sites/csstricks/source/stylesheets/pageTransitions.css.scss */
#main .is-exiting .scene_element--noexiting {
  -webkit-animation-direction: alternate-reverse;
  animation-direction: alternate-reverse;
}

@media screen and (min-width: 768px) {
  /* line 58, /Users/miguelperez/Sites/csstricks/source/stylesheets/pageTransitions.css.scss */
  #main .scene_element--fadeinright-wide {
    -webkit-animation-name: fadeInRight;
    animation-name: fadeInRight;
  }
}
.is-loading,
.is-loading a {
  cursor: progress;
}

button.button-hire {
  display: block;
  position: relative;
  border: 0;
  cursor: pointer;
  font-family: var(--font-navigation);
  font-size: var(--font-size-xs);
  line-height: var(--line-height-m);
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-shade);
  text-align: center;
  text-decoration: none;
  background-color: var(--color-tint);
  -webkit-border-radius: 0.444em;
  -moz-border-radius: 0.444em;
  border-radius: 0.444em;
  padding: 0.4em 1.3em;
  width: auto;
  min-width: unset;
  border-left: 0px solid var(--color-tint);
  box-shadow: inset 0 0 0 var(--color-tint);
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
button.button-hire:hover, button.button-hire:focus {
  color: var(--color-tint);
  background-color: var(--color-tint-shade-20);
}

.push-button {
  border-left: 2px solid #fefefe;
  margin-left: calc(calc(1.28em + (1.2vw)) / 2);
  padding-left: calc(calc(1.28em + (1.2vw)) / 2);
}

.overlay {
  position: fixed;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  min-height: 100vh;
  top: -150%;
  left: 0;
  background: #fefefe;
  color: var(--color-shade);
  padding: calc(calc(1.28em + (1.2vw)) * 2);
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  -ms-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  z-index: 9999;
}
.overlay .wrap {
  width: 90%;
  max-width: 75ch;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: var(--margin-m);
  max-height: 100%;
  overflow-y: auto;
}
.overlay .wrap section {
  flex-basis: 350px;
  flex-grow: 1;
}
.overlay-open {
  top: 0;
}

.overlay .overlay-close {
  position: absolute;
  top: 10px;
  right: 10px;
  height: 40px;
  width: 40px;
  min-width: unset;
  background-color: #58CAE7;
  border-radius: 20em;
  text-indent: -999em;
  transform: rotate(0deg);
  transition: all ease 400ms;
  opacity: 1;
  margin-top: 0;
  padding: 0;
  z-index: 500;
}
.overlay .overlay-close:before {
  content: "";
  position: absolute;
  display: block;
  top: 17px;
  left: 10px;
  height: 4px;
  width: 20px;
  border-radius: 2em;
  background-color: #EF008C;
  transform: rotate(45deg);
  transition: all ease 400ms;
}
.overlay .overlay-close:before:hover {
  background-color: #fefefe;
}
.overlay .overlay-close:after {
  content: "";
  position: absolute;
  display: block;
  top: 17px;
  left: 10px;
  height: 4px;
  width: 20px;
  border-radius: 2em;
  background-color: #EF008C;
  transform: rotate(-45deg);
  transition: all ease 400ms;
}

/* # Timeline
---------------------------------------------------------------------------------------------------- */
/* Vertical line */
.cd-container::after {
  /* clearfix */
  content: "";
  display: table;
  clear: both;
}

.cd-container {
  position: relative;
  padding: 2em 0 8em;
  margin-top: calc(calc(1.28em + (1.2vw)) / 2) !important;
  margin-bottom: 4em !important;
}

.cd-container::before {
  /* this is the vertical line */
  content: "";
  position: absolute;
  top: calc(-1.28em - 1.25vw);
  left: 16px;
  height: calc(100% + calc(1.28em + (1.2vw)));
  width: 6px;
  border-radius: 4em;
  background: #58CAE7;
}

.align-right.cd-container::before {
  /* this is the vertical line */
  left: unset;
  right: 16px;
}

@media only screen and (min-width: 1170px) {
  .cd-container {
    margin-top: 0;
    margin-bottom: 0;
  }
  .align-alternate.cd-container::before {
    left: 50%;
    margin-left: -1px;
  }
}
/* Block element */
.cd-timeline-block {
  position: relative;
  margin-top: var(--margin-m);
}

.cd-timeline-block:after {
  content: "";
  display: table;
  clear: both;
}

.cd-timeline-block:first-child {
  margin-top: 0;
}

.cd-timeline-block:last-child {
  margin-bottom: 0;
}

/* Circle element */
.cd-timeline-img {
  position: absolute;
  top: 0;
  left: 4px;
  width: 30px;
  height: 30px;
  border-radius: 10em;
}
.cd-timeline-img::after {
  position: absolute;
  content: "";
  height: 6px;
  width: 23px;
  border-radius: 4em;
  background-color: #58CAE7;
  top: 13px;
  left: 20px;
  z-index: -1;
}

.cd-timeline-img img {
  display: block;
  width: 24px;
  height: 24px;
  position: relative;
  left: 50%;
  top: 50%;
  margin-left: -12px;
  margin-top: -12px;
}

.cd-timeline-img.cd-picture {
  background: #58CAE7;
}

.align-right .cd-timeline-img {
  left: unset;
  right: 4px;
}
.align-right .cd-timeline-img::after {
  left: unset;
  right: 20px;
}

@media only screen and (min-width: 1170px) {
  .align-alternate .cd-timeline-img {
    left: 50%;
    margin-left: -13px;
    -webkit-transform: translateZ(0);
    -webkit-backface-visibility: hidden;
  }
  .cssanimations .animate-timeline .cd-timeline-img.is-hidden {
    visibility: hidden;
  }
  .cssanimations .animate-timeline .cd-timeline-img.bounce-in {
    visibility: visible;
    -webkit-animation: cd-bounce-1 0.6s;
    -moz-animation: cd-bounce-1 0.6s;
    animation: cd-bounce-1 0.6s;
  }
}
/* Content */
.timeline-header {
  position: relative;
  width: 47%;
  margin-bottom: calc(calc(1.28em + (1.2vw)) / 2);
}
.timeline-header::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 4px;
  border-radius: 4px;
  background-color: #58CAE7;
  right: 0;
  bottom: calc(var(--margin-m) * -0.5);
}
.timeline-header h3 {
  margin-bottom: 0;
  text-align: right;
}
.timeline-header.align-left {
  width: unset;
  margin-left: 60px;
}
.timeline-header.align-left h3 {
  text-align: left;
}
.timeline-header.align-left::after {
  width: 47%;
  left: 0;
}
.timeline-header.align-right {
  width: unset;
  margin-left: 0;
  margin-right: 60px;
}
.timeline-header.align-right::after {
  width: 47%;
}

.cd-timeline-content {
  position: relative;
  margin-left: 60px;
  padding-top: 3px;
}
.cd-timeline-content.time-content {
  padding-top: 45px;
}

.cd-timeline-content:after {
  content: "";
  display: table;
  clear: both;
}

.cd-timeline-content p, .cd-timeline-content {
  color: #fefefe;
}

.cd-timeline-content .cd-date {
  font-family: var(--font-black);
  font-size: var(--font-size-s);
  line-height: var(--line-height-m);
  letter-spacing: 0.05em;
  color: #fefefe;
}

.cd-timeline-content .cd-read-more, .cd-timeline-content .cd-date {
  display: inline-block;
  position: absolute;
  top: 7px;
}

.cd-timeline-content p {
  font-size: var(--font-size-s);
  line-height: var(--line-height-m);
  max-width: 75ch;
}

.align-right .cd-timeline-content .cd-date {
  right: 0;
}

.align-right .cd-timeline-content {
  margin-left: 0px;
  margin-right: 60px;
  text-align: right;
}

@media only screen and (min-width: 1170px) {
  .align-alternate .cd-timeline-content {
    margin-left: 0;
    width: 47%;
    padding-top: 4px;
  }
  .align-alternate .cd-timeline-content::before {
    top: 24px;
    left: 100%;
    border-color: transparent;
    border-left-color: white;
  }
  .cd-timeline-content .cd-read-more {
    float: left;
  }
  .align-alternate .cd-timeline-content .cd-date {
    position: absolute;
    width: 100%;
    left: 118%;
  }
  .align-alternate .cd-timeline-block:nth-child(odd) .cd-timeline-content {
    text-align: right;
  }
  .align-alternate .cd-timeline-block:nth-child(odd) .cd-timeline-content .cd-date {
    text-align: left;
  }
  .align-alternate .cd-timeline-block:nth-child(even) .cd-timeline-content {
    text-align: left;
    float: right;
    left: 20px;
  }
  .align-alternate .cd-timeline-block:nth-child(even) .cd-timeline-img::after {
    left: -12px;
  }
  .site-inner .gridcontainer .cd-timeline-block:nth-child(even) .cd-timeline-content .button {
    float: left;
  }
  .align-alternate .cd-timeline-block:nth-child(even) .cd-timeline-content::before {
    top: 24px;
    left: auto;
    right: 100%;
    border-color: transparent;
    border-right-color: white;
  }
  .align-alternate .cd-timeline-block:nth-child(even) .cd-timeline-content .cd-read-more {
    float: right;
  }
  .align-alternate .cd-timeline-block:nth-child(even) .cd-timeline-content .cd-date {
    left: auto;
    right: 120%;
    text-align: right;
  }
  .cssanimations .animate-timeline .cd-timeline-content.is-hidden {
    visibility: hidden;
  }
  .cssanimations .animate-timeline .cd-timeline-content.bounce-in {
    visibility: visible;
    -webkit-animation: cd-bounce-2 1s;
    -moz-animation: cd-bounce-2 1s;
    animation: cd-bounce-2 1s;
  }
  .cssanimations .animate-timeline.align-right .cd-timeline-content.bounce-in {
    visibility: visible;
    -webkit-animation: cd-bounce-2-inverse 1s;
    -moz-animation: cd-bounce-2-inverse 1s;
    animation: cd-bounce-2-inverse 1s;
  }
}
@media only screen and (min-width: 1170px) {
  /* inverse bounce effect on even content blocks */
  .cssanimations .animate-timeline.align-alternate .cd-timeline-block:nth-child(even) .cd-timeline-content.bounce-in {
    -webkit-animation: cd-bounce-2-inverse 1s;
    -moz-animation: cd-bounce-2-inverse 1s;
    animation: cd-bounce-2-inverse 1s;
  }
}
@-webkit-keyframes cd-bounce-1 {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale(1.2);
  }
  100% {
    -webkit-transform: scale(1);
  }
}
@-moz-keyframes cd-bounce-1 {
  0% {
    opacity: 0;
    -moz-transform: scale(0.5);
  }
  60% {
    opacity: 1;
    -moz-transform: scale(1.2);
  }
  100% {
    -moz-transform: scale(1);
  }
}
@keyframes cd-bounce-1 {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
    -moz-transform: scale(0.5);
    -ms-transform: scale(0.5);
    -o-transform: scale(0.5);
    transform: scale(0.5);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
    transform: scale(1.2);
  }
  100% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
@-webkit-keyframes cd-bounce-2 {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateX(20px);
  }
  100% {
    -webkit-transform: translateX(0);
  }
}
@-moz-keyframes cd-bounce-2 {
  0% {
    opacity: 0;
    -moz-transform: translateX(-100px);
  }
  60% {
    opacity: 1;
    -moz-transform: translateX(20px);
  }
  100% {
    -moz-transform: translateX(0);
  }
}
@keyframes cd-bounce-2 {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100px);
    -moz-transform: translateX(-100px);
    -ms-transform: translateX(-100px);
    -o-transform: translateX(-100px);
    transform: translateX(-100px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px);
  }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
  }
}
@-webkit-keyframes cd-bounce-2-inverse {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
  }
  100% {
    -webkit-transform: translateX(0);
  }
}
@-moz-keyframes cd-bounce-2-inverse {
  0% {
    opacity: 0;
    -moz-transform: translateX(100px);
  }
  60% {
    opacity: 1;
    -moz-transform: translateX(-20px);
  }
  100% {
    -moz-transform: translateX(0);
  }
}
@keyframes cd-bounce-2-inverse {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100px);
    -moz-transform: translateX(100px);
    -ms-transform: translateX(100px);
    -o-transform: translateX(100px);
    transform: translateX(100px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px);
  }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
  }
}
/* # Site Header
---------------------------------------------------------------------------------------------------- */
.site-header {
  position: fixed;
  margin-top: 0px;
  padding-top: var(--margin-m);
  padding-bottom: var(--margin-m);
  width: 100%;
  -webkit-transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  -ms-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  z-index: 300;
}
.site-header.main-menu-open {
  background-color: rgba(253, 254, 255, 0.95);
}

.site-header > .wrap {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin: 0 auto;
  padding: 0 var(--margin-m);
}

.site-header.dark {
  padding-top: var(--margin-xs);
  padding-bottom: var(--margin-xs);
  -webkit-transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  -ms-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}
.site-header.dark::after {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: var(--color-shade-shade-60);
  opacity: 0.9;
  z-index: -1;
}

/* ## Title Area
---------------------------------------------------------------------- */
.title-area {
  z-index: 100;
}
.header-full-width .title-area {
  float: left;
}

h1.site-title,
p.site-title {
  margin: 0;
  font-size: 0;
  line-height: 0;
  height: 0;
}

.title-area .site-title > a {
  display: block;
  margin-bottom: 0px;
}

.site-description {
  font-size: 0px;
  font-size: 0rem;
  line-height: 0px;
  line-height: 0rem;
  text-indent: -9999px;
}

.site-description,
.site-title {
  margin-bottom: 0;
}

.header-image .site-description,
.header-image .site-title {
  display: block;
}

.site-logo {
  display: block;
}

.header-full-width .title-area,
.site-logo {
  width: 200px;
  height: 72px;
}
@media only screen and (min-width: 80em) {
  .header-full-width .title-area,
  .site-logo {
    width: 200px;
    height: 72px;
  }
}
@media only screen and (min-width: 155em) {
  .header-full-width .title-area,
  .site-logo {
    width: 250px;
    height: 90px;
  }
}

.site-header.dark .title-area,
.site-header.dark .site-logo {
  width: 150px;
  height: 55px;
}
@media only screen and (min-width: 80em) {
  .site-header.dark .title-area,
  .site-header.dark .site-logo {
    width: 150px;
    height: 55;
  }
}
@media only screen and (min-width: 155em) {
  .site-header.dark .title-area,
  .site-header.dark .site-logo {
    width: 150px;
    height: 55;
  }
}

svg#logo {
  fill: var(--color-tint);
}

#symbol {
  fill: var(--color-secondary-tint-40);
}

/* ## Before header
---------------------------------------------------------------------- */
.before-header {
  float: left;
  padding: 10px 5%;
  width: 100%;
  background-color: var(--color-shade);
  -webkit-transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  -ms-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  z-index: 1000;
}
.before-header .wrap {
  margin: 0 auto;
  max-width: 100%;
}
.before-header .widget {
  font-size: var(--font-size-s);
  line-height: var(--line-height-m);
  text-transform: uppercase;
  letter-spacing: 1px;
  text-align: right;
}

/* Site Navigation
---------------------------------------------------------------------------- */
.genesis-nav-menu {
  display: flex;
  flex-direction: row;
  gap: var(--margin-m);
  clear: both;
  line-height: 1;
  width: 100%;
}

.genesis-nav-menu li {
  float: none;
  list-style-type: none;
  margin-bottom: 0;
}

.genesis-nav-menu li li {
  margin-left: 0;
}

.genesis-nav-menu .menu-item,
.genesis-nav-menu .toggle-header-search {
  display: inline-block;
  text-align: left;
}

.genesis-nav-menu .menu-item:focus,
.genesis-nav-menu .menu-item:hover {
  position: relative;
}

.genesis-nav-menu a {
  padding-bottom: 0.5em;
}

.genesis-nav-menu a,
.genesis-nav-menu .toggle-header-search {
  color: var(--color-tint);
  display: block;
  font-family: var(--font-navigation);
  font-size: var(--font-size-m);
  line-height: var(--line-height-m);
  font-weight: normal;
  text-decoration: none;
}

.genesis-nav-menu .button-hire {
  border-left: 2px solid var(--color-tint);
  padding-left: calc(calc(1.28em + (1.2vw)) / 2);
}
.genesis-nav-menu .button-hire a {
  border: 0;
  cursor: pointer;
  color: var(--color-shade);
  text-align: center;
  text-decoration: none;
  background-color: var(--color-tint);
  -webkit-border-radius: 0.444em;
  -moz-border-radius: 0.444em;
  border-radius: 0.444em;
  padding: 0.4em 1.3em;
  width: auto;
  border-left: 0px solid var(--color-tint);
  box-shadow: inset 0 0 0 var(--color-tint);
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.genesis-nav-menu .button-hire a:hover, .genesis-nav-menu .button-hire a:focus {
  color: var(--color-tint);
  background-color: var(--color-tint-shade-20);
}

.genesis-nav-menu a:focus,
.genesis-nav-menu a:hover,
.genesis-nav-menu .current-menu-item > a,
.genesis-nav-menu .toggle-header-search:focus,
.genesis-nav-menu .toggle-header-search:hover {
  color: var(--color-secondary);
  text-decoration: none;
}

.genesis-nav-menu .sub-menu {
  background: transparent;
  left: -9999px;
  opacity: 0;
  position: absolute;
  transition: opacity 0.5s ease-in-out;
  width: 320px;
  z-index: 99;
}

.genesis-nav-menu .sub-menu::before {
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid var(--color-shade-shade-60);
  content: " ";
  height: 0;
  left: 7px;
  position: absolute;
  top: -4px;
  width: 0;
}

.genesis-nav-menu .sub-menu .sub-menu::before {
  display: none;
}

.genesis-nav-menu > .menu-item > .sub-menu {
  padding-top: 5px;
}

.genesis-nav-menu > .menu-item > .sub-menu > .menu-item:first-child {
  border-radius: 3px 3px 0 0;
}

.genesis-nav-menu > .menu-item .sub-menu > .menu-item:first-child,
.genesis-nav-menu > .menu-item > .sub-menu > .menu-item:last-child,
.genesis-nav-menu .sub-menu a {
  background-color: var(--color-shade-shade-60);
}

.genesis-nav-menu > .menu-item .sub-menu > .menu-item:first-child {
  padding-top: 5px;
}

.genesis-nav-menu > .menu-item > .sub-menu > .menu-item:last-child {
  border-radius: 0 0 3px 3px;
}

.genesis-nav-menu > .menu-item .sub-menu > .menu-item:last-child {
  padding-bottom: 5px;
}

.genesis-nav-menu .sub-menu a {
  padding: 1em 1.25em;
  position: relative;
  width: 320px;
}

.genesis-nav-menu .sub-menu .sub-menu {
  margin: -42px 0 0 320px;
}

.genesis-nav-menu .menu-item:hover {
  position: static;
}

.genesis-nav-menu .menu-item:hover > .sub-menu {
  left: auto;
  opacity: 1;
}

/* Header Menu
--------------------------------------------- */
.nav-primary {
  float: right;
  margin-top: 2px;
  margin-left: auto;
  text-align: right;
}

.nav-primary .genesis-nav-menu .sub-menu {
  z-index: 9999;
}

.nav-primary .genesis-nav-menu .sub-menu a {
  color: var(--color-tint);
}

.nav-primary .genesis-nav-menu .sub-menu li:last-child a {
  border-bottom: none;
}

.nav-primary .genesis-nav-menu .sub-menu a:focus,
.nav-primary .genesis-nav-menu .sub-menu a:hover {
  color: var(--color-tint);
}

/* Header Search
--------------------------------------------- */
.header-search-wrap {
  display: none;
}

.js .header-search-wrap {
  height: 100%;
  left: 0;
  padding: 10px 40px;
  position: absolute;
  transform: translate3d(0, -100%, 0);
  transition: none;
  top: 0;
  width: 100%;
  z-index: 1001; /* Show above the menu toggle button */
}

.js .header-search-wrap .search-form,
.js .header-search-wrap input[type=search] {
  height: 100%;
}

.search-visible .header-search-wrap {
  transform: translate3d(0, 0, 0);
}

.header-search-wrap:target {
  clear: both;
  display: block;
  position: relative;
}

.header-search-wrap input[type=search] {
  border: 0;
  padding-left: 0;
  padding-right: 100px;
}

.header-search-wrap input[type=submit]:focus {
  border-radius: 3px;
  margin-top: 1px;
  padding: 20px;
  right: 50px;
}

.toggle-header-search {
  background: transparent;
}

.toggle-header-search.close {
  color: var(--color-tint);
  height: 100%;
  padding: 0;
  position: absolute;
  right: 0;
  top: 0;
  transform: translate3d(-35px, 0, 0);
  transition: transform 0.2s ease-in-out;
  width: 30px;
  z-index: 100;
}

.header-search-wrap:target .toggle-header-search.close {
  transform: none;
}

.toggle-header-search .ionicons {
  font-size: 12px;
  transform: scale(2);
}

.toggle-header-search.close .ionicons {
  position: absolute;
  right: 50%;
  top: calc(50% - 5px);
  transform: scale(3);
}

/* Footer Menu
--------------------------------------------- */
.nav-secondary {
  margin-bottom: 10px;
}

.nav-secondary .genesis-nav-menu {
  font-weight: 700;
  margin-top: 20px;
}

.nav-secondary .genesis-nav-menu li {
  padding-left: 2px;
}

.nav-secondary .genesis-nav-menu a {
  font-size: var(--font-size-s);
  line-height: var(--line-height-m);
  letter-spacing: 1px;
  margin-left: 15px;
  padding: 0;
}

.nav-secondary .genesis-nav-menu li:first-child a {
  margin-left: 0;
}

.nav-secondary .genesis-nav-menu li:first-child::before {
  content: "";
}

.nav-secondary .genesis-nav-menu li::before {
  color: var(--color-tint);
  content: "—";
  float: left;
  font-size: 10px;
}

/* Accessible Menu
--------------------------------------------- */
.menu .menu-item:focus,
.menu .menu-item.sfHover {
  position: static;
}

.menu .menu-item > a:focus + ul.sub-menu,
.menu .menu-item.sfHover > ul.sub-menu {
  left: auto;
  opacity: 1;
}

.genesis-nav-menu .menu-item.sfHover > .sub-menu > .menu-item.sfHover > .sub-menu {
  left: 320px;
  margin-left: 0;
}

.menu-toggle,
.sub-menu-toggle {
  display: none;
  visibility: hidden;
}

/* # Content Area
---------------------------------------------------------------------------------------------------- */
.site-inner img {
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
/* ## Entries
---------------------------------------------------------------------- */
.gridcontainer p:last-child,
.entry-content p:last-child {
  margin-bottom: 0;
}

.gridcontainer ul,
.entry-content ul {
  margin-bottom: calc(1.2 * 1.2em);
  margin-left: calc(1.2 * 1.2em);
}

.gridcontainer ol,
.entry-content ol {
  margin-bottom: calc(1.2 * 1.2em);
  margin-left: calc(1.2 * 1.2em);
}

.gridcontainer ol ol,
.gridcontainer ul ul,
.entry-content ol ol,
.entry-content ul ul {
  margin-bottom: 0;
}

.gridcontainer code,
.entry-content code {
  color: #243C4B;
  font-size: var(--font-size-s);
  line-height: var(--line-height-m);
}

.gridcontainer .row_headline {
  font-size: var(--font-size-entry-title);
  line-height: var(--line-height-s);
}

.gridcontainer.title-element {
  position: fixed;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 30vh;
  height: calc(var(--vh, 1vh) * 30);
  min-height: 220px;
  width: 100%;
  background-color: #58CAE7;
  padding: 30px 0;
  overflow: hidden;
}
.gridcontainer.title-element .wrap {
  position: relative;
  max-width: 90%;
  z-index: 200;
}
.gridcontainer.title-element .wrap .entry-title {
  position: relative;
  color: #fefefe;
  padding: 15px 0 0 20px;
  margin-bottom: 0;
}
.gridcontainer.title-element .wrap .entry-title::before, .gridcontainer.title-element .wrap .entry-title::after {
  position: absolute;
  content: "";
  transform: scale3d(1, 1, 1);
  top: 6px;
  left: 0;
  background-color: #fefefe;
}
.gridcontainer.title-element .wrap .entry-title::before {
  width: 6px;
  height: 12px;
}
.gridcontainer.title-element .wrap .entry-title::after {
  width: 12px;
  height: 6px;
}

/* ## Headlines
---------------------------------------------------------------------- */
.row_headline,
.entry-title,
.featured_widget_preview h2,
.featured_widget_preview h3,
.featured_widget_preview h4 {
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
}

/* ## Entry Meta
---------------------------------------------------------------------- */
.meta-divider {
  padding: 0 0.5em;
}

.entry-meta {
  display: flex;
  flex-wrap: wrap;
}

.entry-author {
  margin-left: 5px;
}

a.entry-author-link {
  color: var(--color-body-link);
  font-weight: 400;
  text-decoration: none;
  -webkit-transition: color 0.2s ease-in-out;
  -moz-transition: color 0.2s ease-in-out;
  -ms-transition: color 0.2s ease-in-out;
  -o-transition: color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out;
}
a.entry-author-link:hover, a.entry-author-link:focus {
  color: var(--color-body-link-hover);
  text-decoration: underline;
}

p.entry-meta {
  font-size: var(--font-size-xs);
  line-height: var(--line-height-m);
  margin-bottom: 0;
}

.entry-header .entry-meta {
  margin-bottom: 24px;
}

.entry-footer .entry-meta {
  border-top: 2px solid #fefefe;
  padding-top: 24px;
}

.entry-categories,
.entry-tags {
  display: inline-block;
}

.entry-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}
.entry-tags a {
  background-color: var(--color-shade-tint-80);
  padding: 0.2em 0.8em;
  border-radius: 3em;
  color: var(--color-shade);
}
.entry-tags a:hover {
  color: var(--color-shade);
  background-color: var(--color-shade-tint-60);
  text-decoration: none;
}

.single-post .entry-content .entry-meta {
  display: block;
  width: 100%;
  padding-top: var(--margin-m);
  padding-bottom: var(--margin-m);
  border-top: 1px solid var(--color-shade-tint-80);
  border-bottom: 1px solid var(--color-shade-tint-80);
}

.entry-comments-link {
  display: flex;
  align-items: center;
}

.entry-comments-link::before {
  content: "\f101";
  margin: 0 6px 0 15px;
  font-family: dashicons;
}

.related-posts .related-posts-wrap {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  gap: var(--margin-s);
  margin-top: var(--margin-m);
}
@media only screen and (min-width: 48em) {
  .related-posts .related-posts-wrap {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.related-posts .related-posts-wrap .posts {
  display: grid;
  grid-template-columns: 1fr 2fr;
  grid-template-rows: auto;
  gap: var(--margin-s);
}
@media only screen and (min-width: 48em) {
  .related-posts .related-posts-wrap .posts {
    grid-template-columns: 1fr;
  }
}
.related-posts .related-posts-wrap .posts img {
  display: block;
}
.related-posts .related-posts-wrap .posts .entry-meta {
  padding-top: unset;
  padding-bottom: unset;
  border-top: unset;
  border-bottom: unset;
}
.related-posts .related-posts-wrap .posts .entry-title {
  font-size: var(--font-size-h4);
}

/* ## Pagination
---------------------------------------------------------------------- */
.pagination {
  clear: both;
  margin: 0;
  margin: 60px 0;
}

.adjacent-entry-pagination {
  margin-bottom: 0;
}

.archive-pagination ul {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.archive-pagination li {
  display: inline;
  margin: 0 5px;
}

.archive-pagination li a {
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  font-size: var(--font-size-s);
  line-height: var(--line-height-m);
  line-height: 1.2;
  color: #fefefe;
  background-color: #005bbb;
  width: 60px;
  height: 60px;
  border-radius: 30px;
  text-decoration: none;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

.archive-pagination li a:hover,
.archive-pagination li a:focus,
.archive-pagination .active a,
.archive-pagination li.pagination-previous a:hover,
.archive-pagination li.pagination-next a:hover,
.archive-pagination li.pagination-previous a:focus,
.archive-pagination li.pagination-next a:focus {
  color: #fefefe;
  background-color: #337cc9;
  text-decoration: none;
}

.archive-pagination li a:hover,
.archive-pagination li.pagination-previous a:hover,
.archive-pagination li.pagination-next a:hover {
  box-shadow: 0px 5px 3px 0px rgba(14, 28, 45, 0.25);
}

.archive-pagination li.pagination-previous a [class^=icon-],
.archive-pagination li.pagination-next a [class^=icon-] {
  color: #fefefe;
}

.archive-pagination li.pagination-previous a .icon-arrow-left7,
.archive-pagination li.pagination-next a .icon-untitled2 {
  width: 16px;
  height: 16px;
  display: inherit;
}

.entry-pagination {
  display: flex;
  align-items: center;
  padding: 0 20px;
  background-color: var(--color-shade-shade-90);
  border-radius: 0.5px;
  border: 1px solid var(--color-shade-shade-80);
}

.post-page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 10px;
  width: 46px;
  height: 46px;
  color: #243C4B;
  text-align: center;
  text-decoration: none;
  border-right: 1px solid var(--color-shade-shade-80);
}
.post-page-numbers.current {
  font-weight: 500;
  color: #EF008C;
}
.post-page-numbers:first-child {
  margin-left: 20px;
}
.post-page-numbers:last-child {
  border-right: none;
}

a.post-page-numbers:hover {
  background-color: #dee2e4;
}

/* ## Comments
---------------------------------------------------------------------- */
.comment-respond,
.entry-comments,
.entry-pings {
  display: flex;
  flex-direction: column;
  margin-bottom: var(--margin-m);
  padding-bottom: var(--margin-m);
  width: 90%;
  max-width: var(--measure-0);
  margin: 0 auto;
}

.logged-in-as {
  font-size: var(--font-size-s);
  line-height: var(--line-height-m);
}

.comment-header {
  font-size: var(--font-size-m);
  line-height: var(--line-height-m);
}

.comment-form {
  float: left;
  width: 100%;
  margin-bottom: 30px;
}

.comment-form-comment textarea {
  width: 100%;
}

.logged-in-as a:last-child {
  float: right;
}

.comment-content {
  clear: both;
  word-wrap: break-word;
}

.comment-list li {
  margin-top: 24px;
}

.comment-list li li {
  margin-right: -32px;
}

.comment-respond input[type=email],
.comment-respond input[type=text],
.comment-respond input[type=url] {
  width: 50%;
}

.comment-respond label {
  display: block;
  margin-right: 12px;
}

.entry-comments .comment-author {
  margin-bottom: 0;
}

.entry-pings .reply {
  display: none;
}

.form-allowed-tags {
  background-color: #fefefe;
  padding: 24px;
}

/* ## Featured image
---------------------------------------------------------------------- */
.featured-section {
  position: relative;
  height: 380px;
  margin-bottom: var(--margin-xl);
  overflow: hidden;
}
@media only screen and (min-width: 64em) {
  .featured-section {
    height: 35vw;
  }
}
.featured-section figure {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.featured-section figure::before {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #004A96;
  background: transparent linear-gradient(225deg, #05244B 0%, #004A96 100%) 0% 0% no-repeat padding-box;
  mix-blend-mode: multiply;
  opacity: 0.4;
  z-index: 4;
}
.featured-section figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.featured-section .wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
  padding-left: clamp(75px, 6vw, 6vw);
  padding-right: 2.5%;
  padding-bottom: clamp(55px, 6vw, 5.5vw);
  z-index: 10;
}
.featured-section .targetgrid {
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  min-height: clamp(1200px, 200vw, 100vw);
  max-width: unset;
  z-index: 5;
}
.featured-section .typed-cursor {
  display: none !important;
}
.featured-section .typed-cursor.typed-cursor--blink {
  display: none;
}
.featured-section .entry-hidden {
  top: unset;
  bottom: clamp(55px, 6vw, 5.5vw);
  opacity: 0;
}

.single-post .entry-hidden {
  position: relative;
  bottom: 0;
  opacity: 0;
}
.single-post .typed-title {
  position: absolute;
}

/*
.featured-image{
	.before-header{
		background-color: transparent;
	}
} 

// .featured-image .site-header.dark {}

.featured-section {
	position: fixed;
	width: 100%;
	margin-top:0px;
    background-attachment: scroll;
    background-color: $color-shade;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
	background-size: cover;
}

.featured-image .site-inner {
    padding-top: 40px;
	margin-top: 100vh;
	margin-top: calc(var(--vh, 1vh) * 100);
}
.featured-section .image-section{
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	height: 100vh;
	height: calc(var(--vh, 1vh) * 100);
	width: 100%;
	.wrap{
		position: relative;
		width: 90%;
		padding: 40px 0;
		z-index: 200;
	}
	.entry-title{
		position: relative;
		color: $color-tint;
		padding: 15px 0 0 20px;
		margin-bottom: 0;
		&::before,
		&::after{
			position: absolute;
			content: '';
			transform: scale3d(1, 1, 1);
			top: 0;
			left: 0;
			background-color: $color-tint;
		}
		&::before{
			width: 6px;
			height: 18px;
		}
		&::after{
			width: 18px;
			height: 6px;
		}
	}
}
.image-section {
	background: linear-gradient(145deg, rgba(0, 57, 93,.75) 0%,rgba(0, 11, 18,0) 100%);
}
*/
/* # Site Footer
---------------------------------------------------------------------------------------------------- */
.site-footer {
  position: relative;
  display: block;
  float: left;
  width: 100%;
  position: relative;
  background-color: var(--color-shade-shade-40);
  font-size: var(--font-size-xs);
  line-height: var(--line-height-m);
  color: #fefefe;
  padding: 15px 0;
  text-align: center;
  z-index: 50;
}

.site-footer p {
  margin-bottom: 0;
}

/* # Max Width Nav
---------------------------------------------------------------------------------------------------- */
@media only screen and (max-width: 63.938em) {
  body.fixed .site-container {
    position: fixed;
    overflow: auto;
    width: 100%;
  }
  body.fixed .nav-primary {
    background-color: var(--color-shade-shade-40);
    height: 100%;
    overflow: scroll;
  }
  .genesis-nav-menu {
    display: block;
  }
  .genesis-responsive-menu .genesis-nav-menu .sub-menu a,
  .genesis-responsive-menu .genesis-nav-menu .sub-menu,
  .js .nav-primary {
    width: 100%;
  }
  .genesis-nav-menu li {
    float: none;
  }
  .genesis-responsive-menu .genesis-nav-menu .sub-menu {
    display: block !important;
  }
  .genesis-responsive-menu .wrap {
    padding: 83px 0;
    width: 90%;
  }
  .genesis-responsive-menu {
    display: none;
    position: relative;
  }
  .site-header > .wrap > .genesis-responsive-menu {
    position: absolute;
    top: -100vh;
    left: 0;
    margin: 0;
    width: 100vw;
    min-height: 100vh;
    z-index: 500;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .site-header > .wrap > .genesis-responsive-menu.open {
    top: 0;
  }
  .menu-toggle,
  .sub-menu-toggle {
    border-width: 0;
    display: block;
    margin: 0 auto;
    overflow: hidden;
    text-align: center;
    visibility: visible;
    width: auto;
  }
  .menu-toggle:focus,
  .menu-toggle:hover,
  .sub-menu-toggle:focus,
  .sub-menu-toggle:hover {
    background: transparent;
    border-width: 0;
    box-shadow: none;
  }
  .js .genesis-nav-menu > .menu-item .sub-menu > .menu-item:first-child,
  .js .genesis-nav-menu > .menu-item > .sub-menu > .menu-item:last-child,
  .js .genesis-nav-menu .sub-menu a {
    background-color: transparent;
  }
  .js #genesis-mobile-nav-primary {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 83px;
    min-width: unset;
    background-color: transparent;
    font-size: var(--font-size-s);
    line-height: var(--line-height-m);
    font-weight: 600;
    color: var(--color-tint);
    text-align: left;
    text-indent: -999em;
    text-shadow: none;
    border-radius: 0px;
    overflow: visible;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    z-index: 600;
  }
  .js #genesis-mobile-nav-primary::before {
    position: absolute;
    display: block;
    content: "";
    background-color: var(--color-tint);
    height: 4px;
    width: 25px;
    border-radius: 2px;
    z-index: 1000;
    top: calc(50% - 5px);
    left: calc(50% - 12.5px);
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
  .js #genesis-mobile-nav-primary::after {
    position: absolute;
    display: block;
    content: "";
    background-color: var(--color-tint);
    height: 4px;
    width: 25px;
    border-radius: 2px;
    z-index: 1000;
    top: calc(50% + 2px);
    left: calc(50% - 12.5px);
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
  #genesis-mobile-nav-primary.activated {
    border-bottom-color: transparent;
    color: var(--color-secondary);
  }
  #genesis-mobile-nav-primary.activated::before {
    background-color: var(--color-secondary);
    top: calc(50% - 3px);
    transform: rotate(-45deg);
  }
  #genesis-mobile-nav-primary.activated::after {
    background-color: var(--color-secondary);
    top: calc(50% - 3px);
    transform: rotate(45deg);
  }
  #genesis-mobile-nav-primary:focus,
  #genesis-mobile-nav-primary:hover {
    color: var(--color-secondary);
  }
  #genesis-mobile-nav-primary:focus::before, #genesis-mobile-nav-primary:focus::after,
  #genesis-mobile-nav-primary:hover::before,
  #genesis-mobile-nav-primary:hover::after {
    background-color: var(--color-secondary);
  }
  .menu-toggle {
    position: relative;
    padding: 0;
    margin: 0;
    z-index: 1000;
  }
  .menu-toggle::before {
    margin-right: 5px;
    text-rendering: auto;
    vertical-align: bottom;
  }
  .sub-menu-toggle {
    display: none;
    background: transparent;
    float: right;
    padding: 10px;
    position: absolute;
    right: 0;
    top: 0px;
    z-index: 100;
  }
  .sub-menu-toggle::before {
    content: "";
    display: inline-block;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 7px solid var(--color-secondary);
    transform: rotate(180deg);
    transition: transform 0.25s ease-in-out;
  }
  .sub-menu-toggle.activated::before {
    transform: rotate(0deg);
  }
  .genesis-responsive-menu .genesis-nav-menu .menu-item {
    display: block;
    float: none;
    position: relative;
    text-align: left;
    padding: 15px 0;
  }
  .genesis-responsive-menu .genesis-nav-menu .menu-item:focus,
  .genesis-responsive-menu .genesis-nav-menu .menu-item:hover {
    position: relative;
  }
  .genesis-responsive-menu .genesis-nav-menu a:focus,
  .genesis-responsive-menu .genesis-nav-menu a:hover,
  .genesis-responsive-menu .genesis-nav-menu .sub-menu .menu-item a:focus,
  .genesis-responsive-menu .genesis-nav-menu .sub-menu .menu-item a:hover,
  .genesis-responsive-menu.nav-primary .genesis-nav-menu .sub-menu .current-menu-item > a {
    color: var(--color-secondary);
  }
  .genesis-responsive-menu .genesis-nav-menu .menu-item a,
  .genesis-responsive-menu .toggle-header-search {
    font-size: var(--font-size-m);
    font-weight: normal;
    border: none;
    margin-bottom: 1px;
    padding: 0px;
    margin: 0;
    width: 100%;
  }
  .genesis-nav-menu > .menu-item .sub-menu > .menu-item:first-child {
    padding-top: 0;
  }
  .genesis-nav-menu > .menu-item .sub-menu > .menu-item:last-child {
    padding-bottom: 5px;
  }
  .genesis-responsive-menu .genesis-nav-menu .sub-menu::after,
  .genesis-responsive-menu .genesis-nav-menu .sub-menu::before,
  .genesis-responsive-menu .genesis-nav-menu > .menu-item-has-children > a::after {
    content: none;
  }
  .genesis-responsive-menu .genesis-nav-menu .menu-item > a:focus ul.sub-menu,
  .genesis-responsive-menu .genesis-nav-menu .menu-item > a:focus ul.sub-menu .sub-menu {
    left: 0;
    margin-left: 0;
  }
  .genesis-responsive-menu .genesis-nav-menu .sub-menu {
    padding-top: 20px;
    margin: 20px 0 0 0;
    clear: both;
    display: none;
    opacity: 1;
    position: static;
    width: 100%;
  }
  .genesis-responsive-menu .genesis-nav-menu .sub-menu li {
    display: flex;
    flex-direction: row;
    justify-content: center;
  }
  .genesis-responsive-menu .genesis-nav-menu .sub-menu li::before {
    content: "";
    background-color: var(--color-tint);
    background-repeat: no-repeat;
    -webkit-mask-image: url("/wp-content/themes/c4if-pro/dist/images/arrow-righ-tint.svg");
    mask-image: url("/wp-content/themes/c4if-pro/dist/images/arrow-right-tint.svg");
    width: 1em;
    height: 1em;
    margin-top: 5px;
    margin-right: 0.6em;
    vertical-align: middle;
    display: inline-block;
  }
  .genesis-responsive-menu .toggle-header-search {
    display: none;
  }
}
/* # Min Width Phone
---------------------------------------------------------------------------------------------------- */
/* # Min Width Tablet
---------------------------------------------------------------------------------------------------- */
@media only screen and (min-width: 48em) {
  /* ### Gutenberg Front-end styles
  ---------------------------------------------------------------------- */
  .wp-block-pullquote.is-style-solid-color.alignright {
    margin-right: 0;
    max-width: 100%;
  }
  /* ### Hero Video
  ---------------------------------------------------------------------- */
  /* ### Images and text block
  ---------------------------------------------------------------------- */
  .section-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
  }
  .section-content .section-media,
  .section-content .section-text {
    width: calc(50% - calc(1.28em + (1.2vw)) / 2);
  }
  .section-content .section-media {
    order: 1;
  }
  .section-content .section-text {
    order: 2;
    margin-top: 0;
  }
  .section-content:nth-child(even) .section-media {
    order: 2;
  }
  .section-content:nth-child(even) .section-text {
    order: 1;
  }
  /* ### Flexible Grid block
  ---------------------------------------------------------------------- */
  .alignfull .has-left-right-margin {
    margin-left: var(--margin-m);
    margin-right: var(--margin-m);
  }
  .gridcontainer {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .gridcontainer.coll1 section {
    width: 100%;
  }
  .gridcontainer.coll2.has-column-gap section {
    width: calc(50% - calc(1.28em + (1.2vw)) / 2);
  }
  .gridcontainer.coll2 section {
    width: 50%;
  }
  .gridcontainer.coll3.has-column-gap section {
    width: calc(33.3333% - 15px);
  }
  .gridcontainer.coll3 section {
    width: 33.3333%;
  }
  .gridcontainer.coll4.has-column-gap section {
    width: calc(25% - 15px);
  }
  .gridcontainer.coll4 section {
    width: 25%;
  }
  .gridcontainer.has-column-gap.has-theme-shade-background-color, .gridcontainer.has-column-gap.has-theme-tint-background-color, .gridcontainer.has-column-gap.has-theme-primary-background-color, .gridcontainer.has-column-gap.has-theme-secondary-background-color, .gridcontainer.has-column-gap.has-theme-active-background-color {
    padding-top: var(--margin-m);
    padding-left: var(--margin-m);
    padding-right: var(--margin-m);
  }
  .gridcontainer.has-column-gap section {
    padding: 0;
    margin-bottom: var(--margin-m);
  }
  .gridcontainer.has-column-gap section:last-child {
    padding-bottom: 0;
  }
  .block-team .gridcontainer__team.coll3.has-column-gap section, .block-team .gridcontainer__team.coll4.has-column-gap section {
    width: calc(50% - calc(1.28em + (1.2vw)) / 2);
  }
  .block-team .gridcontainer__team.coll3 section, .block-team .gridcontainer__team.coll4 section {
    width: 50%;
  }
  .block-team .alignfull .gridcontainer__team.coll3.has-column-gap section,
  .block-team .alignwide .gridcontainer__team.coll3.has-column-gap section {
    width: calc(33.3333% - 15px);
  }
  .block-team .alignfull .gridcontainer__team.coll3 section,
  .block-team .alignwide .gridcontainer__team.coll3 section {
    width: 33.3333%;
  }
  .block-team .alignfull .gridcontainer__team.coll4.has-column-gap section,
  .block-team .alignwide .gridcontainer__team.coll4.has-column-gap section {
    width: calc(25% - 15px);
  }
  .block-team .alignfull .gridcontainer__team.coll4 section,
  .block-team .alignwide .gridcontainer__team.coll4 section {
    width: 25%;
  }
  @supports (display: grid) {
    .gridcontainer {
      display: grid;
      grid-template-rows: auto;
    }
    .gridcontainer.coll1 {
      grid-template-columns: 1fr;
    }
    .gridcontainer.coll2 {
      grid-template-columns: repeat(2, 1fr);
    }
    .gridcontainer.coll2.has-column-gap section {
      width: 100%;
    }
    .gridcontainer.coll2 section {
      width: 100%;
    }
    .gridcontainer.coll2 footer {
      grid-column: span 2;
    }
    .gridcontainer.coll3 {
      grid-template-columns: repeat(2, 1fr);
    }
    .gridcontainer.coll3.has-column-gap section {
      width: 100%;
    }
    .gridcontainer.coll3 section {
      width: 100%;
    }
    .gridcontainer.coll3 footer {
      grid-column: span 3;
    }
    .gridcontainer.coll4 {
      grid-template-columns: repeat(4, 1fr);
    }
    .gridcontainer.coll4.has-column-gap section {
      width: 100%;
    }
    .gridcontainer.coll4 section {
      width: 100%;
    }
    .gridcontainer.coll4 footer {
      grid-column: span 4;
    }
    .gridcontainer.has-column-gap {
      grid-gap: var(--margin-m);
    }
    .gridcontainer.has-column-gap section {
      margin-bottom: 0;
    }
    .gridcontainer.has-column-gap section:last-child {
      padding-bottom: 0;
    }
    .block-team .gridcontainer__team {
      display: grid;
      grid-template-rows: auto;
      grid-gap: var(--margin-m);
    }
    .block-team .gridcontainer__team.coll2, .block-team .gridcontainer__team.coll3, .block-team .gridcontainer__team.coll4 {
      grid-template-columns: repeat(2, 1fr);
    }
    .block-team .gridcontainer__team.coll2.has-column-gap section, .block-team .gridcontainer__team.coll3.has-column-gap section, .block-team .gridcontainer__team.coll4.has-column-gap section {
      width: 100%;
    }
    .block-team .gridcontainer__team.coll2 section, .block-team .gridcontainer__team.coll3 section, .block-team .gridcontainer__team.coll4 section {
      width: 100%;
    }
    .block-team.alignfull .gridcontainer__team {
      display: grid;
      grid-template-rows: auto;
    }
    .block-team.alignfull .gridcontainer__team.has-column-gap section.team-member {
      padding-top: 0;
      padding-right: 0;
      padding-left: 0;
    }
    .block-team.alignfull .gridcontainer__team.coll3 {
      grid-template-columns: repeat(3, 1fr);
    }
    .block-team.alignfull .gridcontainer__team.coll3.has-column-gap section {
      width: 100%;
    }
    .block-team.alignfull .gridcontainer__team.coll3 section {
      width: 100%;
    }
    .block-team.alignfull .gridcontainer__team.coll4 {
      grid-template-columns: repeat(4, 1fr);
    }
    .block-team.alignfull .gridcontainer__team.coll4.has-column-gap section {
      width: 100%;
    }
    .block-team.alignfull .gridcontainer__team.coll4 section {
      width: 100%;
    }
    .block-team.alignwide .gridcontainer__team {
      display: grid;
      grid-template-rows: auto;
    }
    .block-team.alignwide .gridcontainer__team.coll3 {
      grid-template-columns: repeat(2, 1fr);
    }
    .block-team.alignwide .gridcontainer__team.coll3.has-column-gap section {
      width: 100%;
    }
    .block-team.alignwide .gridcontainer__team.coll3 section {
      width: 100%;
    }
    .block-team.alignwide .gridcontainer__team.coll4 {
      grid-template-columns: repeat(2, 1fr);
    }
    .block-team.alignwide .gridcontainer__team.coll4.has-column-gap section {
      width: 100%;
    }
    .block-team.alignwide .gridcontainer__team.coll4 section {
      width: 100%;
    }
  }
  /* ### Two Column Grid
  ---------------------------------------------------------------------- */
  .block-two-column-grid .gridcontainer.coll2-3-1 {
    display: flex;
    justify-content: space-between;
  }
  .block-two-column-grid .gridcontainer.coll2-3-1 section:first-child {
    width: calc(66% - calc(1.28em + (1.2vw)) / 2);
  }
  .block-two-column-grid .gridcontainer.coll2-3-1 section:last-child {
    width: calc(33% - calc(1.28em + (1.2vw)) / 2);
  }
  .block-two-column-grid .gridcontainer.coll2-1-3 {
    display: flex;
    justify-content: space-between;
  }
  .block-two-column-grid .gridcontainer.coll2-1-3 section:first-child {
    width: calc(33% - calc(1.28em + (1.2vw)) / 2);
  }
  .block-two-column-grid .gridcontainer.coll2-1-3 section:last-child {
    width: calc(66% - calc(1.28em + (1.2vw)) / 2);
  }
  @supports (display: grid) {
    .block-two-column-grid .gridcontainer.coll2 .section-header {
      width: auto;
      grid-column: span 2;
    }
    .block-two-column-grid .gridcontainer.coll2-3-1, .block-two-column-grid .gridcontainer.coll2-1-3 {
      display: grid;
      grid-template-rows: auto;
      grid-template-columns: repeat(3, 1fr);
    }
    .block-two-column-grid .gridcontainer.coll2-3-1 .section-header, .block-two-column-grid .gridcontainer.coll2-1-3 .section-header {
      width: auto;
      grid-column: span 3;
    }
    .block-two-column-grid .gridcontainer.coll2-3-1 section:first-child,
    .block-two-column-grid .gridcontainer.coll2-3-1 section, .block-two-column-grid .gridcontainer.coll2-1-3 section:first-child,
    .block-two-column-grid .gridcontainer.coll2-1-3 section {
      width: auto;
    }
    .block-two-column-grid .gridcontainer.coll2-3-1 section:first-child:last-child,
    .block-two-column-grid .gridcontainer.coll2-3-1 section:last-child, .block-two-column-grid .gridcontainer.coll2-1-3 section:first-child:last-child,
    .block-two-column-grid .gridcontainer.coll2-1-3 section:last-child {
      width: auto;
    }
    .block-two-column-grid .gridcontainer.coll2-3-1 section {
      grid-column: span 2;
    }
    .block-two-column-grid .gridcontainer.coll2-3-1 section:last-child {
      grid-column: span 1;
    }
    .block-two-column-grid .gridcontainer.coll2-1-3 section {
      grid-column: span 1;
    }
    .block-two-column-grid .gridcontainer.coll2-1-3 section:last-child {
      grid-column: span 2;
    }
  }
  /* ## Site Inner
  ---------------------------------------------------------------------- */
  /* ## Team Archive Entry
  ---------------------------------------------------------------------- */
  .team-member-archive .content.alignwide {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .team-member-archive .content.alignwide .entry {
    width: calc(50% - calc(1.28em + (1.2vw)) / 2);
    margin-left: 0;
    margin-right: 0;
  }
  @supports (display: grid) {
    .team-member-archive .content.alignwide {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      grid-template-rows: auto;
      grid-gap: var(--margin-m);
      margin-bottom: var(--margin-m);
      padding-bottom: var(--margin-m);
    }
    .team-member-archive .content.alignwide .archive-description {
      grid-column: 1/span 2;
    }
    .team-member-archive .content.alignwide .archive-pagination {
      grid-column: 1/span 2;
    }
    .team-member-archive .content.alignwide .entry {
      width: 100%;
      margin-bottom: 0;
      padding-bottom: 0;
    }
  }
}
/* # Min Width Tablet Big
---------------------------------------------------------------------------------------------------- */
@media only screen and (min-width: 64em) {
  /* ### Gutenberg Front-end styles
  ---------------------------------------------------------------------- */
  /*
  .full-width-content .entry-content > .alignwide {
      margin-left:    -100px;
      margin-right:   -100px;
      max-width: calc(100% + 200px);
      width: auto;
  }
  */
  .wp-block-pullquote.is-style-solid-color.alignleft {
    margin-left: -120px;
    max-width: calc(50% + 60px);
  }
  .wp-block-pullquote.is-style-solid-color.alignright {
    margin-right: -120px;
    max-width: calc(50% + 60px);
  }
  /* ### Flexible Grid block
  ---------------------------------------------------------------------- */
  @supports (display: grid) {
    .block-team.alignwide .gridcontainer__team.coll3 {
      grid-template-columns: repeat(3, 1fr);
    }
    .block-team.alignwide .gridcontainer__team.coll4 {
      grid-template-columns: repeat(3, 1fr);
    }
  }
  .gridcontainer .flexgrid-text img.alignleft,
  .gridcontainer .flexgrid-text img.alingright,
  .gridcontainer .flexgrid-text figure.alignleft,
  .gridcontainer .flexgrid-text figure.alingright {
    max-width: 50%;
  }
  /* ## Team Archive Entry
  ---------------------------------------------------------------------- */
  .team-member-archive .content.alignwide .entry {
    width: calc(33.333% - 20px);
  }
  @supports (display: grid) {
    .team-member-archive .content.alignwide {
      grid-template-columns: repeat(3, 1fr);
    }
    .team-member-archive .content.alignwide .archive-description {
      grid-column: 1/span 3;
    }
    .team-member-archive .content.alignwide .archive-pagination {
      grid-column: 1/span 3;
    }
    .team-member-archive .content.alignwide .entry {
      width: 100%;
      margin-bottom: 0;
      padding-bottom: 0;
    }
  }
}
/* # Min Width Laptop
---------------------------------------------------------------------------------------------------- */
@media only screen and (min-width: 80em) {
  /* ### Gutenberg Front-end styles
  ---------------------------------------------------------------------- */
  .wp-block-pullquote.is-style-solid-color.alignleft {
    margin-left: -160px;
    max-width: calc(50% + 80px);
  }
  .wp-block-pullquote.is-style-solid-color.alignright {
    margin-right: -160px;
    max-width: calc(50% + 80px);
  }
  /* ### Hero Video
  ---------------------------------------------------------------------- */
  .hero .wrap p {
    width: 70%;
  }
  /* ### Flexible Grid block
  ---------------------------------------------------------------------- */
  .gridcontainer.coll2.has-column-gap section {
    width: calc(50% - 20px);
  }
  .gridcontainer.coll3.has-column-gap section {
    width: calc(33.3333% - 20px);
  }
  .gridcontainer.coll4.has-column-gap section {
    width: calc(25% - 20px);
  }
  @supports (display: grid) {
    .gridcontainer.coll2.has-column-gap section, .gridcontainer.coll3.has-column-gap section, .gridcontainer.coll4.has-column-gap section {
      width: 100%;
    }
    .gridcontainer.coll2 section, .gridcontainer.coll3 section, .gridcontainer.coll4 section {
      width: 100%;
    }
    .block-team.alignwide .gridcontainer__team.coll4 {
      grid-template-columns: repeat(4, 1fr);
      padding-left: var(--margin-xxl);
      padding-right: var(--margin-xxl);
    }
    .block-team.alignwide .gridcontainer__team.coll4 .team-member {
      grid-template-columns: 1fr;
    }
  }
  /* ## Team Archive Entry
  ---------------------------------------------------------------------- */
  .team-member-archive .content.alignwide .entry {
    width: calc(33.333% - 30px);
  }
  @supports (display: grid) {
    .team-member-archive .content.alignwide .entry {
      width: 100%;
      margin-bottom: 0;
      padding-bottom: 0;
    }
  }
}
/* # Min Width Desktop
---------------------------------------------------------------------------------------------------- */
@media only screen and (min-width: 100em) {
  /* ### Gutenberg Front-end styles
  ---------------------------------------------------------------------- */
  /* ### Images and text block
  ---------------------------------------------------------------------- */
  .block-images-text.alignfull .section-content {
    padding-left: 10%;
    padding-right: 10%;
  }
  @supports (display: grid) {
    .block-images-text.alignfull .section-content {
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      grid-template-rows: auto;
      grid-gap: var(--margin-m);
    }
    .block-images-text.alignfull .section-content .section-media {
      grid-column: 1/span 6;
      grid-row: 1/span 1;
      width: 100%;
    }
    .block-images-text.alignfull .section-content .section-text {
      position: relative;
      grid-column: 7/span 6;
      grid-row: 1/span 1;
      width: 100%;
    }
    .block-images-text.alignfull .section-content:nth-child(even) .section-media {
      grid-column: 7/span 6;
    }
    .block-images-text.alignfull .section-content:nth-child(even) .section-text {
      grid-column: 1/span 6;
    }
  }
}
/* # Min Width Large
---------------------------------------------------------------------------------------------------- */
@media only screen and (min-width: 120em) {
  /* ### Gutenberg Front-end styles
  ---------------------------------------------------------------------- */
  .wp-block-pullquote.is-style-solid-color.alignleft {
    margin-left: -200px;
    max-width: calc(50% + 100px);
  }
  .wp-block-pullquote.is-style-solid-color.alignright {
    margin-right: -200px;
    max-width: calc(50% + 100px);
  }
  /* ### Images and text block
  ---------------------------------------------------------------------- */
  @supports (display: grid) {
    .block-images-text.alignfull .section-content .section-media {
      grid-column: 1/span 7;
    }
    .block-images-text.alignfull .section-content .section-text {
      grid-column: 8/span 5;
    }
    .block-images-text.alignfull .section-content:nth-child(even) .section-media {
      grid-column: 6/span 7;
    }
    .block-images-text.alignfull .section-content:nth-child(even) .section-text {
      grid-column: 1/span 5;
    }
  }
  /* ### Flexible Grid block
  ---------------------------------------------------------------------- */
  .gridcontainer.coll2.has-column-gap section {
    width: calc(50% - 25px);
  }
  .gridcontainer.coll3.has-column-gap section {
    width: calc(33.3333% - 25px);
  }
  .gridcontainer.coll4.has-column-gap section {
    width: calc(25% - 25px);
  }
  @supports (display: grid) {
    .gridcontainer.coll2.has-column-gap section, .gridcontainer.coll3.has-column-gap section, .gridcontainer.coll4.has-column-gap section {
      width: 100%;
    }
    .gridcontainer.coll2 section, .gridcontainer.coll3 section, .gridcontainer.coll4 section {
      width: 100%;
    }
  }
}
/* # Min Width Huge
---------------------------------------------------------------------------------------------------- */
@media only screen and (min-width: 155em) {
  /* ### Gutenberg Front-end styles
  ---------------------------------------------------------------------- */
}
.site-logo {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
}

.site-logo img {
    width: auto !important;
    height: auto !important;
    max-height: 44px !important;
    max-width: 100% !important;
    opacity: 1 !important;
}