@charset "UTF-8";
/*!
 * OK TO EDIT!
 *
 */
/* Root CSS Variables*/
/*
For generic variables the following prefixes are used.
These have no opinion on how they are used
--ff = font-family
--clr = color
--fs = font-size

Notes on color: generic color variables start with --clr-mycolorvar
The use of the keyword -on is used to mark contrasting text color for a particular color name
example --clr-on-mycolortype
for specific color implementations on certain components
use the ending of -color, -bg, -background or -text-color as appropriate
example --pageheader-bg
This is still a work in progress
*/
:root {
  --clr-base: #222222;
  --ff-base: "Fira Sans", sans-serif;
  --ff-alt-alpha: "Fira Sans", sans-serif;
  --ff-alt-beta: "Fira Sans", sans-serif;
  /* generic neutral colors */
  --clr-ntrl-min: #fff;
  --clr-ntrl-lighter: #f5f5f5;
  --clr-ntrl-light: #e6e6e6;
  --clr-ntrl-medium: #cacaca;
  --clr-ntrl-dark: #8a8a8a;
  --clr-ntrl-darker: #3e3e3e;
  --clr-ntrl-darkest: #222;
  --clr-ntrl-max: #000;
  /* site neutral themes */
  --clr-site-light: #fff;
  --clr-on-light: var(--clr-base);
  --clr-site-medium: #f5f5f5;
  --clr-on-medium: var(--clr-on-light);
  --clr-site-dark: #222;
  --clr-on-dark: #fefefe;
  /*  primary colors */
  --clr-primary: #008996;
  --clr-primary-dark: #00434a;
  --clr-primary-light: #00cfe3;
  --clr-on-primary: #fff;
  /*  secondary colors */
  --clr-secondary: #7d4195;
  --clr-secondary-dark: #502a60;
  --clr-secondary-light: #a466bc;
  --clr-on-secondary: #fff;
  /* jcc colors */
  --clr-sky: #76c4d5;
  --clr-on-sky: #000;
  --clr-pomegranate: #d1132c;
  --clr-on-pomegranate: #fff;
  --clr-forest: #0c5950;
  --clr-on-forest: #fff;
  --clr-sage: #b6cd9c;
  --clr-on-sage: #000;
  --clr-sufganiyot: #d8026a;
  --clr-on-sufganiyot: #fff;
  /* specific item colors and variables */
  --anchor-color: #3366cc;
  --anchor-color-hover: #224b99;
  --anchor-color-visited: #382299;
  --header-color: inherit;
  --btn-color: var(--clr-primary);
  --btn-text-color: var(--clr-on-primary);
  --btn-accent-color: var(--clr-secondary);
  --btn-accent-text-color: var(--clr-ntrl-min);
  --btn-hover-color: rgba(0, 0, 0, 0.4); /* overlay on hover */
  --btn-hover-opacity: 0.4;
  --global-radius: 0;
  --button-radius: 0;
  --eyebrow-color: var(--clr-primary);
  --footer-links-color: inherit;
  --social-icon-color: inherit;
  --slideshow-background: var(--clr-site-dark);
  --pageheader-bg: var(--clr-primary);
  --pageheader-color: var(--clr-on-dark);
  --box-accent-color: var(--clr-primary);
  --category-color: var(--clr-secondary);
  --collapsible-icon-color: var(--clr-primary);
  --archive-bg-color: var(--clr-site-dark);
  --schedule-accent: var(--clr-secondary);
  /* These have defaults, but can be overridden here*/
  /* --card-image-bg: inherit;  */
  /* --lister-cornerbadge-color: inherit; */
  /* --photobox-drawertabs-color: inherit; */
  /* --dropdownmenu-arrow-color: inherit; */
  /* --accordionmenu-arrow-color: var(--clr-primary) ; */
  /* --dropdown-menu-item-color-active: var(--clr-primary) ; */
}

/*! -------------------------------- -------------------------------- */
/*! ---------------------------- Headings --------------------------- */
/*! -------------------------------- -------------------------------- */
body {
  overscroll-behavior: none;
}

h5,
.h5 {
  font-weight: 400;
  font-style: italic;
  font-family: var(--ff-alt-beta);
}

h2 a {
  color: inherit;
}

.hollow-text {
  -webkit-text-stroke: 1px currentColor;
  -webkit-text-fill-color: transparent;
}

.editorContent a:not([class]) {
  font-weight: bold;
}

.logo.demo {
  display: inline-block;
}

/*! -------------------------------- -------------------------------- */
/*! ---------------------------- Sections --------------------------- */
/*! -------------------------------- -------------------------------- */
#contentControl h1.pageTitle {
  display: none;
}

.content {
  background-color: #fefefe;
}

section {
  display: block;
  position: relative;
  padding-bottom: 1rem;
  box-sizing: border-box;
}

.grid-container.slim {
  max-width: 50em;
}

.grid-container.wide {
  max-width: 95em;
}

.grid-container.extra-wide,
.grid-container.hd-wide {
  max-width: 120em;
}

.grid-x.reversed {
  flex-direction: row-reverse;
}

.forceWhite {
  color: white;
}

.themeDark {
  background: var(--clr-site-dark);
  color: var(--clr-on-dark);
}
.themeDark address,
.themeDark p,
.themeDark a:not(.button),
.themeDark h1,
.themeDark h2,
.themeDark h3,
.themeDark h4 {
  color: var(--clr-on-dark);
}

.themePrimary {
  background: var(--clr-primary);
  color: var(--clr-on-primary);
}
.themePrimary address,
.themePrimary p,
.themePrimary a:not(.button),
.themePrimary h1,
.themePrimary h2,
.themePrimary h3,
.themePrimary h4 {
  color: inherit;
}

.pad-y-none {
  padding-top: 0;
  padding-bottom: 0;
}

.pad-top-none {
  padding-top: 0;
}

.pad-bottom-none {
  padding-bottom: 0;
}

.pad-y-small {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.pad-top-small {
  padding-top: 1rem;
}

.pad-bottom-small {
  padding-bottom: 1rem;
}

.pad-y-medium {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.pad-top-medium {
  padding-top: 3rem;
}

.pad-bottom-medium {
  padding-bottom: 3rem;
}

.pad-y-large {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.pad-top-large {
  padding-top: 5rem;
}

.pad-bottom-large {
  padding-bottom: 5rem;
}

.push-to-bottom {
  margin-top: auto;
  justify-self: flex-end;
}

.moduleHeader {
  margin-bottom: 1.5rem;
}

/*! -------------------------------- -------------------------------- */
/*! ------------------- Misc. General Site Styling ------------------ */
/*! -------------------------------- -------------------------------- */
.loader {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: inline-block;
  position: relative;
  border: 3px solid;
  border-color: var(--clr-secondary) var(--clr-secondary) transparent transparent;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
  margin: 2rem auto;
}

.loader::after,
.loader::before {
  content: "";
  box-sizing: border-box;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  border: 3px solid;
  border-color: transparent transparent var(--clr-primary) var(--clr-primary);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  box-sizing: border-box;
  animation: rotationBack 0.5s linear infinite;
  transform-origin: center center;
}

.loader::before {
  width: 32px;
  height: 32px;
  border-color: var(--clr-secondary) var(--clr-secondary) transparent transparent;
  animation: rotation 1.5s linear infinite;
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes rotationBack {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-360deg);
  }
}
.imageLeft {
  float: left;
  margin-right: 2rem;
  margin-bottom: 2rem;
}

.imageRight {
  float: right;
  margin-left: 2rem;
  margin-bottom: 2rem;
}

@media print, screen and (min-width: 40em) {
  .imageHalf {
    width: 50%;
  }
}
.eyebrow {
  font-size: 1.125rem;
  font-style: italic;
  color: var(--eyebrow-color);
  font-family: var(--ff-alt-beta);
}

.responsive-table {
  width: 100% !important;
  height: unset !important;
}

.responsive-table tr,
.responsive-table th,
.responsive-table td,
.responsive-table table {
  width: initial !important;
  height: initial !important;
}

.arrowLink,
.moreLink {
  color: inherit;
  font-weight: bold;
}

@media screen {
  .arrowLink::after,
  .moreLink::after,
  .button.arrow::after,
  .button.arrow-hover::after {
    right: 5px;
    left: auto;
    margin-left: 5px;
    transition: transform 0.2s ease;
    display: inline-block;
    border: none;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    color: inherit;
    content: "";
    height: 10px;
    width: 10px;
    transform: translateX(0rem) rotate(45deg);
  }
  .arrowLink:hover::after, .a:hover .arrowLink::after,
  .moreLink:hover::after,
  .a:hover .moreLink::after,
  .button.arrow:hover::after,
  .a:hover .button.arrow::after,
  .button.arrow-hover:hover::after,
  .a:hover .button.arrow-hover::after {
    transform: translateX(0.5rem) rotate(45deg);
  }
}
.arrow-hover {
  padding-left: 1.5rem;
}

.arrow-hover:after {
  opacity: 0;
  transform: translateX(-0.5rem) rotate(45deg);
}

.arrow-hover:hover:after {
  opacity: 1;
}

/*! -------------------------------------------------------------------- */
/*! Foundation Overrides                                                 */
.svgDivider {
  height: 5vw;
  width: 100%;
  position: relative;
}

.hasSvg--top .grid-container {
  padding-top: calc(2rem + 5vw);
}
.hasSvg--top .svgDivider {
  margin-bottom: -5vw;
  z-index: 1;
}

.hasSvg--bottom {
  padding-bottom: 0;
}
.hasSvg--bottom .grid-container {
  padding-bottom: calc(2rem + 5vw);
}
.hasSvg--bottom .svgDivider {
  margin-top: -5vw;
  z-index: 1;
}

/**
 * Foundation for Sites
 * Version 6.8.1
 * https://get.foundation
 * Licensed under MIT Open Source
 */
.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.85em 1em;
  border: 2px solid transparent;
  border-radius: var(--button-radius);
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 600;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  position: relative;
  z-index: 0;
}
[data-whatinput=mouse] .button {
  outline: 0;
}
.button::before {
  content: "";
  width: auto;
  height: auto;
  background-color: var(--btn-hover-color);
  display: block;
  inset: -2px;
  position: absolute;
  z-index: -1;
  border-radius: inherit;
  opacity: 0;
  transition: opacity 50ms linear;
}
.button:hover::before {
  opacity: var(--btn-hover-opacity);
}
.button.tiny {
  font-size: 0.6rem;
}
.button.small {
  font-size: 0.75rem;
}
.button.large {
  font-size: 1.25rem;
}
.button, .button.disabled, .button[disabled], .button.disabled:hover, .button[disabled]:hover, .button.disabled:focus, .button[disabled]:focus {
  background-color: var(--btn-color);
  color: var(--btn-text-color);
}
.button:hover, .button:focus {
  color: var(--btn-text-color);
}
.button.hollow, .button.hollow:hover, .button.hollow:focus, .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
  background-color: transparent;
}
.button.hollow, .button.hollow.disabled, .button.hollow[disabled], .button.hollow.disabled:hover, .button.hollow[disabled]:hover, .button.hollow.disabled:focus, .button.hollow[disabled]:focus {
  border: 2px solid var(--btn-color);
  color: var(--btn-color);
}
.button.clear, .button.clear:hover, .button.clear:focus, .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
  border-color: transparent;
  background-color: transparent;
}
.button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear.disabled:hover, .button.clear[disabled]:hover, .button.clear.disabled:focus, .button.clear[disabled]:focus {
  color: var(--btn-color);
}
.button.primary {
  --btn-color: var(--clr-primary);
  --btn-text-color: var(--clr-on-light);
  --btn-text-color: var(--clr-on-dark);
}
.button.primary-dark {
  --btn-color: var(--clr-primary-dark);
  --btn-text-color: var(--clr-on-light);
  --btn-text-color: var(--clr-on-dark);
}
.button.primary-light {
  --btn-color: var(--clr-primary-light);
  --btn-text-color: var(--clr-on-light);
  --btn-text-color: var(--clr-on-dark);
}
.button.secondary {
  --btn-color: var(--clr-secondary);
  --btn-text-color: var(--clr-on-light);
  --btn-text-color: var(--clr-on-dark);
}
.button.secondary-dark {
  --btn-color: var(--clr-secondary-dark);
  --btn-text-color: var(--clr-on-light);
  --btn-text-color: var(--clr-on-dark);
}
.button.secondary-light {
  --btn-color: var(--clr-secondary-light);
  --btn-text-color: var(--clr-on-light);
  --btn-text-color: var(--clr-on-dark);
}
.button.accent {
  --btn-color: var(--btn-accent-color);
  --btn-text-color: var(--btn-accent-text-color);
  --btn-text-color: var(--clr-on-light);
  --btn-text-color: var(--clr-on-dark);
}
.button.dark {
  --btn-color: var(--clr-site-dark);
  --btn-text-color: var(--clr-on-dark) !important;
  --btn-text-color: var(--clr-on-light);
  --btn-text-color: var(--clr-on-dark);
}
.button.white {
  --btn-color: var(--clr-ntrl-min);
  --btn-text-color: var(--clr-on-light);
  --btn-text-color: var(--clr-on-dark);
}
.button.sky {
    background-color: #76c4d5;
    color: #000;
}
.button.pomegranate {
    background-color: #d1132c;
    color: #fff;
}
.button.forest {
    background-color: #0c5950;
    color: #fff;
}
.button.sage {
    background-color: #b6cd9c;
    color: #000;
}
.button.sufganiyot {
    background-color: #d8026a;
    color: #fff;
}

.button.pill {
  border-radius: 2em;
}
.button.primary-gradient {
  background: linear-gradient(to right, var(--clr-primary), var(--clr-primary-dark)) border-box;
  border: solid 2px transparent;
  background-clip: border-box;
  background-color: var(--clr-primary);
}
.button.white, .button.theme-white {
  color: #222222;
}

.close-button {
  position: absolute;
  z-index: 10;
  color: #8a8a8a;
  cursor: pointer;
}
[data-whatinput=mouse] .close-button {
  outline: 0;
}
.close-button:hover, .close-button:focus {
  color: #222222;
}
.close-button.small {
  right: 0.66rem;
  top: 0.33em;
  font-size: 1.5em;
  line-height: 1;
}

.close-button.medium, .close-button {
  right: 1rem;
  top: 0.5rem;
  font-size: 2em;
  line-height: 1;
}

/*! TinyMCE reset  - change body back to 16px from 14px ugh*/
.mce-content-body {
  font-size: 16px;
}

.mce-content-body p, .mce-content-body div, .mce-content-body h1, .mce-content-body h2, .mce-content-body h3, .mce-content-body h4, .mce-content-body h5, .mce-content-body h6 {
  line-height: 1.6;
}

/*! -------------------------------------------------------------------- */
/*! Framework -  Header, Footer, Content and Sidebar                     */
/*! -------------------------------------------------------------------- */
.site-header {
  display: block;
  position: relative;
  top: 0;
  margin: 0;
  box-sizing: border-box;
  z-index: 5;
  background: #fefefe;
  border-bottom: 1px solid rgba(138, 138, 138, 0.8);
}
.site-header.is-stuck {
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
}
body.header-is-overlay .site-header {
  background: transparent;
  position: absolute;
  width: 100%;
  border-bottom: 0;
}
.site-header.is-stuck .hide-on-stuck {
  display: none;
}

.header-right {
  text-align: right;
  justify-content: flex-end;
}

.header-level {
  display: flex;
  align-items: center;
}

.header-buttons {
  margin-left: 1rem;
  flex: 0 0 auto;
}
.header-buttons a {
  white-space: nowrap;
}

.header-logo-links {
  display: flex;
}
.header-logo-links a {
  display: block;
  padding: 0;
}
.header-logo-links a:hover {
  background: #333;
}
.header-logo-links img {
  max-height: 40px;
}

.site-header--sticky {
  /*animation: 600ms ease-in-out 0s normal none 1 running fadeInDown;*/
  transition: top 0.3s ease-in-out, transform 0.3s ease-in-out;
  background: #fefefe none repeat scroll 0 0;
  left: 0;
  margin: auto;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 99999;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.12);
  backdrop-filter: unset;
}

.header-links a {
  color: inherit;
  display: flex;
  font-size: 14px;
  font-weight: 600;
  align-items: center;
  line-height: 1.25rem;
}
.header-links a.button {
  margin-bottom: 0;
  padding: 0.5em 0.75em;
  line-height: unset;
}
.header-links a.button.primary {
  color: #fefefe;
}
.header-links .icon {
  margin-right: 8px;
  font-size: 1.25rem;
}
.header-links .icon.large {
  font-size: 2rem;
}
.header-links .icon.color {
  color: var(--clr-primary);
}
.header-links.header-featured-links .icon {
  color: var(--clr-primary);
  font-size: 2rem;
}

.header-logo {
  transition: color 0.4s ease, width 0.4s ease;
  display: block;
  height: 46px;
}
.header-logo img {
  height: 100%;
}
.header-logo.header-logo--mobile-only {
  display: none;
}
@media screen and (max-width: 65em) {
  .header-logo.header-logo--mobile-only {
    display: block;
  }
}

.logo {
  display: flex;
  align-items: center;
}
.logo .element-j,
.logo .svg-logo-icon {
  height: 75px;
  color: var(--clr-primary);
}
.logo img {
  max-height: 44px;
}
.logo .text {
  font-size: 1.125rem;
  color: #222222;
  text-transform: uppercase;
  font-family: var(--ff-alt-alpha);
  font-weight: bold;
  margin-left: 1rem;
}

.header-util {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  height: 67px;
  justify-self: flex-end;
  margin-left: auto;
}
.header-util .button,
.header-util .input-group {
  margin-bottom: 0;
}

.header-main,
.header-fullnav {
  width: 100%;
  display: flex;
  justify-content: space-between;
  transition: height 0.4s ease;
}

.header-fullnav {
  height: 67px;
}

.header-main {
  padding: 1rem 0;
  align-items: center;
}
.header-main .header-nav {
  align-self: flex-end;
}

.header-fullnav-bar .header-nav > li > a {
  color: inherit;
}

.header-nav {
  align-items: flex-end;
  justify-content: space-between;
  height: 67px;
  max-height: 105px;
  position: relative;
  width: 100%;
}
.header-nav a {
  color: #222222;
  font-size: 1rem;
  font-weight: 600;
}
.header-nav li.is-overflown {
  visibility: hidden;
  pointer-events: none;
}
.header-nav > li > a {
  white-space: nowrap;
  border-bottom: 3px solid transparent;
  padding: 1rem 0.2rem 0.5rem;
}
.header-main .header-nav > li {
  padding-bottom: 1rem;
  padding-top: 1rem;
  padding-right: 0.125rem;
  padding-left: 0.125rem;
}
.header-main .header-nav > li > a {
  padding-left: 0.2rem;
  padding-bottom: 0.5rem;
  padding-top: 0.5rem;
  padding-right: 0.2rem;
}
.header-nav ul li:hover > a {
  color: var(--clr-base);
  background: #e6e6e6;
}
.header-nav > li.menuItemHighlight > a, .header-nav > li:hover > a, .header-nav > li.menuItemCurrent > a, .header-nav > li > a.current {
  border-bottom: 3px solid var(--dropdown-menu-item-color-active, var(--clr-primary));
}
.header-nav.header-mega-menu {
  position: static;
}
.header-nav.header-mega-menu > li > ul {
  display: none;
}
.header-nav.header-mega-menu .header-mega-wrapper {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background: #fefefe;
  height: 0;
  overflow: hidden;
  z-index: 1;
  border-bottom: 1px solid #c3c3c3;
  border-top: 1px solid #c3c3c3;
  transition: height 0.4s linear 0.2s, opacity 0.6s ease;
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  align-items: center;
}
.header-nav.header-mega-menu .header-mega-wrapper .mega-menu-sponsor {
  display: block;
  width: 100%;
  margin: 0 0 0.5rem 0;
  text-align: center;
  background: #e6e6e6;
}
.header-nav.header-mega-menu .header-mega-wrapper > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
}
.header-nav.header-mega-menu .header-mega-wrapper > ul li {
  margin-right: 1rem;
  padding-left: 2em;
  position: relative;
  align-items: stretch;
  display: flex;
  flex-flow: column;
  justify-content: center;
}
.header-nav.header-mega-menu .header-mega-wrapper > ul li.sponsor {
  display: none;
}
.header-nav.header-mega-menu .header-mega-wrapper > ul li.after-sponsor {
  position: relative;
  display: block;
  content: " ";
  width: 100%;
  height: 3rem;
}
.header-nav.header-mega-menu .header-mega-wrapper > ul li > i {
  position: absolute;
  left: 0;
  font-size: 2em;
  color: #008996;
  line-height: 1;
}
.header-nav.header-mega-menu .header-mega-wrapper ul {
  list-style: none;
  padding: 0;
  margin: 0;
  position: relative;
}
.header-nav.header-mega-menu .header-mega-wrapper ul ul {
  display: none;
}
.header-nav.header-mega-menu > li:hover > .header-mega-wrapper,
.header-nav.header-mega-menu .header-mega-wrapper.is-open {
  display: flex;
  opacity: 1;
  visibility: visible;
  z-index: 1;
  overflow: hidden;
  height: auto;
  padding-bottom: 5px;
  min-height: 53px;
  pointer-events: all;
}
.header-nav.header-mega-menu > li > a.parent-anchor {
  position: relative;
  padding-right: 1.3rem;
}
.header-nav.header-mega-menu > li > a.parent-anchor:after {
  display: block;
  width: 0;
  height: 0;
  content: "";
  border: inset 6px;
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #008996 transparent transparent;
  position: absolute;
  top: 50%;
  right: 5px;
  left: auto;
  margin-top: -3px;
}

.header-search .button {
  margin-bottom: 0;
}

.header-search-popup {
  position: absolute;
  /* top: 0; */
  width: calc(100% - 50px);
  right: 0;
  display: flex;
  align-items: center;
  margin-top: auto;
  max-width: 400px;
  padding: 2rem 2rem 1rem;
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.3);
  border: 0;
}

@media print, screen and (max-width: 63.99875em) {
  .header-nav {
    display: none;
  }
}
.site-header .header-mobile-only-trigger {
  display: none;
}

.header-top .cell {
  display: flex;
  align-items: center;
}

/*! Incrementally hide / show menu items - modify per site as needed */
@media screen and (max-width: 640px) {
  .site-header .header-links {
    display: none;
  }
  .site-header .header-fullnav-bar {
    display: none;
  }
  .site-header .header-mobile-only-trigger {
    display: block;
  }
  .site-header .header-logo-mobile-only {
    display: block;
    align-self: flex-start;
    margin-right: auto;
  }
  .header-top {
    max-height: unset;
    display: none;
  }
}
@media screen and (max-width: 925px) {
  .site-header .header-social {
    display: none;
  }
}
@media screen and (max-width: 880px) {
  .site-header .header-search {
    display: none;
  }
}
.site-footer {
  display: block;
  position: relative;
  padding: 0;
}
.site-footer .footer-brand {
  font-size: 1.2em;
}
.site-footer .menu_footer .h5 {
  color: var(--primary-light);
  font-weight: 700;
  margin: 0;
  text-decoration: none;
}
.site-footer .menu_footer {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.site-footer .menu_footer ul.sub-menu li {
  margin: 0.25rem 0;
}
.footer-main {
  padding-top: 4rem;
  padding-bottom: 2rem;
}
.footer-main a:not(.button) {
  color: var(--footer-links-color, var(--clr-primary));
  font-weight: 700;
  padding: 0.25em;
}
.footer-main .hours {margin-bottom:0.5em;}
.footer-main .hours a {padding-left:0;}
.footer-main a:not(.button):hover {
  text-decoration: underline;
}
.footer-main .socialMenu a:hover {
  text-decoration: none;
}

.footer-logo {
  display: block;
  width: 240px;
  padding: 0;
  margin-bottom: 2rem;
}

.footer-copyright {
  padding: 1rem 0;
  font-size: 0.875rem;
}
.footer-copyright a {
  color: inherit;
}
.footer-copyright a:hover {
  text-decoration: underline;
}
.footer-copyright .accrisoft {
  color: inherit;
}

.socialMenu {
  margin-bottom: 1rem;
}
.socialMenu li {
  margin-right: 0.5rem;
}
.socialMenu li:last-child {
  margin-right: 0;
}
.socialMenu a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.6em;
  height: 1.6em;
  border-radius: 50%;
  text-decoration: none;
  text-align: center;
  font-size: 1.5rem;
}
.socialMenu a:hover {
  text-decoration: none;
}

.mobileNav-trigger {
  align-items: center;
  align-self: center;
  cursor: pointer;
  display: flex;
  flex-shrink: 0;
  height: 100%;
  position: relative;
  z-index: 2;
  background: transparent;
  width: 50px;
  margin: 0 0 0 1rem;
}

.site-header .mobileNav-trigger {
  height: 56px;
  margin-left: auto;
}

@media print, screen and (min-width: 40em) {
  .site-header .mobileNav-trigger {
    margin-top: auto;
  }
}
.mobileNav-trigger {
  margin-bottom: 6px;
}

.mobileNav-trigger .mobileNav-hamburger {
  margin: 0 auto;
  position: relative;
}

.mobileNav-trigger .mobileNav-hamburger:before, .mobileNav-trigger .mobileNav-hamburger:after {
  position: absolute;
  content: "";
}

.mobileNav-trigger .mobileNav-hamburger, .mobileNav-trigger .mobileNav-hamburger:before, .mobileNav-trigger .mobileNav-hamburger:after {
  width: 30px;
  height: 4px;
  background-color: currentColor;
  display: block;
  border-radius: 2px;
  transition-duration: 0s;
  transition-delay: 0.2s;
}

.mobileNav-trigger .mobileNav-hamburger:before {
  margin-top: -12px;
}

.mobileNav-trigger .mobileNav-hamburger:after {
  margin-top: 12px;
}

.mobileNav-trigger.is-active .mobileNav-hamburger,
.mobileNav-trigger[aria-expanded=true] .mobileNav-hamburger {
  background-color: rgba(0, 0, 0, 0);
}

.mobileNav-trigger .mobileNav-hamburger:before, .mobileNav-trigger .mobileNav-hamburger:after {
  transition-property: margin, transform;
  transition-duration: 0.2s;
  transition-delay: 0.2s, 0s;
}

.mobileNav-trigger[aria-expanded=true] .mobileNav-hamburger:before, .mobileNav-trigger[aria-expanded=true] .mobileNav-hamburger:after,
.mobileNav-trigger.is-active .mobileNav-hamburger:before, .mobileNav-trigger.is-active .mobileNav-hamburger:after {
  margin-top: 0;
  transition-delay: 0s, 0.2s;
}

.mobileNav-trigger.is-active .mobileNav-hamburger:before,
.mobileNav-trigger[aria-expanded=true] .mobileNav-hamburger:before {
  transform: rotate(45deg);
}

.mobileNav-trigger.is-active .mobileNav-hamburger:after,
.mobileNav-trigger[aria-expanded=true] .mobileNav-hamburger:after {
  transform: rotate(-45deg);
}

@media screen and (min-width: 40em) {
  .mobileNav-inner .mobileNav-trigger {
    display: flex;
  }
}
@media screen and (min-width: 64em) {
  .mobileNav-trigger {
    display: none;
  }
}
.site-header.has-mobile-trigger .mobileNav-trigger {
  display: flex;
}

.mobileNav {
  height: 100%;
  left: 0;
  pointer-events: none;
  position: fixed;
  width: 100%;
  z-index: 9;
}

.mobileNav-inner {
  background: white;
  display: block;
  height: 100%;
  max-width: 100%;
  overflow-y: scroll;
  padding: 0 0;
  position: absolute;
  right: 0;
  transform: translate(100%, 0);
  transition: transform 0.5s ease 0.3s, visibility 0.5s ease;
  visibility: hidden;
  width: calc(100% - 76px);
}

.mobileNav-inner .mobileNav-trigger {
  position: absolute;
  right: 1rem;
}

.mobileNav-menu > li {
  border-top: 1px solid #f2f2f2;
  position: relative;
}

.mobileNav-menu a {
  color: #222222;
  font-weight: bold;
  font-size: 1rem;
}

.mobileNav-menu > li > a {
  position: relative;
  padding: 1rem;
  font-weight: bold;
}

.mobileNav-menu > li > ul > li {
  position: relative;
  align-items: stretch;
  display: flex;
  flex-flow: column;
  justify-content: flex-start;
}

.mobileNav-menu ul ul a {
  color: #8a8a8a;
}

.mobileNav-menu ul ul > li {
  padding: 0;
}

.mobileNav-menu > li > ul {
  display: none;
}

.mobileNav-actions {
  min-height: 80px;
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
  padding: 1rem;
}

.mobileNav-login .button {
  margin: 0;
}

.mobileNav-overlay {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: background 0.5s ease;
  width: 100%;
}

.mobileNav-secondary {
  padding: 1rem 1.5rem;
  margin-top: auto;
}
.mobileNav-secondary .socialMenu {
  margin-bottom: 0;
}
.mobileNav-secondary .socialMenu .menu {
  justify-content: center;
}
.mobileNav-secondary .socialMenu a {
  font-size: 1.5rem;
}

@media screen and (min-width: 40em) {
  .mobileNav {
    height: 100%;
    z-index: 11;
  }
  .mobileNav-inner {
    width: 335px;
  }
  .mobileNav-inner .mobileNav-trigger {
    display: flex;
  }
}
.site-header.has-mobile-trigger .mobileNav-trigger {
  display: flex;
}

@media screen and (min-width: 900px) {
  .mobileNav-inner {
    padding-top: 0px;
  }
  .is-header-stuck .mobileNav-inner {
    padding-top: 0;
  }
}
.is-mobilenav-open {
  overflow-y: hidden;
}

.is-mobilenav-open .mobileNav {
  pointer-events: all;
}

.is-mobilenav-open .mobileNav-inner {
  transform: translate(0, 0);
  visibility: visible;
}

.is-mobilenav-open .mobileNav-overlay {
  background: rgba(0, 0, 0, 0.15);
}

.modulePage {
  padding-bottom: 3rem;
  padding-top: 2rem;
}

#interiorHeaderSource, #interiorHeaderOverride {
  display: none;
}

.content-body {
  flex: 1 1 20px;
  width: auto;
}

.content-sidebar {
  flex: 1 1 auto;
  width: 100%;
  padding-top: 1rem;
}

@media screen and (min-width: 1024px) {
  .content-sidebar {
    width: 290px;
    margin-right: 36px;
    flex: 0 0 auto;
    order: -1;
    display: none;
  }
  .content-sidebar.is-visible {
    display: block;
  }
}
.sidebarItem {
  margin-bottom: 2rem;
}

.sidebarItem--boxed {
  padding: 2rem;
  background: var(--clr-site-medium);
}

/*! Side Menu */
.sideMenu-title {
  margin-left: 1rem;
}

.sideMenu {
  padding: 2rem;
}

.sideMenu-nav .menu a {
  color: #222222;
  font-size: 1rem;
  font-weight: bold;
}
.sideMenu-nav .menu a:hover, .sideMenu-nav .menu a.current {
  color: #8a8a8a;
}
.sideMenu-nav > .menu ul a {
  padding-left: 1.5rem;
}
.sideMenu-nav > .menu ul ul a {
  padding-left: 2.5rem;
}

.accordion-menu .is-accordion-submenu-parent[aria-expanded=true] > a::after {
  transform: none;
  content: "–";
}

.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
  border: 0;
  content: "+";
  right: unset;
  left: 0;
  margin-top: -8px;
}

.alert-bar {
  width: 100%;
  padding: 15px 100px 15px 15px;
  background: #e4e4e4;
  position: relative;
  border: 1px solid #666;
  border-radius: 3px;
}
.alert-bar.red {
  background-color: #ff0000;
}

.alert-bar.single {
  padding-right: 43px;
}
.alert-bar.icon {
  padding-left: 48px;
}
.alert-bar .icon-wrap {
  background: initial;
  height: 24px;
  width: 24px;
  padding: 2px;
  border-radius: 3px;
  text-align: center;
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
}
.alert-bar .icon-wrap svg {
  height: 17px;
  width: 17px;
}
.alert-bar p {
  font-size: 14px;
  margin-bottom: 0;
}
.alert-bar a {
  text-decoration: underline;
}
.alert-bar .close-alert {
  position: absolute;
  right: 13px;
  top: 13px;
  height: 25px;
  width: 25px;
  line-height: 19px;
  text-align: center;
  border-radius: 3px;
  border: 1px solid initial;
}
.alert-bar .close-alert:hover {
  background: #fff;
  cursor: pointer;
}
.alert-bar .count {
  font-size: 11px;
  position: absolute;
  right: 51px;
  top: 5px;
  width: 46px;
  text-align: center;
}

#alert-slider {
  position: relative;
  background: #fff;
  padding: 8px;
}
#alert-slider.full-width {
  padding: 0;
}
#alert-slider.full-width .alert-bar {
  border: none !important;
  border-radius: 0 !important;
}

#alert-slider.full-width .pag {
  top: 24px;
  right: 52px;
}
#alert-slider .prevnext {
  color: #484848;
  text-align: center;
  height: 23px;
  width: 23px;
  display: inline-block;
  line-height: 20px;
  font-size: 14px;
  border-radius: 3px;
  text-decoration: none;
}
#alert-slider .prevnext:hover {
  background: #fefefe;
}
#alert-slider .pag {
  position: absolute;
  top: 32px;
  right: 60px;
  font-size: 0;
}

@media screen and (max-width: 640px) {
  .alert-bar p {
    font-size: 12px;
  }
}
/*! -------------------------------------------------------------------- */
/*! Reusable Styles                                                      */
/*! -------------------------------------------------------------------- */
/*! Expandies / Collapsible Content */
.collapsibleHeader {
  text-transform: none;
  font-size: 1.125rem;
  position: relative;
  padding: 0.4rem 0.4rem 0.4rem 2.75rem;
  cursor: pointer;
  border-bottom: 1px solid #E2E4EA;
  background: #e6e6e6;
  font-family: inherit;
  color: #222222;
}

.collapsibleHeader::before {
  position: absolute;
  color: var(--collapsible-icon-color);
  line-height: 1em;
  text-align: center;
  transition: transform 0.2s ease;
  left: 0.5rem;
  content: "+";
  border-radius: 50%;
  padding-left: 1px;
  width: 1em;
  height: 1.5em;
  top: 3px;
  font-size: 1.5em;
}

.collapsibleHeader.active {
  border-bottom-color: transparent;
}

.collapsibleHeader.active::before {
  content: "−";
  padding-left: 3px;
  padding-bottom: 2px;
}

.collapsibleContent {
  border-bottom: 1px solid #E2E4EA;
  overflow: hidden;
  display: none;
}

.no-js .collapsibleContent {
  display: block;
}

/*! -------------------------------------------------------------------- */
/*! Components                                                           */
/*! -------------------------------------------------------------------- */
/*! ----- One offs and module components  ------ */
/*! ----- Slideshow ------ */
.slideshow {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  transition: all 200ms ease;
}
.slideshow .slides {
  display: block;
  position: relative;
  z-index: 1;
  height: 500px;
}
@media print, screen and (min-width: 64em) {
  .slideshow .slides {
    height: auto;
    aspect-ratio: 1440/430;
  }
}
@media screen and (min-width: 90em) {
  .slideshow .slides {
    height: auto;
    aspect-ratio: 1440/430;
  }
}
.slideshow .vimeo-video-container {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
@media screen and (min-width: 60em) {
  .slideshow .vimeo-video-container {
    top: 10px;
    height: calc(100% - 60px);
  }
}
@media screen and (max-width: 1250px) {
  .slideshow .vimeo-video-container {
    aspect-ratio: 1316/730;
    height: auto;
  }
}
.slideshow .vimeo-video-container iframe {
  width: 100%;
  height: 100%;
}
.slideshow .slide {
  position: absolute;
  width: 100%;
  height: 100%;
  background: var(--theme-background, #222222);
  --gradient-direction: to right;
  /* start gradients */
  /* end gradients */
}
.slideshow .slide.manualSlide {
  opacity: 0;
  -webkit-transition: opacity 1s ease !important;
  transition: opacity 1s ease !important;
}
.slideshow .slide::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  inset: 0;
  position: absolute;
  background: linear-gradient(var(--gradient-direction), var(--theme-background) 0%, transparent 100%);
}
.slideshow .slide.to-bottom:after, .slideshow .slide.to-top:after {
  height: 530px;
}
.slideshow .slide.to-bottom:after {
  --gradient-direction: to bottom;
  bottom: unset;
}
.slideshow .slide.to-top:after {
  --gradient-direction: to top;
  top: unset;
}
.slideshow .slide.to-left:after, .slideshow .slide.to-right:after {
  width: 530px;
}
.slideshow .slide.to-top:after {
  --gradient-direction: to top;
  top: unset;
}
.slideshow .slide.to-left:after {
  --gradient-direction: to left;
  left: unset;
}
.slideshow .slide.to-right:after {
  --gradient-direction: to right;
  right: unset;
}
.slideshow .slide .slideBackground {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}
.slideshow .slide .slideInner {
  height: 100%;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
}
.slideshow .slide .slideInner.align-left {
  justify-content: flex-start;
  text-align: left;
}
.slideshow .slide .slideInner.align-right {
  justify-content: flex-end;
  text-align: right;
}
.slideshow .slide .slideInner.align-center {
  justify-content: center;
  text-align: center;
}
.slideshow .slide .slideInner.align-top {
  align-items: flex-start;
}
.slideshow .slide .slideInner.align-middle {
  align-items: center;
}
.slideshow .slide .slideInner.align-bottom {
  align-items: flex-end;
}
.slideshow .slide .slideContent {
  color: #fff;
  display: block;
  position: relative;
  max-width: 850px;
  padding: 3rem;
  z-index: 1;
}
.header-is-overlay .slideshow .slide .slideContent {
  margin-top: 150px;
  margin-bottom: 50px;
}
.slideshow .slide .slideContent.textDark {
  color: #222222;
}
.slideshow .slide .slideContent .slideTitle {
  color: inherit;
  margin: 0 0 1rem 0;
  padding: 0;
  transition: transform 0.5s ease, opacity 0.5s ease;
  opacity: 0;
  transform: translateY(4rem);
}
.slideshow .slide .slideContent .slideCaption {
  color: inherit;
}
.slideshow .slide.is-selected .slideTitle {
  opacity: 1 !important;
  transform: translateY(0);
}
.slideshow .slide:nth-child(1) {
  z-index: 2;
}
.slideshow .flickity-enabled .slide:nth-child(1) {
  z-index: initial;
}

.slideshow .slide.has-video .mobileVideoSlideImage {
  display: none;
}

@media screen and (max-width: 40em) {
  .slideshow .slide.has-video .mobileVideoSlideImage {
    display: block;
  }
  .slideshow .slide.has-video iframe {
    display: none;
  }
  .slideshow .slide {
    height: 480px;
  }
}
/*! flickity-fade */
.flickity-enabled.is-fade .flickity-slider > * {
  pointer-events: none;
  z-index: 0;
}

.flickity-enabled.is-fade .flickity-slider > .is-selected {
  pointer-events: auto;
  z-index: 1;
}

.contentByCategory .slideshow.large .slideshow .slides {
  aspect-ratio: 16/9;
}
.contentByCategory .slideshow .slides {
  min-height: 400px;
  height: unset;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}
.contentByCategory .slideshow .slides .flickity-viewport {
  min-height: 400px;
}
.contentByCategory .slideshow .slide .slideBackground {
  object-fit: contain;
  object-position: top center;
  background-repeat: no-repeat;
}
.contentByCategory .slideshow .carousel-wrapper .cell {
  padding: 1rem 0 0 3rem;
  margin-top: 5rem;
}
.contentByCategory .slideshow .flickity-page-dots {
  bottom: 10px;
}
.contentByCategory .slideshow .flickity-page-dots .dot {
  background: #fff;
}
.contentByCategory .slideshow .interiorSlide .slide .slideBackground {
  object-fit: contain;
  object-position: top center;
  background-repeat: no-repeat;
}

/*! ----- Interior Header Banner ----- */
/* ---------------------------------------------------------------------------*/
/* Advanced Overlay settings - not used by default                            */
/* By default image overlays use background inherit and generic theme classes */
/* -------------------------------------------------------------------------- */
.pageHeader {
  --header-overlay-color: var(--theme-background, var(--pageheader-bg, var(--clr-site-dark)));
  --header-overlay-direction: to right;
  --header-overlay-opacity: 0.2;
  height: auto;
  padding: 0;
  display: block;
  position: relative;
  background-color: var(--pageheader-bg, var(--clr-site-dark));
  color: var(--pageheader-color, var(--clr-on-dark));
}
.pageHeader .eyebrow {
  color: inherit;
}
@media print, screen and (min-width: 40em) {
  .pageHeader {
    height: 250px;
  }
}
.pageHeader--hasImage {
  color: #fefefe;
}
@media print, screen and (min-width: 40em) {
  .pageHeader--hasImage {
    height: 250px;
  }
}
.pageHeader--alt {
  background: var(--clr-site-medium);
  color: var(--clr-on-medium);
}
.pageHeader .pageHeader-inner {
  display: flex;
  flex-flow: row wrap;
  height: 100%;
  position: relative;
  padding-top: 2rem;
  padding-bottom: 1rem;
  align-items: center;
  justify-content: flex-start;
}
.pageHeader .pageHeader-inner.align-left {
  justify-content: flex-start;
  text-align: left;
}
.pageHeader .pageHeader-inner.align-right {
  justify-content: flex-end;
  text-align: right;
}
.pageHeader .pageHeader-inner.align-center {
  justify-content: center;
  text-align: center;
}
.pageHeader .pageHeader-inner.align-top {
  align-items: flex-start;
}
.pageHeader .pageHeader-inner.align-middle {
  align-items: center;
}
.pageHeader .pageHeader-inner.align-bottom {
  align-items: flex-end;
}
.pageHeader .pageHeader-inner .pageHeader-cta {
  margin-left: auto;
}
.pageHeader .pageHeader-inner.align-center .pageHeader-cta, .pageHeader .pageHeader-inner.align-right .pageHeader-cta {
  margin-left: 0;
  flex: 1 0 100%;
}
.pageHeader .pageHeader-background {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  background-color: inherit;
}
.pageHeader .pageHeader-background img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover";
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}
.pageHeader .pageHeader-background::after {
  background: rgba(0, 137, 150, var(--header-overlay-opacity, 0.6));
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  content: "";
}
.pageHeader .pageHeader-background.hideOverlay::after {
  content: unset;
}
.pageHeader .pageHeader-background.gradientOverlay::after {
  background-image: linear-gradient(var(--header-overlay-direction, to right), var(--header-overlay-color), var(--header-overlay-to-color, transparent));
}
.pageHeader .pageHeader-background.fullOverlay::after {
  background-color: inherit;
  opacity: rgba(0, 0, 0, var(--header-overlay-opacity, 0.3));
}
.pageHeader .pageHeader-background.noImage {
  display: none;
}
.pageHeader .pageHeader-content {
  transition: opacity 0.8s ease-in;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.pageHeader .pageHeader-content.loading {
  opacity: 0;
}
.pageHeader h1 {
  color: inherit;
  line-height: 1;
}

@media screen and (max-width: 1024px) {
  .pageHeader--splitImage {
    height: auto;
  }
  .pageHeader--splitImage .pageHeader-content {
    padding-bottom: 200px;
  }
  .pageHeader--splitImage .pageHeader-background {
    height: 200px;
    bottom: 0;
  }
}
@media screen and (min-width: 1024px) {
  .pageHeader--splitImage .pageHeader-content {
    width: 50%;
  }
  .pageHeader--splitImage .pageHeader-background {
    width: 50%;
    height: 100%;
    left: unset;
    right: 0;
  }
}
/*! ----- Responsive Carousels ------ */
.carousel-wrapper {
  margin-bottom: 2rem;
}
.carousel-wrapper.flickity-enabled {
  display: block;
}
.carousel-wrapper.small-up-2 .flickity-slider > .cell {
  width: 50%;
}
.carousel-wrapper.small-up-3 .flickity-slider > .cell {
  width: 33.3333333333%;
}
.carousel-wrapper.small-up-4 .flickity-slider > .cell {
  width: 25%;
}
.carousel-wrapper.small-up-5 .flickity-slider > .cell {
  width: 20%;
}
.carousel-wrapper.flickity-enabled .cell {
  width: 100%;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
@media print, screen and (min-width: 40em) {
  .carousel-wrapper.medium-up-2 .flickity-slider > .cell {
    width: 50%;
  }
  .carousel-wrapper.medium-up-3 .flickity-slider > .cell {
    width: 33.3333333333%;
  }
  .carousel-wrapper.medium-up-4 .flickity-slider > .cell {
    width: 25%;
  }
  .carousel-wrapper.medium-up-5 .flickity-slider > .cell {
    width: 20%;
  }
  .carousel-wrapper.flickity-enabled .cell {
    width: 100%;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
  }
}
@media print, screen and (min-width: 64em) {
  .carousel-wrapper.large-up-2 .flickity-slider > .cell {
    width: 50%;
  }
  .carousel-wrapper.large-up-3 .flickity-slider > .cell {
    width: 33.3333333333%;
  }
  .carousel-wrapper.large-up-4 .flickity-slider > .cell {
    width: 25%;
  }
  .carousel-wrapper.large-up-5 .flickity-slider > .cell {
    width: 20%;
  }
}
@media screen and (min-width: 83.75em) {
  .carousel-wrapper.cards-slider .flickity-prev-next-button.previous {
    left: -70px;
  }
  .carousel-wrapper.cards-slider .flickity-prev-next-button.next {
    right: -70px;
  }
}

/*! ----- Home Partners ----- */
.partnersComponent .carousel-wrapper {
  margin-bottom: 0;
}
@media screen and (max-width: 1300px) {
  .partnersComponent .carousel-wrapper {
    width: calc(100% - 120px);
    margin: 0 auto;
  }
}
.partnersComponent .carousel-wrapper .flickity-prev-next-button {
  width: 30px;
  height: 30px;
  color: white;
  background-color: transparent;
}
.partnersComponent .carousel-wrapper .flickity-prev-next-button:hover {
  color: white;
  background-color: rgba(0, 0, 0, 0.7);
}
.partnersComponent .carousel-wrapper .flickity-prev-next-button.previous {
  left: -30px;
}
.partnersComponent .carousel-wrapper .flickity-prev-next-button.next {
  right: -30px;
}
.partnersComponent .carousel-wrapper.flickity-enabled {
  display: block;
}
.partnersComponent .partner {
  display: flex;
  flex-flow: column;
  justify-content: flex-start;
  text-align: center;
  width: 195px;
  height: 175px;
  margin: 1rem;
}
.partnersComponent .partner .partnerType {
  font-style: italic;
  font-size: 0.9rem;
  font-weight: 700;
  padding: 0.5rem;
  text-align: center;
}
.partnersComponent .partner .partnerImage {
  justify-self: flex-end;
  margin: auto;
  background-size: contain;
  height: calc(100% - 2rem);
  width: 100%;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
}
.partnersComponent .partner .partnerImage img {
  width: 175px;
  height: auto;
  object-fit: contain;
}

/*! ----- Repeating Items / Boxes Component ----- */
.boxes {
  display: grid;
  gap: 0.875rem;
}

@media only screen and (min-width: 500px) {
  .boxes-two-up {
    grid-template-columns: 1fr 1fr;
  }
  .boxes-three-up,
  .boxes-four-up {
    grid-template-columns: 1fr 1fr;
  }
}
@media only screen and (min-width: 725px) {
  .boxes {
    gap: 1.875rem;
  }
  .boxes-two-up {
    grid-template-columns: 1fr 1fr;
  }
  .boxes-three-up {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .boxes-four-up {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
/* Carousel Mode */
.boxes.carousel-wrapper.flickity-enabled {
  display: block;
  margin-top: 60px;
}

.boxes.carousel-wrapper.flickity-enabled .box {
  width: 85%;
  margin-right: 0.875rem;
  min-height: 100%;
}

@media only screen and (min-width: 400px) {
  .boxes.boxes-two-up.carousel-wrapper.flickity-enabled .box {
    width: 450px;
    margin-right: 1.875rem;
  }
  .boxes.boxes-three-up.carousel-wrapper.flickity-enabled .box {
    width: 350px;
    margin-right: 1.875rem;
  }
  .boxes.boxes-four-up.carousel-wrapper.flickity-enabled .box {
    width: 250px;
    margin-right: 1.875rem;
  }
}
.boxes.carousel-wrapper .flickity-prev-next-button.previous {
  left: unset;
  top: -30px;
  right: 50px;
}

.boxes.carousel-wrapper .flickity-prev-next-button.next {
  right: 0;
  left: unset;
  top: -30px;
}

.boxes.card-style .box {
  padding: 1.25rem;
  transition: all 0.3s cubic-bezier(0.36, 0.53, 0.33, 1.01);
  overflow: hidden;
  position: relative;
}
.boxes.card-style .box::after {
  display: block;
  --_size: 100%;
  width: var(--_size);
  height: var(--_size);
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  border: 2px solid #fff;
  transition: all 0.3s cubic-bezier(0.36, 0.53, 0.33, 1.01);
  margin: 0;
}
.boxes.card-style .box.box--no-hover-effect:hover::after {
  --_size: 100%;
  margin: 0;
  background: transparent;
}
.boxes.card-style .box:hover::after {
  --_size: calc(100% - 2rem);
  background: rgba(255, 255, 255, 0.1);
  margin: 1rem;
}
.boxes.card-style .box * {
  transition: all 0.3s cubic-bezier(0.36, 0.53, 0.33, 1.01);
  z-index: 1;
  position:relative;
}
.boxes.card-style .box.box--no-padding {
  padding: 0;
}
.boxes.card-style .box.box--no-padding .box-content {
  padding: 1.25rem;
}
.boxes.card-style .box.box--rounded-broders {
  border-radius: 0;
  overflow: hidden;
}
.boxes.card-style .box.box--title-only {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  height: 140px;
}
.boxes.card-style .box.box--title-only h3 {
  margin: 0;
  padding: 0;
  margin-top: 0;
  margin-bottom: 0;
}
.boxes.card-style .box.box--title-only * {
  transition: all 0.3s cubic-bezier(0.36, 0.53, 0.33, 1.01);
}
.boxes.card-style .box.themeDark, .boxes.card-style .box.theme-primary, .boxes.card-style .box.theme-secondary {
  color: #fefefe;
}
.boxes.card-style .box.themeDark:hover, .boxes.card-style .box.theme-primary:hover, .boxes.card-style .box.theme-secondary:hover {
  color: #fefefe;
}
.boxes.card-style .box.theme-light {
  background: #fefefe;
  color: #222222;
}
.boxes.card-style .box h3 {
  color: inherit;
}
.boxes.card-style .box:hover h3 {
  color: inherit;
}

@media only screen and (max-width: 500px) {
  .box {
    margin-bottom: 1rem;
  }
}
.box-image {
  margin-bottom: 1.25rem;
}
.box-image img {
  object-fit: cover;
}
.boxes-two-up .box-image img {
  aspect-ratio: 1.5;
}
.boxes-three-up .box-image img,
.box-image .box-image-placeholder {
  aspect-ratio: 1.5;
}
.boxes-four-up .box-image img {
  aspect-ratio: 1;
}
.box-image .box-image-placeholder {
  background: #f4f4f4;
  width: 100%;
}
.box-image.fixed-size-rect img {
  width: 100%;
  aspect-ratio: 1.5;
  object-fit: cover;
  overflow: hidden;
}
.box-image.fixed-size-square img {
  aspect-ratio: 1;
}
.box-image a {
  display: flex;
  align-items: flex-start;
  position: relative;
}
.box-image a:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #000;
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}
.box-image a:hover:before {
  opacity: 0.2;
}

.boxes-four-up .box-image img {
  aspect-ratio: 1;
}

.box-icon {
  color: var(--box-accent-color, inherit);
  width: auto;
  font-size: 3.5rem;
}
.box-icon svg {
  width: 1em;
  height: 1em;
  fill: currentColor;
}

.box-content .box-icon {
  margin-bottom: 1.25rem;
}

.box-title a {
  color: inherit;
}

.box-icon-image {
  color: var(--box-accent-color, #3e3e3e);
  background-color: currentColor;
  background-size: cover;
  background-repeat: no-repeat;
  display: grid;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  width: 100%;
}
.boxes-two-up .box-icon-image {
  aspect-ratio: 1.5;
}
.boxes-three-up .box-icon-image {
  aspect-ratio: 1.5;
}
.box-icon-image .box-icon {
  background: white;
  padding: 0.5em;
  border-radius: 50%;
  line-height: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  font-size: calc(2rem + 3vw);
}
@media print, screen and (min-width: 64em) {
  .box-icon-image .box-icon {
    font-size: 3rem;
  }
}

/*! ----- Cards ----- */
.card-image {
  overflow: hidden;
  height: 0;
  position: relative;
  padding-bottom: 60%;
  background-color: var(--card-image-bg);
  background-position: center center;
  background-size: cover;
}
.card-image.tall {
  padding-bottom: 110%;
}
.card-image img {
  position: absolute;
  bottom: 0;
  width: 100%;
}

.cards-slider a, .cards-slider a:hover {
  color: inherit;
}
@media print, screen and (max-width: 63.99875em) {
  .cards-slider .carousel-cell {
    max-width: 270px;
  }
}

.card-section {
  transition: all 0.4s ease-out;
}

.card--no-shadow {
  box-shadow: none;
}

.card--elevated {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
}

.card--show-more:hover .card-section {
  transform: translateY(-8px);
}

.card p.card-action-text {
  opacity: 0;
  font-weight: bold;
  transition: all 0.4s ease-out;
  margin-top: auto;
  position: relative;
  height: 0;
}

.card--show-more:hover p.card-action-text {
  opacity: 1;
  transform: translateY(-8px);
}

/*! ----- Photo Boxes - slide out photo quicklinks ------ */
.photoBoxes {
  justify-content: center;
}

.photoBox {
  height: 378px;
  max-width: 800px;
  box-shadow: 1px 3px 15px rgba(0, 0, 0, 0.3);
  position: relative;
  overflow: hidden;
  margin-bottom: 1rem;
}
.photoBox.photoBox--no-image {
  height: auto;
}
.photoBox.photoBox--no-image .photoBox-drawer {
  height: auto;
  position: relative;
  transform: translateY(0);
  min-height: auto;
}
.photoBox.photoBox--no-image .photoBox-drawer.vertical {
  transform: translateY(0);
}
.photoBox.photoBox--no-image .photoBox-drawer .photoBox-drawerCopy {
  opacity: 1;
}
.photoBox.photoBox--no-image .button {
  margin-bottom: 0;
}
.photoBox .photoBoxBg {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
.photoBox:not(.cell) {
  width: 384px;
  flex: 1 1 auto;
  margin: 1rem;
}
.photoBox .photoBox-content {
  display: flex;
  height: 100%;
  padding: 1rem;
  box-sizing: border-box;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  z-index: 2;
  position: relative;
}
.photoBox .photoBox-content p:last-child {
  margin-bottom: 0;
}
.photoBox .photoBox-content,
.photoBox .photoBox-content .title,
.photoBox .photoBox-content .photoBox-action:not(.button) {
  transition: all 0.3s cubic-bezier(0.36, 0.53, 0.33, 1.01);
  color: inherit;
}
.photoBox .photoBox-content .desc {
  max-height: calc(100% - 106px);
  overflow: hidden;
}
.photoBox .photoBox-drawer {
  height: 100%;
  width: 100%;
  background-color: #fefefe;
  color: #222222;
  position: absolute;
  transition: all 0.3s cubic-bezier(0.36, 0.53, 0.33, 1.01);
}
.photoBox .photoBox-drawer.vertical {
  height: auto;
  transform: translateY(calc(100% - 166px));
  padding-top: 25px;
  bottom: 0;
  min-height: 166px;
}
.photoBox .photoBox-drawer.vertical .photoBox-content {
  align-items: center;
}
.photoBox .photoBox-drawer.horizontal {
  width: 90%;
  right: calc(100% - 50px);
  padding-right: 25px;
}
.photoBox .photoBox-drawer.horizontal .photoBox-content {
  justify-content: center;
}
.photoBox .photoBox-drawerCopy {
  opacity: 0;
  transition: all 0.5s cubic-bezier(0.36, 0.53, 0.33, 1.01);
}
.photoBox:hover .photoBox-drawer.vertical, .photoBox.active .photoBox-drawer.vertical {
  transform: translateY(0);
}
.photoBox:hover .photoBox-drawer.horizontal, .photoBox.active .photoBox-drawer.horizontal {
  right: 10%;
}
.photoBox:hover .photoBox-drawerCopy, .photoBox.active .photoBox-drawerCopy {
  opacity: 1;
}
@media screen and (max-width: 46.875em) {
  .photoBox .photoBox-drawer.vertical {
    transform: translateY(0);
  }
  .photoBox .photoBox-drawerCopy {
    opacity: 1;
  }
}
.photoBox .horizontal .photoBox-drawerTab {
  right: -25px;
  top: calc(50% - 25px);
  left: unset;
}
.photoBox .photoBox-drawerTab {
  background: var(--photobox-drawertabs-color, var(--clr-primary));
  width: 50px;
  height: 50px;
  position: absolute;
  top: -25px;
  left: calc(50% - 25px);
  border-radius: 50%;
  color: #fefefe;
  display: flex;
  flex-flow: column wrap;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1;
  font-weight: bold;
  text-transform: uppercase;
}
.photoBox .photoBox-drawerTab .fa,
.photoBox .photoBox-drawerTab .icon {
  font-size: 1.5rem;
}
.photoBox .photoBox-drawerTab .month {
  font-size: 0.75rem;
  display: block;
}

/*! ----- Quick Stats ------ */
.quickStat {
  text-align: center;
}
.quickStat .stat {
  font-weight: bold;
  font-size: 3.5rem;
  color: inherit;
}
.quickStat .statIcon {
  font-size: 3.5rem;
  position: relative;
  width: 92px;
  margin: 0 auto;
}
.quickStat .statIcon .icon {
  position: relative;
  left: 5px;
}
.quickStat .statTitle {
  font-size: 1.25rem;
  margin: 1rem 0;
  font-style: italic;
}

/*! ----- CTA Component ------ */
.cta-component {
  --gradient-start-color: var(--theme-background);
}
.cta-component .button {
  margin-bottom: 0;
}

.cta-component .grid-container {
  position: relative;
}

.cta-component--image {
  color: #151515;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

.cta-component--image::before,
.cta-component--gradient::before {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  opacity: 0.75;
  content: "";
}

.cta-component--image::before {
  background: var(--theme-background, transparent);
}

.cta-component--gradient::before {
  background: linear-gradient(var(--gradient-direction, to bottom), var(--gradient-start-color, #fff) 0%, var(--gradient-end-color, transparent) 100%);
}

.to-top {
  --gradient-direction: to top;
}

.to-right {
  --gradient-direction: to right;
}

.to-bottom {
  --gradient-direction: to bottom;
}

.to-left {
  --gradient-direction: to left;
}

.to-dark {
  --gradient-end-color: var(--clr-site-dark);
}

.to-light {
  --gradient-end-color: var(--clr-site-light);
}

.to-primary {
  --gradient-end-color: var(--clr-primary);
}

/*! ----- Multi Column  ------ */
@media print, screen and (min-width: 40em) {
  .col1-39, .col2-93 {
    width: 25%;
  }
  .col2-39, .col1-93 {
    width: 75%;
  }
  .col1-57, .col2-75 {
    width: 41.6666666667%;
  }
  .col2-57, .col1-75 {
    width: 58.3333333333%;
  }
  .col1-48, .col2-84 {
    width: 33.3333333333%;
  }
  .col2-48, .col1-84 {
    width: 66.6666666667%;
  }
}
/*! ----- Split Media / Text  ------ */
.splitContent-component {
  position: relative;
}
.splitContent-component.reversed {
  flex-direction: row-reverse;
}
.splitContent-component .image-as-background {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  padding-top: 30%;
}

.splitContent {
  align-items: center;
  position: relative;
}

.splitContent-media {
  height: 100%;
}

.splitContent {
  align-items: center;
  position: relative;
}

.splitContent-media {
  height: 100%;
}

.columnMedia {
  display: block;
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

.columnMedia--left {
  margin-right: 3rem;
}

.columnMedia--right {
  margin-left: 0;
}
@media screen and (min-width: 60em) {
  .columnMedia--right {
    margin-left: 3rem;
  }
}

.splitContent-column {
  flex: 1 0 100%;
  position: relative;
  padding: 4rem 1rem 2rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 325px;
  background-size: cover;
  background-position: center center;
  border: 10px solid white;
}
.splitContent-column.full-width-cover {
  border: none;
}
.splitContent-column.middle {
  justify-content: center;
}
.splitContent-column.bottom {
  justify-content: flex-end;
}
.hasSvg--bottom .splitContent-column {
  padding-bottom: calc(2rem + 5vw);
}
.hasSvg--top .splitContent-column {
  padding-top: calc(2rem + 5vw);
}
.splitContent-column::before {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  opacity: 1;
  content: "";
}
.splitContent-column.has-image::before {
  opacity: 0.75;
  background-color: inherit;
}

.splitContent-columnInner {
  margin: 0 auto;
  padding-right: 0.975rem;
  padding-left: 0.975rem;
  position: relative;
  z-index: 1;
}
.splitContent-columnInner > * {
  color: inherit;
}

@media print, screen and (min-width: 64em) {
  .splitContent-column {
    flex: 1 1 0px;
  }
  .splitContent-column.splitContent-center {
    flex: 0 0 auto;
    width: auto;
  }
  .splitContent-column .splitContent-columnInner {
    max-width: 568px;
  }
  .splitContent-left, .splitContent-center {
    border-right: 0;
  }
  .splitContent-left .splitContent-columnInner {
    margin-right: 0;
  }
  .splitContent-right .splitContent-columnInner {
    margin-left: 0;
  }
}
.splitContent-component.splitContent-component--dual-media .editorContent .columnContent {
  position: relative;
}
.splitContent-component.splitContent-component--dual-media .columnMedia {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
}
@media screen and (min-width: 60em) {
  .splitContent-component.splitContent-component--dual-media .columnMedia {
    display: block;
    min-height: 300px;
  }
}
.splitContent-component.splitContent-component--dual-media .columnMedia img {
  display: block;
  position: relative;
  max-width: 350px;
  margin: 1rem auto;
}
@media screen and (min-width: 60em) {
  .splitContent-component.splitContent-component--dual-media .columnMedia img {
    position: absolute;
    margin: 0 auto;
  }
  .splitContent-component.splitContent-component--dual-media .columnMedia img:nth-child(1) {
    top: -2.5rem;
    left: 0;
  }
  .splitContent-component.splitContent-component--dual-media .columnMedia img:nth-child(2) {
    bottom: -2.5rem;
    right: 0;
  }
}

/*! ----- Pop up Alert Module  ------ */
.corner-box {
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 100;
  opacity: 0;
  display: none;
}

.corner-box.box-left {
  right: auto;
  left: 15px;
}

.corner-box-header {
  padding: 10px 15px;
  transition: all 0.3s ease;
  font-weight: bold;
  font-size: 1.25rem;
  cursor: pointer;
}
.corner-box-header p {
  margin: 0;
  color: inherit;
  display: inline-block;
}

.corner-box-header img {
  width: 20px;
  margin: -2px 3px 0 0;
}

.corner-box-header img.no-title {
  margin: -2px 0 0;
}

.corner-box-main {
  border: 2px solid #fff;
  border-radius: 15px;
  transition: all 0.3s ease;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.3);
}

.corner-box-content {
  display: none;
  width: 340px;
  max-height: 445px;
  overflow-y: auto;
  color: #777;
}

.corner-box-content-inner {
  width: auto;
  font-size: 14px;
  background: #fff;
  margin: 0 10px 10px;
  padding: 1rem;
  border-radius: 4px;
}

.corner-box.open .corner-box-header {
  border-radius: 15px 15px 0 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.corner-box.open .corner-box-header:after {
  display: inline;
  width: 0;
  height: 0;
  border: inset 10px;
  content: "";
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: currentColor transparent transparent;
  right: 16px;
  left: auto;
}

.corner-box.open .corner-box-content {
  border-radius: 0 0 15px 15px;
}

@media only screen and (max-width: 370px) {
  .corner-box .corner-box-content {
    width: 100%;
  }
  .corner-box.open {
    right: 15px;
    left: 15px;
  }
}
@media only screen and (max-height: 660px) {
  .corner-box .corner-box-content {
    max-height: 320px;
  }
}
@media only screen and (max-height: 530px) {
  .corner-box .corner-box-content {
    max-height: 220px;
  }
}
@media only screen and (max-height: 430px) {
  .corner-box .corner-box-content {
    max-height: 180px;
  }
}
@media only screen and (max-height: 360px) {
  .corner-box .corner-box-content {
    max-height: 120px;
  }
}
.popup {
  padding: 0;
}

.popup-image {
  background-size: cover;
  background-position: center center;
  min-height: 50vh;
}

@media print, screen and (min-width: 40em) {
  .popup-image {
    min-height: 200px;
  }
}
.popup-text {
  padding: 1rem;
}

/* ----- Silent Salesman Styles ----- */
/*! ModuleStart::silent-salesman */
.corner-boxss {
  position: fixed;
  bottom: 10px;
  right: 15px;
  z-index: 500;
  opacity: 0;
  display: none;
}

.corner-boxss.box-left {
  right: auto;
  left: 15px;
}

.corner-boxss .boxheader {
  padding: 10px 15px;
  transition: all 0.3s ease;
}

.corner-boxss .boxheader img {
  width: 20px;
  margin: -2px 3px 0 0;
}

.corner-boxss .boxheader img.no-title {
  margin: -2px 0 0;
}

.corner-boxss .boxcontainer {
  border: 2px solid #fff;
  border-radius: 25px;
  -webkit-border-radius: 25px;
  transition: all 0.3s ease;
}

.corner-boxss .boxheader:hover {
  cursor: pointer;
}

.corner-boxss .boxheader p {
  margin: 0;
  color: #fff;
  font-size: 16px;
  font-family: "Cachet Bold", Arial, Helvetica, sans-serif;
  display: inline-block;
}

.corner-boxss .boxcontent {
  display: none;
  width: 340px;
  max-height: 445px;
  overflow-y: auto;
}

.corner-boxss .boxcontent p {
  color: #777;
}

.corner-boxss .boxwrapper {
  font-size: 14px;
  background: #fff;
  margin: 0 10px 10px;
  padding: 10px;
  border-radius: 6px;
  -webkit-border-radius: 6px;
}

.corner-boxss .boxwrapper p {
  font-size: 14px;
  margin: 0 auto 15px;
}

.corner-boxss .boxwrapper .button {
  margin: 0 auto;
  display: block;
}

.corner-boxss.open .boxheader {
  border-radius: 15px 15px 0 0;
  -webkit-border-radius: 15px 15px 0 0;
}

.corner-boxss.open .boxheader:after {
  content: "▼";
  position: absolute;
  right: 10px;
  color: #fff;
}

.corner-boxss.open .boxcontent {
  border-radius: 0 0 15px 15px;
  -webkit-border-radius: 0 0 15px 15px;
  display: block;
}

.corner-boxss.open .boxcontainer {
  border-radius: 15px;
  -webkit-border-radius: 15px;
}

@media only screen and (max-width: 370px) {
  .corner-boxss .boxcontent {
    width: 100%;
  }
  .corner-boxss.open {
    right: 15px;
    left: 15px;
  }
}
@media only screen and (max-height: 660px) {
  .corner-boxss .boxcontent {
    max-height: 320px;
  }
}
@media only screen and (max-height: 530px) {
  .corner-boxss .boxcontent {
    max-height: 220px;
  }
}
@media only screen and (max-height: 430px) {
  .corner-boxss .boxcontent {
    max-height: 180px;
  }
}
@media only screen and (max-height: 360px) {
  .corner-boxss .boxcontent {
    max-height: 120px;
  }
}
/*! ModuleEnd::silent-salesman */
/* ----- Floating Login Box  ----- */
.login_minibox {
  position: fixed;
  top: 270px;
  right: 0;
  width: 210px;
  z-index: 999;
  -webkit-box-shadow: 2px 3px 6px #222222;
  box-shadow: 2px 3px 6px #222222;
}

.lmb_close {
  cursor: pointer;
  position: absolute;
  left: -9px;
  top: -7px;
  width: 26px;
  line-height: 26px;
  text-align: center;
  border-radius: 100% 100%;
  background: #3e3e3e;
  color: #fefefe;
}

.lmb_close span {
  display: block;
  font-size: 14px;
  font-weight: 200;
  -webkit-transform: scale(1.2, 1);
  transform: scale(1.2, 1);
}

h5.lmb_header {
  background: #008996;
  text-align: center;
  padding: 0;
  margin: 0;
  line-height: 42px;
  height: 42px;
  text-transform: uppercase;
  text-align: center;
  overflow: hidden;
  color: #fefefe;
}

.lmb_text {
  background: #e6e6e6;
  padding: 13px 18px;
  font-size: 14px;
  color: #3e3e3e;
}

.lmb_text a {
  color: #3e3e3e;
}

.lmb_text a:hover {
  color: #008996;
}

.lmb_form form div {
  background: rgba(255, 255, 255, 0.85);
  padding: 5px 35px;
}

.lmb_form form div.container {
  padding: 2px 13px;
  position: relative;
}

.lmb_form form div.firstrow {
  padding-top: 13px;
}

.lmb_form form div.lastrow {
  padding-bottom: 13px;
}

.lmb_form div input[type=password], .lmb_form form div input[type=text] {
  border: 0;
  background: #fefefe;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  height: 24px;
  padding: 5px 12px 3px;
  line-height: 16px;
  width: 100%;
  color: #000;
  font-size: 14px;
  text-align: center;
}

.lmb_form form button[type=submit] {
  display: block;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer;
  background: #008996;
  color: #fefefe;
  font-size: 18px;
  margin: 0;
  padding: 0;
  text-transform: uppercase;
  line-height: 42px;
  height: 42px;
  border: 0;
  outline: 0;
}

.lmb_form form button[type=submit].saving {
  cursor: default;
  pointer-events: none;
  background: rgba(180, 185, 200, 0.85);
}

.lmb_form span.dashboard_button {
  text-align: center;
  display: block;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer;
  background: #394a59;
  color: #fefefe;
  font-size: 18px;
  margin: 0;
  padding: 0;
  text-transform: uppercase;
  line-height: 42px;
  height: 42px;
  border: 0;
  outline: 0;
}

.lmb_form span.dashboard_button.saving {
  cursor: default;
  pointer-events: none;
  background: #394a59;
}

.lmb_form .button {
  padding: 5px 14px 7px 14px;
  display: inline-block;
  border: 0;
  font-weight: 500;
  outline: 0;
  font-size: 13px;
  cursor: pointer;
  width: auto;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 -1px 0 0 rgba(0, 0, 0, 0.2);
  box-shadow: inset 0 -1px 0 0 rgba(0, 0, 0, 0.2);
  letter-spacing: -0.2px;
}

.lmb_form .cta_button {
  text-align: center;
  margin: 0 auto;
  padding: 13px;
  background: 0 0;
}

.lmb_form .button i {
  margin: 0 2px 0 -1px;
  height: 14px;
}

.lmb_form .button i.halflings {
  margin: 2px 0 0 -1px;
}

.lmb_form .button.medium {
  padding: 9px 18px;
  font-size: 14px;
}

.lmb_form .button.gray {
  color: #fefefe;
  background: #cacaca;
  -webkit-box-shadow: inset 0 -1px 0 0 rgba(0, 0, 0, 0.4);
  box-shadow: inset 0 -1px 0 0 rgba(0, 0, 0, 0.4);
}

.lmb_form .button.gray:hover {
  background: #008996;
  -webkit-box-shadow: inset 0 -1px 0 0 rgba(0, 0, 0, 0.2);
  box-shadow: inset 0 -1px 0 0 rgba(0, 0, 0, 0.2);
}

.lmb_form .button.light {
  color: #fefefe;
  background: #aaa;
  -webkit-box-shadow: inset 0 -1px 0 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 0 rgba(0, 0, 0, 0.15);
}

.lmb_form .button.light:hover {
  background: #008996;
  -webkit-box-shadow: inset 0 -1px 0 0 rgba(0, 0, 0, 0.2);
  box-shadow: inset 0 -1px 0 0 rgba(0, 0, 0, 0.2);
}

.lmb_form .button.color {
  color: #fefefe;
  background: #008996;
  -webkit-box-shadow: inset 0 -1px 0 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 0 rgba(0, 0, 0, 0.15);
}

.lmb_form .button.color:hover {
  color: #fefefe;
  background: #aaa;
  -webkit-box-shadow: inset 0 -1px 0 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 0 rgba(0, 0, 0, 0.15);
}

.lmb_form form div input::-webkit-input-placeholder, .lmb_form form div textarea::-webkit-input-placeholder {
  color: #000;
}

.lmb_form form div input:-ms-input-placeholder, .lmb_form form div textarea:-ms-input-placeholder {
  color: #000;
}

.lmb_form form div input:-moz-placeholder, .lmb_form form div textarea:-moz-placeholder {
  color: #000;
  opacity: 1;
}

.lmb_form form div input::-moz-placeholder, .lmb_form form div textarea::-moz-placeholder {
  color: #000;
  opacity: 1;
}

.lmb_form .loginBoxLink span.dashboard_button {
  border-bottom: 1px solid #fefefe;
}

.lmb_form .loginBoxLink:last-child span.dashboard_button {
  border-bottom: none !important;
}

.lmb_form .loginBoxLink.dark span.dashboard_button {
  color: #222222;
}

.theme-primary {
  --theme-background: var(--clr-primary);
  background-color: var(--clr-primary);
  color: var(--clr-on-primary, var(--clr-on-light));
}

.theme-primary-vars {
  --theme-background: var(--clr-primary);
  --theme-on-color: var(--clr-on-primary, var(--clr-on-light));
}

.bg-primary {
  background-color: var(--clr-primary);
}

.text-primary {
  color: var(--clr-primary);
}

.text-on-primary {
  color: var(--clr-on-primary, inherit);
}

.theme-primary-dark {
  --theme-background: var(--clr-primary-dark);
  background-color: var(--clr-primary-dark);
  color: var(--clr-on-primary-dark, var(--clr-on-light));
}

.theme-primary-dark-vars {
  --theme-background: var(--clr-primary-dark);
  --theme-on-color: var(--clr-on-primary-dark, var(--clr-on-light));
}

.bg-primary-dark {
  background-color: var(--clr-primary-dark);
}

.text-primary-dark {
  color: var(--clr-primary-dark);
}

.text-on-primary-dark {
  color: var(--clr-on-primary-dark, inherit);
}

.theme-primary-light {
  --theme-background: var(--clr-primary-light);
  background-color: var(--clr-primary-light);
  color: var(--clr-on-primary-light, var(--clr-on-light));
}

.theme-primary-light-vars {
  --theme-background: var(--clr-primary-light);
  --theme-on-color: var(--clr-on-primary-light, var(--clr-on-light));
}

.bg-primary-light {
  background-color: var(--clr-primary-light);
}

.text-primary-light {
  color: var(--clr-primary-light);
}

.text-on-primary-light {
  color: var(--clr-on-primary-light, inherit);
}

.theme-secondary {
  --theme-background: var(--clr-secondary);
  background-color: var(--clr-secondary);
  color: var(--clr-on-secondary, var(--clr-on-light));
}

.theme-secondary-vars {
  --theme-background: var(--clr-secondary);
  --theme-on-color: var(--clr-on-secondary, var(--clr-on-light));
}

.bg-secondary {
  background-color: var(--clr-secondary);
}

.text-secondary {
  color: var(--clr-secondary);
}

.text-on-secondary {
  color: var(--clr-on-secondary, inherit);
}

.theme-secondary-dark {
  --theme-background: var(--clr-secondary-dark);
  background-color: var(--clr-secondary-dark);
  color: var(--clr-on-secondary-dark, var(--clr-on-light));
}

.theme-secondary-dark-vars {
  --theme-background: var(--clr-secondary-dark);
  --theme-on-color: var(--clr-on-secondary-dark, var(--clr-on-light));
}

.bg-secondary-dark {
  background-color: var(--clr-secondary-dark);
}

.text-secondary-dark {
  color: var(--clr-secondary-dark);
}

.text-on-secondary-dark {
  color: var(--clr-on-secondary-dark, inherit);
}

.theme-secondary-light {
  --theme-background: var(--clr-secondary-light);
  background-color: var(--clr-secondary-light);
  color: var(--clr-on-secondary-light, var(--clr-on-light));
}

.theme-secondary-light-vars {
  --theme-background: var(--clr-secondary-light);
  --theme-on-color: var(--clr-on-secondary-light, var(--clr-on-light));
}

.bg-secondary-light {
  background-color: var(--clr-secondary-light);
}

.text-secondary-light {
  color: var(--clr-secondary-light);
}

.text-on-secondary-light {
  color: var(--clr-on-secondary-light, inherit);
}

.theme-dark {
  --theme-background: var(--clr-site-dark);
  background-color: var(--clr-site-dark);
  color: var(--clr-on-dark, var(--clr-on-light));
}

.theme-dark-vars {
  --theme-background: var(--clr-site-dark);
  --theme-on-color: var(--clr-on-dark, var(--clr-on-light));
}

.bg-dark {
  background-color: var(--clr-site-dark);
}

.text-dark {
  color: var(--clr-site-dark);
}

.text-on-dark {
  color: var(--clr-on-dark, inherit);
}

.theme-medium {
  --theme-background: var(--clr-site-medium);
  background-color: var(--clr-site-medium);
  color: var(--clr-on-medium, var(--clr-on-light));
}

.theme-medium-vars {
  --theme-background: var(--clr-site-medium);
  --theme-on-color: var(--clr-on-medium, var(--clr-on-light));
}

.bg-medium {
  background-color: var(--clr-site-medium);
}

.text-medium {
  color: var(--clr-site-medium);
}

.text-on-medium {
  color: var(--clr-on-medium, inherit);
}

.theme-light {
  --theme-background: var(--clr-site-light);
  background-color: var(--clr-site-light);
  color: var(--clr-on-light);
}

.theme-light-vars {
  --theme-background: var(--clr-site-light);
  --theme-on-color: var(--clr-on-light);
}

.bg-light {
  background-color: var(--clr-site-light);
}

.text-light {
  color: var(--clr-site-light);
}

.text-on-light {
  color: var(--clr-on-light, inherit);
}

.theme-sky {
  --theme-background: var(--clr-sky);
  background-color: var(--clr-sky);
  color: var(--clr-on-sky, var(--clr-on-light));
}

.theme-sky-vars {
  --theme-background: var(--clr-sky);
  --theme-on-color: var(--clr-on-sky, var(--clr-on-light));
}

.bg-sky {
  background-color: var(--clr-sky);
}

.text-sky {
  color: var(--clr-sky);
}

.text-on-sky {
  color: var(--clr-on-sky, inherit);
}

.theme-pomegranate {
  --theme-background: var(--clr-pomegranate);
  background-color: var(--clr-pomegranate);
  color: var(--clr-on-pomegranate, var(--clr-on-light));
}

.theme-pomegranate-vars {
  --theme-background: var(--clr-pomegranate);
  --theme-on-color: var(--clr-on-pomegranate, var(--clr-on-light));
}

.bg-pomegranate {
  background-color: var(--clr-pomegranate);
}

.text-pomegranate {
  color: var(--clr-pomegranate);
}

.text-on-pomegranate {
  color: var(--clr-on-pomegranate, inherit);
}

.theme-forest {
  --theme-background: var(--clr-forest);
  background-color: var(--clr-forest);
  color: var(--clr-on-forest, var(--clr-on-light));
}

.theme-forest-vars {
  --theme-background: var(--clr-forest);
  --theme-on-color: var(--clr-on-forest, var(--clr-on-light));
}

.bg-forest {
  background-color: var(--clr-forest);
}

.text-forest {
  color: var(--clr-forest);
}

.text-on-forest {
  color: var(--clr-on-forest, inherit);
}

.theme-sage {
  --theme-background: var(--clr-sage);
  background-color: var(--clr-sage);
  color: var(--clr-on-sage, var(--clr-on-light));
}

.theme-sage-vars {
  --theme-background: var(--clr-sage);
  --theme-on-color: var(--clr-on-sage, var(--clr-on-light));
}

.bg-sage {
  background-color: var(--clr-sage);
}

.text-sage {
  color: var(--clr-sage);
}

.text-on-sage {
  color: var(--clr-on-sage, inherit);
}

.theme-sufganiyot {
  --theme-background: var(--clr-sufganiyot);
  background-color: var(--clr-sufganiyot);
  color: var(--clr-on-sufganiyot, var(--clr-on-light));
}

.theme-sufganiyot-vars {
  --theme-background: var(--clr-sufganiyot);
  --theme-on-color: var(--clr-on-sufganiyot, var(--clr-on-light));
}

.bg-sufganiyot {
  background-color: var(--clr-sufganiyot);
}

.text-sufganiyot {
  color: var(--clr-sufganiyot);
}

.text-on-sufganiyot {
  color: var(--clr-on-sufganiyot, inherit);
}

.bg-theme {
  background-color: var(--theme-background);
}

.theme-primary h1,
.theme-primary h2,
.theme-primary h3,
.theme-primary h4,
.theme-primary h5,
.theme-primary h6,
.theme-primary p,
.theme-primary address,
.theme-dark h1,
.theme-dark h2,
.theme-dark h3,
.theme-dark h4,
.theme-dark h5,
.theme-dark h6,
.theme-dark p,
.theme-dark address {
  color: unset;
}

/*! ----- Traditional Freedom Module Styles ------ */
/*! ---------------General Module Styles--------------- */
#editAnywhere {
  display: none;
}

.lister-striped .lister-item {
  padding: 1rem;
}
.lister-striped .lister-item:nth-child(odd) {
  background-color: #e6e6e6;
}

.lister-border-bottom .lister-item {
  border-bottom: 2px solid rgba(0, 0, 0, 0.1);
}

.lister-item {
  display: flex;
  flex-flow: row wrap;
  position: relative;
  clear: both;
  margin: 1em 0 0.5em;
  padding-bottom: 1em;
  padding-top: 1rem;
}

.lister-title a {
  color: inherit;
}

.lister-image {
  max-width: 400px;
  width: 300px;
  flex: 0 1 auto;
  margin-right: 2rem;
  text-align: center;
}

.lister-date {
  color: #8a8a8a;
}

.lister-content {
  flex: 1 1 50%;
  position: relative;
}

.lister-dateIcon {
  position: relative;
  margin: 1rem 1rem 2rem 1rem;
  align-self: flex-start;
  background: #222222;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  text-align: center;
  line-height: 1;
  padding: 1rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  color: white;
}
.lister-dateIcon .day {
  font-size: 1.5rem;
  font-weight: bold;
}

.lister-item--boxed {
  padding: 1rem;
  background: var(--clr-site-medium);
}

.lister-badge {
  position: absolute;
  top: 0;
  padding: 10px 20px;
  line-height: 1;
  border-radius: 4px;
  text-transform: none;
  font-size: 1rem;
  background: var(--clr-secondary);
  font-weight: 600;
  color: white;
}

.lister-item--boxed .lister-badge {
  right: -1rem;
  border-radius: 4px 0 0 4px;
}

.lister-cornerBadge {
  padding-top: unset;
}

.lister-cornerBadge::before {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  width: 0;
  height: 0;
  border: 40px solid var(--lister-cornerbadge-color, var(--clr-primary));
  border-right-color: transparent;
  border-bottom-color: transparent;
  overflow: visible;
  content: "";
}

.lister-action {
  align-self: center;
  padding-left: 1rem;
}

.lister-action .arrowLink {
  color: var(--anchor-color);
}

.cardGridLister .lister-title {
  font-size: 1.125rem;
  font-weight: bold;
}
.cardGridLister .gridItem {
  margin-bottom: 1rem;
}
.cardGridLister .cell .card {
  height: 100%;
}

.mini-lister .lister-item {
  border: 0;
}

.lister-search {
  align-items: flex-end;
}

.lister-searchLabel {
  margin-bottom: 1rem;
}

.lister-searchItem {
  margin-right: 1rem;
}

.lister-subHeader {
  margin: 2rem 0;
}

/*! common elements across modules */
.label {
  font-weight: bold;
  margin-right: 10px;
}

.date {
  font-weight: bold;
}

.imageLink {
  float: left;
}

.category {
  color: var(--category-color);
  text-transform: uppercase;
  font-weight: bold;
}

.tags a {
  background: #e6e6e6;
  border-radius: 4px;
  font-size: 0.8rem;
  color: #484848;
  display: inline-block;
  padding: 3px 6px;
  margin-right: 2px;
}
.tags a:hover {
  color: #222222;
}

.tagCloud {
  margin-bottom: 2rem;
}

.tagCloudBox {
  border: 2px solid #ddd;
  border-radius: 4px;
  padding: 12px;
}

.tagCloud a {
  margin: 2px;
}
.tagCloud a:hover {
  color: #222222;
}

.utilityLinks {
  margin-top: 25px;
}

.comments {
  margin-top: 12px;
}

.comment {
  padding: 10px;
  background: #e6e6e6;
  margin-bottom: 15px;
  border: 1px solid #ccc;
}

.comment .info {
  color: #333;
  font-weight: 600;
  margin-bottom: 10px;
}

.errorMessage {
  font-weight: bold;
  color: #f00;
}

.archive {
  margin-bottom: 2rem;
}

.archive .year > a {
  background-color: var(--archive-bg-color);
  font-size: 1.125rem;
  color: var(--clr-on-dark);
}

.inline-form input, .inline-form select {
  width: auto;
  display: inline-block;
}

.inline-form .button {
  margin-bottom: 0;
}

.moduleHeaderFilters .freedomCategoryFilter {
  float: left;
  margin-left: 1rem;
}

.freedomFilterLabel {
  font-weight: 600;
}

/*! Pagination */
.pagination {
  clear: both;
  display: block;
}

.pagination a, .pagination a:visited {
  text-decoration: none;
  color: #222222;
  font-weight: normal;
}

.pagination .prevnextCurrent, .pagination .prevnextWindow, .pagination .prevnextWindowArrow, .pagination .prevnextLink {
  background-color: #e6e6e6;
  border: 1px solid #e6e6e6;
  margin: 0;
  padding: 0.4em 0.7em;
  font-size: 0.875rem;
  margin-right: 2px;
  display: inline-block;
  border-radius: 0;
}

.pagination .pageLinkPrev a {
  background-color: #e6e6e6;
  color: #222222;
}

.pagination .pageLinkNext a {
  background-color: #e6e6e6;
  color: #222222;
}

.pagination .prevnextWindow:hover, .pagination .prevnextLink:hover, .pagination .prevnextWindowArrow:hover {
  border: 1px solid var(--clr-primary);
  color: #222222;
  background-color: #e6e6e6;
}

.pagination .prevnextCurrent {
  background: var(--clr-primary);
  color: #fefefe;
  border: 1px solid var(--clr-primary);
  font-weight: bold;
}

/* End Pagination */
/*! ModuleBegin::forms */
.formContent {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 36px;
}

.formSubGroup {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.formSubGroup .formGroup--medium {
  width: calc(50% - 0.75rem);
}

.formFieldset, .formStaticText {
  width: 100%;
}

.formGroup {
  display: block;
  margin-bottom: 0.5em;
  position: relative;
  z-index: 0;
  width: 100%;
  align-self: center;
}

@media print, screen and (min-width: 64em) {
  .formGroup {
    margin-bottom: 1em;
  }
}
fieldset.formInput-group {
  border: 2px solid #e6e6e6;
  border-radius: 0;
  padding: 0.75rem;
}

fieldset.formInput-group legend {
  padding: 0 8px 0 5px;
}

.formInput-columns {
  display: flex;
  flex-flow: row wrap;
}

.formInput-columns label {
  flex: 0 1 auto;
  width: 100%;
  margin-bottom: 1rem;
}

.formInput-columns label input {
  margin-bottom: 0;
}

@media screen and (min-width: 40em) {
  .formInput-columns.columns-auto label {
    flex: 1 1 10%;
    width: auto;
  }
  .formInput-columns.columns-2 label {
    width: 50%;
  }
  .formInput-columns.columns-3 label {
    width: 33%;
  }
  .formInput-columns.columns-4 label {
    width: 25%;
  }
  .formInput-columns.columns-5 label {
    width: 20%;
  }
}
.formGroup--aligned {
  display: flex;
  align-items: center;
}

.formGroup--aligned .formLabel {
  white-space: nowrap;
  flex: 1 1 auto;
  padding-right: 0.75rem;
  margin-bottom: 1rem;
}

.formGroup--checkbox.formGroup--aligned input {
  margin-bottom: 0;
}

@media (min-width: 64em) {
  .formGroup--quarter {
    width: calc(25% - 0.75rem);
  }
  .formGroup--small {
    width: calc(33.333% - 0.75rem);
  }
  .formGroup--medium {
    width: calc(50% - 0.75rem);
  }
  .formGroup--large {
    width: calc(66.666% - 0.75rem);
  }
  .formGroup--full {
    width: 100%;
  }
}
.formNavigation {
  margin-bottom: 50px;
  display: flex;
  justify-content: space-around;
  width: 100%;
}

.button + .formNavigation-next {
  margin-left: auto;
}

.formInput[type=file] {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.0375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 2px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  box-shadow: inset 0 1px 2px rgba(34, 34, 34, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.1;
  color: #222222;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  height: auto;
  padding: 0.25rem;
}
.formInput[type=file]:focus {
  outline: none;
  border: 2px solid #8a8a8a;
  background-color: #fefefe;
  box-shadow: 0 0 5px #cacaca;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
}

input[type=radio], input[type=checkbox] {
  position: relative;
  -webkit-appearance: none;
  appearance: none;
  background-color: #fefefe;
  width: 1.5rem;
  height: 1.5rem;
  border: 2px solid #cacaca;
  outline: none;
}

input[type=radio] {
  border-radius: 50%;
  vertical-align: top;
}

input[type=radio]::after {
  position: absolute;
  top: 2px;
  left: 2px;
  right: 2px;
  bottom: 2px;
  border: 2px solid #fff;
  border-radius: 50%;
}

input[type=radio]:checked {
  background: #222222;
  border-color: #222222;
}

input[type=radio]:checked::after {
  content: " ";
}

input[type=checkbox] {
  vertical-align: top;
}

input[type=checkbox]::after {
  position: absolute;
  top: 50%;
  left: 5px;
  width: 0.6rem;
  height: 1rem;
  font-size: 1.5rem;
  line-height: 1.5rem;
  margin-top: -0.75rem;
  color: #222222;
  vertical-align: middle;
  text-align: center;
  background-color: transparent;
  border-bottom: 3px solid;
  border-right: 3px solid;
  transform: rotate(45deg);
  box-sizing: border-box;
}

input[type=checkbox]:checked {
  border-color: #222222;
}

input[type=checkbox]:checked::after {
  content: " ";
}

.formGroup .formLabel {
  font-weight: 500;
  font-size: 0.9rem;
}

.formLabel.formLabel--required::after {
  content: "*";
  color: red;
}

/*! basic calendar popup css */
#ui-datepicker-div {
  background: #fff;
  border: 2px solid #333;
}

.ui-datepicker {
  width: 20em;
  display: none;
}

.ui-datepicker .ui-datepicker-header {
  position: relative;
  padding: 0.2em 0;
  background: #333;
  color: #fff;
}

.ui-datepicker .ui-datepicker-header a {
  color: #fff;
}

.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next {
  position: absolute;
  top: 0;
  width: 70px;
  height: 1.8em;
}

.ui-datepicker .ui-datepicker-prev {
  left: 2px;
  text-align: left;
}

.ui-datepicker .ui-datepicker-next {
  right: 2px;
  text-align: right;
}

.ui-datepicker .ui-datepicker-prev span {
  cursor: pointer;
  display: block;
  position: absolute;
  left: 10px;
  top: 50%;
  margin-top: -8px;
}

.ui-datepicker .ui-datepicker-next span {
  cursor: pointer;
  display: block;
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -8px;
}

.ui-datepicker .ui-datepicker-title {
  margin: 0 2.3em;
  line-height: 1.8em;
  text-align: center;
}

.ui-datepicker .ui-datepicker-title select {
  font-size: 1em;
  margin: 1px 0;
}

.ui-datepicker select.ui-datepicker-month, .ui-datepicker select.ui-datepicker-year {
  width: 45%;
}

.ui-datepicker table {
  width: 100%;
  font-size: 0.9em;
  border-collapse: collapse;
  margin: 0 0 0.4em;
}

.ui-datepicker th {
  padding: 0.7em 0.3em;
  text-align: center;
  font-weight: bold;
  border: 0;
}

.ui-datepicker td {
  border: 0;
  padding: 1px;
}

.ui-datepicker td span, .ui-datepicker td a {
  display: block;
  padding: 0.2em;
  text-align: center;
  text-decoration: none;
}

.ui-datepicker .ui-datepicker-buttonpane {
  background-image: none;
  margin: 0.7em 0 0 0;
  padding: 0 0.2em;
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
}

.ui-datepicker .ui-datepicker-buttonpane button {
  float: right;
  margin: 0.5em 0.2em 0.4em;
  cursor: pointer;
  padding: 0.2em 0.6em 0.3em 0.6em;
  width: auto;
  overflow: visible;
}

.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
  float: left;
}

/*! ModuleEnd::forms */
/*! ModuleBegin::membership */
.loginBox {
  margin: 0 auto;
  max-width: 450px;
  min-height: 522px;
  width: 100%;
  border-radius: 0;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
  overflow: hidden;
  z-index: 1;
  background: #e6e6e6;
  position: relative;
  transition: top 450ms;
  top: 0;
}

.primaryLogin.loginBox {
  max-width: 932px;
  top: -80px;
}

.loginForm, .loginCta {
  padding: calc(1rem + 2vw);
  display: flex;
  flex-flow: column;
}

.loginForm {
  background: #fefefe;
}

.loginCta {
  justify-content: center;
  min-height: 250px;
}

.membershipModule .companyInfo {
  margin: 1em 0;
}

.membershipModule .address {
  margin: 1em 0;
}

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

.membershipModule .thumbnail {
  float: left;
  margin-right: 20px;
}

.membershipModule .detail-image {
  margin-right: 3rem;
}

/*! ----- Membership Lister ----- */
.membershipModule .lister-image {
  width: 190px;
}

.moduleSearchBox {
  background: #e6e6e6;
  border-top: 2px solid #cacaca;
  padding: 2rem;
  margin-bottom: 2rem;
}

.moduleSearchBox .formContent, .moduleSearchBox .formGroup {
  margin-bottom: 0;
}

/*! ---- Membership Detail ----- */
/*! ----- My Account ---- */
.membershipModule.myAccount .moduleHeader h2 {
  display: inline-block;
}

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

.myAccountLinks {
  margin-top: 35px;
  align-items: stretch;
}

.myAccountLinks .myAccountBox {
  border: 0;
  border-bottom: 6px solid var(--clr-secondary);
  padding: 12px 16px;
  height: 100%;
  background: #f9f9f9;
}

.myAccountLinks h3 {
  padding: 0 0 12px;
  margin: 0 0 12px;
  border-bottom: 1px solid #eee;
  font-size: 20px;
}

.myAccountLinks .myAccountBox h5 {
  color: #222;
}

.myAccountLinks .linkSection a {
  display: block;
  padding: 5px 0;
  color: inherit;
}

.myAccountLinks .button {
  text-align: center;
  padding-top: 25px;
}

.myAccountLinks .button a {
  margin: 0 0 10px;
}

/*! ----- My Account - Dispatch ( System Forms ) ---- */
.freedomAdminTableHeader, .freedomAdminTableHeader table {
  margin: 0;
}

.freedomAdminTableHeader tbody, .freedomAdminTableHeader tr {
  border: 0;
}

#freedomAdminTableHeaderWrapper table, #freedomAdminTableHeaderWrapper tbody, #freedomAdminTableHeaderWrapper tr {
  margin: 0;
  padding: 0;
  border: 0;
}

.myaccountForm tbody, .myaccountForm tr, .freedomAdminForm tbody, .freedomAdminForm tr {
  border: 0;
}
.myaccountForm input[name$=city], .myaccountForm input[name$=state], .myaccountForm input[name$=zip],
.myaccountForm #bank_acct_name, .myaccountForm #bank_aba_code, .myaccountForm select[name$=month], .myaccountForm select[name$=year],
.myaccountForm input[name$=time], .myaccountForm select[name$=time_ampm], .freedomAdminForm input[name$=city], .freedomAdminForm input[name$=state], .freedomAdminForm input[name$=zip],
.freedomAdminForm #bank_acct_name, .freedomAdminForm #bank_aba_code, .freedomAdminForm select[name$=month], .freedomAdminForm select[name$=year],
.freedomAdminForm input[name$=time], .freedomAdminForm select[name$=time_ampm] {
  width: auto;
  display: inline-block;
}
.myaccountForm select[name$=month], .myaccountForm select[name$=year], .freedomAdminForm select[name$=month], .freedomAdminForm select[name$=year] {
  width: 40%;
}
.myaccountForm input[name$=city], .freedomAdminForm input[name$=city] {
  width: 98%;
}
@media screen and (min-width: 40em) {
  .myaccountForm input[name$=city], .freedomAdminForm input[name$=city] {
    width: 50%;
  }
}

#myaccount_form > div {
  text-align: left;
  width: 100%;
}

.myaccountForm > table, .freedomAdminForm > table {
  width: 100%;
}

.myaccountForm > table td, .freedomAdminForm > table td {
  vertical-align: top;
}

.myaccountForm > table td:first-child, .freedomAdminForm > table td:first-child {
  padding-top: 14px;
  padding-right: 12px;
}

.myaccountForm > table table, table.freedomTable {
  width: 100%;
  border: 1px solid #ccc;
  background: #f8f8f8;
  margin: 0;
  border-spacing: 0;
  border-collapse: collapse;
}

.myaccountForm > table table td, table.freedomTable td, table.freedomTable th {
  vertical-align: middle;
  padding: 8px 12px;
}

.myaccountForm > table table thead td, table.freedomTable thead th {
  background: #ccc;
  color: #000;
}

.myaccountForm > table table thead td *, table.freedomTable thead th * {
  color: #000;
}

.myaccountForm > table table thead td:first-child, table.freedomTable thead th:first-child {
  text-align: left;
}

.editorLabel {
  display: inline-block;
  padding-bottom: 15px;
}

.myaccountDetail table {
  color: #444;
}

.myaccountDetail .formtextRequired, .myaccountDetail .formtext {
  padding: 5px 0;
}

.myaccountDetail .formtextRequired label {
  font-weight: bold;
}

.formButtons {
  padding-top: 15px;
}

select.filterCombo {
  width: 200px;
}

.imageBoxContainer {
  width: 100%;
  background: #eee;
  padding: 3px;
  line-height: 38px;
}

.imageBoxContainer * {
  vertical-align: middle !important;
  text-align: center;
}

.imageBoxContainer .imageBox {
  border: 4px solid #fff;
  background: #f8f8f8;
  display: inline-block;
  width: auto;
  margin: 8px;
  padding: 12px;
}

.myaccountMessage {
  display: block;
  padding: 18px;
  border: 2px dashed #777;
  background: #ddd;
  color: #000;
  font-size: 1.6rem;
  line-height: 22px;
  text-align: center;
  margin-bottom: 18px;
}

.myaccountMessage.defaultSuccess {
  background: white;
  border-color: #a1e887;
}

.myaccountCta {
  padding: 2rem;
}

.myaccount-infoContainer {
  background-color: var(--clr-site-dark);
  padding: 16px 0 1px 0;
  color: #fff;
  margin-bottom: 1rem;
}

.myaccount-infoBar {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
}

#freedomCompanySelect {
  font-size: 2rem;
  font-family: acumin-pro-condensed, sans-serif;
  background-color: #fff;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28155, 155, 155%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 11px 8px;
  border: none;
  width: auto;
  height: auto;
  border-bottom: 1px solid #ddd;
  padding-left: 0;
  margin: 0px 0 6px 10px;
}

.data-table th {
  background: #001f46;
  color: #fff;
  text-align: left;
  font-size: 14px;
}

.data-table td {
  font-size: 13px;
}

.data-table td.date {
  font-weight: 400;
}

.data-table tr:nth-child(odd) td {
  background: #f2f2f2;
}

.reveal .table-wrapper {
  width: 100%;
  overflow: scroll;
}

.reveal.wider {
  max-width: 860px;
  width: 100%;
}

.no-course, .no-res, .no-voucher {
  display: none;
}

@media screen and (max-width: 700px) {
  .data-table td {
    display: block;
    width: 100%;
  }
  .data-table th {
    display: none;
  }
  .data-table td:before {
    content: "";
    margin-right: 5px;
    display: inline-block;
    font-weight: bold;
  }
  .data-table td.name:before {
    content: "Name:";
  }
  .data-table td.email:before {
    content: "Email:";
  }
  .data-table td.course:before {
    content: "Course:";
  }
  .data-table td.ticket:before {
    content: "Ticket Type:";
  }
  .data-table td.price:before {
    content: "Price:";
  }
  .data-table td.status:before {
    content: "Status:";
  }
  .data-table td.date:before {
    content: "Date:";
  }
  .data-table td.reservation:before {
    content: "Reservation:";
  }
}
/*! ModuleEnd::membership */
/*! ModuleBegin::events */
/*! ----- Events Glance View ----- */
#eventForm table tbody {
  border: 0;
}

#eventCategoryFilter {
  max-width: 300px;
}

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

.calTop {
  margin-bottom: 0;
}

.calTop a,
.calTop button.calPrev,
.calTop button.calNext {
  transition: all 0.3s cubic-bezier(0.36, 0.53, 0.33, 1.01);
  opacity: 0.8;
  color: #ffffff;
  font-size: 1.25rem;
  cursor: pointer;
}

.calTop a:hover,
.calTop button.calPrev:hover,
.calTop button.calNext:hover {
  opacity: 1;
}

.calTop td {
  background-color: var(--clr-site-dark);
  vertical-align: middle;
  text-align: center;
  color: #ffffff;
}

.calMonth {
  text-align: center;
  font-family: var(--ff-alt-alpha);
  font-size: 1.25rem;
}

.calGrid {
  clear: both;
  margin-right: auto;
  margin-left: auto;
  background: transparent;
  width: 100%;
  border-collapse: collapse;
  text-align: center;
}

.calGrid tbody,
.calGrid tfoot,
.calGrid thead {
  border: 0;
  background: 0 0;
}

.calGrid td,
.calGrid tr {
  border: none;
  background: 0 0;
}

.calGrid td {
  position: relative;
  padding: 0;
  width: 14.2857%;
  height: 48px;
  vertical-align: middle;
  text-align: center;
}

.calGrid tr.calWeek {
  border: none;
  background-color: #e6e6e6;
  color: var(--clr-primary);
  text-align: center;
}

.calGrid tr.calWeek td {
  border-top: 0;
  border-left: 0;
  height: 33px;
  font-size: 1rem;
  font-weight: 700;
}

.calGrid td.today {
  background: #e6e6e6;
}

.calGrid .dayDate {
  display: block;
  margin-bottom: 10px;
  width: 100%;
  font-weight: 900;
}

.show-for-smallCalendar,
.show-for-largeCalendar {
  display: none;
}

.largeCalendar .show-for-largeCalendar {
  display: table-row;
}

.smallCalendar .show-for-smallCalendar {
  display: table-row;
}

.cal.smallCalendar {
  max-width: 450px;
}

.cal.smallCalendar .calGrid tr.calWeek td {
  border-top: 0;
  border-left: 0;
}

.cal.smallCalendar .calGrid td:first-child {
  border-left: 0;
}

.cal.smallCalendar .calGrid tr:first-child + tr td {
  border-top: 0;
}

.cal.smallCalendar .calGrid td .glanceInner {
  display: none;
  position: absolute;
  bottom: 20px;
  left: 50%;
  transition: all 0.3s;
  opacity: 0;
  margin-left: -78px;
  background: var(--clr-site-dark);
  padding: 8px 8px;
  width: 156px;
  text-transform: uppercase;
  line-height: 17px;
  color: #ffffff;
  font-size: 1.1rem;
}
.cal.smallCalendar .calGrid td .glanceInner a {
  display: inline-block;
  color: #ffffff;
  font-size: 0.8rem;
}
.cal.smallCalendar .calGrid td .glanceInner a:hover {
  text-decoration: underline;
}
.cal.smallCalendar .calGrid td .glanceInner::after {
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-8px);
  border-top: 8px solid var(--clr-site-dark);
  border-right: 8px solid transparent;
  border-left: 8px solid transparent;
  content: "";
}
.cal.smallCalendar .calGrid td:hover .glanceInner, .cal.smallCalendar .calGrid td.hovered .glanceInner {
  display: block;
  bottom: 38px;
  opacity: 1;
  z-index: 25;
}
.cal.smallCalendar .calGrid td.eventOn,
.cal.smallCalendar .calGrid td.eventOn a {
  cursor: pointer;
  font-weight: 700;
}
.cal.smallCalendar .calGrid td span.corner-indicator {
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 0;
  height: 0;
}
.cal.smallCalendar .calGrid td .indicator {
  display: none;
}

.cal.largeCalendar .calTop td {
  padding: 1rem;
}
.cal.largeCalendar .calGrid td {
  border-right: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
  padding: 0.5rem 0.625rem 1rem;
  height: 150px;
  vertical-align: top;
  text-align: left;
}
.cal.largeCalendar .calGrid td:first-child {
  border-left: 1px solid #e6e6e6;
}
.cal.largeCalendar .calGrid a {
  color: #222222;
}
.cal.largeCalendar .calGrid tr.calWeek td {
  border-right: 0;
  border-bottom: 0;
  height: auto;
  text-align: center;
}
.cal.largeCalendar .calGrid td .glanceInner {
  display: block;
  padding-top: 7px;
  line-height: 1.2;
  font-size: 1rem;
}
.cal.largeCalendar .calGrid .indicator {
  display: none;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 5px;
  text-align: center;
  color: var(--anchor-color);
  font-weight: bold;
  width: 100%;
}
.cal.largeCalendar .glanceInner.moreEvents + .indicator {
  display: block;
}

.glancePopup {
  display: none;
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  z-index: 1;
  border: 1px solid #d8d8d8;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
  background-color: #f6f6f6;
  padding: 1.5rem 1rem 1rem;
  width: 300px;
}

.glancePopup.active {
  display: block;
}

.glancePopup::after {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(-50%, -50%) rotate(45deg);
  box-shadow: -3px 3px 3px rgba(0, 0, 0, 0.1);
  background-color: inherit;
  width: 15px;
  height: 15px;
  content: "";
}

.glancePopup.left {
  right: 100%;
  left: auto;
}

.glancePopup.left::after {
  right: 0;
  left: auto;
  transform: translate(50%, -50%) rotate(45deg);
  box-shadow: 3px -1px 3px rgba(0, 0, 0, 0.1);
}

.glancePopup .close-button {
  top: 0;
  right: 0.5rem;
}

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

.glancePopup a,
.glanceInner a {
  display: block;
  margin-bottom: 10px;
}

.glanceInner .time {
  display: none;
}

.glanceInner.moreEvents a:nth-child(n+3) {
  display: none;
}

/*! ---- Events Registration ----- */
.ticketTypeSummary thead {
  background: var(--clr-site-dark);
  color: var(--clr-on-dark);
}

.ticketTypeSummary .ticketPriceTotal {
  text-align: right;
  font-size: 1.5rem;
  font-weight: bold;
}

.ticketTypeSummary .ticketPriceTotal td {
  border-top: 1px solid #cccccc;
}

.ticketQuantity {
  text-align: center;
}

td.ticketTotal,
.ticketPriceTotal td {
  text-align: right;
}

.eventTicketTypeTitle {
  margin: 20px auto;
  border-top: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
  padding: 10px 0;
  width: 100%;
  text-align: center;
  white-space: nowrap;
}

.eventTicketTypeTitle {
  counter-reset: attendee;
}

.attendeeLabel::after {
  content: " " counter(attendee);
  counter-increment: attendee;
}

#registrationSummary td {
  padding: 1px 10px;
}

.ticketTypeTable thead {
  background: var(--clr-site-dark);
  color: var(--clr-on-dark);
}

.ticketTypeTable {
  max-width: 650px;
}

.ticketTypeSubmit {
  display: inline-block;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  margin: 0 0 1rem 0;
  border: 1px solid transparent;
  border-radius: 2px;
  background: var(--btn-color);
  color: var(--btn-text-color);
  cursor: pointer;
  padding: 0.85em 1em;
  vertical-align: middle;
  text-align: center;
  line-height: 1;
  font-size: 0.9rem;
  font-weight: 600;
  -webkit-appearance: none;
}

/*! Detail*/
.negativeMarginTop {
  position: relative;
  z-index: 1;
  margin-top: 0;
}
@media screen and (min-width: 60em) {
  .negativeMarginTop {
    margin-top: -240px;
  }
}

.eventIntro {
  position: relative;
  margin-bottom: 3rem;
  box-shadow: 0 3px 20px rgba(0, 0, 0, 0.3);
  background: white;
}

.eventInfo {
  position: relative;
  padding: 2rem;
}
@media print, screen and (min-width: 64em) {
  .eventInfo {
    padding: 3rem;
  }
}
@media screen and (max-width: 40em) {
  .eventInfo {
    order: 2;
  }
}

.eventInfo-badge {
  position: absolute;
  top: 1rem;
  right: 0;
  border-radius: 0 0 0 0;
  background: var(--clr-secondary);
  padding: 5px;
  color: white;
  font-size: 1.125rem;
  font-weight: bold;
}

.detailRow {
  display: flex;
  margin-bottom: 1rem;
  flex-flow: row wrap;
}

.detailRow .label {
  width: 120px;
  flex: 0 0 auto;
}

.eventImage {
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (max-width: 40em) {
  .eventImage {
    width: 100%;
    height: 250px;
    order: 1;
  }
}

/*! ModuleEnd::events */
/*! ModuleBegin::photo */
/*! Photo Lister */
.albumBox {
  border: 1px solid #ddd;
  border-radius: 0;
  padding: 12px;
  box-sizing: border-box;
  position: relative;
  height: 100%;
}

.albumBox .albumImage {
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 86%;
  background-color: #ccc;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.albumBox .albumDesc {
  margin-bottom: 8px;
}

/*! Thumbnails */
.thumbnailItem {
  display: block;
  height: 0;
  padding-bottom: 86%;
  background-color: #ccc;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 4px;
  border: 4px solid #fff;
  box-shadow: 0 0 5px -2px rgba(0, 0, 0, 0.54);
}

.thumbnailItem:hover {
  border-color: var(--clr-primary);
  transition: border-color 0.1s ease;
}

/*! Slideshow */
.photoModuleSlideshow img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
}

/*! ModuleEnd::photo */
/* Product Add to Cart Widget */
.cartAddWidget {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-end;
  font-weight: bold;
}

.cartAddWidget > div {
  margin-right: 1rem;
}

.cartAddWidget .choice {
  display: block;
}

.cartAddSubmit input[type=submit] {
  padding: 10px 1.5rem;
}

.cartAddSubmit input[type=submit][disabled] {
  background: #999;
}

.cartAddQty input[type=text] {
  background-color: #fff;
}

.cartAddSelect select {
  background-color: #fff;
}

input.shoppingFormQuantity {
  width: auto;
  background: white;
}

/*! Carts */
.shoppingCart {
  margin-bottom: 1rem;
}
.shoppingCart .name {
  font-size: 18px;
  font-weight: bold;
}
.shoppingCart .shoppingFormQuantity {
  display: inline-block;
  margin-bottom: 0;
}
.shoppingCart .cartRow {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.cartSubDetails {
  font-size: 0.8em;
}

.cartDelete {
  color: #333;
}
.cartDelete:hover {
  color: #b52525;
}

.shoppingAlert {
  color: red;
}

.shoppingOutOfStock {
  color: #7e030e;
}

.shoppingLowStock {
  color: #e79700;
}

.shoppingCartTableHeader, .shoppingCartTableHeader td {
  background: var(--clr-site-dark);
  color: #fff;
  font-size: 1.125rem;
}

.shoppingCartTable {
  border: 1px solid #dcdcdc;
}

.shoppingCartTableFooter {
  font-size: 18px;
  font-weight: bold;
}

.shoppingCartTable .product.even, .shoppingCartTable .product.even + .discount {
  background-color: #f1f1f1;
}

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

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

.shoppingCartTable .description {
  text-align: left;
  font-size: 1.125rem;
}

.shoppingCartButtons {
  display: flex;
  justify-content: space-between;
}

.shoppingCartMini .total {
  font-weight: bold;
}
.shoppingCartMini .shoppingCartMini-summary {
  padding: 1rem 0;
  border-top: 1px solid #cacaca;
}

/*! Checkout page*/
#cart_charges_summary td {
  border-bottom: 1px solid #ddd;
  padding: 0.5em;
}

.cartTotalPrice {
  font-size: 18px;
}

/*! Checkout Form */
.checkout-form {
  counter-reset: section;
}

.checkout-heading {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  box-sizing: content-box;
  min-height: 2rem;
  padding: 0.5rem;
  background-color: var(--clr-secondary);
  color: var(--clr-on-secondary);
  text-transform: uppercase;
  text-align: center;
  font-size: 1rem;
  font-weight: 700;
  transition: background 200ms;
}

.checkout-form .step-bar::before {
  counter-increment: section;
  content: counter(section);
  margin-right: 1rem;
  background: white;
  color: #000;
  border-radius: 50%;
  height: 30px;
  width: 30px;
  line-height: 30px;
}

.checkout-panel {
  margin-bottom: 2em;
  border: 1px solid #DDD;
  padding: 1em;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}

#IDFormField_coupon_code_0, #IDFormField_giftcard_code_0 {
  width: calc(100% - 150px);
  display: inline-block;
}

#applyCouponBtn, #applyGiftCardBtn {
  vertical-align: bottom;
}

#refreshShippingBtn {
  display: none;
}

.checkout-form, .checkout-summary {
  width: 100%;
  flex: 1 1 100%;
  margin-right: 0.5rem;
  margin-left: 0.5rem;
}

#commerce_checkoutTable {
  display: flex;
  flex: 1 1 100%;
  flex-flow: row wrap;
}

@media screen and (min-width: 50em) {
  #commerce_checkoutTable {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }
  .checkout-form, .checkout-summary {
    flex: 0 1 auto;
  }
  .checkout-form {
    width: calc(60% - 1rem);
  }
  .checkout-summary {
    width: calc(40% - 1rem);
  }
}
/*! ModuleBegin::directory-staff */
.staff-item .lister-image {
  width: 150px;
}

.staff-item .lister-image .thumbnail {
  width: 150px;
  height: 200px;
  overflow: hidden;
  object-fit: cover;
  object-position: top;
  margin-bottom: 0;
}

.staff-item .lister-image .thumbnail.circle {
  border-radius: 50%;
  height: 150px;
}

.staff-item .lister-image .thumbnail.square {
  height: 150px;
}

.staff-item.lister-item {
  margin-bottom: 0.5rem;
  padding: 1rem;
}

.staff-lister--boxed {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
}
.staff-lister--boxed .lister-image .thumbnail {
  width: 140px;
  height: 140px;
  overflow: hidden;
  margin-bottom: 0;
}
.staff-lister--boxed .lister-item {
  margin: 0;
}

.staff-lister--alternating .lister-item:nth-child(4n+2),
.staff-lister--alternating .lister-item:nth-child(4n+3) {
  background: #e6e6e6;
}

.photoBox--staff .photoBox-drawer.vertical {
  padding-top: 0;
  transform: translateY(calc(100% - 100px));
}

/*! ModuleEnd::directory-staff*/
/*! ----- Group Exercise  ------ */
/*! ModuleBegin::directory-schedule */
#scheduleRawItems {
  display: none;
}

.pip {
  font-size: 7px;
  line-height: 14px;
  vertical-align: middle;
  margin-right: 0.5rem;
}
.pip.low {
  color: #bfc82e;
}
.pip.medium {
  color: #dd2b71;
}
.pip.high {
  color: #50bce1;
}

#scheduleToggle {
  display: none;
}

#scheduleWrapper {
  border: 2px solid #cacaca;
  border-radius: 4px;
  padding: 6px 10px;
}

.scheduleLabels {
  margin: 4px 0 0 87px;
  line-height: 30px;
  display: flex;
}
.scheduleLabels > div {
  flex: 1 0 auto;
  margin: 0 0.5%;
  text-align: center;
  font-weight: 700;
  width: 13%;
}
.scheduleLabels .scheduleDate {
  font-weight: 400;
}

.rowTitle {
  position: relative;
  margin: 16px 0;
  height: 2px;
  background: #c3c3c3;
  page-break-after: avoid;
  break-after: avoid;
}
.rowTitle span {
  position: absolute;
  left: 0;
  padding: 0 10px;
  line-height: 36px;
  font-size: 17px;
  top: -18px;
  background: #fff;
}

@media print {
  .rowTitle {
    border-top: 1px solid #c3c3c3;
  }
  .rowTitle span {
    top: unset;
  }
}
.rowDays {
  margin: 4px 0 0 87px;
  min-height: 20px;
  height: auto;
  display: flex;
  page-break-inside: avoid;
  break-inside: avoid;
}
.rowDays > div {
  width: 13%;
  margin: 0 0.5% 4px;
}
.rowDays .clear {
  display: none;
}

.scheduleItem .itemPopup {
  display: none;
}

.scheduleItem {
  background: rgba(0, 0, 0, 0.04);
  border-radius: 5px;
  text-align: left;
  padding: 3px;
  margin: 3px 0;
  cursor: pointer;
  font-size: 13px;
}

.scheduleItem .itemName {
  font-weight: 700;
}

.scheduleItem .itemTime {
  color: var(--schedule-accent);
  font-weight: 700;
}

.itemPopup .popupTitle {
  color: var(--schedule-accent);
  font-size: 26px;
  text-align: center;
  margin: 0 0 10px;
  border-bottom: 1px solid #c3c3c3;
}

.itemPopup .popupAlert {
  background: #ddd;
  padding: 1em;
  text-align: left;
  border-radius: 4px;
}

.itemPopup b {
  display: inline-block;
  width: 105px;
}

.itemPopup .popupLink {
  text-align: center;
  margin-top: 15px;
}

.scheduleFilter select {
  display: inline-block;
  width: 300px;
}

.scheduleFilter span {
  width: 150px;
  display: inline-block;
}

@media screen and (max-width: 63em) {
  #scheduleToggle {
    display: block;
  }
  .rowDays > div, .scheduleLabels > div {
    width: 100%;
    display: none;
  }
  .rowDays > div.currentSchedule, .scheduleLabels > div.currentSchedule {
    display: block;
  }
}
/*! ModuleEnd::directory-schedule */
#estimate_amount_table .amount {
  text-align: right;
}

input[type=text] {
  transition: all 0.2s ease-in-out;
}

#total_amount {
  font-weight: bold;
}

.repeatSectionWrap {
  padding: 1em;
  border: 1px solid #cacaca;
  margin-bottom: 1rem;
}

.formContent,
.formSectionContent {
  width: 100%;
}

.formSectionContent {
  display: none;
}

.formSectionContent.active {
  display: flex;
}

.formSectionHeading {
  background: #cacaca;
  color: #e6e6e6;
  padding-left: 0.5rem;
}

.formSectionHeading.active {
  background: #e6e6e6;
  color: #222222;
}

input.invalid,
select.invalid {
  border-color: red;
}

.validationErrors {
  color: red;
}

.takenMembershipTour-js,
.takenMembershipTourDate-js {
  transition: all 0.2s cubic-bezier(0.36, 0.53, 0.33, 1.01);
  -webkit-transition: all 0.2s cubic-bezier(0.36, 0.53, 0.33, 1.01);
  -moz-transition: all 0.2s cubic-bezier(0.36, 0.53, 0.33, 1.01);
}

#progressBar {
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 99999;
  top: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.7);
}

.cube-folding {
  width: 50px;
  height: 50px;
  display: inline-block;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
  font-size: 0;
}
.cube-folding span {
  position: relative;
  width: 25px;
  height: 25px;
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  transform: scale(1.1);
  display: inline-block;
}
.cube-folding span::before {
  content: "";
  background-color: #d7106d;
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 25px;
  height: 25px;
  -moz-transform-origin: 100% 100%;
  -ms-transform-origin: 100% 100%;
  -webkit-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
  -webkit-animation: folding 2.5s infinite linear both;
  -moz-animation: folding 2.5s infinite linear both;
  animation: folding 2.5s infinite linear both;
}
.cube-folding .cube2 {
  -webkit-transform: rotateZ(90deg) scale(1.1);
  -moz-transform: rotateZ(90deg) scale(1.1);
  transform: rotateZ(90deg) scale(1.1);
}
.cube-folding .cube2::before {
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
  background-color: #ff5859;
}
.cube-folding .cube3 {
  -webkit-transform: rotateZ(270deg) scale(1.1);
  -moz-transform: rotateZ(270deg) scale(1.1);
  transform: rotateZ(270deg) scale(1.1);
}
.cube-folding .cube3::before {
  -webkit-animation-delay: 0.9s;
  animation-delay: 0.9s;
  background-color: #2378d8;
}
.cube-folding .cube4 {
  -webkit-transform: rotateZ(180deg) scale(1.1);
  -moz-transform: rotateZ(180deg) scale(1.1);
  transform: rotateZ(180deg) scale(1.1);
}
.cube-folding .cube4::before {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
  background-color: #00b44e;
}

@-webkit-keyframes folding {
  0%, 10% {
    -webkit-transform: perspective(140px) rotateX(-180deg);
    -moz-transform: perspective(140px) rotateX(-180deg);
    transform: perspective(140px) rotateX(-180deg);
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
  }
  25%, 75% {
    -webkit-transform: perspective(140px) rotateX(0deg);
    -moz-transform: perspective(140px) rotateX(0deg);
    transform: perspective(140px) rotateX(0deg);
    -webkit-opacity: 1;
    -moz-opacity: 1;
    opacity: 1;
  }
  90%, 100% {
    -webkit-transform: perspective(140px) rotateY(180deg);
    -moz-transform: perspective(140px) rotateY(180deg);
    transform: perspective(140px) rotateY(180deg);
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
  }
}
@-moz-keyframes folding {
  0%, 10% {
    -webkit-transform: perspective(140px) rotateX(-180deg);
    -moz-transform: perspective(140px) rotateX(-180deg);
    transform: perspective(140px) rotateX(-180deg);
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
  }
  25%, 75% {
    -webkit-transform: perspective(140px) rotateX(0deg);
    -moz-transform: perspective(140px) rotateX(0deg);
    transform: perspective(140px) rotateX(0deg);
    -webkit-opacity: 1;
    -moz-opacity: 1;
    opacity: 1;
  }
  90%, 100% {
    -webkit-transform: perspective(140px) rotateY(180deg);
    -moz-transform: perspective(140px) rotateY(180deg);
    transform: perspective(140px) rotateY(180deg);
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
  }
}
@-ms-keyframes folding {
  0%, 10% {
    -webkit-transform: perspective(140px) rotateX(-180deg);
    -moz-transform: perspective(140px) rotateX(-180deg);
    transform: perspective(140px) rotateX(-180deg);
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
  }
  25%, 75% {
    -webkit-transform: perspective(140px) rotateX(0deg);
    -moz-transform: perspective(140px) rotateX(0deg);
    transform: perspective(140px) rotateX(0deg);
    -webkit-opacity: 1;
    -moz-opacity: 1;
    opacity: 1;
  }
  90%, 100% {
    -webkit-transform: perspective(140px) rotateY(180deg);
    -moz-transform: perspective(140px) rotateY(180deg);
    transform: perspective(140px) rotateY(180deg);
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
  }
}
@keyframes folding {
  0%, 10% {
    -webkit-transform: perspective(140px) rotateX(-180deg);
    -moz-transform: perspective(140px) rotateX(-180deg);
    transform: perspective(140px) rotateX(-180deg);
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
  }
  25%, 75% {
    -webkit-transform: perspective(140px) rotateX(0deg);
    -moz-transform: perspective(140px) rotateX(0deg);
    transform: perspective(140px) rotateX(0deg);
    -webkit-opacity: 1;
    -moz-opacity: 1;
    opacity: 1;
  }
  90%, 100% {
    -webkit-transform: perspective(140px) rotateY(180deg);
    -moz-transform: perspective(140px) rotateY(180deg);
    transform: perspective(140px) rotateY(180deg);
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
  }
}
.cube-wrapper {
  position: relative;
  height: 100px;
  text-align: center;
  transform: translateY(-150px);
}
.cube-wrapper:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -20px;
  margin: auto;
  width: 90px;
  height: 6px;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.1);
  -webkit-filter: blur(2px);
  filter: blur(2px);
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  border-radius: 100%;
  -webkit-animation: shadow 0.5s ease infinite alternate;
  -moz-animation: shadow 0.5s ease infinite alternate;
  animation: shadow 0.5s ease infinite alternate;
}
.cube-wrapper .loadingProgress {
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  display: block;
  color: #000000;
  font-family: ubuntu, sans-serif;
  position: relative;
  top: 25px;
  z-index: 2;
  -webkit-animation: text 0.5s ease infinite alternate;
  -moz-animation: text 0.5s ease infinite alternate;
  animation: text 0.5s ease infinite alternate;
}

@-webkit-keyframes text {
  100% {
    top: 35px;
  }
}
@-moz-keyframes text {
  100% {
    top: 35px;
  }
}
@-ms-keyframes text {
  100% {
    top: 35px;
  }
}
@keyframes text {
  100% {
    top: 35px;
  }
}
@-webkit-keyframes shadow {
  100% {
    bottom: -18px;
    width: 100px;
  }
}
@-moz-keyframes shadow {
  100% {
    bottom: -18px;
    width: 100px;
  }
}
@-ms-keyframes shadow {
  100% {
    bottom: -18px;
    width: 100px;
  }
}
@keyframes shadow {
  100% {
    bottom: -18px;
    width: 100px;
  }
}
/*!* animate.css -https://daneden.github.io/animate.css/
* Version - 3.7.2
* Licensed under the MIT license - http://opensource.org/licenses/MIT
*
* Copyright (c) 2019 Daniel Eden*/
@-webkit-keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}
@keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}
.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
}

@-webkit-keyframes flash {
  from, 50%, to {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
@keyframes flash {
  from, 50%, to {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
.flash {
  -webkit-animation-name: flash;
  animation-name: flash;
}

@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse;
}

@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand;
}

@-webkit-keyframes shake {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}
@keyframes shake {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}
.shake {
  -webkit-animation-name: shake;
  animation-name: shake;
}

@-webkit-keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
.headShake {
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-name: headShake;
  animation-name: headShake;
}

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
.swing {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing;
}

@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.tada {
  -webkit-animation-name: tada;
  animation-name: tada;
}

@-webkit-keyframes wobble {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes wobble {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble;
}

@-webkit-keyframes jello {
  from, 11.1%, to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
@keyframes jello {
  from, 11.1%, to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
.jello {
  -webkit-animation-name: jello;
  animation-name: jello;
  -webkit-transform-origin: center;
  transform-origin: center;
}

@-webkit-keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  28% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  28% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.heartBeat {
  -webkit-animation-name: heartBeat;
  animation-name: heartBeat;
  -webkit-animation-duration: 1.3s;
  animation-duration: 1.3s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
}

@-webkit-keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.bounceIn {
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn;
}

@-webkit-keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown;
}

@-webkit-keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft;
}

@-webkit-keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight;
}

@-webkit-keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp;
}

@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
.bounceOut {
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut;
}

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown;
}

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft;
}

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight;
}

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}

@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
}

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}

@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
}

@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig;
}

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft;
}

@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig;
}

@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight;
}

@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig;
}

@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
}

@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig;
}

@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) 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) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) 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) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}
@keyframes flip {
  from {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) 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) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) 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) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}
.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip;
}

@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX;
}

@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY;
}

@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
.flipOutX {
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
}

@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
.flipOutY {
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY;
}

@-webkit-keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}

@-webkit-keyframes lightSpeedOut {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
@keyframes lightSpeedOut {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}

@-webkit-keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn;
}

@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft;
}

@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight;
}

@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft;
}

@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight;
}

@-webkit-keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
@keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut;
}

@-webkit-keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft;
}

@-webkit-keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight;
}

@-webkit-keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft;
}

@-webkit-keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight;
}

@-webkit-keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
@keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-name: hinge;
  animation-name: hinge;
}

@-webkit-keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }
  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }
  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.jackInTheBox {
  -webkit-animation-name: jackInTheBox;
  animation-name: jackInTheBox;
}

@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn;
}

@-webkit-keyframes rollOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
@keyframes rollOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut;
}

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn;
}

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown;
}

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft;
}

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight;
}

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp;
}

@-webkit-keyframes zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
@keyframes zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
.zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut;
}

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown;
}

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}
@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}
.zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft;
}

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}
@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}
.zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight;
}

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp;
}

@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown;
}

@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft;
}

@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight;
}

@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp;
}

@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
.slideOutDown {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown;
}

@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft;
}

@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
.slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight;
}

@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
.slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp;
}

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

.animated.delay-1s {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}

.animated.delay-2s {
  -webkit-animation-delay: 2s;
  animation-delay: 2s;
}

.animated.delay-3s {
  -webkit-animation-delay: 3s;
  animation-delay: 3s;
}

.animated.delay-4s {
  -webkit-animation-delay: 4s;
  animation-delay: 4s;
}

.animated.delay-5s {
  -webkit-animation-delay: 5s;
  animation-delay: 5s;
}

.animated.fast {
  -webkit-animation-duration: 800ms;
  animation-duration: 800ms;
}

.animated.faster {
  -webkit-animation-duration: 500ms;
  animation-duration: 500ms;
}

.animated.slow {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}

.animated.slower {
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
}

@media (print), (prefers-reduced-motion: reduce) {
  .animated {
    -webkit-animation-duration: 1ms !important;
    animation-duration: 1ms !important;
    -webkit-transition-duration: 1ms !important;
    transition-duration: 1ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important;
  }
}