div[class^='pa-'],
div[class*=' pa-'] {
  box-sizing: border-box; }

.clearfix:after {
  clear: both;
  content: "";
  font-size: 0;
  height: 0;
  display: block;
  visibility: hidden; }

.pp-icon {
  display: inline-block;
  line-height: 1;
  text-align: center;
  transition: all .3s; }

.pp-icon i,
.pp-icon svg {
  width: 1em;
  height: 1em;
  position: relative;
  display: block; }

.pp-no-trans {
  transition: none; }

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

.pp-v-hidden {
  opacity: 0;
  visibility: hidden; }

.pp-icon {
  display: inline-block;
  line-height: 1;
  text-align: center;
  transition: all .3s; }

.pp-icon i,
.pp-icon svg {
  width: 1em;
  height: 1em;
  position: relative;
  display: block; }

.pp-no-trans {
  transition: none; }

.pp-pos-abs {
  position: absolute; }

.pp-media-content,
.pp-media-overlay,
.pp-image-overlay,
.pp-media-background {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0; }

.pp-media-overlay {
  transition: all 0.25s linear 0s; }

.pp-media-background {
  background-color: rgba(0, 0, 0, 0.2);
  background-size: cover; }

.pp-floating-element {
  position: fixed;
  z-index: 999; }
  .pp-floating-element-align-top-left .pp-floating-element {
    top: 0;
    right: 0; }
  .pp-floating-element-align-top-right .pp-floating-element {
    top: 0;
    left: 0; }
  .pp-floating-element-align-top-center .pp-floating-element {
    top: 0;
    right: 50%;
    transform: translateX(50%); }
  .pp-floating-element-align-middle-left .pp-floating-element {
    top: 50%;
    right: 0;
    transform: translateY(-50%); }
  .pp-floating-element-align-middle-right .pp-floating-element {
    top: 50%;
    left: 0;
    transform: translateY(-50%); }
  .pp-floating-element-align-bottom-left .pp-floating-element {
    bottom: 0;
    right: 0; }
  .pp-floating-element-align-bottom-right .pp-floating-element {
    bottom: 0;
    left: 0; }
  .pp-floating-element-align-bottom-center .pp-floating-element {
    bottom: 0;
    right: 50%;
    transform: translateX(50%); }

.pp-submit-button,
.pp-tooltip-click,
.pp-wrapper-link {
  cursor: pointer; }

.elementor-section.pp-animated-gradient-bg-yes,
.elementor-section.pp-animated-gradient-bg-yes .pp-animated-gradient-bg {
  background-size: 400% 400% !important;
  animation: AnimatedGradientBg 15s ease-in-out infinite;
  -webkit-animation: AnimatedGradientBg 15s ease-in-out infinite;
  -moz-animation: AnimatedGradientBg 15s ease-in-out infinite; }

.pp-animated-gradient-bg {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 100%; }

@keyframes AnimatedGradientBg {
  0% {
    background-position: 100% 50%; }
  50% {
    background-position: 0% 50%; }
  100% {
    background-position: 100% 50%; } }

@-webkit-keyframes AnimatedGradientBg {
  0% {
    background-position: 100% 50%; }
  50% {
    background-position: 0% 50%; }
  100% {
    background-position: 100% 50%; } }

.pp-elementor-grid {
  display: flex;
  flex-wrap: wrap;
  position: relative; }
  .pp-elementor-grid .pp-grid-item {
    position: relative; }
  .pp-elementor-grid .pp-grid-item-wrap {
    float: right;
    margin-bottom: 0;
    margin-right: 0;
    transition: background 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); }

/*--------------------------------------------------------------
## Widgets
--------------------------------------------------------------*/
.pp-contact-form input[type="text"],
.pp-contact-form input[type="email"],
.pp-contact-form input[type="url"],
.pp-contact-form input[type="tel"],
.pp-contact-form input[type="date"],
.pp-contact-form input[type="number"],
.pp-contact-form textarea {
  background: #fff;
  box-shadow: none;
  -webkit-box-shadow: none;
  float: none;
  height: auto;
  margin: 0;
  outline: 0;
  width: auto; }

.pp-contact-form input[type="submit"] {
  border: 0;
  float: none;
  height: auto;
  margin: 0;
  padding: 10px 20px;
  width: auto; }

.pp-contact-form input[type="submit"],
.pp-contact-form input[type="button"] {
  transition: all 0.25s linear 0s; }

.pp-contact-form.placeholder-hide input::-webkit-input-placeholder,
.pp-contact-form.placeholder-hide textarea::-webkit-input-placeholder {
  opacity: 0;
  visibility: hidden; }

.pp-contact-form.placeholder-hide input::-moz-placeholder,
.pp-contact-form.placeholder-hide textarea::-moz-placeholder {
  opacity: 0;
  visibility: hidden; }

.pp-contact-form.placeholder-hide input:-ms-input-placeholder,
.pp-contact-form.placeholder-hide textarea:-ms-input-placeholder {
  opacity: 0;
  visibility: hidden; }

.pp-contact-form.placeholder-hide input:-moz-placeholder,
.pp-contact-form.placeholder-hide textarea:-moz-placeholder {
  opacity: 0;
  visibility: hidden; }

.pp-custom-radio-checkbox input[type="checkbox"],
.pp-custom-radio-checkbox input[type="radio"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-style: solid;
  border-width: 0;
  outline: none;
  min-width: 1px;
  width: 15px;
  height: 15px;
  background: #ddd;
  padding: 3px; }
  .pp-custom-radio-checkbox input[type="checkbox"]:before,
  .pp-custom-radio-checkbox input[type="radio"]:before {
    content: "";
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    display: block; }
  .pp-custom-radio-checkbox input[type="checkbox"]:checked:before,
  .pp-custom-radio-checkbox input[type="radio"]:checked:before {
    background: #999;
    transition: all 0.25s linear 0s; }

.pp-custom-radio-checkbox input[type="radio"] {
  border-radius: 50%; }
  .pp-custom-radio-checkbox input[type="radio"]:before {
    border-radius: 50%; }

.pp-divider-wrap {
  font-size: 0;
  line-height: 0; }

.pp-divider {
  text-align: center; }
  .pp-divider-left .divider-border-left {
    display: none; }
  .pp-divider-right .divider-border-right {
    display: none; }

/**-- Horizontal --**/
.pp-divider-horizontal {
  border: 0;
  border-color: #000;
  border-bottom-width: 4px;
  border-top-width: 0px;
  display: inline-block;
  width: 80px;
  height: 0;
  border-style: dashed; }

/**-- Vertical --**/
.pp-divider-vertical {
  border: 0;
  display: inline-block;
  border-right: 2px solid #000;
  padding-bottom: 50px; }

/**-- divider with Text --**/
.divider-text-container {
  display: inline-block;
  max-width: 100%; }

.divider-text-wrap {
  display: flex;
  align-items: center;
  margin: 0 auto; }

.pp-divider-text {
  font-size: 16px;
  line-height: 1.4; }

.pp-divider-border-wrap {
  flex: 1 1 auto; }

.divider-border {
  border: 0;
  height: 1px;
  border-top: 1px solid #000;
  display: block;
  width: 100%; }

.pp-divider-content {
  display: inherit;
  flex: 0 1 auto;
  margin: 0 20px; }

.pp-dual-heading .pp-first-text,
.pp-dual-heading .pp-second-text {
  display: inline-block; }

.pp-counter {
  display: inline-block; }
  .pp-counter-icon-wrap, .pp-counter-icon, .pp-counter-icon-divider, .pp-counter-num-divider {
    display: inline-block; }
  .pp-counter-icon {
    line-height: 1; }
  .pp-counter-layout-3-number-wrap,
  .pp-counter-layout-3 .pp-icon-title-wrap, .pp-counter-layout-4-number-wrap,
  .pp-counter-layout-4 .pp-icon-title-wrap {
    display: flex;
    align-items: center;
    justify-content: center; }
  .pp-counter-layout-5, .pp-counter-layout-6 {
    display: flex;
    align-items: center;
    justify-content: center; }
  .pp-counter-layout-6 .pp-counter-icon-wrap {
    order: 2; }
  .pp-counter-layout-7, .pp-counter-layout-8 {
    display: inline-flex;
    align-items: center;
    justify-content: center; }
    .pp-counter-layout-7 .pp-icon-title-wrap, .pp-counter-layout-8 .pp-icon-title-wrap {
      display: inline-flex;
      flex-direction: column;
      align-items: flex-start; }
    .pp-counter-layout-7 .pp-counter-title-wrap, .pp-counter-layout-8 .pp-counter-title-wrap {
      text-align: right; }
  .pp-counter-layout-8 {
    flex-direction: row-reverse; }
    .pp-counter-layout-8 .pp-icon-title-wrap {
      align-items: flex-end; }
    .pp-counter-layout-8 .pp-counter-title-wrap {
      text-align: left; }
  .pp-counter .pp-icon-title-wrap .pp-counter-title {
    display: inline-block; }
  .pp-counter .pp-icon-number-wrap .pp-counter-number-wrap {
    display: inline-block; }

.pp-counter-number {
  direction: rtl; }

.pp-counter-number-wrap {
  font-size: 69px;
  line-height: 1; }

.pp-business-hours .pp-business-day,
.pp-business-hours .pp-business-timing {
  float: right;
  width: 50%; }

.pp-business-hours .pp-business-timing {
  text-align: left; }

.pp-list-container .pp-icon-wrapper {
  line-height: 1;
  transition: all 0.25s linear 0s; }
  .pp-list-container .pp-icon-wrapper.icon-right {
    order: 2; }

.pp-list-container .pp-icon-list-icon {
  display: inline-block;
  text-align: center; }

.pp-list-container .pp-list-items {
  list-style: none;
  margin: 0;
  padding: 0; }
  .pp-list-container .pp-list-items li {
    margin: 0;
    padding: 0;
    position: relative;
    align-items: center;
    display: flex; }
    .pp-list-container .pp-list-items li:after {
      bottom: 0;
      display: block;
      position: absolute;
      margin-bottom: -5px; }
  .pp-list-container .pp-list-items .fa {
    text-align: center; }
  .pp-list-container .pp-list-items a {
    display: inherit;
    align-items: center; }

.pp-list-items.pp-inline-items {
  display: flex;
  flex-wrap: wrap; }
  .pp-list-items.pp-inline-items li:not(:last-child) {
    margin-left: 8px; }

.pp-info-box-container {
  display: block;
  transition: all 0.25s linear 0s; }

.pp-info-box .pp-info-box-icon {
  display: inline-block;
  line-height: 1;
  max-width: 100%; }
  .pp-info-box .pp-info-box-icon .fa {
    transition: all 0.25s linear 0s;
    width: 1em;
    height: 1em; }

.pp-info-box .pp-info-box-content {
  flex-grow: 1; }

.pp-info-box-divider-wrap {
  font-size: 0;
  line-height: 0; }

.pp-info-box-divider {
  display: inline-block; }

.pp-info-box-left .pp-info-box {
  display: flex;
  flex-direction: row; }
  .pp-info-box-left .pp-info-box .pp-info-box-icon-wrap {
    display: flex;
    margin-left: 20px; }
  .pp-info-box-left .pp-info-box .pp-info-box-icon,
  .pp-info-box-left .pp-info-box img {
    width: 100%; }

.pp-info-box-right .pp-info-box {
  display: flex;
  flex-direction: row-reverse; }
  .pp-info-box-right .pp-info-box .pp-info-box-icon-wrap {
    display: flex;
    margin-right: 20px; }
  .pp-info-box-right .pp-info-box .pp-info-box-icon,
  .pp-info-box-right .pp-info-box img {
    width: 100%; }

.pp-info-box-carousel .pp-info-box-content-wrap {
  overflow: hidden; }

.pp-info-box-description p:last-child {
  margin-bottom: 0; }

.pp-info-list-container {
  overflow: hidden; }
  .pp-info-list-container li {
    overflow: hidden;
    position: relative; }
  .pp-info-list-container li:last-child {
    overflow: hidden; }
  .pp-info-list-container .pp-info-list-item-inner {
    align-items: center;
    display: flex; }
  .pp-info-list-container .pp-infolist-icon-wrapper {
    background: #f5f5f5;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    position: relative; }
  .pp-info-list-container .pp-info-list-number {
    text-align: center; }
  .pp-info-list-container .pp-info-list-item:last-child {
    margin-bottom: 0 !important; }
  .pp-info-list-container .pp-list-items a {
    color: inherit; }

.pp-info-list-icon-left.pp-info-list-icon-vertical-middle .pp-info-list-item-inner,
.pp-info-list-icon-right.pp-info-list-icon-vertical-middle .pp-info-list-item-inner {
  align-items: center; }

.pp-info-list-icon-left.pp-info-list-icon-vertical-top .pp-info-list-item-inner,
.pp-info-list-icon-right.pp-info-list-icon-vertical-top .pp-info-list-item-inner {
  align-items: flex-start; }

.pp-info-list-icon-left.pp-info-list-icon-vertical-top .pp-info-list-item:first-child .pp-infolist-icon-wrapper:before,
.pp-info-list-icon-right.pp-info-list-icon-vertical-top .pp-info-list-item:first-child .pp-infolist-icon-wrapper:before {
  display: none; }

.pp-info-list-icon-left.pp-info-list-icon-vertical-bottom .pp-info-list-item-inner,
.pp-info-list-icon-right.pp-info-list-icon-vertical-bottom .pp-info-list-item-inner {
  align-items: flex-end; }

.pp-info-list-icon-left.pp-info-list-icon-vertical-bottom .pp-info-list-item:last-child .pp-infolist-icon-wrapper:after,
.pp-info-list-icon-right.pp-info-list-icon-vertical-bottom .pp-info-list-item:last-child .pp-infolist-icon-wrapper:after {
  display: none; }

.pp-info-list-icon-top.pp-info-list-icon-horizontal-center .pp-info-list-item-inner {
  align-items: center; }

.pp-info-list-icon-top.pp-info-list-icon-horizontal-left .pp-info-list-item-inner {
  align-items: flex-start; }

.pp-info-list-icon-top.pp-info-list-icon-horizontal-left .pp-info-list-item:first-child .pp-infolist-icon-wrapper:before {
  display: none; }

.pp-info-list-icon-top.pp-info-list-icon-horizontal-right .pp-info-list-item-inner {
  align-items: flex-end; }

.pp-info-list-icon-top.pp-info-list-icon-horizontal-right .pp-info-list-item:last-child .pp-infolist-icon-wrapper:after {
  display: none; }

.pp-info-list-icon-left .pp-infolist-icon-wrapper {
  margin-left: 10px; }

.pp-info-list-icon-left .pp-info-list-connector .pp-infolist-icon-wrapper:before {
  content: '';
  border-left: 1px solid #000;
  height: 1500px;
  bottom: 14px;
  right: calc(7px - (1px/2));
  position: absolute;
  width: 1px; }

.pp-info-list-icon-left .pp-info-list-connector .pp-infolist-icon-wrapper:after {
  content: '';
  border-left: 1px solid #000;
  height: 1500px;
  top: 14px;
  right: calc(7px - (1px/2));
  position: absolute;
  width: 1px; }

.pp-info-list-icon-right .pp-info-list-item {
  justify-content: flex-end;
  text-align: left; }

.pp-info-list-icon-right .pp-infolist-icon-wrapper {
  margin-right: 10px;
  order: 2; }

.pp-info-list-icon-right .pp-info-list-connector .pp-infolist-icon-wrapper:before {
  content: '';
  border-right: 1px solid #000;
  height: 1500px;
  bottom: 14px;
  left: calc(7px - (1px/2));
  position: absolute;
  width: 1px; }

.pp-info-list-icon-right .pp-info-list-connector .pp-infolist-icon-wrapper:after {
  content: '';
  border-right: 1px solid #000;
  height: 1500px;
  top: 14px;
  left: calc(7px - (1px/2));
  position: absolute;
  width: 1px; }

.pp-info-list-connector.pp-info-list-corners-hide .pp-info-list-item:first-child .pp-infolist-icon-wrapper:before {
  display: none; }

.pp-info-list-connector.pp-info-list-corners-hide .pp-info-list-item:last-child .pp-infolist-icon-wrapper:after {
  display: none; }

.pp-info-list-icon-top .pp-list-items {
  display: flex;
  justify-content: center; }

.pp-info-list-icon-top .pp-list-items .pp-info-list-item {
  display: inline-block;
  flex-grow: 1;
  flex-basis: 0;
  text-align: center; }
  .pp-info-list-icon-top .pp-list-items .pp-info-list-item:last-child {
    margin-left: 0 !important; }

.pp-info-list-icon-top .pp-infolist-icon-wrapper {
  margin-bottom: 10px;
  vertical-align: top; }

.pp-info-list-icon-top .pp-info-list-connector .pp-infolist-icon-wrapper:before {
  content: '';
  border-top: 1px solid #000;
  height: 1px;
  top: calc(7px - (1px/2));
  right: auto;
  left: 14px;
  position: absolute;
  width: 1500px; }

.pp-info-list-icon-top .pp-info-list-connector .pp-infolist-icon-wrapper:after {
  content: '';
  border-top: 1px solid #000;
  height: 1px;
  right: 14px;
  top: calc(7px - (1px/2));
  left: auto;
  position: absolute;
  width: 1500px; }

.pp-info-list-icon-top .pp-info-list-item-inner {
  flex-direction: column; }

.pp-infolist-icon-wrapper {
  line-height: 1;
  position: relative;
  z-index: 1; }

.pp-info-list-item .pp-info-list-button {
  display: flex; }
  .pp-info-list-item .pp-info-list-button .pp-button-icon {
    margin-left: 10px; }
  .pp-info-list-item .pp-info-list-button-icon-after .pp-button-icon {
    margin-right: 10px;
    margin-left: 0;
    order: 2; }

.pp-link {
  display: inline-block;
  position: relative; }

.pp-link-effect-1:after {
  background: #000;
  position: absolute;
  bottom: -4px;
  content: '';
  height: 1px;
  right: 0;
  opacity: 0;
  transform: translateY(10px);
  transition: height 0.25s, opacity 0.25s, transform 0.25s;
  width: 100%; }

.pp-link-effect-1:hover:after {
  height: 4px;
  opacity: 1;
  transform: translateY(0); }

.pp-link-effect-2:after {
  background: #000;
  position: absolute;
  bottom: -4px;
  content: '';
  height: 1px;
  right: 0;
  opacity: 0;
  transform: translateY(0);
  transition: height 0.25s, opacity 0.25s, transform 0.25s;
  width: 100%; }

.pp-link-effect-2:hover:after {
  height: 4px;
  opacity: 1;
  transform: translateY(10px); }

/* Effect 3 */
.pp-link-effect-3:before,
.pp-link-effect-3:after {
  display: inline-block;
  opacity: 0;
  transition: transform 0.3s, opacity 0.2s; }

.pp-link-effect-3:before {
  margin-left: 10px;
  content: '[';
  transform: translateX(-20px); }

.pp-link-effect-3:after {
  margin-right: 10px;
  content: ']';
  transform: translateX(20px); }

.pp-link-effect-3:hover:before,
.pp-link-effect-3:hover:after,
.pp-link-effect-3:focus:before,
.pp-link-effect-3:focus:after {
  opacity: 1;
  transform: translateX(0px); }

/* Effect 4 */
.pp-link-effect-4 {
  perspective: 1000px; }
  .pp-link-effect-4 span {
    position: relative;
    display: inline-block;
    padding: 0 14px;
    background: #2195de;
    transition: transform 0.3s;
    transform-origin: 50% 0;
    transform-style: preserve-3d; }
    .pp-link-effect-4 span:before {
      position: absolute;
      top: 100%;
      right: 0;
      width: 100%;
      height: 100%;
      background: #0965a0;
      text-align: center;
      content: attr(data-hover);
      transition: background 0.3s;
      transform: rotateX(-90deg);
      transform-origin: 50% 0; }

.pp-link-effect-4:hover span,
.pp-link-effect-4:focus span {
  transform: rotateX(90deg) translateY(-22px); }

.pp-link-effect-4:hover span:before,
.pp-link-effect-4:focus span:before {
  background: #28a2ee; }

/* Effect 5: same word slide in */
.pp-link-effect-5 {
  display: inline-block;
  overflow: hidden;
  padding: 0 4px; }
  .pp-link-effect-5 span {
    position: relative;
    display: inline-block;
    transition: transform 0.3s; }
    .pp-link-effect-5 span:before {
      position: absolute;
      top: 100%;
      content: attr(data-hover);
      font-weight: 700;
      transform: translate3d(0, 0, 0); }
  .pp-link-effect-5:hover span,
  .pp-link-effect-5:focus span {
    transform: translateY(-100%); }

/* Effect 6: same word slide in and border bottom */
.pp-link-effect-6 {
  margin: 0 10px;
  padding: 10px 20px; }
  .pp-link-effect-6:before {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 2px;
    background: #fff;
    content: '';
    transition: top 0.3s; }
  .pp-link-effect-6:after {
    position: absolute;
    top: 0;
    right: 0;
    width: 2px;
    height: 2px;
    background: #fff;
    content: '';
    transition: height 0.3s; }

.pp-link-effect-6:hover::before {
  top: 100%;
  opacity: 1; }

.pp-link-effect-6:hover::after {
  height: 100%; }

/* Effect 7: second border slides up */
.pp-link-effect-7 {
  padding: 12px 10px 10px;
  color: #566473;
  text-shadow: none;
  font-weight: 700; }
  .pp-link-effect-7:before, .pp-link-effect-7:after {
    position: absolute;
    top: 100%;
    right: 0;
    width: 100%;
    height: 3px;
    background: #566473;
    content: '';
    transition: transform 0.3s;
    transform: scale(0.85); }
  .pp-link-effect-7:after {
    opacity: 0;
    transition: top 0.3s, opacity 0.3s, transform 0.3s; }

.pp-link-effect-7:hover::before,
.pp-link-effect-7:hover::after,
.pp-link-effect-7:focus::before,
.pp-link-effect-7:focus::after {
  transform: scale(1); }

.pp-link-effect-7:hover::after,
.pp-link-effect-7:focus::after {
  top: 0%;
  opacity: 1; }

/* Effect 8: border slight translate */
.pp-link-effect-8 {
  padding: 10px 20px; }
  .pp-link-effect-8:before, .pp-link-effect-8:after {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    border: 3px solid #354856;
    content: '';
    transition: transform 0.3s, opacity 0.3s; }
  .pp-link-effect-8:after {
    border-color: #fff;
    opacity: 0;
    transform: translateY(-7px) translateX(-6px); }

.pp-link-effect-8:hover:before,
.pp-link-effect-8:focus:before {
  opacity: 0;
  transform: translateY(5px) translateX(5px); }

.pp-link-effect-8:hover:after,
.pp-link-effect-8:focus:after {
  opacity: 1;
  transform: translateY(0px) translateX(0px); }

/* Effect 9: second text and borders */
.pp-link-effect-9 {
  display: inline-block;
  margin: 0 20px;
  padding: 18px 20px; }
  .pp-link-effect-9:before, .pp-link-effect-9:after {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 1px;
    background: #fff;
    content: '';
    opacity: 0.2;
    transition: opacity 0.3s, height 0.3s; }
  .pp-link-effect-9:after {
    top: 100%;
    opacity: 0;
    transition: transform 0.3s, opacity 0.3s;
    transform: translateY(-10px); }
  .pp-link-effect-9 span:first-child {
    z-index: 2;
    display: block;
    font-weight: 300; }
  .pp-link-effect-9 span:last-child {
    z-index: 1;
    display: block;
    padding: 8px 0 0 0;
    color: rgba(0, 0, 0, 0.4);
    text-shadow: none;
    text-transform: none;
    font-style: italic;
    font-size: 0.75em;
    font-family: Palatino, "Palatino Linotype", "Palatino LT STD", "Book Antiqua", Georgia, serif;
    opacity: 0;
    transition: transform 0.3s, opacity 0.3s;
    transform: translateY(-100%); }
  .pp-link-effect-9:hover:before, .pp-link-effect-9:focus:before {
    height: 6px; }
  .pp-link-effect-9:hover:before, .pp-link-effect-9:hover:after, .pp-link-effect-9:focus:before, .pp-link-effect-9:focus:after {
    opacity: 1;
    transform: translateY(0px); }
  .pp-link-effect-9:hover span:last-child,
  .pp-link-effect-9:focus span:last-child {
    opacity: 1;
    transform: translateY(0%); }

/* Effect 10: reveal, push out */
.pp-link-effect-10 {
  display: inline-block;
  overflow: hidden;
  margin: 0 15px; }
  .pp-link-effect-10 span {
    display: block;
    background: #0f7c67;
    padding: 8px 20px;
    transition: transform 0.3s; }
  .pp-link-effect-10:before {
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: #fff;
    color: #0f7c67;
    content: attr(data-hover);
    padding: 8px 20px;
    transition: transform 0.3s;
    -webkit-transform: translateX(50%); }
  .pp-link-effect-10:hover span,
  .pp-link-effect-10:focus span {
    transform: translateX(-100%); }
  .pp-link-effect-10:hover:before, .pp-link-effect-10:focus:before {
    transform: translateX(0%);
    z-index: 1; }

/* Effect 11: text fill based on Lea Verou's animation http://dabblet.com/gist/6046779 */
.pp-link-effect-11 {
  padding: 10px 0;
  border-top: 2px solid #0972b4;
  color: #0972b4;
  text-shadow: none; }
  .pp-link-effect-11:before {
    position: absolute;
    top: 0;
    right: 0;
    overflow: hidden;
    padding: 10px 0;
    max-width: 0;
    border-bottom: 2px solid #fff;
    color: #fff;
    content: attr(data-hover);
    transition: max-width 0.5s; }
  .pp-link-effect-11:hover:before, .pp-link-effect-11:focus:before {
    max-width: 100%; }

/* Effect 12: circle */
.pp-link-effect-12:before, .pp-link-effect-12:after {
  position: absolute;
  top: 50%;
  right: 50%;
  width: 100px;
  height: 100px;
  border: 2px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  content: '';
  opacity: 0;
  transition: transform 0.3s, opacity 0.3s;
  transform: translateX(50%) translateY(-50%) scale(0.2); }

.pp-link-effect-12:after {
  width: 90px;
  height: 90px;
  border-width: 6px;
  transform: translateX(50%) translateY(-50%) scale(0.8); }

.pp-link-effect-12:hover:before, .pp-link-effect-12:hover:after, .pp-link-effect-12:focus:before, .pp-link-effect-12:focus:after {
  opacity: 1;
  transform: translateX(50%) translateY(-50%) scale(1); }

/* Effect 13: three circles */
.pp-link-effect-13 {
  display: inline-block;
  transition: color 0.3s; }
  .pp-link-effect-13:before {
    position: absolute;
    top: 100%;
    right: 50%;
    color: transparent;
    content: '\2022';
    text-shadow: 0 0 transparent;
    font-size: 1.2em;
    transition: text-shadow 0.3s, color 0.3s;
    transform: translateX(50%);
    pointer-events: none; }
  .pp-link-effect-13:hover:before, .pp-link-effect-13:focus:before {
    color: #fff;
    text-shadow: -10px 0 #fff, 10px 0 #fff; }
  .pp-link-effect-13:hover, .pp-link-effect-13:focus {
    color: #ba7700; }

/* Effect 14: border switch */
.pp-link-effect-14 {
  display: inline-block;
  padding: 0 20px;
  height: 45px;
  line-height: 45px; }
  .pp-link-effect-14:before, .pp-link-effect-14:after {
    position: absolute;
    width: 45px;
    height: 2px;
    background: #fff;
    content: '';
    transition: all 0.3s;
    pointer-events: none; }
  .pp-link-effect-14:before {
    top: 0;
    right: 0;
    transform: rotate(-90deg);
    transform-origin: 100% 0; }
  .pp-link-effect-14:after {
    left: 0;
    bottom: 0;
    transform: rotate(-90deg);
    transform-origin: 0% 0; }
  .pp-link-effect-14:hover:before, .pp-link-effect-14:hover:after, .pp-link-effect-14:focus:before, .pp-link-effect-14:focus:after {
    opacity: 1; }
  .pp-link-effect-14:hover:before, .pp-link-effect-14:focus:before {
    right: 50%;
    transform: rotate(0deg) translateX(50%); }
  .pp-link-effect-14:hover:after, .pp-link-effect-14:focus:after {
    left: 50%;
    transform: rotate(0deg) translateX(-50%); }

/* Effect 15: scale down, reveal */
.pp-link-effect-15 {
  display: inline-block;
  color: rgba(0, 0, 0, 0.2);
  font-weight: 700;
  text-shadow: none; }
  .pp-link-effect-15:before {
    color: #fff;
    content: attr(data-hover);
    position: absolute;
    transition: transform 0.3s, opacity 0.3s; }
  .pp-link-effect-15:hover:before, .pp-link-effect-15:focus:before {
    transform: scale(0.9);
    opacity: 0; }

/* Effect 16: fall down */
.pp-link-effect-16 {
  display: inline-block;
  color: #6f8686;
  text-shadow: 0 0 1px rgba(111, 134, 134, 0.3); }
  .pp-link-effect-16:before {
    color: #fff;
    content: attr(data-hover);
    position: absolute;
    opacity: 0;
    text-shadow: 0 0 1px rgba(255, 255, 255, 0.3);
    transform: scale(1.1) translateX(-10px) translateY(-10px) rotate(-4deg);
    transition: transform 0.3s, opacity 0.3s;
    pointer-events: none; }
  .pp-link-effect-16:hover:before, .pp-link-effect-16:focus:before {
    transform: scale(1) translateX(0px) translateY(0px) rotate(0deg);
    opacity: 1; }

/* Effect 17: move up fade out, push border */
.pp-link-effect-17 {
  display: inline-block;
  color: #10649b;
  text-shadow: none;
  padding: 10px 0; }
  .pp-link-effect-17:before {
    color: #fff;
    text-shadow: 0 0 1px rgba(255, 255, 255, 0.3);
    content: attr(data-hover);
    position: absolute;
    transition: transform 0.3s, opacity 0.3s;
    pointer-events: none; }
  .pp-link-effect-17:after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background: #fff;
    opacity: 0;
    transform: translateY(5px);
    transition: transform 0.3s, opacity 0.3s;
    pointer-events: none; }
  .pp-link-effect-17:hover:before, .pp-link-effect-17:focus:before {
    opacity: 0;
    transform: translateY(-2px); }
  .pp-link-effect-17:hover:after, .pp-link-effect-17:focus:after {
    opacity: 1;
    transform: translateY(0px); }

/* Effect 18: cross */
.pp-link-effect-18 {
  display: inline-block;
  position: relative;
  z-index: 1;
  padding: 0 5px;
  color: #000;
  font-weight: 700;
  transition: color 0.3s; }
  .pp-link-effect-18:before, .pp-link-effect-18:after {
    position: absolute;
    width: 100%;
    right: 0;
    top: 50%;
    height: 2px;
    margin-top: -1px;
    background: #000;
    content: '';
    z-index: -1;
    transition: transform 0.3s, opacity 0.3s;
    pointer-events: none; }
  .pp-link-effect-18:before {
    transform: translateY(-20px); }
  .pp-link-effect-18:after {
    transform: translateY(20px); }
  .pp-link-effect-18:hover, .pp-link-effect-18:focus {
    color: #000; }
  .pp-link-effect-18:hover:before, .pp-link-effect-18:hover:after, .pp-link-effect-18:focus:before, .pp-link-effect-18:focus:after {
    opacity: 0.7; }
  .pp-link-effect-18:hover:before, .pp-link-effect-18:focus:before {
    transform: rotate(-45deg); }
  .pp-link-effect-18:hover:after, .pp-link-effect-18:focus:after {
    transform: rotate(45deg); }

/* Effect 19: 3D side */
.pp-link-effect-19 {
  display: inline-block;
  line-height: 2em;
  perspective: 800px;
  width: 200px; }
  .pp-link-effect-19 span {
    position: relative;
    display: inline-block;
    width: 100%;
    padding: 0 14px;
    background: #e35041;
    transition: transform 0.4s, background 0.4s;
    transform-style: preserve-3d;
    transform-origin: 50% 50% -100px; }
  .pp-link-effect-19 span:before {
    position: absolute;
    top: 0;
    right: 100%;
    width: 100%;
    height: 100%;
    background: #b53a2d;
    content: attr(data-hover);
    transition: background 0.4s;
    transform: rotateY(-90deg);
    transform-origin: 100% 50%;
    pointer-events: none; }
  .pp-link-effect-19:hover span,
  .pp-link-effect-19:focus span {
    background: #b53a2d;
    transform: rotateY(90deg); }
  .pp-link-effect-19:hover span:before,
  .pp-link-effect-19:focus span:before {
    background: #ef5e50; }

/* Effect 20: 3D side */
.pp-link-effect-20 {
  display: inline-block;
  line-height: 2em;
  perspective: 800px; }
  .pp-link-effect-20 span {
    position: relative;
    display: inline-block;
    text-align: center;
    padding: 3px 15px 0;
    background: #587285;
    box-shadow: inset 0 3px #2f4351;
    transition: background 0.6s;
    transform-origin: 50% 0;
    transform-style: preserve-3d;
    transform-origin: 100% 50%; }
    .pp-link-effect-20 span:before {
      position: absolute;
      top: 0;
      right: 0;
      width: 100%;
      height: 100%;
      background: #fff;
      color: #2f4351;
      content: attr(data-hover);
      transform: rotateX(270deg);
      transition: transform 0.6s;
      transform-origin: 100% 0;
      pointer-events: none; }
  .pp-link-effect-20:hover span,
  .pp-link-effect-20:focus span {
    background: #2f4351; }
  .pp-link-effect-20:hover span::before,
  .pp-link-effect-20:focus span::before {
    transform: rotateX(10deg); }

/* Effect 21: borders slight translate */
.pp-link-effect-21 {
  display: inline-block;
  padding: 10px;
  color: #237546;
  font-weight: 700;
  text-shadow: none;
  transition: color 0.3s; }
  .pp-link-effect-21:before, .pp-link-effect-21:after {
    position: absolute;
    right: 0;
    width: 100%;
    height: 2px;
    background: #fff;
    content: '';
    opacity: 0;
    transition: opacity 0.3s, transform 0.3s;
    transform: translateY(-10px); }
  .pp-link-effect-21:before {
    top: 0;
    transform: translateY(-10px); }
  .pp-link-effect-21:after {
    bottom: 0;
    transform: translateY(10px); }
  .pp-link-effect-21:hover, .pp-link-effect-21:focus {
    color: #fff; }
  .pp-link-effect-21:hover:before, .pp-link-effect-21:focus:before, .pp-link-effect-21:hover:after, .pp-link-effect-21:focus:after {
    opacity: 1;
    transform: translateY(0px); }

.elementor-widget-pp-pricing-table .elementor-widget-container {
  background-color: #f8f8f8; }

.pp-pricing-table {
  overflow: hidden;
  text-align: center;
  transition: all 0.25s linear 0s; }
  .pp-pricing-table-container {
    position: relative; }
  .pp-pricing-table.horizontal-table {
    display: flex; }
    .pp-pricing-table.horizontal-table .pp-pricing-table-head,
    .pp-pricing-table.horizontal-table .pp-pricing-table-footer,
    .pp-pricing-table.horizontal-table .pp-pricing-table-features {
      flex: 1; }
  .pp-pricing-table-align-left .pp-pricing-table,
  .pp-pricing-table-align-left.pp-pricing-table-price-duration-wrap .pp-pricing-table-price-duration {
    text-align: right; }
  .pp-pricing-table-align-left .pp-pricing-table-price {
    justify-content: flex-start; }
  .pp-pricing-table-align-right .pp-pricing-table,
  .pp-pricing-table-align-right.pp-pricing-table-price-duration-wrap .pp-pricing-table-price-duration {
    text-align: left; }
  .pp-pricing-table-align-right .pp-pricing-table-price {
    justify-content: flex-end; }
  .pp-pricing-table-head {
    background: #7a7a7a;
    padding: 30px; }
  .pp-pricing-table .pp-pricing-table-icon {
    display: inline-block; }
  .pp-pricing-table .pp-pricing-table-title-wrap .pp-pricing-table-title {
    margin-bottom: 0; }
  .pp-pricing-table .pp-pricing-table-title-wrap .pp-pricing-table-subtitle {
    margin-bottom: 0; }
  .pp-pricing-table .pp-pricing-table-price {
    font-size: 40px;
    margin-right: auto;
    margin-left: auto;
    padding: 30px; }
  .pp-pricing-table-price-value {
    display: flex; }
  .pp-pricing-table-after-part {
    font-size: .4em;
    line-height: 1;
    align-self: flex-start; }
  .pp-pricing-table .pp-pricing-table-features {
    list-style: none;
    margin: 0;
    padding: 0 30px; }
    .pp-pricing-table .pp-pricing-table-features li {
      margin: 0;
      padding: 0; }
      .pp-pricing-table .pp-pricing-table-features li:last-child {
        border-bottom: 0; }
    .pp-pricing-table .pp-pricing-table-features .excluded {
      text-decoration: line-through; }
  .pp-pricing-table .pp-pricing-table-price-prefix,
  .pp-pricing-table .pp-pricing-table-price-duration {
    font-size: 0.4em;
    line-height: 1;
    text-align: right; }
  .pp-pricing-table .pp-pricing-table-price-prefix {
    align-self: flex-start; }
  .pp-pricing-table .pp-pricing-table-price-duration {
    align-self: flex-end; }
  .pp-pricing-table-price-duration-wrap .pp-pricing-table-price {
    flex-wrap: wrap; }
  .pp-pricing-table-price-duration-wrap .pp-pricing-table-price-duration {
    text-align: center;
    width: 100%; }
  .pp-pricing-table .pp-pricing-table-price-value {
    line-height: .9; }
  .pp-pricing-table-price, .pp-pricing-table-price-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%; }
  .pp-pricing-table-price-original {
    display: inline-flex;
    font-size: 0.5em;
    line-height: 1;
    align-self: flex-end;
    text-decoration: line-through; }

.pp-pricing-table-feature-content {
  display: inline-flex;
  align-items: center; }

.pp-pricing-table-ribbon {
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  position: absolute;
  text-align: center;
  text-transform: uppercase;
  top: 0;
  z-index: 2; }
  .pp-pricing-table-ribbon-inner {
    background: #61ce70; }
  .pp-pricing-table-ribbon-1 {
    position: absolute;
    top: 0;
    width: 150px;
    overflow: hidden;
    height: 150px; }
    .pp-pricing-table-ribbon-1.pp-pricing-table-ribbon-right {
      right: auto;
      left: 0;
      transform: rotate(-90deg); }
    .pp-pricing-table-ribbon-1.pp-pricing-table-ribbon-left {
      right: 0;
      left: auto;
      transform: rotate(0); }
    .pp-pricing-table-ribbon-1 .pp-pricing-table-ribbon-inner {
      text-align: center;
      right: 0;
      width: 200%;
      transform: translateY(-50%) translateX(50%) translateX(-35px) rotate(45deg);
      margin-top: 35px;
      line-height: 2; }
  .pp-pricing-table-ribbon-2 {
    border-radius: 50%;
    line-height: 4em;
    min-height: 4em;
    min-width: 4em; }
    .pp-pricing-table-ribbon-2 .pp-pricing-table-ribbon-inner {
      background: #61ce70;
      border-radius: 50%; }
    .pp-pricing-table-ribbon-2.pp-pricing-table-ribbon-right {
      transform: translateX(-38%) translateY(-38%); }
    .pp-pricing-table-ribbon-2.pp-pricing-table-ribbon-left {
      transform: translateX(38%) translateY(-38%); }
  .pp-pricing-table-ribbon-right {
    left: 0; }
  .pp-pricing-table-ribbon-left {
    right: 0; }
  .pp-pricing-table-ribbon-3 {
    background: #61ce70;
    top: 10%; }
    .pp-pricing-table-ribbon-3 .pp-pricing-table-ribbon-inner {
      padding: 3px 18px; }
    .pp-pricing-table-ribbon-3:before, .pp-pricing-table-ribbon-3:after {
      border-bottom: 8px solid transparent;
      content: '';
      display: block;
      position: absolute;
      height: 0;
      width: 0;
      top: 100%; }
    .pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-right {
      border-radius: 3px 3px 3px 0;
      left: -8px; }
      .pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-right:before, .pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-right:after {
        left: 0; }
      .pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-right:before {
        border-right: 8px solid #61ce70; }
      .pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-right:after {
        border-right: 8px solid rgba(0, 0, 0, 0.2); }
    .pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-left {
      border-radius: 3px 3px 0 3px;
      right: -8px; }
      .pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-left:before, .pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-left:after {
        right: 0; }
      .pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-left:before {
        border-left: 8px solid #61ce70; }
      .pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-left:after {
        border-left: 8px solid rgba(0, 0, 0, 0.2); }

.pp-restaurant-menu .pp-restaurant-menu-item-wrap {
  margin-bottom: 10px;
  position: relative; }

.pp-restaurant-menu .pp-restaurant-menu-item {
  align-items: center;
  display: flex; }

.pp-restaurant-menu .pp-restaurant-menu-image {
  flex-grow: 0;
  margin-left: 10px; }

.pp-restaurant-menu .pp-restaurant-menu-content {
  flex-grow: 1; }

.pp-restaurant-menu .pp-restaurant-menu-header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 5px; }

.pp-restaurant-menu .pp-restaurant-menu-title {
  display: inline-block;
  margin: 0; }
  .pp-restaurant-menu .pp-restaurant-menu-title a {
    color: inherit; }

.pp-restaurant-menu-style-1 .pp-restaurant-menu-price {
  float: left; }

.pp-restaurant-menu-style-3 .pp-restaurant-menu-image {
  order: 1; }

.pp-restaurant-menu-style-4 .pp-restaurant-menu-item,
.pp-restaurant-menu-style-4 .pp-restaurant-menu-header {
  display: block; }

.pp-restaurant-menu-style-4 .pp-restaurant-menu-image {
  display: inline-block; }

.pp-restaurant-menu-style-1 .pp-price-title-connector {
  border-bottom: 1px dashed #000;
  height: 1px;
  flex-grow: 1;
  align-self: center;
  margin: 0 20px; }

.pp-restaurant-menu-style-powerpack .pp-restaurant-menu-item {
  min-height: 150px;
  position: relative; }

.pp-restaurant-menu-style-powerpack .pp-restaurant-menu-price {
  bottom: 0;
  padding: 10px;
  position: absolute;
  left: 0;
  z-index: 1; }
  .pp-restaurant-menu-style-powerpack .pp-restaurant-menu-price:after {
    border-color: transparent #B83D11;
    border-style: solid;
    border-width: 110px 0 0 130px;
    bottom: 0;
    content: "";
    position: absolute;
    left: 0;
    z-index: -1; }

.pp-restaurant-menu-divider-wrap {
  font-size: 0;
  line-height: 0; }

.pp-restaurant-menu-divider {
  display: inline-block; }

.pp-promo-box {
  overflow: hidden;
  position: relative;
  width: 100%; }
  .pp-promo-box .pp-promo-box-icon {
    display: inline-block;
    line-height: 1;
    text-align: center;
    transition: all 0.25s linear 0s; }
    .pp-promo-box .pp-promo-box-icon .pp-promo-box-icon-inner {
      height: 1em;
      width: 1em; }
  .pp-promo-box .pp-promo-box-overlay,
  .pp-promo-box .pp-promo-box-bg {
    position: absolute;
    height: 100%;
    right: 0;
    top: 0;
    width: 100%;
    transition: transform 0.25s linear 0s; }
  .pp-promo-box .pp-promo-box-bg {
    padding: 40px; }
  .pp-promo-box .pp-promo-box-wrap {
    height: 100%;
    width: 100%;
    position: relative; }
  .pp-promo-box .pp-promo-box-inner {
    display: table;
    width: 100%;
    height: 100%; }
  .pp-promo-box .pp-promo-box-inner-content {
    display: table-cell;
    vertical-align: middle; }
  .pp-promo-box .pp-promo-box-banner {
    transition: all 0.25s linear 0s;
    min-height: 100%;
    width: 100%; }
  .pp-promo-box-heading-divider-wrap, .pp-promo-box-subheading-divider-wrap {
    font-size: 0;
    line-height: 1; }
  .pp-promo-box-heading-divider, .pp-promo-box-subheading-divider {
    display: inline-block; }

.pp-image-hotspots {
  display: flex;
  position: relative; }

.pp-hot-spot-wrap {
  cursor: pointer;
  position: absolute;
  width: 14px;
  height: 14px;
  background: #000;
  border-radius: 50%;
  font-size: 14px;
  display: inline-flex;
  padding: 15px;
  align-items: center;
  justify-content: center; }

.pp-hot-spot-image {
  position: relative; }

.pp-hot-spot-inner {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center; }
  .pp-hot-spot-inner.hotspot-animation:before {
    content: '';
    display: block;
    position: absolute;
    z-index: 0;
    pointer-events: none;
    -webkit-animation: pp-glow 2s infinite;
            animation: pp-glow 2s infinite;
    right: 0;
    top: 0; }
  .pp-hot-spot-inner.hotspot-animation:hover:before {
    -webkit-animation: none;
            animation: none; }
  .pp-hot-spot-inner.hotspot-animation .pp-hotspot-text {
    z-index: 1; }

.pp-hot-spot-inner,
.pp-hot-spot-inner:before {
  background-color: #000;
  border-radius: 50%;
  color: #fff;
  height: 100%;
  position: absolute;
  width: 100%; }

.pp-hotspot-icon {
  position: relative; }

.pp-hotspot-icon-wrap {
  display: inline-flex;
  width: 100%;
  height: 100%;
  vertical-align: middle;
  align-items: center;
  justify-content: center;
  border-radius: 50%; }

@-webkit-keyframes pp-glow {
  0% {
    transform: scale(1);
    opacity: 1; }
  100% {
    transform: scale(1.5);
    opacity: 0; } }

@keyframes pp-glow {
  0% {
    transform: scale(1);
    opacity: 1; }
  100% {
    transform: scale(1.5);
    opacity: 0; } }

.tipso_content p:last-child {
  margin-bottom: 0; }

.pp-hotspot-img-align-center .pp-image-hotspots {
  justify-content: center; }

.pp-hotspot-img-align-left .pp-image-hotspots {
  justify-content: flex-start; }

.pp-hotspot-img-align-right .pp-image-hotspots {
  justify-content: flex-end; }

@media only screen and (max-width: 1024px) {
  .pp-hotspot-img-align-tablet-center .pp-image-hotspots {
    justify-content: center; }
  .pp-hotspot-img-align-tablet-left .pp-image-hotspots {
    justify-content: flex-start; }
  .pp-hotspot-img-align-tablet-right .pp-image-hotspots {
    justify-content: flex-end; } }

@media only screen and (max-width: 767px) {
  .pp-hotspot-img-align-mobile-center .pp-image-hotspots {
    justify-content: center; }
  .pp-hotspot-img-align-mobile-left .pp-image-hotspots {
    justify-content: flex-start; }
  .pp-hotspot-img-align-mobile-right .pp-image-hotspots {
    justify-content: flex-end; } }

.pp-instagram-feed {
  position: relative; }
  .pp-instagram-feed .pp-feed-item {
    float: right;
    position: relative; }
    .pp-instagram-feed .pp-feed-item img {
      filter: none;
      vertical-align: middle; }
    .pp-instagram-feed .pp-feed-item:hover img {
      filter: none; }
  .pp-instagram-feed-gallery .pp-feed-item {
    width: 20%; }
  .pp-instagram-feed-title-wrap {
    background: #fff;
    position: absolute;
    z-index: 2;
    position: absolute;
    top: 50%;
    right: 50%;
    transform: translate(50%, -50%); }
  .pp-insta-title-top .pp-instagram-feed-title-wrap {
    top: 0;
    position: absolute;
    right: 50%;
    transform: translate(50%); }
  .pp-insta-title-bottom .pp-instagram-feed-title-wrap {
    bottom: 0;
    top: auto;
    position: absolute;
    right: 50%;
    transform: translate(50%); }
  .pp-instagram-feed-title {
    display: block;
    padding: 6px 30px;
    text-align: center; }
  .pp-instagram-feed .pp-feed-item {
    position: relative; }
  .pp-instagram-feed .pp-feed-item-inner {
    display: block;
    position: relative; }
  .pp-instagram-feed-gray .pp-feed-item img {
    filter: grayscale(100%);
    transition: filter 0.25s linear 0s; }
  .pp-instagram-feed-hover-gray .pp-feed-item:hover img {
    filter: grayscale(100%);
    transition: filter 0.25s linear 0s; }
  .pp-instagram-feed .pp-overlay-container {
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1; }
    .pp-instagram-feed .pp-overlay-container span {
      display: flex;
      align-items: center;
      margin: 0 5px; }
  .pp-instagram-feed-hover .pp-overlay-container {
    opacity: 0; }
  .pp-instagram-feed-hover .pp-feed-item:hover .pp-overlay-container {
    opacity: 1; }
  .pp-instagram-feed .swiper-container .swiper-slide img {
    width: 100%; }

.pp-instafeed {
  overflow: hidden;
  position: relative; }

.pp-if-icon {
  margin-left: 5px; }

.pp-if-square-images .pp-feed-item-inner {
  position: relative;
  padding-bottom: 100%;
  width: 100%; }

.pp-if-square-images .pp-if-img {
  overflow: hidden;
  position: absolute;
  width: 100%;
  height: 100%;
  right: 0;
  top: 0; }

.pp-if-square-images img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover; }

.pp-load-more-button {
  cursor: pointer; }
  .pp-load-more-button[disabled='disabled'] {
    display: none; }

.pp-button-loading .pp-button-loader {
  display: inline-block;
  width: 22px;
  height: 22px;
  vertical-align: middle;
  margin-left: 8px; }
  .pp-button-loading .pp-button-loader:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 3px solid #fff;
    border-color: #fff transparent #fff transparent;
    -webkit-animation: pp-dual-ring 1.2s linear infinite;
            animation: pp-dual-ring 1.2s linear infinite; }

@-webkit-keyframes pp-dual-ring {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(-360deg); } }

@keyframes pp-dual-ring {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(-360deg); } }

.twentytwenty-horizontal .twentytwenty-handle:before, .twentytwenty-horizontal .twentytwenty-handle:after, .twentytwenty-vertical .twentytwenty-handle:before, .twentytwenty-vertical .twentytwenty-handle:after {
  content: " ";
  display: block;
  background: white;
  position: absolute;
  z-index: 30;
  box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5); }

.twentytwenty-horizontal .twentytwenty-handle:before, .twentytwenty-horizontal .twentytwenty-handle:after {
  width: 3px;
  height: 9999px;
  right: 50%;
  margin-right: -1.5px; }

.twentytwenty-vertical .twentytwenty-handle:before, .twentytwenty-vertical .twentytwenty-handle:after {
  width: 9999px;
  height: 3px;
  top: 50%;
  margin-top: -1.5px; }

.twentytwenty-before-label, .twentytwenty-after-label, .twentytwenty-overlay {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%; }

.twentytwenty-before-label, .twentytwenty-after-label, .twentytwenty-overlay {
  transition-duration: 0.5s; }

.twentytwenty-before-label, .twentytwenty-after-label {
  transition-property: opacity; }

.twentytwenty-before-label:before, .twentytwenty-after-label:before {
  color: white;
  font-size: 13px;
  letter-spacing: 0.1em; }

.twentytwenty-before-label:before, .twentytwenty-after-label:before {
  position: absolute;
  background: rgba(255, 255, 255, 0.2);
  line-height: 38px;
  padding: 0 20px;
  border-radius: 2px; }

.twentytwenty-horizontal .twentytwenty-before-label:before,
.twentytwenty-horizontal .twentytwenty-after-label:before {
  top: 50%;
  transform: translateY(-50%); }

.pp-ic-label-horizontal-top .twentytwenty-horizontal .twentytwenty-before-label:before,
.pp-ic-label-horizontal-top .twentytwenty-horizontal .twentytwenty-after-label:before {
  transform: translateY(0);
  top: 10px; }

.pp-ic-label-horizontal-bottom .twentytwenty-horizontal .twentytwenty-before-label:before,
.pp-ic-label-horizontal-bottom .twentytwenty-horizontal .twentytwenty-after-label:before {
  bottom: 10px;
  transform: translateY(0);
  top: auto; }

.twentytwenty-vertical .twentytwenty-before-label:before,
.twentytwenty-vertical .twentytwenty-after-label:before {
  right: 50%;
  transform: translateX(50%);
  text-align: center; }

.pp-ic-label-vertical-left .twentytwenty-vertical .twentytwenty-before-label:before,
.pp-ic-label-vertical-left .twentytwenty-vertical .twentytwenty-after-label:before {
  right: 10px;
  transform: translateX(0); }

.pp-ic-label-vertical-right .twentytwenty-vertical .twentytwenty-before-label:before,
.pp-ic-label-vertical-right .twentytwenty-vertical .twentytwenty-after-label:before {
  right: auto;
  left: 10px;
  transform: translateX(0); }

.twentytwenty-left-arrow, .twentytwenty-right-arrow, .twentytwenty-up-arrow, .twentytwenty-down-arrow {
  width: 0;
  height: 0;
  border: 6px inset transparent;
  position: absolute; }

.twentytwenty-left-arrow, .twentytwenty-right-arrow {
  top: 50%;
  margin-top: -6px; }

.twentytwenty-up-arrow, .twentytwenty-down-arrow {
  right: 50%;
  margin-right: -6px; }

.twentytwenty-container {
  box-sizing: content-box;
  z-index: 0;
  overflow: hidden;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none; }

.twentytwenty-container img {
  max-width: 100%;
  position: absolute;
  top: 0;
  display: block; }

.twentytwenty-container.active .twentytwenty-overlay, .twentytwenty-container.active :hover.twentytwenty-overlay {
  background: rgba(0, 0, 0, 0); }

.twentytwenty-container.active .twentytwenty-overlay .twentytwenty-before-label,
.twentytwenty-container.active .twentytwenty-overlay .twentytwenty-after-label, .twentytwenty-container.active :hover.twentytwenty-overlay .twentytwenty-before-label,
.twentytwenty-container.active :hover.twentytwenty-overlay .twentytwenty-after-label {
  /*opacity: 0;*/ }

.twentytwenty-container * {
  box-sizing: content-box; }

.twentytwenty-before-label {
  /*opacity: 0;*/ }

.twentytwenty-before-label:before {
  content: attr(data-content); }

.twentytwenty-after-label {
  /*opacity: 0;*/ }

.twentytwenty-after-label:before {
  content: attr(data-content); }

.twentytwenty-horizontal .twentytwenty-before-label:before {
  right: 10px; }

.twentytwenty-horizontal .twentytwenty-after-label:before {
  left: 10px; }

.twentytwenty-vertical .twentytwenty-before-label:before {
  top: 10px; }

.twentytwenty-vertical .twentytwenty-after-label:before {
  bottom: 10px; }

.twentytwenty-overlay {
  transition-property: background;
  background: rgba(0, 0, 0, 0);
  z-index: 25; }

.twentytwenty-overlay:hover {
  background: rgba(0, 0, 0, 0.5); }

.twentytwenty-overlay:hover .twentytwenty-after-label {
  opacity: 1; }

.twentytwenty-overlay:hover .twentytwenty-before-label {
  opacity: 1; }

.twentytwenty-before {
  z-index: 20; }

.twentytwenty-after {
  z-index: 10; }

.twentytwenty-handle {
  height: 38px;
  width: 38px;
  position: absolute;
  right: 50%;
  top: 50%;
  margin-right: -22px;
  margin-top: -22px;
  border: 3px solid white;
  border-radius: 1000px;
  box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5);
  z-index: 40;
  cursor: pointer; }

.twentytwenty-horizontal .twentytwenty-handle:before {
  bottom: 50%;
  margin-bottom: 19px; }

.twentytwenty-horizontal .twentytwenty-handle:after {
  top: 50%;
  margin-top: 19px; }

.twentytwenty-vertical .twentytwenty-handle:before {
  right: 50%;
  margin-right: 19px; }

.twentytwenty-vertical .twentytwenty-handle:after {
  left: 50%;
  margin-left: 19px; }

.twentytwenty-left-arrow {
  border-left: 6px solid white;
  right: 50%;
  margin-right: -17px; }

.twentytwenty-right-arrow {
  border-right: 6px solid white;
  left: 50%;
  margin-left: -17px; }

.twentytwenty-up-arrow {
  border-bottom: 6px solid white;
  top: 50%;
  margin-top: -17px; }

.twentytwenty-down-arrow {
  border-top: 6px solid white;
  bottom: 50%;
  margin-bottom: -17px; }

.pp-tm-wrapper {
  position: relative; }
  .pp-tm-wrapper .pp-tm-social-links {
    list-style: none;
    margin: 0;
    padding: 0; }
    .pp-tm-wrapper .pp-tm-social-links li {
      list-style: none;
      margin: 0;
      padding: 0;
      vertical-align: top; }
  .pp-tm-wrapper .pp-tm-title-divider-wrap {
    font-size: 0;
    line-height: 1; }
  .pp-tm-wrapper li,
  .pp-tm-wrapper .pp-tm-social-icon,
  .pp-tm-wrapper .pp-tm-divider {
    display: inline-block; }
  .pp-tm-wrapper .pp-tm:hover .pp-tm-overlay-content-wrap {
    opacity: 1;
    visibility: visible; }
  .pp-tm-wrapper .pp-tm-image {
    display: inline-block;
    position: relative; }
    .pp-tm-wrapper .pp-tm-image img {
      display: block; }

.pp-tm-content-normal {
  position: relative;
  z-index: 1; }

.pp-tm-overlay-content-wrap {
  position: absolute;
  right: 0;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  transition: all 0.25s linear 0s; }
  .pp-tm-overlay-content-wrap:before {
    background-color: #000;
    content: '';
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    left: 0;
    bottom: 0;
    opacity: 0.5;
    z-index: -1; }
  .pp-tm-overlay-content-wrap .pp-tm-content {
    padding: 20px;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%); }

.pp-tm-social-icon-wrap {
  display: inline-flex;
  transition: all 0.25s linear 0s; }

.pp-tm-name a {
  color: inherit; }

.pp-tm-description p:last-child {
  margin-bottom: 0; }

.pp-tm-carousel {
  position: relative; }
  .pp-tm-carousel-dots-outside .swiper-pagination {
    position: static; }

.pp-logo-carousel.grayscale-normal img {
  filter: grayscale(100%); }

.pp-logo-carousel.grayscale-normal .swiper-slide:hover img {
  filter: none; }

.pp-logo-carousel.grayscale-hover .swiper-slide:hover img {
  filter: grayscale(100%); }

.pp-logo-carousel.swiper-container .swiper-slide {
  text-align: center; }
  .pp-logo-carousel.swiper-container .swiper-slide img {
    width: auto; }

.pp-logo-carousel .pp-logo-carousel-title a {
  color: inherit; }

.pp-logo-grid {
  position: relative; }
  .pp-logo-grid .pp-grid-item {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    transition: all 0.25s linear 0s;
    width: 100%; }
  .pp-logo-grid .pp-grid-item-wrap {
    display: flex;
    float: right;
    flex-wrap: wrap;
    text-align: center;
    transition: background 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .pp-logo-grid .pp-logo-grid-title {
    margin-bottom: 0; }
    .pp-logo-grid .pp-logo-grid-title a {
      color: inherit; }
  .pp-logo-grid.grayscale-normal img {
    filter: grayscale(100%); }
  .pp-logo-grid.grayscale-normal .pp-grid-item:hover img {
    filter: none; }
  .pp-logo-grid.grayscale-hover .pp-grid-item:hover img {
    filter: grayscale(100%); }

.pp-google-map-container {
  line-height: 0; }

.pp-google-map {
  display: inline-block;
  width: 100%; }
  .pp-google-map .gm-style .pp-infowindow-title {
    font-weight: 600; }

.pp-contact-form-7 .wpcf7-form:after {
  clear: both;
  content: "";
  font-size: 0;
  height: 0;
  display: block;
  visibility: hidden; }

.pp-contact-form-7 .wpcf7-form label,
.pp-contact-form-7 .wpcf7-form .wpcf7-form-control-wrap {
  display: block; }

.pp-contact-form-7 .wpcf7-form p {
  margin-bottom: 0; }

.pp-contact-form-7.labels-hide .wpcf7-form label {
  display: none; }

.pp-contact-form-7-title {
  margin-bottom: 10px; }

.pp-contact-form-7-description {
  margin-bottom: 20px; }

.pp-contact-form-7-button-full-width .wpcf7-form-control.wpcf7-submit {
  width: 100%; }

.pp-gravity-form .gform_wrapper .gform_footer {
  margin: 0;
  padding: 0; }

.pp-gravity-form .gform_wrapper textarea {
  padding: 0; }

.pp-gravity-form .gform_wrapper .gform_footer input.button,
.pp-gravity-form .gform_wrapper .gform_footer input[type="submit"],
.pp-gravity-form .gform_wrapper .gform_page_footer input.button,
.pp-gravity-form .gform_wrapper .gform_page_footer input[type="submit"] {
  margin: 0; }

.pp-gravity-form .gform_wrapper .gform_page_footer input[type="button"] {
  margin-left: 4px; }

.pp-gravity-form .gform_wrapper .gform_page_footer input[type="submit"] {
  margin-right: 4px; }

.pp-gravity-form.title-description-hide .gform_heading {
  display: none; }

.pp-gravity-form.labels-hide .gform_wrapper .top_label .gfield_label,
.pp-gravity-form.labels-hide .gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label {
  display: none; }

.pp-gravity-form .gform_footer input[type="submit"],
.pp-gravity-form .gform_footer input[type="button"],
.pp-gravity-form .gform_page_footer input[type="submit"],
.pp-gravity-form .gform_page_footer input[type="button"] {
  background: #428bca;
  border: none;
  display: inline-block;
  padding: 10px 15px; }

.pp-gravity-form-button-full-width .gform_wrapper .gform_footer input[type="submit"],
.pp-gravity-form-button-full-width .gform_wrapper .gform_page_footer input[type="submit"] {
  width: 100%; }

.pp-gravity-form-button-full-width .gform_wrapper .gform_page_footer input[type="submit"] {
  margin-top: 20px; }

.pp-gravity-form-pagination-buttons-full-width .gform_wrapper .gform_page_footer input[type="button"] {
  margin-top: 20px;
  width: 100%; }

.pp-gravity-form .gform_wrapper select {
  border-radius: 0;
  height: auto;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.pp-gravity-form .gform_wrapper .pp-gf-select-custom {
  position: relative; }
  .pp-gravity-form .gform_wrapper .pp-gf-select-custom:after {
    content: "\f078";
    font-family: 'Font Awesome 5 Free';
    font-weight: 800;
    font-size: .7em;
    line-height: 1;
    pointer-events: none;
    position: absolute;
    top: 45%;
    left: .8em;
    transform: translateY(-45%);
    z-index: 2; }

.pp-ninja-form .nf-form-title {
  display: none; }

.pp-ninja-form-title-yes .nf-form-title {
  display: block; }

.pp-ninja-form .title-description-hide .nf-form-title {
  display: none; }

.pp-ninja-form.title-description-hide .nf-form-title {
  display: none; }

.pp-ninja-form .nf-field-label {
  display: none; }

.pp-ninja-form-labels-yes .nf-field-label {
  display: block; }

.pp-ninja-form .submit-container input[type="button"] {
  border: 0;
  border-radius: 0; }

.pp-ninja-form-button-full-width .submit-container input[type="button"] {
  width: 100%; }

.pp-caldera-form .control-label {
  display: none; }

.pp-caldera-form-labels-yes .control-label {
  display: block; }

.pp-caldera-form-button-center .form-group input[type="button"],
.pp-caldera-form-button-center .form-group input[type="submit"] {
  display: block;
  margin: 0 auto; }

.pp-caldera-form-button-right .form-group input[type="button"],
.pp-caldera-form-button-right .form-group input[type="submit"] {
  float: left; }

.pp-caldera-form .intl-tel-input {
  display: inherit; }

.pp-custom-radio-checkbox .caldera-grid input[type="checkbox"],
.pp-custom-radio-checkbox .caldera-grid input[type="radio"] {
  border-style: solid;
  border-width: 0;
  padding: 3px;
  -webkit-appearance: none; }

.pp-caldera-form-button-full-width .form-group input[type="submit"],
.pp-caldera-form-button-full-width .form-group input[type="button"] {
  width: 100%; }

.pp-wpforms .wpforms-container .wpforms-form input[type="submit"],
.pp-wpforms .wpforms-container .wpforms-form button[type="submit"],
.pp-wpforms .wpforms-container .wpforms-form .wpforms-page-button {
  border: 0; }
  .pp-wpforms .wpforms-container .wpforms-form input[type="submit"]:hover,
  .pp-wpforms .wpforms-container .wpforms-form button[type="submit"]:hover,
  .pp-wpforms .wpforms-container .wpforms-form .wpforms-page-button:hover {
    border: 0; }

.pp-wpforms .wpforms-container .wpforms-form input[type="checkbox"],
.pp-wpforms .wpforms-container .wpforms-form input[type="radio"] {
  padding: 3px; }

.pp-wpforms .wpforms-container .wpforms-form .wpforms-field-label {
  display: none; }

.pp-wpforms .wpforms-container .wpforms-form .wpforms-field-name .wpforms-field-row {
  max-width: 100%; }

.pp-wpforms .wpforms-container .wpforms-field input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]),
.pp-wpforms .wpforms-container .wpforms-field textarea,
.pp-wpforms .wpforms-container .wpforms-field select {
  max-width: 100% !important; }

.pp-wpforms-labels-yes .wpforms-container .wpforms-form .wpforms-field-label {
  display: block; }

.pp-wpforms-form-button-full-width .wpforms-submit-container .wpforms-submit {
  width: 100%; }

.pp-slider-arrow {
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border-radius: 50%;
  color: #000;
  cursor: pointer;
  display: inline-flex;
  font-size: 22px;
  line-height: 22px;
  position: absolute;
  top: 50%;
  width: 1.8182em;
  height: 1.8182em;
  transform: translateY(-50%);
  z-index: 1;
  transition: all 0.25s linear 0s; }
  .pp-slider-arrow svg {
    fill: currentColor;
    width: auto;
    height: 1em; }

.pp-arrow-next {
  left: 20px; }

.pp-arrow-prev {
  right: 20px; }

[dir="rtl"] .pp-slick-slider .pp-arrow-next {
  right: 20px;
  left: auto; }

[dir="rtl"] .pp-slick-slider .pp-arrow-prev {
  right: auto;
  left: 20px; }

.pp-slick-slider:not(.slick-initialized) > * {
  display: none; }

.pp-slick-slider .slick-slide:focus {
  outline: 0; }

.pp-slick-slider .slick-dots {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  text-align: center;
  width: 100%; }

.pp-slick-slider li {
  background: #ccc;
  border-radius: 50%;
  cursor: pointer;
  position: relative;
  display: inline-block;
  margin: 0 4px;
  padding: 0;
  vertical-align: middle;
  transition: 0.3s; }
  .pp-slick-slider li.slick-active {
    background: #000; }
  .pp-slick-slider li button {
    background: transparent;
    border: 0;
    box-shadow: none;
    color: transparent;
    display: block;
    font-size: 0;
    line-height: 0;
    width: 10px;
    height: 10px;
    padding: 0;
    outline: none;
    transition: 0.3s; }
    .pp-slick-slider li button:hover, .pp-slick-slider li button:focus {
      background: transparent;
      border: 0; }

.pp-slick-slider-dots-inside .slick-dots {
  position: absolute;
  bottom: 15px;
  right: 0;
  left: 0; }

.swiper-container-wrap .swiper-slide,
.swiper-container .swiper-slide {
  text-align: center; }

.swiper-container-wrap-dots-outside .swiper-pagination,
.swiper-container-dots-outside .swiper-pagination {
  position: static; }

.swiper-container-wrap .swiper-button-next,
.swiper-container-wrap .swiper-button-prev,
.swiper-container .swiper-button-next,
.swiper-container .swiper-button-prev {
  background-image: none;
  font-size: 20px;
  height: 1.8182em;
  line-height: 1;
  margin: 0;
  text-align: center;
  transform: translateY(-50%);
  width: 1.8182em; }
  .swiper-container-wrap .swiper-button-next .fa,
  .swiper-container-wrap .swiper-button-prev .fa,
  .swiper-container .swiper-button-next .fa,
  .swiper-container .swiper-button-prev .fa {
    vertical-align: top; }

.pp-swiper-button svg {
  fill: currentColor;
  width: auto;
  height: 1em; }

.swiper-button-next:focus,
.swiper-button-prev:focus {
  outline: 0; }

.swiper-container-wrap .swiper-pagination {
  bottom: 10px;
  right: 0;
  width: 100%; }

.swiper-container-wrap-dots-outside .swiper-pagination {
  position: static; }

.swiper-container-wrap .swiper-pagination-bullet {
  background: #ccc;
  margin: 0 4px;
  opacity: 1;
  height: 8px;
  width: 8px; }

.swiper-container-wrap .swiper-pagination-bullet-active {
  background: #000; }

.pp-slider-arrow,
.pp-slider-arrow:focus,
.swiper-pagination-bullet,
.swiper-pagination-bullet:focus {
  outline: 0; }

.pp-swiper-slider-pagination-outside .swiper-pagination {
  position: static; }

.pp-info-table-container .pp-info-table-link {
  text-decoration: none !important; }

.pp-info-table-container .pp-info-table-sale-badge.right {
  position: absolute;
  left: -7px;
  z-index: 2;
  border-bottom-left-radius: 0 !important; }

.pp-info-table-container .pp-info-table-sale-badge.right:after {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  bottom: -8px;
  left: 0;
  border-bottom: 8px solid transparent;
  border-right: 8px;
  border-right-style: solid; }

.pp-info-table-container .pp-info-table-sale-badge.left {
  position: absolute;
  right: -7px;
  z-index: 2;
  border-bottom-right-radius: 0 !important; }

.pp-info-table-container .pp-info-table-sale-badge.left:after {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  bottom: -8px;
  right: 0;
  border-bottom: 8px solid transparent;
  border-left: 8px;
  border-left-style: solid; }

.pp-info-table-container .pp-info-table-sale-badge p {
  margin: 0;
  text-align: center !important; }

.pp-info-table-container .pp-info-table-icon-inner {
  display: inline-block; }

.pp-info-table-container .pp-info-table-icon-wrap {
  display: table; }
  .pp-info-table-container .pp-info-table-icon-wrap .pp-info-table-icon {
    display: table-cell;
    vertical-align: middle;
    text-align: center; }

.pp-image-accordion {
  display: flex;
  height: 50vh; }
  .pp-image-accordion .pp-image-accordion-img {
    position: absolute;
    right: 0;
    top: 0;
    left: 0;
    bottom: 0;
    -o-object-fit: cover;
       object-fit: cover;
    height: 100%;
    width: 100%; }
  .pp-image-accordion .pp-image-accordion-button-wrap * {
    transition: none; }
  .pp-image-accordion .pp-image-accordion-button {
    transition: all 0.25s linear 0s; }

.pp-image-accordion-item {
  cursor: pointer;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: #fff;
  position: relative;
  flex: 1;
  text-decoration: none;
  transition: flex .4s;
  overflow: hidden; }
  .pp-image-accordion-item:last-child {
    margin-left: 0 !important; }

.pp-image-accordion-active {
  cursor: default; }

.pp-image-accordion-overlay {
  background-color: rgba(0, 0, 0, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  transition: background-color .4s; }
  .pp-image-accordion-overlay .pp-image-accordion-content-wrap {
    z-index: 1; }

.pp-image-accordion-content-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  visibility: hidden; }
  .pp-image-accordion-content-wrap p:last-child {
    margin-bottom: 0; }

.pp-image-accordion-content-wrap * {
  visibility: hidden;
  opacity: 0;
  transform-style: preserve-3d; }

.pp-image-accordion-title {
  color: #fff;
  transform: translate3d(0, -60px, 0); }

.pp-image-accordion-description {
  color: #fff;
  transform: translate3d(0, 60px, 0); }

.pp-image-accordion-button-wrap {
  transform: translate3d(0, 60px, 0); }

.pp-image-accordion-content-active {
  visibility: visible; }

.pp-image-accordion-content-active * {
  opacity: 1;
  visibility: visible;
  transform: none !important;
  transition: all .3s .3s; }

.pp-image-accordion-on-hover .pp-image-accordion-item:hover {
  flex: 3; }
  .pp-image-accordion-on-hover .pp-image-accordion-item:hover .pp-image-accordion-content-wrap * {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: all .3s .3s; }

.pp-image-accordion-orientation-horizontal .pp-image-accordion {
  flex-direction: column; }
  .pp-image-accordion-orientation-horizontal .pp-image-accordion a:hover .pp-image-accordion-overlay {
    background-color: transparent; }

.pp-image-accordion-orientation-horizontal .pp-image-accordion-item {
  margin-left: 0 !important; }

.pp-advanced-accordion {
  width: auto;
  height: auto;
  transition: all 0.3s ease-in-out; }
  .pp-advanced-accordion .pp-accordion-tab-title {
    padding: 15px;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1;
    transition: all 0.3s ease-in-out;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    outline: 0; }
  .pp-advanced-accordion.pp-toggle-icon-align-left .pp-accordion-tab-title {
    flex-direction: row-reverse;
    justify-content: flex-end; }

.pp-accordion-toggle-icon {
  transition: none;
  z-index: 10; }

.pp-accordion-toggle-icon-open,
.pp-accordion-tab-show .pp-accordion-toggle-icon-close,
.pp-accordion-tab-active-default .pp-accordion-toggle-icon-close {
  display: none; }

.pp-accordion-tab-show .pp-accordion-toggle-icon-open,
.pp-accordion-tab-active-default .pp-accordion-toggle-icon-open {
  display: inline-block; }

.pp-accordion-tab-content {
  display: none;
  padding: 15px;
  box-sizing: border-box;
  font-size: 1rem;
  line-height: 1.7; }
  .pp-accordion-tab-content p:last-child {
    margin: 0; }
  .pp-accordion-tab-content.pp-accordion-tab-active {
    display: block; }

.pp-accordion-item {
  overflow: hidden;
  transition: all 0.3s ease-in-out; }

.pp-accordion-title-icon {
  display: flex;
  align-items: center; }

.pp-accordion-tab-icon {
  display: inline-block;
  margin-left: 10px; }

.pp-flipbox-container {
  overflow: hidden;
  position: relative;
  height: 300px;
  width: 100%; }

.pp-flipbox-icon-image,
.pp-flipbox-icon-image-back {
  display: inline-block;
  margin: 0 auto 0px auto;
  line-height: 1; }
  .pp-flipbox-icon-image img,
  .pp-flipbox-icon-image-back img {
    width: 30%; }
  .pp-flipbox-icon-image i,
  .pp-flipbox-icon-image-back i {
    font-size: 40px;
    line-height: 40px;
    width: 40px; }

.pp-flipbox-overlay {
  height: 100%;
  padding: 35px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center; }

.pp-flipbox-front,
.pp-flipbox-back {
  text-align: center;
  position: absolute;
  top: 0px;
  right: 0px;
  width: 100%;
  height: 100%; }

.pp-flipbox-front {
  background: #1abc9c;
  color: #fff;
  z-index: 2; }

.pp-flipbox-back {
  background: #444;
  color: #fff; }
  .pp-flipbox-back .pp-flipbox-box-link {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0; }

.pp-flipbox-content,
.pp-flipbox-heading {
  color: #fff; }

.pp-flipbox-heading.pp-flipbox-linked-title {
  color: #fff;
  display: block;
  font-size: 1.5em;
  font-weight: 700; }

/*--- CSS3 Transitions ---*/
.pp-flipbox-container {
  perspective: 1000px; }

.pp-flipbox-front,
.pp-flipbox-back {
  transition-duration: 500ms;
  transition-property: all;
  transition-timing-function: ease; }

.pp-flipbox-flip-card {
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: all 500ms ease; }

.pp-flipbox-back,
.pp-flipbox-front {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  transform: rotateX(0deg);
  transform: rotateY(0deg); }

/*--- Flip ---*/
.pp-animate-flip.pp-direction-up.pp-flipbox-container:hover .pp-flipbox-flip-card,
.pp-animate-flip.pp-direction-up .pp-flipbox-back {
  transform: rotateX(180deg); }

.pp-animate-flip.pp-direction-down.pp-flipbox-container:hover .pp-flipbox-flip-card,
.pp-animate-flip.pp-direction-down .pp-flipbox-back {
  transform: rotateX(-180deg); }

.pp-animate-flip.pp-direction-left.pp-flipbox-container:hover .pp-flipbox-flip-card,
.pp-animate-flip.pp-direction-left .pp-flipbox-back {
  transform: rotateY(180deg); }

.pp-animate-flip.pp-direction-right.pp-flipbox-container:hover .pp-flipbox-flip-card,
.pp-animate-flip.pp-direction-right .pp-flipbox-back {
  transform: rotateY(-180deg); }

/*--- Slide ---*/
.pp-animate-push.pp-flipbox-container,
.pp-animate-slide.pp-flipbox-container {
  overflow: hidden; }

.pp-animate-push .pp-flipbox-back,
.pp-animate-slide .pp-flipbox-back {
  z-index: 3; }

.pp-animate-push.pp-direction-up .pp-flipbox-back,
.pp-animate-slide.pp-direction-up .pp-flipbox-back {
  top: 100%; }

.pp-animate-push.pp-direction-up.pp-flipbox-container:hover .pp-flipbox-back,
.pp-animate-slide.pp-direction-up.pp-flipbox-container:hover .pp-flipbox-back {
  top: 0; }

.pp-animate-push.pp-direction-down .pp-flipbox-back,
.pp-animate-slide.pp-direction-down .pp-flipbox-back {
  top: auto;
  bottom: 100%; }

.pp-animate-push.pp-direction-down.pp-flipbox-container:hover .pp-flipbox-back,
.pp-animate-slide.pp-direction-down.pp-flipbox-container:hover .pp-flipbox-back {
  top: auto;
  bottom: 0; }

.pp-animate-push.pp-direction-left .pp-flipbox-back,
.pp-animate-slide.pp-direction-left .pp-flipbox-back {
  right: 100%; }

.pp-animate-push.pp-direction-left.pp-flipbox-container:hover .pp-flipbox-back,
.pp-animate-slide.pp-direction-left.pp-flipbox-container:hover .pp-flipbox-back {
  right: 0; }

.pp-animate-push.pp-direction-right .pp-flipbox-back,
.pp-animate-slide.pp-direction-right .pp-flipbox-back {
  right: auto;
  left: 100%; }

.pp-animate-push.pp-direction-right.pp-flipbox-container:hover .pp-flipbox-back,
.pp-animate-slide.pp-direction-right.pp-flipbox-container:hover .pp-flipbox-back {
  right: auto;
  left: 0; }

/*--- Push + Slide Above ---*/
.pp-animate-push.pp-direction-up.pp-flipbox-container:hover .pp-flipbox-front {
  top: -100%; }

.pp-animate-push.pp-direction-down.pp-flipbox-container:hover .pp-flipbox-front {
  top: 100%; }

.pp-animate-push.pp-direction-left.pp-flipbox-container:hover .pp-flipbox-front {
  right: -100%; }

.pp-animate-push.pp-direction-right.pp-flipbox-container:hover .pp-flipbox-front {
  right: 100%; }

/*--- Zoom In ---*/
.pp-animate-zoom-in .pp-flipbox-back {
  opacity: 0;
  transform: scale(0.75);
  z-index: 3; }

.pp-animate-zoom-in.pp-flipbox-container:hover .pp-flipbox-back {
  opacity: 1;
  transform: scale(1); }

/*--- Zoom Out ---*/
.pp-animate-zoom-out .pp-flipbox-front {
  opacity: 1;
  transform: scale(1);
  z-index: 1;
  width: 100%;
  transition: transform .5s,opacity .35s,width .1ms; }

.pp-animate-zoom-out.pp-flipbox-container:hover .pp-flipbox-front {
  opacity: 0;
  width: 0;
  transform: scale(0.75);
  transition: transform .8s,opacity .5s .1s,width .1ms .5s; }

.pp-animate-fade.pp-flipbox-container:hover .pp-flipbox-front {
  opacity: 0;
  visibility: hidden; }

.pp-content-ticker-container {
  background: #f4f4f4;
  display: flex;
  overflow: hidden; }

.pp-content-ticker-heading-left .pp-content-ticker-heading {
  justify-content: flex-start; }

.pp-content-ticker-heading-center .pp-content-ticker-heading {
  justify-content: center; }

.pp-content-ticker-heading-right .pp-content-ticker-heading {
  justify-content: flex-end; }

.pp-content-ticker-heading {
  background: #333;
  color: #fff;
  display: flex;
  flex-direction: row;
  flex-shrink: 0;
  align-items: center;
  padding: 10px 15px;
  position: relative; }

.pp-content-ticker-heading-icon {
  margin-left: 5px; }
  .pp-content-ticker-heading-icon-right {
    order: 1;
    margin-right: 5px;
    margin-left: 0; }

.pp-content-ticker-heading-arrow .pp-content-ticker-heading:after {
  content: '';
  position: absolute;
  left: -20px;
  border: 10px solid transparent;
  border-right-color: #333;
  top: 50%;
  transform: translateY(-50%); }

.pp-content-ticker-wrap {
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 10px 15px; }

.pp-content-ticker {
  overflow: hidden; }
  .pp-content-ticker .swiper-wrapper {
    align-items: center; }
    .pp-content-ticker .swiper-wrapper .swiper-slide {
      text-align: right; }
  .pp-content-ticker .pp-content-ticker-item-title {
    font-size: 20px;
    margin: 0; }
    .pp-content-ticker .pp-content-ticker-item-title a {
      color: inherit;
      font-size: inherit; }

.pp-content-ticker-content {
  display: flex;
  align-items: center; }

.pp-content-ticker-image {
  flex-shrink: 0;
  margin-left: 15px;
  width: 40px; }

.pp-content-ticker-meta {
  font-size: 14px; }

.pp-content-ticker-navigation {
  display: flex;
  align-items: center;
  padding-right: 10px;
  padding-left: 10px; }
  .pp-content-ticker-navigation .swiper-button-next,
  .pp-content-ticker-navigation .swiper-button-prev {
    background: transparent;
    font-size: 18px;
    line-height: 1.2;
    height: auto;
    margin: 0;
    padding: 0 6px;
    position: static;
    text-align: center;
    width: auto; }
  .pp-content-ticker-navigation .swiper-button-prev {
    margin-left: 6px; }

.pp-image-scroll-wrap,
.pp-image-scroll-container {
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out; }

.pp-image-scroll-wrap {
  overflow: hidden;
  width: 100%;
  position: relative; }

.pp-image-scroll-container {
  width: 100%; }

.pp-container-scroll {
  overflow: auto; }

.pp-image-scroll-container .pp-image-scroll-horizontal {
  position: relative;
  width: 100%;
  height: 100%; }

.pp-image-scroll-container .pp-image-scroll-horizontal.pp-image-scroll-image img {
  max-width: none;
  height: 100%; }

.pp-image-scroll-container .pp-image-scroll-vertical.pp-image-scroll-image img {
  width: 100%;
  max-width: 100%;
  height: auto; }

.pp-image-scroll-ver {
  position: relative; }

.pp-image-scroll-container .pp-image-scroll-overlay {
  background: rgba(2, 2, 2, 0.3); }

.pp-image-scroll-container .pp-image-scroll-link,
.pp-image-scroll-container .pp-image-scroll-overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 4; }

.pp-image-scroll-content {
  display: inline-block;
  position: absolute;
  height: auto;
  top: 50%;
  right: 50%;
  text-align: center;
  z-index: 5;
  transform: translate(50%, -50%); }

.pp-container-scroll-instant .pp-image-scroll-image img {
  transition: all 0s ease-in-out !important; }

.pp-image-scroll-container .pp-image-scroll-overlay,
.pp-image-scroll-container .pp-image-scroll-content {
  transition: all 0.3s ease-in-out;
  opacity: 1; }

.pp-image-scroll-container:hover .pp-image-scroll-overlay,
.pp-image-scroll-container:hover .pp-image-scroll-content {
  opacity: 0;
  /*    visibility: hidden;*/ }

.pp-image-scroll-container:hover .pp-image-scroll-content {
  visibility: hidden; }

.pp-image-scroll-content .pp-image-scroll-icon {
  display: inline-block;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-direction: alternate;
          animation-direction: alternate;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out; }

.pp-mouse-scroll-horizontal {
  -webkit-animation-name: pp-scroll-horizontal;
          animation-name: pp-scroll-horizontal; }

.pp-mouse-scroll-vertical {
  -webkit-animation-name: pp-scroll-vertical;
          animation-name: pp-scroll-vertical; }

@-webkit-keyframes pp-scroll-vertical {
  0% {
    transform: translateY(0px); }
  100% {
    transform: translateY(5px); } }

@keyframes pp-scroll-vertical {
  0% {
    transform: translateY(0px); }
  100% {
    transform: translateY(5px); } }

@-webkit-keyframes pp-scroll-horizontal {
  0% {
    transform: translateX(0px); }
  100% {
    transform: translateX(-5px); } }

@keyframes pp-scroll-horizontal {
  0% {
    transform: translateX(0px); }
  100% {
    transform: translateX(-5px); } }

.pp-buttons-group {
  display: flex;
  flex-flow: wrap;
  align-items: flex-start; }
  .pp-buttons-group a, .pp-buttons-group a:hover {
    text-decoration: none;
    transition: all 0.5s ease-in-out; }
  .pp-buttons-group .pp-button {
    display: flex; }
    .pp-buttons-group .pp-button .pp-button-content-wrapper .pp-button-content-inner {
      display: flex;
      align-items: center;
      justify-content: center; }
      .pp-buttons-group .pp-button .pp-button-content-wrapper .pp-button-content-inner.pp-icon-before {
        flex-direction: row; }
      .pp-buttons-group .pp-button .pp-button-content-wrapper .pp-button-content-inner.pp-icon-after {
        flex-direction: row-reverse; }
      .pp-buttons-group .pp-button .pp-button-content-wrapper .pp-button-content-inner.pp-icon-top {
        flex-direction: column; }
      .pp-buttons-group .pp-button .pp-button-content-wrapper .pp-button-content-inner.pp-icon-bottom {
        flex-direction: column-reverse; }

.pp-button-icon-image img {
  width: 40px; }

.pp-button-content-wrapper {
  display: flex;
  flex-grow: 1;
  justify-content: center; }

.pp-buttons-valign-top .pp-buttons-group {
  align-items: flex-start; }

.pp-buttons-valign-middle .pp-buttons-group {
  align-items: center; }

.pp-buttons-valign-bottom .pp-buttons-group {
  align-items: flex-end; }

.pp-buttons-valign-stretch .pp-buttons-group {
  align-items: stretch; }
  .pp-buttons-valign-stretch .pp-buttons-group .pp-button-content-wrapper {
    align-items: center; }

.pp-buttons-halign-left .pp-buttons-group {
  justify-content: flex-start; }

.pp-buttons-halign-center .pp-buttons-group {
  justify-content: center; }

.pp-buttons-halign-right .pp-buttons-group {
  justify-content: flex-end; }

.pp-buttons-halign-stretch .pp-buttons-group {
  justify-content: stretch; }

.pp-buttons-halign-stretch .pp-button {
  flex-grow: 1; }

.pp-buttons-stack-desktop .pp-buttons-group {
  flex-direction: column; }

.pp-buttons-stack-desktop.pp-buttons-halign-left .pp-buttons-group {
  align-items: flex-start; }

.pp-buttons-stack-desktop.pp-buttons-halign-center .pp-buttons-group {
  align-items: center; }

.pp-buttons-stack-desktop.pp-buttons-halign-right .pp-buttons-group {
  align-items: flex-end; }

.pp-buttons-stack-desktop.pp-buttons-halign-stretch .pp-buttons-group {
  align-items: stretch; }

.pp-buttons-stack-desktop.pp-buttons-halign-stretch .pp-button {
  flex-grow: 1; }

.pp-buttons-stack-desktop .pp-button {
  margin-right: 0 !important;
  margin-left: 0 !important; }

.pp-heading-fill-gradient .pp-heading-text {
  display: block;
  background-clip: text;
  text-fill-color: transparent;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; }

.pp-formidable-forms .frm_form_field .frm_primary_label {
  display: none; }

.pp-formidable-forms-labels-yes .pp-formidable-forms .frm_primary_label {
  display: block; }

.pp-custom-radio-checkbox .form-field input[type="checkbox"],
.pp-custom-radio-checkbox .form-field input[type="radio"] {
  border-style: solid;
  border-width: 0;
  display: inline-block;
  vertical-align: middle;
  padding: 3px;
  -webkit-appearance: none; }

.pp-formidable-forms-button-full-width .pp-formidable-forms .frm_submit .frm_button_submit {
  width: 100%; }

.pp-fluent-forms-form-button-full-width .ff_submit_btn_wrapper .ff-btn-submit {
  margin-right: 0;
  margin-left: 0;
  width: 100%; }

.pp-post {
  overflow: hidden; }
  .pp-post .pp-post-title {
    font-size: 26px; }
    .pp-post .pp-post-title a {
      color: inherit;
      font-family: inherit;
      font-size: inherit;
      font-style: inherit;
      font-weight: inherit;
      line-height: inherit; }

.pp-post-thumbnail {
  overflow: hidden; }
  .pp-post-thumbnail img {
    width: 100%;
    transition: all .25s linear; }

.pp-posts-thumbnail-ratio .pp-post-thumbnail-wrap {
  position: relative; }
  .pp-posts-thumbnail-ratio .pp-post-thumbnail-wrap img {
    position: absolute;
    -o-object-fit: cover;
       object-fit: cover;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    height: 100%; }

.pp-post-separator-wrap {
  margin-bottom: 15px; }

.pp-post-separator {
  background: #e6e6e6;
  height: 1px;
  width: 100%; }

.pp-post-terms {
  transition: all 0.25s linear 0s;
  display: inline-block; }
  .pp-post-terms a {
    color: inherit; }

.pp-equal-height-yes .pp-post {
  height: 100%; }

.pp-posts-pagination a,
.pp-posts-pagination .page-numbers {
  display: inline-block; }

.pp-posts-infinite-scroll .pp-posts-pagination-wrap {
  display: none; }

.pp-search-form-container {
  display: flex;
  justify-content: flex-start; }

.pp-search-form {
  display: flex;
  transition: .2s;
  overflow: hidden;
  border: 0 solid transparent;
  margin-bottom: 20px;
  min-height: 50px;
  max-width: 400px;
  width: 100%; }
  .pp-search-form button,
  .pp-search-form input[type=search] {
    margin: 0;
    border: 0;
    padding: 0;
    display: inline-block;
    vertical-align: middle;
    white-space: normal;
    background: none;
    line-height: 1;
    min-width: 0;
    font-size: 15px;
    -webkit-appearance: none;
    -moz-appearance: none; }
    .pp-search-form button:focus,
    .pp-search-form input[type=search]:focus {
      outline: 0; }
  .pp-search-form input[type=search] {
    background: #eceeef;
    height: 100%;
    padding-right: 15px;
    padding-left: 15px;
    flex-basis: 100%;
    color: #55595c;
    transition: color .2s; }
  .pp-search-form button {
    background-color: #818a91;
    font-size: 16px;
    color: #fff;
    border-radius: 0;
    min-width: 50px; }
  .pp-search-form .pp-search-form-input:-ms-input-placeholder {
    color: inherit;
    font-family: inherit;
    opacity: 0.6; }
  .pp-search-form .pp-search-form-input::-moz-placeholder {
    color: inherit;
    font-family: inherit;
    opacity: 0.6; }
  .pp-search-form .pp-search-form-input::placeholder {
    color: inherit;
    font-family: inherit;
    opacity: 0.6; }

.pp-search-form-text .pp-search-form-submit {
  flex-shrink: 0; }

.pp-loader,
.pp-posts-loader {
  width: 46px;
  height: 46px; }

.pp-loader {
  text-align: center;
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translateX(50%) translateY(-50%);
  z-index: 2; }

.pp-posts-loader {
  display: none;
  margin-right: auto;
  margin-left: auto; }

.pp-loader:after,
.pp-posts-loader:after {
  content: " ";
  display: block;
  width: 100%;
  height: 100%;
  margin: 1px;
  border-radius: 50%;
  border: 5px solid #fff;
  border-color: #000 transparent #000 transparent;
  -webkit-animation: pp-loader-dual-ring 1.2s linear infinite;
          animation: pp-loader-dual-ring 1.2s linear infinite; }

.pp-loader:after {
  width: 46px;
  height: 46px; }

@-webkit-keyframes pp-loader-dual-ring {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(-360deg); } }

@keyframes pp-loader-dual-ring {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(-360deg); } }

.pp-loader-overlay {
  background: rgba(255, 255, 255, 0.5);
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  height: 100%;
  width: 100%; }

.pp-content-reveal-container .pp-content-reveal-content-wrapper {
  overflow: hidden;
  position: relative; }
  .pp-content-reveal-container .pp-content-reveal-content-wrapper .pp-content-reveal-content p {
    margin-bottom: 0; }
  .pp-content-reveal-container .pp-content-reveal-content-wrapper .pp-content-reveal-saparator {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0, #fff 100%);
    height: 50px; }

.pp-content-reveal-container .pp-content-reveal-buttons-wrapper {
  display: flex; }

.pp-content-reveal-container .pp-content-reveal-button-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 12px 24px;
  overflow: hidden;
  position: relative;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  text-align: center;
  cursor: pointer;
  transition: all 0.4s ease-in-out; }

.pp-content-reveal-container .pp-content-reveal-button {
  min-width: 100%; }
  .pp-content-reveal-container .pp-content-reveal-button.pp-content-reveal-button-open {
    display: none; }
  .pp-content-reveal-container .pp-content-reveal-button p {
    margin-bottom: 0; }
  .pp-content-reveal-container .pp-content-reveal-button .pp-button-icon {
    transition: all 0.4s ease-in-out; }

.pp-content-reveal-container .pp-content-reveal-button-content {
  min-width: 100%;
  display: flex;
  align-items: center;
  flex-direction: row;
  justify-content: center; }

.pp-content-reveal-container .pp-button-icon-after .pp-content-reveal-button-content {
  flex-direction: row-reverse; }

.pp-media-content .pp-gallery-image-caption {
  color: #fff;
  padding: 5px 10px; }
  .pp-media-content .pp-gallery-image-caption a {
    color: inherit; }

.pp-random-image-wrap {
  overflow: hidden;
  position: relative;
  text-align: center; }
  .pp-random-image-wrap .pp-random-image {
    display: inline-block;
    vertical-align: middle; }
  .pp-random-image-wrap .pp-media-content {
    display: flex;
    flex-direction: column; }

.pp-random-image-caption-over .pp-random-image-link {
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  bottom: 0;
  z-index: 1; }

.pp-gallery-image-content,
.pp-gallery-image-caption {
  transition: all 0.25s linear 0s; }

.pp-caption-hover-effect-fade-in .pp-gallery-image-caption {
  opacity: 0; }

.pp-caption-hover-effect-fade-in .pp-image:hover .pp-media-content .pp-gallery-image-caption {
  opacity: 1; }

.pp-caption-hover-effect-fade-out .pp-gallery-image-caption {
  opacity: 1; }

.pp-caption-hover-effect-fade-out .pp-image:hover .pp-media-content .pp-gallery-image-caption {
  opacity: 0; }

.pp-caption-hover-effect-slide-from-top .pp-media-content {
  transform: translateY(-100%); }

.pp-caption-hover-effect-slide-from-bottom .pp-media-content {
  transform: translateY(100%); }

.pp-caption-hover-effect-slide-from-left .pp-media-content {
  transform: translateX(100%); }

.pp-caption-hover-effect-slide-from-right .pp-media-content {
  transform: translateX(-100%); }

.pp-caption-hover-effect-fade-from-top .pp-media-content {
  transform: translateY(-24px); }

.pp-caption-hover-effect-fade-from-bottom .pp-media-content {
  transform: translateY(24px); }

.pp-caption-hover-effect-fade-from-left .pp-media-content {
  transform: translateX(24px); }

.pp-caption-hover-effect-fade-from-right .pp-media-content {
  transform: translateX(-24px); }

.pp-caption-hover-effect-fade-to-top .pp-image:hover .pp-media-content {
  transform: translateY(-24px); }

.pp-caption-hover-effect-fade-to-bottom .pp-image:hover .pp-media-content {
  transform: translateY(24px); }

.pp-caption-hover-effect-fade-to-left .pp-image:hover .pp-media-content {
  transform: translateX(24px); }

.pp-caption-hover-effect-fade-to-right .pp-image:hover .pp-media-content {
  transform: translateX(-24px); }

.pp-caption-hover-effect-slide-to-top .pp-image:hover .pp-media-content {
  transform: translateY(-100%); }

.pp-caption-hover-effect-slide-to-bottom .pp-image:hover .pp-media-content {
  transform: translateY(100%); }

.pp-caption-hover-effect-slide-to-left .pp-image:hover .pp-media-content {
  transform: translateX(100%); }

.pp-caption-hover-effect-slide-to-right .pp-image:hover .pp-media-content {
  transform: translateX(-100%); }

.pp-caption-hover-effect-fade-from-top .pp-media-content,
.pp-caption-hover-effect-fade-from-bottom .pp-media-content,
.pp-caption-hover-effect-fade-from-left .pp-media-content,
.pp-caption-hover-effect-fade-from-right .pp-media-content {
  opacity: 0; }

.pp-caption-hover-effect-fade-to-top .pp-image:hover .pp-media-content,
.pp-caption-hover-effect-fade-to-bottom .pp-image:hover .pp-media-content,
.pp-caption-hover-effect-fade-to-left .pp-image:hover .pp-media-content,
.pp-caption-hover-effect-fade-to-right .pp-image:hover .pp-media-content {
  opacity: 0; }

.pp-caption-hover-effect-slide-from-bottom .pp-image:hover .pp-media-content,
.pp-caption-hover-effect-slide-from-top .pp-image:hover .pp-media-content,
.pp-caption-hover-effect-slide-from-right .pp-image:hover .pp-media-content,
.pp-caption-hover-effect-slide-from-left .pp-image:hover .pp-media-content,
.pp-caption-hover-effect-fade-from-top .pp-image:hover .pp-media-content,
.pp-caption-hover-effect-fade-from-bottom .pp-image:hover .pp-media-content,
.pp-caption-hover-effect-fade-from-left .pp-image:hover .pp-media-content,
.pp-caption-hover-effect-fade-from-right .pp-image:hover .pp-media-content {
  transform: translateY(0) translateX(0); }

.pp-caption-hover-effect-fade-from-top .pp-image:hover .pp-media-content,
.pp-caption-hover-effect-fade-from-bottom .pp-image:hover .pp-media-content,
.pp-caption-hover-effect-fade-from-left .pp-image:hover .pp-media-content,
.pp-caption-hover-effect-fade-from-right .pp-image:hover .pp-media-content {
  opacity: 1; }

@media only screen and (min-width: 1025px) {
  /* For Desktop: */
  .elementor-element.elementor-grid-1 {
    position: relative; }
    .elementor-element.elementor-grid-1 .pp-elementor-grid .pp-grid-item-wrap {
      width: 100%;
      float: right; }
  .elementor-element.elementor-grid-2 {
    position: relative; }
    .elementor-element.elementor-grid-2 .pp-elementor-grid .pp-grid-item-wrap {
      width: 50%;
      float: right; }
      .elementor-element.elementor-grid-2 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(2n) {
        margin-left: 0 !important; }
      .elementor-element.elementor-grid-2 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(2n+1) {
        clear: right; }
  .elementor-element.elementor-grid-3 {
    position: relative; }
    .elementor-element.elementor-grid-3 .pp-elementor-grid .pp-grid-item-wrap {
      width: 33.3333%;
      float: right; }
      .elementor-element.elementor-grid-3 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(3n) {
        margin-left: 0 !important; }
      .elementor-element.elementor-grid-3 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(3n+1) {
        clear: right; }
  .elementor-element.elementor-grid-4 {
    position: relative; }
    .elementor-element.elementor-grid-4 .pp-elementor-grid .pp-grid-item-wrap {
      width: 25%;
      float: right; }
      .elementor-element.elementor-grid-4 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(4n) {
        margin-left: 0 !important; }
      .elementor-element.elementor-grid-4 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(4n+1) {
        clear: right; }
  .elementor-element.elementor-grid-5 {
    position: relative; }
    .elementor-element.elementor-grid-5 .pp-elementor-grid .pp-grid-item-wrap {
      width: 20%;
      float: right; }
      .elementor-element.elementor-grid-5 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(5n) {
        margin-left: 0 !important; }
      .elementor-element.elementor-grid-5 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(5n+1) {
        clear: right; }
  .elementor-element.elementor-grid-6 {
    position: relative; }
    .elementor-element.elementor-grid-6 .pp-elementor-grid .pp-grid-item-wrap {
      width: 16.6667%;
      float: right; }
      .elementor-element.elementor-grid-6 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(6n) {
        margin-left: 0 !important; }
      .elementor-element.elementor-grid-6 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(6n+1) {
        clear: right; }
  .elementor-element.elementor-grid-7 {
    position: relative; }
    .elementor-element.elementor-grid-7 .pp-elementor-grid .pp-grid-item-wrap {
      width: 14.285%;
      float: right; }
      .elementor-element.elementor-grid-7 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(7n) {
        margin-left: 0 !important; }
      .elementor-element.elementor-grid-7 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(7n+1) {
        clear: right; }
  .elementor-element.elementor-grid-8 {
    position: relative; }
    .elementor-element.elementor-grid-8 .pp-elementor-grid .pp-grid-item-wrap {
      width: 12.5%;
      float: right; }
      .elementor-element.elementor-grid-8 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(8n) {
        margin-left: 0 !important; }
      .elementor-element.elementor-grid-8 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(8n+1) {
        clear: right; } }

@media (max-width: 1024px) {
  .pp-image-accordion-stack-on-tablet .pp-image-accordion {
    flex-direction: column; }
    .pp-image-accordion-stack-on-tablet .pp-image-accordion a:hover .pp-image-accordion-overlay {
      background-color: transparent; }
  .pp-image-accordion-stack-on-tablet .pp-image-accordion-item {
    margin-left: 0 !important; }
  .pp-info-box-tablet-top .pp-info-box {
    display: inline-block; }
    .pp-info-box-tablet-top .pp-info-box .pp-info-box-icon-wrap {
      display: inline-block;
      margin: 0; }
    .pp-info-box-tablet-top .pp-info-box .pp-info-box-icon {
      margin-left: auto; }
  .pp-info-box-tablet-left .pp-info-box {
    display: flex;
    flex-direction: row; }
    .pp-info-box-tablet-left .pp-info-box .pp-info-box-icon-wrap {
      display: flex;
      margin-left: 20px; }
    .pp-info-box-tablet-left .pp-info-box .pp-info-box-icon,
    .pp-info-box-tablet-left .pp-info-box img {
      width: 100%; }
  .pp-info-box-tablet-right .pp-info-box {
    display: flex;
    flex-direction: row-reverse; }
    .pp-info-box-tablet-right .pp-info-box .pp-info-box-icon-wrap {
      display: flex;
      margin-right: 20px; }
    .pp-info-box-tablet-right .pp-info-box .pp-info-box-icon,
    .pp-info-box-tablet-right .pp-info-box img {
      width: 100%; }
  .pp-info-list-stack-tablet.pp-info-list-icon-top .pp-info-list-container .pp-list-items {
    display: block; }
    .pp-info-list-stack-tablet.pp-info-list-icon-top .pp-info-list-container .pp-list-items .pp-info-list-item {
      display: block;
      text-align: center !important;
      width: 100% !important; }
  .pp-info-list-stack-tablet.pp-info-list-icon-top .pp-info-list-item-inner {
    flex-direction: row; }
  .pp-info-list-stack-tablet.pp-info-list-icon-top .pp-infolist-icon-wrapper {
    margin-bottom: 0;
    margin-left: 10px; }
    .pp-info-list-stack-tablet.pp-info-list-icon-top .pp-infolist-icon-wrapper:before {
      content: '';
      border-left: 1px solid #000;
      height: 1500px;
      bottom: 14px;
      right: calc(7px - (1px/2));
      position: absolute;
      width: 1px;
      top: auto; }
    .pp-info-list-stack-tablet.pp-info-list-icon-top .pp-infolist-icon-wrapper:after {
      content: '';
      border-left: 1px solid #000;
      height: 1500px;
      top: 14px;
      right: calc(7px - (1px/2));
      position: absolute;
      width: 1px;
      top: auto; } }

@media only screen and (max-width: 1024px) and (min-width: 766px) {
  /* For tablets: */
  .elementor-element.elementor-grid-tablet-1 {
    position: relative; }
    .elementor-element.elementor-grid-tablet-1 .pp-elementor-grid .pp-grid-item-wrap {
      width: 100%;
      float: right; }
  .elementor-element.elementor-grid-tablet-2 {
    position: relative; }
    .elementor-element.elementor-grid-tablet-2 .pp-elementor-grid .pp-grid-item-wrap {
      width: 50%;
      float: right; }
      .elementor-element.elementor-grid-tablet-2 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(2n) {
        margin-left: 0 !important; }
      .elementor-element.elementor-grid-tablet-2 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(2n+1) {
        clear: right; }
  .elementor-element.elementor-grid-tablet-3 {
    position: relative; }
    .elementor-element.elementor-grid-tablet-3 .pp-elementor-grid .pp-grid-item-wrap {
      width: 33.3333%;
      float: right; }
      .elementor-element.elementor-grid-tablet-3 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(3n) {
        margin-left: 0 !important; }
      .elementor-element.elementor-grid-tablet-3 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(3n+1) {
        clear: right; }
  .elementor-element.elementor-grid-tablet-4 {
    position: relative; }
    .elementor-element.elementor-grid-tablet-4 .pp-elementor-grid .pp-grid-item-wrap {
      width: 25%;
      float: right; }
      .elementor-element.elementor-grid-tablet-4 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(4n) {
        margin-left: 0 !important; }
      .elementor-element.elementor-grid-tablet-4 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(4n+1) {
        clear: right; }
  .elementor-element.elementor-grid-tablet-5 {
    position: relative; }
    .elementor-element.elementor-grid-tablet-5 .pp-elementor-grid .pp-grid-item-wrap {
      width: 20%;
      float: right; }
      .elementor-element.elementor-grid-tablet-5 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(5n) {
        margin-left: 0 !important; }
      .elementor-element.elementor-grid-tablet-5 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(5n+1) {
        clear: right; }
  .elementor-element.elementor-grid-tablet-6 {
    position: relative; }
    .elementor-element.elementor-grid-tablet-6 .pp-elementor-grid .pp-grid-item-wrap {
      width: 16.6667%;
      float: right; }
      .elementor-element.elementor-grid-tablet-6 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(6n) {
        margin-left: 0 !important; }
      .elementor-element.elementor-grid-tablet-6 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(6n+1) {
        clear: right; }
  .elementor-element.elementor-grid-tablet-7 {
    position: relative; }
    .elementor-element.elementor-grid-tablet-7 .pp-elementor-grid .pp-grid-item-wrap {
      width: 14.285%;
      float: right; }
      .elementor-element.elementor-grid-tablet-7 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(7n) {
        margin-left: 0 !important; }
      .elementor-element.elementor-grid-tablet-7 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(7n+1) {
        clear: right; }
  .elementor-element.elementor-grid-tablet-8 {
    position: relative; }
    .elementor-element.elementor-grid-tablet-8 .pp-elementor-grid .pp-grid-item-wrap {
      width: 12.5%;
      float: right; }
      .elementor-element.elementor-grid-tablet-8 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(8n) {
        margin-left: 0 !important; }
      .elementor-element.elementor-grid-tablet-8 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(8n+1) {
        clear: right; } }

@media only screen and (max-width: 767px) {
  .pp-image-accordion-stack-on-mobile .pp-image-accordion {
    flex-direction: column; }
    .pp-image-accordion-stack-on-mobile .pp-image-accordion a:hover .pp-image-accordion-overlay {
      background-color: transparent; }
  .pp-image-accordion-stack-on-mobile .pp-image-accordion-item {
    margin-left: 0 !important; }
  .pp-info-box-mobile-top .pp-info-box {
    display: inline-block; }
    .pp-info-box-mobile-top .pp-info-box .pp-info-box-icon-wrap {
      display: inline-block;
      margin: 0; }
    .pp-info-box-mobile-top .pp-info-box .pp-info-box-icon {
      margin-left: auto; }
  .pp-info-box-mobile-left .pp-info-box {
    display: flex;
    flex-direction: row; }
    .pp-info-box-mobile-left .pp-info-box .pp-info-box-icon-wrap {
      display: flex;
      margin-left: 20px; }
    .pp-info-box-mobile-left .pp-info-box .pp-info-box-icon,
    .pp-info-box-mobile-left .pp-info-box img {
      width: 100%; }
  .pp-info-box-mobile-right .pp-info-box {
    display: flex;
    flex-direction: row-reverse; }
    .pp-info-box-mobile-right .pp-info-box .pp-info-box-icon-wrap {
      display: flex;
      margin-right: 20px; }
    .pp-info-box-mobile-right .pp-info-box .pp-info-box-icon,
    .pp-info-box-mobile-right .pp-info-box img {
      width: 100%; }
  .pp-info-list-stack-mobile.pp-info-list-icon-top .pp-info-list-container .pp-list-items {
    display: block; }
    .pp-info-list-stack-mobile.pp-info-list-icon-top .pp-info-list-container .pp-list-items .pp-info-list-item {
      display: block;
      text-align: center !important;
      width: 100% !important; }
  .pp-info-list-stack-mobile.pp-info-list-icon-top .pp-info-list-item-inner {
    flex-direction: row; }
  .pp-info-list-stack-mobile.pp-info-list-icon-top .pp-infolist-icon-wrapper {
    margin-bottom: 0;
    margin-left: 10px; }
    .pp-info-list-stack-mobile.pp-info-list-icon-top .pp-infolist-icon-wrapper:before {
      content: '';
      border-left: 1px solid #000;
      height: 1500px;
      bottom: 14px;
      right: calc(7px - (1px/2));
      position: absolute;
      width: 1px;
      top: auto; }
    .pp-info-list-stack-mobile.pp-info-list-icon-top .pp-infolist-icon-wrapper:after {
      content: '';
      border-left: 1px solid #000;
      height: 1500px;
      top: 14px;
      right: calc(7px - (1px/2));
      position: absolute;
      width: 1px;
      top: auto; }
  .elementor-element.elementor-grid-mobile-1 {
    position: relative; }
    .elementor-element.elementor-grid-mobile-1 .pp-elementor-grid .pp-grid-item-wrap {
      width: 100%;
      float: right; }
  .elementor-element.elementor-grid-mobile-2 {
    position: relative; }
    .elementor-element.elementor-grid-mobile-2 .pp-elementor-grid .pp-grid-item-wrap {
      width: 50%;
      float: right; }
      .elementor-element.elementor-grid-mobile-2 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(2n) {
        margin-left: 0 !important; }
      .elementor-element.elementor-grid-mobile-2 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(2n+1) {
        clear: right; }
  .elementor-element.elementor-grid-mobile-3 {
    position: relative; }
    .elementor-element.elementor-grid-mobile-3 .pp-elementor-grid .pp-grid-item-wrap {
      width: 33.3333%;
      float: right; }
      .elementor-element.elementor-grid-mobile-3 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(3n) {
        margin-left: 0 !important; }
      .elementor-element.elementor-grid-mobile-3 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(3n+1) {
        clear: right; }
  .elementor-element.elementor-grid-mobile-4 {
    position: relative; }
    .elementor-element.elementor-grid-mobile-4 .pp-elementor-grid .pp-grid-item-wrap {
      width: 25%;
      float: right; }
      .elementor-element.elementor-grid-mobile-4 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(4n) {
        margin-left: 0 !important; }
      .elementor-element.elementor-grid-mobile-4 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(4n+1) {
        clear: right; }
  .elementor-element.elementor-grid-mobile-5 {
    position: relative; }
    .elementor-element.elementor-grid-mobile-5 .pp-elementor-grid .pp-grid-item-wrap {
      width: 20%;
      float: right; }
      .elementor-element.elementor-grid-mobile-5 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(5n) {
        margin-left: 0 !important; }
      .elementor-element.elementor-grid-mobile-5 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(5n+1) {
        clear: right; }
  .elementor-element.elementor-grid-mobile-6 {
    position: relative; }
    .elementor-element.elementor-grid-mobile-6 .pp-elementor-grid .pp-grid-item-wrap {
      width: 16.6667%;
      float: right; }
      .elementor-element.elementor-grid-mobile-6 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(6n) {
        margin-left: 0 !important; }
      .elementor-element.elementor-grid-mobile-6 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(6n+1) {
        clear: right; }
  .elementor-element.elementor-grid-mobile-7 {
    position: relative; }
    .elementor-element.elementor-grid-mobile-7 .pp-elementor-grid .pp-grid-item-wrap {
      width: 14.285%;
      float: right; }
      .elementor-element.elementor-grid-mobile-7 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(7n) {
        margin-left: 0 !important; }
      .elementor-element.elementor-grid-mobile-7 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(7n+1) {
        clear: right; }
  .elementor-element.elementor-grid-mobile-8 {
    position: relative; }
    .elementor-element.elementor-grid-mobile-8 .pp-elementor-grid .pp-grid-item-wrap {
      width: 12.5%;
      float: right; }
      .elementor-element.elementor-grid-mobile-8 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(8n) {
        margin-left: 0 !important; }
      .elementor-element.elementor-grid-mobile-8 .pp-elementor-grid .pp-grid-item-wrap:nth-of-type(8n+1) {
        clear: right; } }

/*--------------------------------------------------------------
## Tooltip
--------------------------------------------------------------*/
.tooltipster-base {
  /* this ensures that a constrained height set by functionPosition,
	if greater that the natural height of the tooltip, will be enforced
	in browsers that support display:flex */
  display: flex;
  pointer-events: none;
  /* this may be overriden in JS for fixed position origins */
  position: absolute; }

.tooltipster-box {
  /* see .tooltipster-base. flex-shrink 1 is only necessary for IE10-
	and flex-basis auto for IE11- (at least) */
  flex: 1 1 auto; }

.tooltipster-content {
  /* prevents an overflow if the user adds padding to the div */
  box-sizing: border-box;
  /* these make sure we'll be able to detect any overflow */
  max-height: 100%;
  max-width: 100%;
  overflow: auto; }

.tooltipster-ruler {
  /* these let us test the size of the tooltip without overflowing the window */
  bottom: 0;
  right: 0;
  overflow: hidden;
  position: fixed;
  left: 0;
  top: 0;
  visibility: hidden; }

/* ANIMATIONS */
/* Open/close animations */
/* fade */
.tooltipster-fade {
  opacity: 0;
  transition-property: opacity; }

.tooltipster-fade.tooltipster-show {
  opacity: 1; }

/* grow */
.tooltipster-grow {
  transform: scale(0, 0);
  transition-property: transform;
  -webkit-backface-visibility: hidden; }

.tooltipster-grow.tooltipster-show {
  transform: scale(1, 1);
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.15); }

/* swing */
.tooltipster-swing {
  opacity: 0;
  transform: rotateZ(-4deg);
  transition-property: transform; }

.tooltipster-swing.tooltipster-show {
  opacity: 1;
  transform: rotateZ(0deg);
  transition-timing-function: cubic-bezier(0.23, 0.635, 0.495, 2.4); }

/* fall */
.tooltipster-fall {
  transition-property: top;
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.15); }

.tooltipster-fall.tooltipster-initial {
  top: 0 !important; }

.tooltipster-fall.tooltipster-dying {
  transition-property: all;
  top: 0 !important;
  opacity: 0; }

/* slide */
.tooltipster-slide {
  transition-property: right;
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.15); }

.tooltipster-slide.tooltipster-initial {
  right: -40px !important; }

.tooltipster-slide.tooltipster-dying {
  transition-property: all;
  right: 0 !important;
  opacity: 0; }

/* Update animations */
/* We use animations rather than transitions here because
 transition durations may be specified in the style tag due to
 animationDuration, and we try to avoid collisions and the use
 of !important */
/* fade */
@-webkit-keyframes tooltipster-fading {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes tooltipster-fading {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.tooltipster-update-fade {
  -webkit-animation: tooltipster-fading 400ms;
          animation: tooltipster-fading 400ms; }

/* rotate */
@-webkit-keyframes tooltipster-rotating {
  25% {
    transform: rotate(2deg); }
  75% {
    transform: rotate(-2deg); }
  100% {
    transform: rotate(0); } }
@keyframes tooltipster-rotating {
  25% {
    transform: rotate(2deg); }
  75% {
    transform: rotate(-2deg); }
  100% {
    transform: rotate(0); } }

.tooltipster-update-rotate {
  -webkit-animation: tooltipster-rotating 600ms;
          animation: tooltipster-rotating 600ms; }

/* scale */
@-webkit-keyframes tooltipster-scaling {
  50% {
    transform: scale(1.1); }
  100% {
    transform: scale(1); } }
@keyframes tooltipster-scaling {
  50% {
    transform: scale(1.1); }
  100% {
    transform: scale(1); } }

.tooltipster-update-scale {
  -webkit-animation: tooltipster-scaling 600ms;
          animation: tooltipster-scaling 600ms; }

/**
 * DEFAULT STYLE OF THE SIDETIP PLUGIN
 * 
 * All styles are "namespaced" with .tooltipster-sidetip to prevent
 * conflicts between plugins.
 */
/* .tooltipster-box */
.tooltipster-sidetip .tooltipster-box {
  background: #27292A;
  border-radius: 4px; }

.tooltipster-sidetip.tooltipster-bottom .tooltipster-box {
  margin-top: 8px; }

.tooltipster-sidetip.tooltipster-left .tooltipster-box {
  margin-left: 8px; }

.tooltipster-sidetip.tooltipster-right .tooltipster-box {
  margin-right: 8px; }

.tooltipster-sidetip.tooltipster-top .tooltipster-box {
  margin-bottom: 8px; }

/* .tooltipster-content */
.tooltipster-sidetip .tooltipster-content {
  color: white; }

/* .tooltipster-arrow : will keep only the zone of .tooltipster-arrow-uncropped that
corresponds to the arrow we want to display */
.tooltipster-sidetip .tooltipster-arrow {
  overflow: hidden;
  position: absolute; }

.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow {
  height: 8px;
  /* half the width, for centering */
  margin-right: -8px;
  top: 0;
  width: 16px; }

.tooltipster-sidetip.tooltipster-left .tooltipster-arrow {
  height: 16px;
  margin-top: -8px;
  left: 0;
  /* top 0 to keep the arrow from overflowing .tooltipster-base when it has not
	been positioned yet */
  top: 0;
  width: 8px; }

.tooltipster-sidetip.tooltipster-right .tooltipster-arrow {
  height: 16px;
  margin-top: -8px;
  right: 0;
  /* same as .tooltipster-left .tooltipster-arrow */
  top: 0;
  width: 8px; }

.tooltipster-sidetip.tooltipster-top .tooltipster-arrow {
  bottom: 0;
  height: 8px;
  margin-right: -8px;
  width: 16px; }

/* common rules between .tooltipster-arrow-background and .tooltipster-arrow-border */
.tooltipster-sidetip .tooltipster-arrow-background {
  height: 0;
  position: absolute;
  width: 0; }

/* .tooltipster-arrow-background */
.tooltipster-sidetip .tooltipster-arrow-background {
  border: 8px solid transparent; }

.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-background {
  border-bottom-color: #27292A;
  right: 0;
  top: 3px; }

.tooltipster-sidetip.tooltipster-left .tooltipster-arrow-background {
  border-right-color: #27292A;
  right: -3px;
  top: 0; }

.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-background {
  border-left-color: #27292A;
  right: 3px;
  top: 0; }

.tooltipster-sidetip.tooltipster-top .tooltipster-arrow-background {
  border-top-color: #27292A;
  right: 0;
  top: -3px; }

/* tooltipster-arrow-uncropped */
.tooltipster-sidetip .tooltipster-arrow-uncropped {
  position: relative; }

.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-uncropped {
  top: -10px; }

.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-uncropped {
  right: -10px; }

.pp-tooltip-content {
  font-size: 13px;
  line-height: 1.3;
  padding: 8px 14px;
  text-align: center; }
  .pp-tooltip-content p:last-child {
    margin-bottom: 0; }
  .pp-tooltip-size-tiny .pp-tooltip-content {
    font-size: 10px; }
  .pp-tooltip-size-small .pp-tooltip-content {
    font-size: 12px; }
  .pp-tooltip-size-large .pp-tooltip-content {
    font-size: 14px; }

.pp-tooltip-container {
  display: none; }

/*--------------------------------------------------------------
## Magnific Popup
--------------------------------------------------------------*/
/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8; }

.mfp-wrap {
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  right: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box; }
  .mfp-container:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: right;
  z-index: 1045; }

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
      user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

.mfp-hide {
  display: none !important; }

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  right: 8px;
  left: 8px;
  z-index: 1044; }

.mfp-preloader a {
  color: #CCC; }

.mfp-preloader a:hover {
  color: #FFF; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  touch-action: manipulation; }

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

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  left: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 10px 18px 0;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace; }

.mfp-close:hover,
.mfp-close:focus {
  opacity: 1; }

.mfp-close:active {
  top: 1px; }

.mfp-close-btn-in .mfp-close {
  color: #333; }

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  left: -6px;
  text-align: left;
  padding-left: 6px;
  width: 100%; }

.mfp-counter {
  position: absolute;
  top: 0;
  left: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent; }

.mfp-arrow:active {
  margin-top: -54px; }

.mfp-arrow:hover,
.mfp-arrow:focus {
  opacity: 1; }

.mfp-arrow:before,
.mfp-arrow:after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  right: 0;
  top: 0;
  margin-top: 35px;
  margin-right: 35px;
  border: medium inset transparent; }

.mfp-arrow:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px; }

.mfp-arrow:before {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7; }

.mfp-arrow-left {
  right: 0; }

.mfp-arrow-left:after {
  border-left: 17px solid #FFF;
  margin-right: 31px; }

.mfp-arrow-left:before {
  margin-right: 25px;
  border-left: 27px solid #3F3F3F; }

.mfp-arrow-right {
  left: 0; }

.mfp-arrow-right:after {
  border-right: 17px solid #FFF;
  margin-right: 39px; }

.mfp-arrow-right:before {
  border-right: 27px solid #3F3F3F; }

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px; }

.mfp-iframe-holder .mfp-close {
  top: -40px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000; }

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }

.mfp-figure:after {
  content: '';
  position: absolute;
  right: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  left: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444; }

.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px; }

.mfp-figure figure {
  margin: 0; }

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  right: 0;
  width: 100%;
  cursor: auto; }

.mfp-title {
  text-align: right;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-left: 36px; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-right: 0;
    padding-left: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-right: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box; }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0; }
  .mfp-img-mobile .mfp-counter {
    left: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    left: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    transform: scale(0.75); }
  .mfp-arrow-left {
    transform-origin: 100%; }
  .mfp-arrow-right {
    transform-origin: 0%; }
  .mfp-container {
    padding-right: 6px;
    padding-left: 6px; } }

/*--------------------------------------------------------------
## Animate
--------------------------------------------------------------*/
/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.5.2
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2017 Daniel Eden
 */
.animated {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both; }

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

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

.animated.flipOutX,
.animated.flipOutY,
.animated.bounceIn,
.animated.bounceOut {
  -webkit-animation-duration: .75s;
          animation-duration: .75s; }

@-webkit-keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    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);
    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);
    transform: translate3d(0, -15px, 0); }
  90% {
    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);
    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);
    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);
    transform: translate3d(0, -15px, 0); }
  90% {
    transform: translate3d(0, -4px, 0); } }

.bounce {
  -webkit-animation-name: bounce;
          animation-name: bounce;
  transform-origin: center bottom; }

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

@keyframes flash {
  from, 50%, to {
    opacity: 1; }
  25%, 75% {
    opacity: 0; } }

.flash {
  -webkit-animation-name: flash;
          animation-name: flash; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  from {
    transform: scale3d(1, 1, 1); }
  50% {
    transform: scale3d(1.05, 1.05, 1.05); }
  to {
    transform: scale3d(1, 1, 1); } }
@keyframes pulse {
  from {
    transform: scale3d(1, 1, 1); }
  50% {
    transform: scale3d(1.05, 1.05, 1.05); }
  to {
    transform: scale3d(1, 1, 1); } }

.pulse {
  -webkit-animation-name: pulse;
          animation-name: pulse; }

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

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

.rubberBand {
  -webkit-animation-name: rubberBand;
          animation-name: rubberBand; }

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

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

.shake {
  -webkit-animation-name: shake;
          animation-name: shake; }

@-webkit-keyframes headShake {
  0% {
    transform: translateX(0); }
  6.5% {
    transform: translateX(6px) rotateY(9deg); }
  18.5% {
    transform: translateX(-5px) rotateY(-7deg); }
  31.5% {
    transform: translateX(3px) rotateY(5deg); }
  43.5% {
    transform: translateX(-2px) rotateY(-3deg); }
  50% {
    transform: translateX(0); } }

@keyframes headShake {
  0% {
    transform: translateX(0); }
  6.5% {
    transform: translateX(6px) rotateY(9deg); }
  18.5% {
    transform: translateX(-5px) rotateY(-7deg); }
  31.5% {
    transform: translateX(3px) rotateY(5deg); }
  43.5% {
    transform: translateX(-2px) rotateY(-3deg); }
  50% {
    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% {
    transform: rotate3d(0, 0, 1, -15deg); }
  40% {
    transform: rotate3d(0, 0, 1, 10deg); }
  60% {
    transform: rotate3d(0, 0, 1, -5deg); }
  80% {
    transform: rotate3d(0, 0, 1, 5deg); }
  to {
    transform: rotate3d(0, 0, 1, 0deg); } }

@keyframes swing {
  20% {
    transform: rotate3d(0, 0, 1, -15deg); }
  40% {
    transform: rotate3d(0, 0, 1, 10deg); }
  60% {
    transform: rotate3d(0, 0, 1, -5deg); }
  80% {
    transform: rotate3d(0, 0, 1, 5deg); }
  to {
    transform: rotate3d(0, 0, 1, 0deg); } }

.swing {
  transform-origin: top center;
  -webkit-animation-name: swing;
          animation-name: swing; }

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

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

.tada {
  -webkit-animation-name: tada;
          animation-name: tada; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  from {
    transform: none; }
  15% {
    transform: translate3d(25%, 0, 0) rotate3d(0, 0, 1, 5deg); }
  30% {
    transform: translate3d(-20%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  45% {
    transform: translate3d(15%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  60% {
    transform: translate3d(-10%, 0, 0) rotate3d(0, 0, 1, -2deg); }
  75% {
    transform: translate3d(5%, 0, 0) rotate3d(0, 0, 1, 1deg); }
  to {
    transform: none; } }
@keyframes wobble {
  from {
    transform: none; }
  15% {
    transform: translate3d(25%, 0, 0) rotate3d(0, 0, 1, 5deg); }
  30% {
    transform: translate3d(-20%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  45% {
    transform: translate3d(15%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  60% {
    transform: translate3d(-10%, 0, 0) rotate3d(0, 0, 1, -2deg); }
  75% {
    transform: translate3d(5%, 0, 0) rotate3d(0, 0, 1, 1deg); }
  to {
    transform: none; } }

.wobble {
  -webkit-animation-name: wobble;
          animation-name: wobble; }

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

@keyframes jello {
  from, 11.1%, to {
    transform: none; }
  22.2% {
    transform: skewX(12.5deg) skewY(12.5deg); }
  33.3% {
    transform: skewX(-6.25deg) skewY(-6.25deg); }
  44.4% {
    transform: skewX(3.125deg) skewY(3.125deg); }
  55.5% {
    transform: skewX(-1.5625deg) skewY(-1.5625deg); }
  66.6% {
    transform: skewX(0.78125deg) skewY(0.78125deg); }
  77.7% {
    transform: skewX(-0.390625deg) skewY(-0.390625deg); }
  88.8% {
    transform: skewX(0.1953125deg) skewY(0.1953125deg); } }

.jello {
  -webkit-animation-name: jello;
          animation-name: jello;
  transform-origin: center; }

@-webkit-keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    transform: scale3d(0.97, 0.97, 0.97); }
  to {
    opacity: 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;
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    transform: scale3d(0.97, 0.97, 0.97); }
  to {
    opacity: 1;
    transform: scale3d(1, 1, 1); } }

.bounceIn {
  -webkit-animation-name: bounceIn;
          animation-name: bounceIn; }

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

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

.bounceInDown {
  -webkit-animation-name: bounceInDown;
          animation-name: bounceInDown; }

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

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

.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
          animation-name: bounceInLeft; }

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

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

.bounceInRight {
  -webkit-animation-name: bounceInRight;
          animation-name: bounceInRight; }

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

.bounceInUp {
  -webkit-animation-name: bounceInUp;
          animation-name: bounceInUp; }

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

@keyframes bounceOut {
  20% {
    transform: scale3d(0.9, 0.9, 0.9); }
  50%, 55% {
    opacity: 1;
    transform: scale3d(1.1, 1.1, 1.1); }
  to {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3); } }

.bounceOut {
  -webkit-animation-name: bounceOut;
          animation-name: bounceOut; }

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

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

.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
          animation-name: bounceOutDown; }

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

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

.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
          animation-name: bounceOutLeft; }

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

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

.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
          animation-name: bounceOutRight; }

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

@keyframes bounceOutUp {
  20% {
    transform: translate3d(0, -10px, 0); }
  40%, 45% {
    opacity: 1;
    transform: translate3d(0, 20px, 0); }
  to {
    opacity: 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;
    transform: translate3d(0, -100%, 0); }
  to {
    opacity: 1;
    transform: none; } }

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

.fadeInDown {
  -webkit-animation-name: fadeInDown;
          animation-name: fadeInDown; }

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

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

.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
          animation-name: fadeInDownBig; }

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

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(100%, 0, 0); }
  to {
    opacity: 1;
    transform: none; } }

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
          animation-name: fadeInLeft; }

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

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    transform: translate3d(2000px, 0, 0); }
  to {
    opacity: 1;
    transform: none; } }

.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
          animation-name: fadeInLeftBig; }

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

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

.fadeInRight {
  -webkit-animation-name: fadeInRight;
          animation-name: fadeInRight; }

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

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

.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
          animation-name: fadeInRightBig; }

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

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0); }
  to {
    opacity: 1;
    transform: none; } }

.fadeInUp {
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp; }

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

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    transform: translate3d(0, 2000px, 0); }
  to {
    opacity: 1;
    transform: none; } }

.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
          animation-name: fadeInUpBig; }

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

@keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

.fadeOut {
  -webkit-animation-name: fadeOut;
          animation-name: fadeOut; }

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

@keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    transform: translate3d(0, 100%, 0); } }

.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
          animation-name: fadeOutDown; }

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

@keyframes fadeOutDownBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0); } }

.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
          animation-name: fadeOutDownBig; }

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

@keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0); } }

.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
          animation-name: fadeOutLeft; }

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

@keyframes fadeOutLeftBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0); } }

.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
          animation-name: fadeOutLeftBig; }

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

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

.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
          animation-name: fadeOutRight; }

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

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

.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
          animation-name: fadeOutRightBig; }

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

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

.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
          animation-name: fadeOutUp; }

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

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

.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
          animation-name: fadeOutUpBig; }

@-webkit-keyframes flip {
  from {
    transform: perspective(400px) rotate3d(0, 1, 0, 360deg);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out; }
  40% {
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, 190deg);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out; }
  50% {
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, 170deg);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in; }
  80% {
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in; }
  to {
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in; } }

@keyframes flip {
  from {
    transform: perspective(400px) rotate3d(0, 1, 0, 360deg);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out; }
  40% {
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, 190deg);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out; }
  50% {
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, 170deg);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in; }
  80% {
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in; }
  to {
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in; } }

.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
          animation-name: flip; }

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

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

.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
          animation-name: flipInX; }

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

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

.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
          animation-name: flipInY; }

@-webkit-keyframes flipOutX {
  from {
    transform: perspective(400px); }
  30% {
    transform: perspective(400px) rotate3d(-1, 0, 0, 20deg);
    opacity: 1; }
  to {
    transform: perspective(400px) rotate3d(-1, 0, 0, -90deg);
    opacity: 0; } }

@keyframes flipOutX {
  from {
    transform: perspective(400px); }
  30% {
    transform: perspective(400px) rotate3d(-1, 0, 0, 20deg);
    opacity: 1; }
  to {
    transform: perspective(400px) rotate3d(-1, 0, 0, -90deg);
    opacity: 0; } }

.flipOutX {
  -webkit-animation-name: flipOutX;
          animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes flipOutY {
  from {
    transform: perspective(400px); }
  30% {
    transform: perspective(400px) rotate3d(0, 1, 0, 15deg);
    opacity: 1; }
  to {
    transform: perspective(400px) rotate3d(0, 1, 0, -90deg);
    opacity: 0; } }

@keyframes flipOutY {
  from {
    transform: perspective(400px); }
  30% {
    transform: perspective(400px) rotate3d(0, 1, 0, 15deg);
    opacity: 1; }
  to {
    transform: perspective(400px) rotate3d(0, 1, 0, -90deg);
    opacity: 0; } }

.flipOutY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
          animation-name: flipOutY; }

@-webkit-keyframes lightSpeedIn {
  from {
    transform: translate3d(-100%, 0, 0) skewX(30deg);
    opacity: 0; }
  60% {
    transform: skewX(-20deg);
    opacity: 1; }
  80% {
    transform: skewX(5deg);
    opacity: 1; }
  to {
    transform: none;
    opacity: 1; } }

@keyframes lightSpeedIn {
  from {
    transform: translate3d(-100%, 0, 0) skewX(30deg);
    opacity: 0; }
  60% {
    transform: skewX(-20deg);
    opacity: 1; }
  80% {
    transform: skewX(5deg);
    opacity: 1; }
  to {
    transform: none;
    opacity: 1; } }

.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
          animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out; }

@-webkit-keyframes lightSpeedOut {
  from {
    opacity: 1; }
  to {
    transform: translate3d(-100%, 0, 0) skewX(-30deg);
    opacity: 0; } }

@keyframes lightSpeedOut {
  from {
    opacity: 1; }
  to {
    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 {
    transform-origin: center;
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; }
  to {
    transform-origin: center;
    transform: none;
    opacity: 1; } }

@keyframes rotateIn {
  from {
    transform-origin: center;
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; }
  to {
    transform-origin: center;
    transform: none;
    opacity: 1; } }

.rotateIn {
  -webkit-animation-name: rotateIn;
          animation-name: rotateIn; }

@-webkit-keyframes rotateInDownLeft {
  from {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    transform-origin: right bottom;
    transform: none;
    opacity: 1; } }

@keyframes rotateInDownLeft {
  from {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    transform-origin: right bottom;
    transform: none;
    opacity: 1; } }

.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
          animation-name: rotateInDownLeft; }

@-webkit-keyframes rotateInDownRight {
  from {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    transform-origin: left bottom;
    transform: none;
    opacity: 1; } }

@keyframes rotateInDownRight {
  from {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    transform-origin: left bottom;
    transform: none;
    opacity: 1; } }

.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
          animation-name: rotateInDownRight; }

@-webkit-keyframes rotateInUpLeft {
  from {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    transform-origin: right bottom;
    transform: none;
    opacity: 1; } }

@keyframes rotateInUpLeft {
  from {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    transform-origin: right bottom;
    transform: none;
    opacity: 1; } }

.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
          animation-name: rotateInUpLeft; }

@-webkit-keyframes rotateInUpRight {
  from {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; }
  to {
    transform-origin: left bottom;
    transform: none;
    opacity: 1; } }

@keyframes rotateInUpRight {
  from {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; }
  to {
    transform-origin: left bottom;
    transform: none;
    opacity: 1; } }

.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
          animation-name: rotateInUpRight; }

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

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

.rotateOut {
  -webkit-animation-name: rotateOut;
          animation-name: rotateOut; }

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

@keyframes rotateOutDownLeft {
  from {
    transform-origin: right bottom;
    opacity: 1; }
  to {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
          animation-name: rotateOutDownLeft; }

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

@keyframes rotateOutDownRight {
  from {
    transform-origin: left bottom;
    opacity: 1; }
  to {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }

.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
          animation-name: rotateOutDownRight; }

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

@keyframes rotateOutUpLeft {
  from {
    transform-origin: right bottom;
    opacity: 1; }
  to {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }

.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
          animation-name: rotateOutUpLeft; }

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

@keyframes rotateOutUpRight {
  from {
    transform-origin: left bottom;
    opacity: 1; }
  to {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; } }

.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
          animation-name: rotateOutUpRight; }

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

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

.hinge {
  -webkit-animation-name: hinge;
          animation-name: hinge; }

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

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

.jackInTheBox {
  -webkit-animation-name: jackInTheBox;
          animation-name: jackInTheBox; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); }
  to {
    opacity: 1;
    transform: none; } }
@keyframes rollIn {
  from {
    opacity: 0;
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); }
  to {
    opacity: 1;
    transform: none; } }

.rollIn {
  -webkit-animation-name: rollIn;
          animation-name: rollIn; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); } }
@keyframes rollOut {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); } }

.rollOut {
  -webkit-animation-name: rollOut;
          animation-name: rollOut; }

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

@keyframes zoomIn {
  from {
    opacity: 0;
    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;
    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;
    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;
    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;
    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;
    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;
    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;
    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;
    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;
    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;
    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;
    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;
    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;
    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;
    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;
    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;
    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;
    transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

@keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    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;
    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;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    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;
    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;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    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;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  to {
    opacity: 0;
    transform: scale(0.1) translate3d(2000px, 0, 0);
    transform-origin: right center; } }

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

.zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
          animation-name: zoomOutLeft; }

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

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

.zoomOutRight {
  -webkit-animation-name: zoomOutRight;
          animation-name: zoomOutRight; }

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    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;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    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;
    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;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    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 {
    transform: translate3d(0, -100%, 0);
    visibility: visible; }
  to {
    transform: translate3d(0, 0, 0); } }

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

.slideInDown {
  -webkit-animation-name: slideInDown;
          animation-name: slideInDown; }

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

@keyframes slideInLeft {
  from {
    transform: translate3d(100%, 0, 0);
    visibility: visible; }
  to {
    transform: translate3d(0, 0, 0); } }

.slideInLeft {
  -webkit-animation-name: slideInLeft;
          animation-name: slideInLeft; }

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

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

.slideInRight {
  -webkit-animation-name: slideInRight;
          animation-name: slideInRight; }

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

@keyframes slideInUp {
  from {
    transform: translate3d(0, 100%, 0);
    visibility: visible; }
  to {
    transform: translate3d(0, 0, 0); } }

.slideInUp {
  -webkit-animation-name: slideInUp;
          animation-name: slideInUp; }

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

@keyframes slideOutDown {
  from {
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    transform: translate3d(0, 100%, 0); } }

.slideOutDown {
  -webkit-animation-name: slideOutDown;
          animation-name: slideOutDown; }

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

@keyframes slideOutLeft {
  from {
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    transform: translate3d(100%, 0, 0); } }

.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
          animation-name: slideOutLeft; }

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

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

.slideOutRight {
  -webkit-animation-name: slideOutRight;
          animation-name: slideOutRight; }

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

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

.slideOutUp {
  -webkit-animation-name: slideOutUp;
          animation-name: slideOutUp; }

/*--------------------------------------------------------------
## Extensions
--------------------------------------------------------------*/
*:not(.elementor-editor-active) .pp-visibility-hidden {
  display: none; }
