/* =========================================================
	MAIN SASS FILE
	Somewhat based on CUBE CSS - https://cube.fyi

	- Defaults/globals
	- Utilties
	- Components
	- Vendor
========================================================= */
/* Defaults/globals ---------------- */
/* =========================================================
   MODERN CSS RESET
   Taken from
   - https://andy-bell.co.uk/a-more-modern-css-reset/
   - https://www.joshwcomeau.com/css/custom-css-reset/
========================================================= */
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

body, h1, h2, h3, h4, h5, h6, p,
figure, blockquote, dl, dd {
  margin: 0;
}

ul[role=list],
ol[role=list] {
  list-style: none;
  margin: 0;
  padding: 0;
}

body {
  line-height: 1.5;
  min-height: 100vh;
}

h1, h2, h3, h4, h5, h6,
button, input, label {
  line-height: 1.1;
}

h1, h2, h3,
h4, h5, h6 {
  text-wrap: balance;
}

p {
  text-wrap: pretty;
}

a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

input, button,
textarea, select {
  font: inherit;
}

textarea:not([rows]) {
  min-height: 10rem;
}

img, picture, video, canvas, svg {
  display: block;
  height: auto;
  max-width: 100%;
}

audio {
  width: 100%;
}

button,
[type=button],
[type=reset],
[type=submit],
[type=image],
[type=checkbox],
[type=radio],
summary {
  cursor: pointer;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

pre {
  white-space: pre-wrap;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
@media (prefers-reduced-motion: no-preference) {
  :has(:target) {
    scroll-behavior: smooth;
    scroll-padding-top: 1.25rem;
  }
}
/* =========================================================
	FONTS
========================================================= */
/* manrope-200 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Manrope";
  font-style: normal;
  font-weight: 200;
  src: url("../fonts/manrope-v15-latin-200.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* manrope-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/manrope-v15-latin-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* manrope-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Manrope";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/manrope-v15-latin-700.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* =========================================================
	CUSTOM PROPERTIES (CSS Variables)
========================================================= */
:root {
  /* Fonts ---------------- */
  --font-body: "Manrope", "Helvetica", sans-serif;
  --font-display: "Manrope", "Helvetica", sans-serif;
  /* Fluid font sizes ---------------- */
  --fs--2: clamp(0.6944rem, 0.6844rem + 0.0448vw, 0.72rem);
  --fs--1: clamp(0.8333rem, 0.807rem + 0.117vw, 0.9rem);
  --fs-0: clamp(1rem, 0.9507rem + 0.2193vw, 1.125rem);
  --fs-05: clamp(1.125rem, 0.223vw + 1.073rem, 1.25rem);
  --fs-1: clamp(1.2rem, 1.1186rem + 0.3618vw, 1.4063rem);
  --fs-2: clamp(1.44rem, 1.3145rem + 0.5576vw, 1.7578rem);
  --fs-3: clamp(1.728rem, 1.5428rem + 0.8233vw, 2.1973rem);
  --fs-4: clamp(2.0736rem, 1.8079rem + 1.1807vw, 2.7466rem);
  --fs-5: clamp(2.4883rem, 2.1153rem + 1.6577vw, 3.4332rem);
  --fs-6: clamp(2.986rem, 2.4706rem + 2.2904vw, 4.2915rem);
  /* Fluid spacing ---------------- */
  --space-3xs: clamp(0.1875rem, 0.1628rem + 0.1096vw, 0.25rem);
  --space-2xs: clamp(0.375rem, 0.3257rem + 0.2193vw, 0.5rem);
  --space-xs: clamp(0.5625rem, 0.4885rem + 0.3289vw, 0.75rem);
  --space-s: clamp(0.75rem, 0.6513rem + 0.4386vw, 1rem);
  --space-m: clamp(1.125rem, 0.977rem + 0.6579vw, 1.5rem);
  --space-l: clamp(1.5rem, 1.3026rem + 0.8772vw, 2rem);
  --space-xl: clamp(2.25rem, 1.9539rem + 1.3158vw, 3rem);
  --space-2xl: clamp(3rem, 2.6053rem + 1.7544vw, 4rem);
  --space-3xl: clamp(4.5rem, 3.9079rem + 2.6316vw, 6rem);
  --space-4xl: clamp(5.25rem, 4.5592rem + 3.0702vw, 7rem);
  --space-5xl: clamp(5.625rem, 4.8849rem + 3.2895vw, 7.5rem);
  --space-6xl: clamp(6rem, 5.2105rem + 3.5088vw, 8rem);
  --space-7xl: clamp(6.75rem, 5.8618rem + 3.9474vw, 9rem);
  /* Colors ---------------- */
  --blue: #003468;
  --blue-50: #eef7ff;
  --blue-100: #dceeff;
  --blue-200: #b2dfff;
  --blue-300: #6dc6ff;
  --blue-400: #20a8ff;
  --blue-500: #008dff;
  --blue-600: #006edf;
  --blue-700: #0057b4;
  --blue-800: #004a94;
  --blue-900: var(--blue);
  --blue-950: #002651;
  --green: #387c2b;
  --green-50: #f4fbf2;
  --green-100: #e5f7e1;
  --green-200: #ccedc5;
  --green-300: #a3de97;
  --green-400: #73c662;
  --green-500: #4eab3c;
  --green-600: #3d8c2d;
  --green-700: var(--green);
  --green-800: #2b5823;
  --green-900: #24491e;
  --green-950: #0f270c;
  --gray: #ededed;
  --gray-50: #f8f8f8;
  --gray-100: var(--gray);
  --gray-200: #dcdcdc;
  --gray-300: #bdbdbd;
  --gray-400: #989898;
  --gray-500: #7c7c7c;
  --gray-600: #656565;
  --gray-700: #525252;
  --gray-800: #464646;
  --gray-900: #3d3d3d;
  --gray-950: #292929;
  /* z-index ---------------- */
  --z-below: -1;
  --z-base: 0;
  --z-above: 1;
  --z-nav: calc(var(--z-above) + 10);
  --z-modal: calc(var(--z-nav) + 10);
  /* Misc/one-offs ---------------- */
  --transition: all 0.25s ease-in-out;
}

/* =========================================================
   DEFAULT/CLASSLESS HTML STYLES
   This site uses flexbox for sticky footer
      - https://dev.to/yas46/sticky-footer-with-flexbox-2128
      - https://philipwalton.github.io/solved-by-flexbox/demos/sticky-footer/

	- Body
	- Main (content container)
	- Headings
	- p, ul, ol
   - Links
   - <hr>
========================================================= */
/* Body ---------------- */
body {
  display: flex;
  background-color: white;
  color: var(--gray-700);
  flex-direction: column;
  font-family: var(--font-body);
  font-size: 100%;
  height: 100%;
  line-height: 1.5;
}

/* Main (content container) ---------------- */
main {
  flex: 1 0 auto;
  min-height: auto;
  padding-bottom: var(--space-l-xl);
}
@media (width >= 600px) {
  main {
    padding-bottom: var(--space-xl-2xl);
  }
}
@media (width >= 1200px) {
  main {
    padding-bottom: var(--space-2xl-3xl);
  }
}

/* Headings ---------------- */
h1, h2, h3,
h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 700;
  line-height: 1.2;
  margin: 0;
}

h1 {
  font-size: var(--fs-6);
}

h2 {
  font-size: var(--fs-5);
}

h3 {
  font-size: var(--fs-4);
}

h4 {
  font-size: var(--fs-3);
}

h5 {
  font-size: var(--fs-2);
}

h6 {
  font-size: var(--fs-1);
}

/* p, ul, ol ---------------- */
p, ul, ol {
  font-size: var(--fs-0);
}

/* Links ---------------- */
a:not([class]) {
  color: var(--green);
  text-underline-offset: 0.25em;
  transition: var(--transition);
}
a:not([class]):hover {
  color: var(--green-900);
}

/* <hr> ----------------
	Removes Firefox `color: gray`, and default `1px` height,
	and common `overflow: hidden`
*/
hr {
  border-style: solid;
  border-width: 1px 0 0;
  color: inherit;
  height: 0;
  overflow: visible;
  width: 100%;
}

/* Utilties ---------------- */
/* =========================================================
	CONTAINER UTILITY
========================================================= */
.container {
  width: clamp(20rem, 100vw - 3rem, 79.5rem);
  margin-inline: auto;
}

/* =========================================================
	FLOW UTILITY
	The flow utility provides flow and rhythm between
	direct sibling elements.
	Reference:
	- https://piccalil.li/quick-tip/flow-utility/
	- https://andy-bell.co.uk/my-favourite-3-lines-of-css/
========================================================= */
.flow > * + * {
  margin-block-start: var(--flow-space, 1rem);
}

/* =========================================================
	HELPER UTILITY CLASSES

	01. Screen reader only (visually hidden)
	02. Video embed
	03. Break out of container
	04. White highlight
	05. Spacing
========================================================= */
/* 01. Screen reader only (visually hidden) ---------------- */
.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
.sr-only:focus-visible {
  position: static;
  width: auto;
  height: auto;
  padding: 0;
  margin: 0;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

/* 02. Video embed ---------------- */
.video-embed > iframe {
  aspect-ratio: 16/9;
  height: 100%;
  width: 100%;
}

/* 03. Break out of container ---------------- */
.break-container {
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  max-width: 100vw;
  position: relative;
  right: 50%;
  width: 100vw;
}

/* 04. White highlight ---------------- */
.white-highlight {
  color: white;
  font-weight: 700;
}

/* 05. Spacing ---------------- */
.pblock-2xl {
  padding-block: var(--space-2xl);
}

/* =========================================================
	PROSE UTILITY CLASS
========================================================= */
.prose > * + *,
.prose ul > * + *,
.prose ol > * + * {
  margin-block-start: var(--prose-space, 1rem);
}
.prose.center {
  text-align: center;
}

/* =========================================================
	SECTIONS / REGIONS UTILITIES
========================================================= */
.full-width-blue {
  background-color: var(--blue);
  background-image: url("/assets/images/bg-diagonal-lines.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.full-width-blue:has(.pricing-block) {
  margin-block-start: var(--space-xl);
}
@media (width >= 800px) {
  .full-width-blue:has(.pricing-block) {
    margin-block-start: 0;
  }
}

/* Components ---------------- */
/* =========================================================
	BUTTONS

	01. Button group
	02. Button defaults
	03. Pill button
	04. Text button
========================================================= */
/* 01. Button group ---------------- */
.button-group {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-s);
}
.button-group.center {
  justify-content: center;
}

/* 02. Button defaults ---------------- */
button,
.button {
  --color-active: var(--green-700);
  --color-hover: var(--green-800);
  color: var(--color-active);
  text-decoration: none;
  text-transform: uppercase;
  width: -moz-max-content;
  width: max-content;
  background-color: transparent;
  border: 0;
  font-size: var(--fs-0);
  font-weight: 700;
  line-height: 1;
  margin: 0;
  padding: 0;
  transition: var(--transition);
}
button svg,
.button svg {
  fill: var(--color-active);
  transition: var(--transition);
}
button:hover,
.button:hover {
  color: var(--color-hover);
}
button:hover svg,
.button:hover svg {
  fill: var(--color-hover);
}

/* 03. Pill button ---------------- */
button.pill,
.button.pill {
  background-color: var(--color-active);
  color: white;
  display: flex;
  gap: var(--space-2xs);
  align-items: center;
  font-size: var(--fs--1);
  border-radius: 90px;
  padding: 0.5rem 1rem;
}
button.pill svg,
.button.pill svg {
  fill: white;
  width: 12px;
}
button.pill:hover,
.button.pill:hover {
  background-color: var(--color-hover);
}
button.pill.lg,
.button.pill.lg {
  font-size: var(--fs-0);
}
button.pill.lg svg,
.button.pill.lg svg {
  width: 14px;
}
button.pill.xl,
.button.pill.xl {
  font-size: var(--fs-05);
}
button.pill.xl svg,
.button.pill.xl svg {
  width: 14px;
}

/* 04. Text button ---------------- */
.button.text {
  font-size: var(--fs--1);
  text-transform: none;
}
.button.text.blue {
  --color-active: var(--blue-800);
}

/* =========================================================
	CARDS

	01. Card grid (containing element)
	02. Feature card
	03. Icon card grid (containing element)
	04. Icon card
	05. Pricing card grid and cards
========================================================= */
/* 01. Card grid (containing element) ---------------- */
.card-grid {
  display: grid;
  row-gap: var(--space-xl);
}
@container featuresBlockWithCards (width >= 650px) {
  .card-grid {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xl);
    justify-content: center;
  }
}
@container featuresBlockWithCards (width >= 1024px) {
  .card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}

/* 02. Feature card ---------------- */
.feature-card {
  background: radial-gradient(137.65% 93.37% at 23.94% 20.02%, #003468 0%, #001833 100%);
  box-shadow: 0px 16px 32px 0px rgba(0, 0, 0, 0.15), 0px 8px 16px 0px rgba(0, 0, 0, 0.15), 0px 4px 8px 0px rgba(0, 0, 0, 0.15);
  color: white;
  padding: var(--space-l);
  padding-block-end: var(--space-xl);
}
@container featuresBlockWithCards (width >= 650px) {
  .feature-card {
    flex-basis: calc(50% - var(--space-xl));
  }
}
.feature-card * + * {
  margin-block-start: var(--space-xs);
}
.feature-card div.icon {
  width: 64px;
  height: 64px;
  display: grid;
  align-items: center;
}
.feature-card div.icon svg {
  fill: var(--blue-200);
}
.feature-card h2 {
  color: var(--blue-500);
  font-size: var(--fs-2);
  font-weight: 400;
}
.feature-card ul {
  padding-inline-start: var(--space-m);
}

/* 03. Icon card grid (containing element) ---------------- */
* + .icon-card-grid {
  margin-block-start: var(--space-2xl);
}

.icon-card-grid {
  display: grid;
  row-gap: var(--space-2xl);
}
@container featuresBlockWithIconGrid (width >= 600px) {
  .icon-card-grid {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2xl);
    justify-content: center;
  }
}
@container featuresBlockWithIconGrid (width >= 1024px) {
  .icon-card-grid {
    display: grid;
    gap: var(--space-2xl);
    grid-template-columns: repeat(3, 1fr);
  }
}

/* 04. Icon card ---------------- */
.icon-card {
  background-color: transparent;
  display: grid;
  row-gap: var(--space-xs);
}
@container featuresBlockWithIconGrid (600px <= width <= 1024px) {
  .icon-card {
    flex-basis: calc(50% - var(--space-2xl));
  }
}
.icon-card .icon {
  width: 64px;
  height: 64px;
  display: grid;
  align-items: center;
}
.icon-card .icon svg {
  fill: var(--gray-300);
}
.icon-card h3 {
  color: var(--green-400);
  font-size: var(--fs-2);
  font-weight: 400;
}
.icon-card p {
  color: var(--gray-100);
}

/* 05. Pricing card grid and cards ---------------- */
.pricing-block .card-grid {
  display: grid;
  row-gap: var(--space-xl);
  justify-content: center;
}
@container pricingBlock (width >= 650px) {
  .pricing-block .card-grid {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xl);
    justify-content: center;
  }
}

.price-card {
  border: 1px solid var(--gray-100);
  background-color: white;
  box-shadow: 0px 16px 32px 0px rgba(0, 0, 0, 0.05), 0px 8px 16px 0px rgba(0, 0, 0, 0.05), 0px 4px 8px 0px rgba(0, 0, 0, 0.05);
  padding: var(--space-l);
  padding-block-end: var(--space-xl);
  max-width: 400px;
}
@container pricingBlock (width >= 650px) {
  .price-card {
    flex-basis: calc(50% - var(--space-xl));
  }
}
.price-card > * + * {
  margin-block-start: var(--space-s);
}
.price-card .eyebrow {
  font-size: var(--fs-1);
}
.price-card h2 {
  color: var(--blue);
  font-size: var(--fs-4);
  margin-block-start: var(--space-3xs);
}
.price-card h2 + p {
  font-size: var(--fs--1);
  margin-block-start: var(--space-3xs);
}
.price-card .button-group {
  margin-block-start: var(--space-l);
}

/* =========================================================
	FEATURES BLOCK/COMPONENT

	01. Base styles
	02. Has cards
	03. Has icon grid
========================================================= */
/* 01. Base styles ---------------- */
.features-block .button-group {
  --flow-space: var(--space-2xl);
}

/* 02. Has cards ---------------- */
.features-block.has-cards {
  container: featuresBlockWithCards/inline-size;
  padding-block-start: var(--space-5xl);
  padding-block-end: var(--space-3xl);
}

/* 03. Has icon grid ---------------- */
.features-block.has-icon-grid {
  container: featuresBlockWithIconGrid/inline-size;
  background-color: var(--blue-950);
  background-image: url("/assets/images/bg-diagonal-lines.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  padding-block: var(--space-7xl);
  margin-block-start: var(--space-2xl);
}
.features-block.has-icon-grid h2 {
  color: var(--green-400);
  font-weight: 400;
  font-size: var(--fs-5);
  text-align: center;
}
.features-block.has-icon-grid h2 + .icon-grid {
  margin-block-start: var(--space-2xl);
}

/* =========================================================
	FOOTER
========================================================= */
footer.footer {
  --padding-block: var(--space-xl);
  background-color: var(--blue-950);
  container: footer/inline-size;
  padding-block-start: var(--padding-block);
  margin-block-start: var(--space-2xl);
}
@media (width >= 768px) {
  footer.footer {
    --padding-block: 4.5rem;
    margin-block-start: var(--space-4xl);
  }
}
footer.footer .footer-columns {
  display: grid;
  row-gap: var(--space-xl);
  padding-block-end: var(--padding-block);
}
@media (width >= 768px) {
  footer.footer .footer-columns {
    display: flex;
    justify-content: center;
    gap: 10rem;
  }
}
footer.footer .footer-columns > div h2 {
  font-size: var(--fs-0);
  color: var(--blue-500);
}
footer.footer .footer-columns > div h2 + :is(p, a, div) {
  margin-block-start: var(--space-s);
}
footer.footer .footer-columns > div p {
  color: white;
}
footer.footer .footer-columns > div p + p {
  margin-block-start: var(--space-s);
}
footer.footer .footer-columns > div a {
  color: white;
  text-decoration: none;
  display: flex;
  gap: var(--space-xs);
}
footer.footer .footer-columns > div svg {
  fill: white;
}
footer.footer .footer-columns > div:nth-child(2) a + a {
  margin-block-start: var(--space-s);
}
footer.footer .footer-columns > div:nth-child(3) div {
  display: flex;
  gap: var(--space-s);
}
footer.footer .copyright {
  background-color: rgba(0, 0, 0, 0.4);
  font-size: var(--fs--2);
  color: var(--gray-500);
  text-align: center;
  padding-block: var(--space-m);
}

#main-content:has(.simple-cta:last-child, .pblock-2xl) + footer.footer,
.t-contact footer.footer {
  margin-block-start: 0;
}

/* =========================================================
	FORMS

	01. Default styles
	02. Field rows
========================================================= */
/* 01. Default styles ---------------- */
input:not([type=radio], [type=checkbox]),
textarea,
select {
  background-color: white;
  border: 1px solid var(--gray-400);
  font-size: var(--fs--1);
  width: 100%;
  padding: 0.5rem;
  color: var(--gray-600);
}
input:not([type=radio], [type=checkbox]).error,
textarea.error,
select.error {
  background-color: var(--error-50);
  border-color: var(--error-600);
}

textarea:not([rows]) {
  min-height: 10rem;
}

label span.label {
  display: block;
  font-size: var(--fs-0);
  font-weight: 700;
  line-height: 1.1;
  margin-block-end: var(--space-2xs);
}

/* 02. Field rows ---------------- */
.field-row {
  display: flex;
  -moz-column-gap: var(--space-l);
       column-gap: var(--space-l);
}
.field-row + .field-row {
  margin-block-start: var(--space-l);
}
.field-row + .button-group {
  margin-block-start: var(--space-xl);
}
.field-row label {
  width: 100%;
}

/* =========================================================
	INFO BITS
	Icon with short text (like phone or address)
========================================================= */
.info-bit {
  color: var(--blue-800);
  display: flex;
  -moz-column-gap: var(--space-xs);
       column-gap: var(--space-xs);
  align-items: flex-start;
}
.info-bit + .info-bit {
  margin-block-start: var(--space-l);
}
.info-bit a {
  color: inherit;
  text-decoration: none;
}
.info-bit a.button {
  display: inline-block;
  margin-block-start: var(--space-s);
}

/* =========================================================
	NAV COMPONENT STYLES
	01. Base styles
	02. Max (desktop) styles
	03. Min (mobile) styles
========================================================= */
/* 01. Base styles ---------------- */
.nav {
  background: #FFF;
  box-shadow: 0px 37px 10px 0px rgba(0, 0, 0, 0), 0px 24px 9px 0px rgba(0, 0, 0, 0), 0px 13px 8px 0px rgba(0, 0, 0, 0.02), 0px 6px 6px 0px rgba(0, 0, 0, 0.03), 0px 1px 3px 0px rgba(0, 0, 0, 0.03);
  padding-block: var(--space-m);
  position: absolute;
  width: 100vw;
  z-index: var(--z-nav);
}
.nav.can-animate {
  transition: transform 0.3s ease, visibility 0s 0.3s linear;
}
.nav.is-fixed {
  position: fixed;
  transform: translate3d(0, -100%, 0);
}
.nav.scroll-up {
  transform: translate3d(0, 0, 0);
}
.nav > .container {
  display: flex;
  gap: var(--space-l);
  align-items: center;
  justify-content: space-between;
}

/* 02. Desktop styles ---------------- */
@media (width >= 860px) {
  nav.min {
    display: none;
  }
  nav.max {
    display: block;
  }
  .nav > .container nav.max > ul {
    display: flex;
    align-items: baseline;
    gap: 3.5rem;
  }
  .nav > .container nav.max > ul li {
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
  }
  .nav > .container nav.max > ul li a {
    text-decoration: none;
    color: var(--blue);
    transition: var(--transition);
  }
  .nav > .container nav.max > ul li a:hover {
    color: var(--green);
  }
  .nav > .container nav.max > ul li.has-dropdown {
    position: relative;
  }
  .nav > .container nav.max > ul li.has-dropdown button {
    color: var(--blue);
    font-size: 1.125rem;
    line-height: 1;
    transition: var(--transition);
    text-transform: uppercase;
    display: flex;
    gap: var(--space-2xs);
  }
  .nav > .container nav.max > ul li.has-dropdown button svg {
    fill: var(--blue);
    transition: var(--transition);
  }
  .nav > .container nav.max > ul li.has-dropdown button:hover {
    color: var(--green);
  }
  .nav > .container nav.max > ul li.has-dropdown button:hover svg {
    fill: var(--green);
  }
  .nav > .container nav.max > ul li.has-dropdown button[aria-expanded=true] svg {
    rotate: 180deg;
  }
  .nav > .container nav.max > ul li.has-dropdown div {
    position: absolute;
    top: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%);
    width: -moz-fit-content;
    width: fit-content;
    min-width: 264px;
    background-color: white;
    box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.1);
    border: 1px solid var(--gray-50);
  }
  .nav > .container nav.max > ul li.has-dropdown div::before {
    content: "";
    width: 30px;
    height: 17px;
    background-image: url("/assets/images/nav-dropdown-arrow.svg");
    background-repeat: no-repeat;
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    z-index: var(--z-below);
  }
  .nav > .container nav.max > ul li.has-dropdown div ul {
    padding: var(--space-m);
    background-color: white;
    z-index: var(--z-above);
  }
  .nav > .container nav.max > ul li.has-dropdown div ul li {
    text-transform: none;
    font-weight: 400;
  }
  .nav > .container nav.max > ul li.has-dropdown div ul li + li {
    margin-block-start: var(--space-s);
  }
  .nav > .container nav.max > ul li .button {
    color: white;
  }
  .nav > .container nav.max > ul li .button:hover {
    color: white;
  }
}
/* 03. Min (mobile) styles ---------------- */
@media (width < 860px) {
  nav.max {
    display: none;
  }
  .nav {
    position: relative;
    z-index: var(--z-nav);
  }
  nav.min .menu {
    position: absolute;
    width: calc(100vw - var(--space-m));
    left: 50%;
    transform: translateX(-50%);
    top: 100%;
    z-index: calc(var(--z-nav) - 1);
    box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.1);
  }
  nav.min .menu ul {
    background-color: white;
    padding: var(--space-m);
  }
  nav.min .menu ul li + li {
    margin-block-start: var(--space-m);
  }
  nav.min .menu ul li a {
    text-decoration: none;
  }
}
/* =========================================================
	PAGE HEADERS / HEROES

	01. Standard page header
========================================================= */
/* 01. Standard page header ---------------- */
@media (width >= 800px) {
  .page-header {
    position: relative;
  }
}
.page-header h1 {
  color: var(--blue-900);
  font-size: var(--fs-6);
  font-weight: 400;
}
.page-header h1.small {
  font-size: var(--fs-4);
}
.page-header h1 span {
  color: var(--green-700);
  font-weight: 700;
}
.page-header p {
  font-size: var(--fs-2);
  margin-block-start: var(--space-l);
}

.page-header .container {
  display: grid;
}
@media (width < 800px) {
  .page-header .container {
    row-gap: var(--space-xs);
    padding-block-start: 1rem;
  }
}
@media (width >= 800px) {
  .page-header .container {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-m);
    align-items: center;
    padding-block-end: var(--space-6xl);
    padding-block-start: calc(var(--space-6xl) + 96px);
    min-height: 440px;
  }
}

.page-header .container > div:first-child {
  position: relative;
  z-index: var(--z-above);
}

.page-header .container > div:last-child img {
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
}
@media (width < 800px) {
  .page-header .container > div:last-child img {
    clip-path: polygon(0% 12.965%, 0% 99.986%, 100% 87.021%, 100% 0%, 0% 12.965%);
    left: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    max-width: 100vw;
    position: relative;
    right: 50%;
    width: 100vw;
  }
}
@media (width >= 800px) {
  .page-header .container > div:last-child img {
    position: absolute;
    right: 0;
    top: 0;
    width: 53%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media (width >= 1100px) {
  .page-header .container > div:last-child img {
    width: 55%;
  }
}
.page-header .container > div:last-child::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 53%;
  height: 100%;
  background: linear-gradient(101deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 24%, rgba(255, 255, 255, 0) 24%);
  display: block;
}
@media (width < 800px) {
  .page-header .container > div:last-child::after {
    display: none;
  }
}
@media (width >= 1100px) {
  .page-header .container > div:last-child::after {
    background: linear-gradient(101deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 19.5%, rgba(255, 255, 255, 0) 19.5%);
    width: 55%;
  }
}

@media (width < 800px) {
  .t-home .page-header .container {
    margin-block-end: var(--space-l);
  }
}
@media (width >= 800px) {
  .t-home .page-header .container {
    min-height: 677px;
  }
}

/* =========================================================
	PRICING BLOCK
========================================================= */
.pricing-block {
  container: pricingBlock/inline-size;
  padding-block-start: var(--space-5xl);
  padding-block-end: var(--space-3xl);
}

/* =========================================================
	SIDEBAR

	01. Outer container
	02. Sidebar layout
	03. Sidebar column (aside)
	04. Main column (div)
========================================================= */
/* 01. Outer container ---------------- */
.has-sidebar {
  position: relative;
}
@media (width >= 800px) {
  .has-sidebar::after {
    content: "";
    background-color: var(--gray-50);
    width: 50%;
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    z-index: var(--z-below);
  }
}

/* 02. Sidebar layout ---------------- */
.sidebar-layout {
  display: grid;
  row-gap: var(--space-xl);
}
@media (width >= 800px) {
  .sidebar-layout {
    grid-template-columns: 1fr clamp(150px, 30%, 320px);
    -moz-column-gap: var(--space-xl);
         column-gap: var(--space-xl);
  }
}

/* 03. Sidebar column (aside) ---------------- */
.sidebar-layout > aside {
  padding-block-start: var(--space-xl);
}
@media (width >= 800px) {
  .sidebar-layout > aside {
    order: 2;
    padding-block: var(--space-5xl);
  }
}

/* 04. Main column (div) ---------------- */
.sidebar-layout > div {
  background-color: var(--gray-50);
  padding-block: var(--space-xl);
  position: relative;
}
@media (width >= 800px) {
  .sidebar-layout > div {
    order: 1;
    padding-block: var(--space-5xl);
    padding-inline-end: var(--space-7xl);
  }
}

.sidebar-layout > div::after {
  content: "";
  width: calc(100% + 3rem);
  background-color: var(--gray-50);
  position: absolute;
  top: 0;
  left: -1.5rem;
  height: 100%;
  z-index: var(--z-below);
}
@media (width >= 800px) {
  .sidebar-layout > div::after {
    display: none;
  }
}

/* =========================================================
	SPLIT BLOCK / COMPONENT

	01. Base layout (text/image)
	02. Reversed layout (image/text)
	03. Large layout
	04. Dark color theme
	05. Custom image placements
========================================================= */
/* 01. Base layout (text/image) ---------------- */
.split-block {
  overflow: hidden;
}
@media (width < 800px) {
  .split-block {
    margin-block-start: var(--space-2xl);
  }
}
@media (width >= 800px) {
  .split-block {
    position: relative;
  }
}

.split-block .container {
  display: grid;
}
@media (width < 800px) {
  .split-block .container {
    row-gap: var(--space-xs);
  }
}
@media (width >= 800px) {
  .split-block .container {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--space-m);
    align-items: center;
    height: 100%;
    min-height: 370px;
  }
}
@media (width >= 1300px) {
  .split-block .container {
    min-height: 470px;
  }
}

@media (width >= 800px) {
  .split-block .container .prose {
    grid-column: span 7/span 7;
    padding-block: var(--space-2xl);
    padding-inline-end: var(--space-l);
    position: relative;
    z-index: var(--z-above);
  }
}
@media (width >= 1100px) {
  .split-block .container .prose {
    padding-block: var(--space-4xl);
  }
}
@media (width >= 1300px) {
  .split-block .container .prose {
    padding-block: var(--space-6xl);
  }
}
.split-block .container .prose h2 {
  color: var(--blue-900);
  font-size: var(--fs-3);
  font-weight: 400;
}
.split-block .container .prose .button-group {
  margin-block-start: var(--space-l);
}

.split-block .container .image {
  --img-width: 60vw;
  --diagonal-img-width: 65vw;
  grid-column: span 5/span 5;
}
@media (width < 800px) {
  .split-block .container .image img {
    clip-path: polygon(0% 12.965%, 0% 99.986%, 100% 87.021%, 100% 0%, 0% 12.965%);
    left: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    max-width: 100vw;
    position: relative;
    right: 50%;
    width: 100vw;
  }
}
@media (width >= 800px) {
  .split-block .container .image img {
    position: absolute;
    right: 0;
    top: 0;
    width: var(--img-width);
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media (width >= 1480px) {
  .split-block .container .image img {
    --img-width: 50vw;
  }
}
.split-block .container .image::after {
  background-image: url("/assets/images/bg-diagonal-white-left.svg");
  background-position: right center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: var(--diagonal-img-width);
}
@media (width < 800px) {
  .split-block .container .image::after {
    display: none;
  }
}

/* 02. Reversed layout (image/text) ---------------- */
@media (width >= 800px) {
  .split-block.is-reversed .prose {
    order: 2;
    padding-inline-end: 0;
    padding-inline-start: var(--space-l);
  }
  .split-block.is-reversed .image {
    --diagonal-img-width: 72vw;
    order: 1;
  }
  .split-block.is-reversed .image img {
    left: 0;
  }
  .split-block.is-reversed .image::after {
    background-image: url("/assets/images/bg-diagonal-white-right.svg");
    left: auto;
    right: 0;
  }
}
/* 03. Large layout ---------------- */
@media (width >= 800px) {
  .split-block.is-large .container {
    min-height: 440px;
  }
}
@media (width >= 1300px) {
  .split-block.is-large .container {
    min-height: 522px;
  }
}
.split-block.is-large .prose h2 {
  font-size: var(--fs-5);
}
.split-block.is-large .prose p {
  font-size: var(--fs-2);
}

/* 04. Dark color theme ---------------- */
@media (width < 800px) {
  .split-block.is-dark .container .prose {
    position: relative;
    padding-block-start: var(--space-2xl);
  }
  .split-block.is-dark .container .prose::after {
    background-image: url("/assets/images/bg-diagonal-dark-left.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    content: "";
    width: 130%;
    height: 130%;
    position: absolute;
    inset: 0;
    left: -1.5rem;
    top: 0;
    z-index: var(--z-below);
  }
}

.split-block.is-dark .container .prose {
  color: var(--gray-100);
}
.split-block.is-dark .container .prose h2 {
  color: white;
}

@media (width >= 800px) {
  .split-block.is-dark .container .image::after {
    background-image: url("/assets/images/bg-diagonal-dark-left.svg");
  }
}

.split-block.is-dark.is-reversed .container .image::after {
  background-image: url("/assets/images/bg-diagonal-dark-right.svg");
}

/* 05. Custom image placements ---------------- */
@media (width >= 800px) and (width < 1480px) {
  .split-block .container .image img.left-offset-10 {
    left: -10%;
  }
  .split-block .container .image img.left-offset-15 {
    left: -15%;
  }
  .split-block .container .image img.left-offset-20 {
    left: -20%;
  }
  .split-block .container .image img.right-offset-5 {
    right: -5%;
  }
  .split-block .container .image img.right-offset-10 {
    right: -10%;
  }
  .split-block .container .image img.right-offset-15 {
    right: -15%;
  }
}
/* =========================================================
	CTAs

	01. Statement CTA
	02. Simple CTA
========================================================= */
/* 01. Statement CTA ---------------- */
.statement-cta {
  background-color: var(--blue-950);
  background-image: url("/assets/images/bg-diagonal-lines.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  padding-block: var(--space-6xl);
  text-align: center;
}
@media (width >= 1100px) {
  .statement-cta {
    min-height: 470px;
  }
}
.statement-cta .container {
  max-width: 60rem;
}
.statement-cta p.heading {
  color: var(--green-400);
  font-size: var(--fs-5);
  font-weight: 400;
}
.statement-cta p:not(.heading) {
  --prose-space: var(--space-m);
  color: var(--gray-100);
  font-size: var(--fs-1);
  margin-inline: auto;
  max-width: 800px;
}
.statement-cta .button-group {
  --prose-space: var(--space-xl);
}

/* 02. Simple CTA ---------------- */
.simple-cta {
  padding-block: var(--space-2xl);
}
.simple-cta .container {
  border: 4px solid var(--blue-700);
  container: simpleCtaInner/inline-size;
  padding-block: var(--space-2xl);
  position: relative;
  text-align: center;
}
.simple-cta .container::after {
  background-image: url("/assets/images/bg-simple-cta-lines.svg");
  background-position: left center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  inset: 0;
  opacity: 0.45;
  position: absolute;
}
@container simpleCtaInner (width >= 720px) {
  .simple-cta .container::after {
    background-position: center;
  }
}
.simple-cta .prose {
  margin-inline: auto;
  max-width: 1024px;
  padding-inline: var(--space-l);
  position: relative;
  z-index: var(--z-above);
}
.simple-cta .prose h2 {
  color: var(--blue-900);
  font-size: var(--fs-4);
  font-weight: 400;
}
.simple-cta .prose .button-group {
  --prose-space: var(--space-xl);
}

/* Vendor ---------------- */
body[data-aos-duration="50"] [data-aos], [data-aos][data-aos][data-aos-duration="50"] {
  transition-duration: 50ms;
}
body[data-aos-delay="50"] [data-aos], [data-aos][data-aos][data-aos-delay="50"] {
  transition-delay: 0;
}
body[data-aos-delay="50"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="50"].aos-animate {
  transition-delay: 50ms;
}
body[data-aos-duration="100"] [data-aos], [data-aos][data-aos][data-aos-duration="100"] {
  transition-duration: 100ms;
}
body[data-aos-delay="100"] [data-aos], [data-aos][data-aos][data-aos-delay="100"] {
  transition-delay: 0;
}
body[data-aos-delay="100"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="100"].aos-animate {
  transition-delay: 100ms;
}
body[data-aos-duration="150"] [data-aos], [data-aos][data-aos][data-aos-duration="150"] {
  transition-duration: 150ms;
}
body[data-aos-delay="150"] [data-aos], [data-aos][data-aos][data-aos-delay="150"] {
  transition-delay: 0;
}
body[data-aos-delay="150"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="150"].aos-animate {
  transition-delay: 150ms;
}
body[data-aos-duration="200"] [data-aos], [data-aos][data-aos][data-aos-duration="200"] {
  transition-duration: 200ms;
}
body[data-aos-delay="200"] [data-aos], [data-aos][data-aos][data-aos-delay="200"] {
  transition-delay: 0;
}
body[data-aos-delay="200"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="200"].aos-animate {
  transition-delay: 200ms;
}
body[data-aos-duration="250"] [data-aos], [data-aos][data-aos][data-aos-duration="250"] {
  transition-duration: 250ms;
}
body[data-aos-delay="250"] [data-aos], [data-aos][data-aos][data-aos-delay="250"] {
  transition-delay: 0;
}
body[data-aos-delay="250"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="250"].aos-animate {
  transition-delay: 250ms;
}
body[data-aos-duration="300"] [data-aos], [data-aos][data-aos][data-aos-duration="300"] {
  transition-duration: 300ms;
}
body[data-aos-delay="300"] [data-aos], [data-aos][data-aos][data-aos-delay="300"] {
  transition-delay: 0;
}
body[data-aos-delay="300"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="300"].aos-animate {
  transition-delay: 300ms;
}
body[data-aos-duration="350"] [data-aos], [data-aos][data-aos][data-aos-duration="350"] {
  transition-duration: 350ms;
}
body[data-aos-delay="350"] [data-aos], [data-aos][data-aos][data-aos-delay="350"] {
  transition-delay: 0;
}
body[data-aos-delay="350"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="350"].aos-animate {
  transition-delay: 350ms;
}
body[data-aos-duration="400"] [data-aos], [data-aos][data-aos][data-aos-duration="400"] {
  transition-duration: 400ms;
}
body[data-aos-delay="400"] [data-aos], [data-aos][data-aos][data-aos-delay="400"] {
  transition-delay: 0;
}
body[data-aos-delay="400"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="400"].aos-animate {
  transition-delay: 400ms;
}
body[data-aos-duration="450"] [data-aos], [data-aos][data-aos][data-aos-duration="450"] {
  transition-duration: 450ms;
}
body[data-aos-delay="450"] [data-aos], [data-aos][data-aos][data-aos-delay="450"] {
  transition-delay: 0;
}
body[data-aos-delay="450"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="450"].aos-animate {
  transition-delay: 450ms;
}
body[data-aos-duration="500"] [data-aos], [data-aos][data-aos][data-aos-duration="500"] {
  transition-duration: 500ms;
}
body[data-aos-delay="500"] [data-aos], [data-aos][data-aos][data-aos-delay="500"] {
  transition-delay: 0;
}
body[data-aos-delay="500"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="500"].aos-animate {
  transition-delay: 500ms;
}
body[data-aos-duration="550"] [data-aos], [data-aos][data-aos][data-aos-duration="550"] {
  transition-duration: 550ms;
}
body[data-aos-delay="550"] [data-aos], [data-aos][data-aos][data-aos-delay="550"] {
  transition-delay: 0;
}
body[data-aos-delay="550"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="550"].aos-animate {
  transition-delay: 550ms;
}
body[data-aos-duration="600"] [data-aos], [data-aos][data-aos][data-aos-duration="600"] {
  transition-duration: 600ms;
}
body[data-aos-delay="600"] [data-aos], [data-aos][data-aos][data-aos-delay="600"] {
  transition-delay: 0;
}
body[data-aos-delay="600"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="600"].aos-animate {
  transition-delay: 600ms;
}
body[data-aos-duration="650"] [data-aos], [data-aos][data-aos][data-aos-duration="650"] {
  transition-duration: 650ms;
}
body[data-aos-delay="650"] [data-aos], [data-aos][data-aos][data-aos-delay="650"] {
  transition-delay: 0;
}
body[data-aos-delay="650"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="650"].aos-animate {
  transition-delay: 650ms;
}
body[data-aos-duration="700"] [data-aos], [data-aos][data-aos][data-aos-duration="700"] {
  transition-duration: 700ms;
}
body[data-aos-delay="700"] [data-aos], [data-aos][data-aos][data-aos-delay="700"] {
  transition-delay: 0;
}
body[data-aos-delay="700"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="700"].aos-animate {
  transition-delay: 700ms;
}
body[data-aos-duration="750"] [data-aos], [data-aos][data-aos][data-aos-duration="750"] {
  transition-duration: 750ms;
}
body[data-aos-delay="750"] [data-aos], [data-aos][data-aos][data-aos-delay="750"] {
  transition-delay: 0;
}
body[data-aos-delay="750"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="750"].aos-animate {
  transition-delay: 750ms;
}
body[data-aos-duration="800"] [data-aos], [data-aos][data-aos][data-aos-duration="800"] {
  transition-duration: 800ms;
}
body[data-aos-delay="800"] [data-aos], [data-aos][data-aos][data-aos-delay="800"] {
  transition-delay: 0;
}
body[data-aos-delay="800"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="800"].aos-animate {
  transition-delay: 800ms;
}
body[data-aos-duration="850"] [data-aos], [data-aos][data-aos][data-aos-duration="850"] {
  transition-duration: 850ms;
}
body[data-aos-delay="850"] [data-aos], [data-aos][data-aos][data-aos-delay="850"] {
  transition-delay: 0;
}
body[data-aos-delay="850"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="850"].aos-animate {
  transition-delay: 850ms;
}
body[data-aos-duration="900"] [data-aos], [data-aos][data-aos][data-aos-duration="900"] {
  transition-duration: 900ms;
}
body[data-aos-delay="900"] [data-aos], [data-aos][data-aos][data-aos-delay="900"] {
  transition-delay: 0;
}
body[data-aos-delay="900"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="900"].aos-animate {
  transition-delay: 900ms;
}
body[data-aos-duration="950"] [data-aos], [data-aos][data-aos][data-aos-duration="950"] {
  transition-duration: 950ms;
}
body[data-aos-delay="950"] [data-aos], [data-aos][data-aos][data-aos-delay="950"] {
  transition-delay: 0;
}
body[data-aos-delay="950"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="950"].aos-animate {
  transition-delay: 950ms;
}
body[data-aos-duration="1000"] [data-aos], [data-aos][data-aos][data-aos-duration="1000"] {
  transition-duration: 1000ms;
}
body[data-aos-delay="1000"] [data-aos], [data-aos][data-aos][data-aos-delay="1000"] {
  transition-delay: 0;
}
body[data-aos-delay="1000"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1000"].aos-animate {
  transition-delay: 1000ms;
}
body[data-aos-duration="1050"] [data-aos], [data-aos][data-aos][data-aos-duration="1050"] {
  transition-duration: 1050ms;
}
body[data-aos-delay="1050"] [data-aos], [data-aos][data-aos][data-aos-delay="1050"] {
  transition-delay: 0;
}
body[data-aos-delay="1050"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1050"].aos-animate {
  transition-delay: 1050ms;
}
body[data-aos-duration="1100"] [data-aos], [data-aos][data-aos][data-aos-duration="1100"] {
  transition-duration: 1100ms;
}
body[data-aos-delay="1100"] [data-aos], [data-aos][data-aos][data-aos-delay="1100"] {
  transition-delay: 0;
}
body[data-aos-delay="1100"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1100"].aos-animate {
  transition-delay: 1100ms;
}
body[data-aos-duration="1150"] [data-aos], [data-aos][data-aos][data-aos-duration="1150"] {
  transition-duration: 1150ms;
}
body[data-aos-delay="1150"] [data-aos], [data-aos][data-aos][data-aos-delay="1150"] {
  transition-delay: 0;
}
body[data-aos-delay="1150"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1150"].aos-animate {
  transition-delay: 1150ms;
}
body[data-aos-duration="1200"] [data-aos], [data-aos][data-aos][data-aos-duration="1200"] {
  transition-duration: 1200ms;
}
body[data-aos-delay="1200"] [data-aos], [data-aos][data-aos][data-aos-delay="1200"] {
  transition-delay: 0;
}
body[data-aos-delay="1200"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1200"].aos-animate {
  transition-delay: 1200ms;
}
body[data-aos-duration="1250"] [data-aos], [data-aos][data-aos][data-aos-duration="1250"] {
  transition-duration: 1250ms;
}
body[data-aos-delay="1250"] [data-aos], [data-aos][data-aos][data-aos-delay="1250"] {
  transition-delay: 0;
}
body[data-aos-delay="1250"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1250"].aos-animate {
  transition-delay: 1250ms;
}
body[data-aos-duration="1300"] [data-aos], [data-aos][data-aos][data-aos-duration="1300"] {
  transition-duration: 1300ms;
}
body[data-aos-delay="1300"] [data-aos], [data-aos][data-aos][data-aos-delay="1300"] {
  transition-delay: 0;
}
body[data-aos-delay="1300"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1300"].aos-animate {
  transition-delay: 1300ms;
}
body[data-aos-duration="1350"] [data-aos], [data-aos][data-aos][data-aos-duration="1350"] {
  transition-duration: 1350ms;
}
body[data-aos-delay="1350"] [data-aos], [data-aos][data-aos][data-aos-delay="1350"] {
  transition-delay: 0;
}
body[data-aos-delay="1350"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1350"].aos-animate {
  transition-delay: 1350ms;
}
body[data-aos-duration="1400"] [data-aos], [data-aos][data-aos][data-aos-duration="1400"] {
  transition-duration: 1400ms;
}
body[data-aos-delay="1400"] [data-aos], [data-aos][data-aos][data-aos-delay="1400"] {
  transition-delay: 0;
}
body[data-aos-delay="1400"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1400"].aos-animate {
  transition-delay: 1400ms;
}
body[data-aos-duration="1450"] [data-aos], [data-aos][data-aos][data-aos-duration="1450"] {
  transition-duration: 1450ms;
}
body[data-aos-delay="1450"] [data-aos], [data-aos][data-aos][data-aos-delay="1450"] {
  transition-delay: 0;
}
body[data-aos-delay="1450"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1450"].aos-animate {
  transition-delay: 1450ms;
}
body[data-aos-duration="1500"] [data-aos], [data-aos][data-aos][data-aos-duration="1500"] {
  transition-duration: 1500ms;
}
body[data-aos-delay="1500"] [data-aos], [data-aos][data-aos][data-aos-delay="1500"] {
  transition-delay: 0;
}
body[data-aos-delay="1500"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1500"].aos-animate {
  transition-delay: 1500ms;
}
body[data-aos-duration="1550"] [data-aos], [data-aos][data-aos][data-aos-duration="1550"] {
  transition-duration: 1550ms;
}
body[data-aos-delay="1550"] [data-aos], [data-aos][data-aos][data-aos-delay="1550"] {
  transition-delay: 0;
}
body[data-aos-delay="1550"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1550"].aos-animate {
  transition-delay: 1550ms;
}
body[data-aos-duration="1600"] [data-aos], [data-aos][data-aos][data-aos-duration="1600"] {
  transition-duration: 1600ms;
}
body[data-aos-delay="1600"] [data-aos], [data-aos][data-aos][data-aos-delay="1600"] {
  transition-delay: 0;
}
body[data-aos-delay="1600"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1600"].aos-animate {
  transition-delay: 1600ms;
}
body[data-aos-duration="1650"] [data-aos], [data-aos][data-aos][data-aos-duration="1650"] {
  transition-duration: 1650ms;
}
body[data-aos-delay="1650"] [data-aos], [data-aos][data-aos][data-aos-delay="1650"] {
  transition-delay: 0;
}
body[data-aos-delay="1650"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1650"].aos-animate {
  transition-delay: 1650ms;
}
body[data-aos-duration="1700"] [data-aos], [data-aos][data-aos][data-aos-duration="1700"] {
  transition-duration: 1700ms;
}
body[data-aos-delay="1700"] [data-aos], [data-aos][data-aos][data-aos-delay="1700"] {
  transition-delay: 0;
}
body[data-aos-delay="1700"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1700"].aos-animate {
  transition-delay: 1700ms;
}
body[data-aos-duration="1750"] [data-aos], [data-aos][data-aos][data-aos-duration="1750"] {
  transition-duration: 1750ms;
}
body[data-aos-delay="1750"] [data-aos], [data-aos][data-aos][data-aos-delay="1750"] {
  transition-delay: 0;
}
body[data-aos-delay="1750"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1750"].aos-animate {
  transition-delay: 1750ms;
}
body[data-aos-duration="1800"] [data-aos], [data-aos][data-aos][data-aos-duration="1800"] {
  transition-duration: 1800ms;
}
body[data-aos-delay="1800"] [data-aos], [data-aos][data-aos][data-aos-delay="1800"] {
  transition-delay: 0;
}
body[data-aos-delay="1800"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1800"].aos-animate {
  transition-delay: 1800ms;
}
body[data-aos-duration="1850"] [data-aos], [data-aos][data-aos][data-aos-duration="1850"] {
  transition-duration: 1850ms;
}
body[data-aos-delay="1850"] [data-aos], [data-aos][data-aos][data-aos-delay="1850"] {
  transition-delay: 0;
}
body[data-aos-delay="1850"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1850"].aos-animate {
  transition-delay: 1850ms;
}
body[data-aos-duration="1900"] [data-aos], [data-aos][data-aos][data-aos-duration="1900"] {
  transition-duration: 1900ms;
}
body[data-aos-delay="1900"] [data-aos], [data-aos][data-aos][data-aos-delay="1900"] {
  transition-delay: 0;
}
body[data-aos-delay="1900"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1900"].aos-animate {
  transition-delay: 1900ms;
}
body[data-aos-duration="1950"] [data-aos], [data-aos][data-aos][data-aos-duration="1950"] {
  transition-duration: 1950ms;
}
body[data-aos-delay="1950"] [data-aos], [data-aos][data-aos][data-aos-delay="1950"] {
  transition-delay: 0;
}
body[data-aos-delay="1950"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1950"].aos-animate {
  transition-delay: 1950ms;
}
body[data-aos-duration="2000"] [data-aos], [data-aos][data-aos][data-aos-duration="2000"] {
  transition-duration: 2000ms;
}
body[data-aos-delay="2000"] [data-aos], [data-aos][data-aos][data-aos-delay="2000"] {
  transition-delay: 0;
}
body[data-aos-delay="2000"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2000"].aos-animate {
  transition-delay: 2000ms;
}
body[data-aos-duration="2050"] [data-aos], [data-aos][data-aos][data-aos-duration="2050"] {
  transition-duration: 2050ms;
}
body[data-aos-delay="2050"] [data-aos], [data-aos][data-aos][data-aos-delay="2050"] {
  transition-delay: 0;
}
body[data-aos-delay="2050"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2050"].aos-animate {
  transition-delay: 2050ms;
}
body[data-aos-duration="2100"] [data-aos], [data-aos][data-aos][data-aos-duration="2100"] {
  transition-duration: 2100ms;
}
body[data-aos-delay="2100"] [data-aos], [data-aos][data-aos][data-aos-delay="2100"] {
  transition-delay: 0;
}
body[data-aos-delay="2100"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2100"].aos-animate {
  transition-delay: 2100ms;
}
body[data-aos-duration="2150"] [data-aos], [data-aos][data-aos][data-aos-duration="2150"] {
  transition-duration: 2150ms;
}
body[data-aos-delay="2150"] [data-aos], [data-aos][data-aos][data-aos-delay="2150"] {
  transition-delay: 0;
}
body[data-aos-delay="2150"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2150"].aos-animate {
  transition-delay: 2150ms;
}
body[data-aos-duration="2200"] [data-aos], [data-aos][data-aos][data-aos-duration="2200"] {
  transition-duration: 2200ms;
}
body[data-aos-delay="2200"] [data-aos], [data-aos][data-aos][data-aos-delay="2200"] {
  transition-delay: 0;
}
body[data-aos-delay="2200"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2200"].aos-animate {
  transition-delay: 2200ms;
}
body[data-aos-duration="2250"] [data-aos], [data-aos][data-aos][data-aos-duration="2250"] {
  transition-duration: 2250ms;
}
body[data-aos-delay="2250"] [data-aos], [data-aos][data-aos][data-aos-delay="2250"] {
  transition-delay: 0;
}
body[data-aos-delay="2250"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2250"].aos-animate {
  transition-delay: 2250ms;
}
body[data-aos-duration="2300"] [data-aos], [data-aos][data-aos][data-aos-duration="2300"] {
  transition-duration: 2300ms;
}
body[data-aos-delay="2300"] [data-aos], [data-aos][data-aos][data-aos-delay="2300"] {
  transition-delay: 0;
}
body[data-aos-delay="2300"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2300"].aos-animate {
  transition-delay: 2300ms;
}
body[data-aos-duration="2350"] [data-aos], [data-aos][data-aos][data-aos-duration="2350"] {
  transition-duration: 2350ms;
}
body[data-aos-delay="2350"] [data-aos], [data-aos][data-aos][data-aos-delay="2350"] {
  transition-delay: 0;
}
body[data-aos-delay="2350"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2350"].aos-animate {
  transition-delay: 2350ms;
}
body[data-aos-duration="2400"] [data-aos], [data-aos][data-aos][data-aos-duration="2400"] {
  transition-duration: 2400ms;
}
body[data-aos-delay="2400"] [data-aos], [data-aos][data-aos][data-aos-delay="2400"] {
  transition-delay: 0;
}
body[data-aos-delay="2400"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2400"].aos-animate {
  transition-delay: 2400ms;
}
body[data-aos-duration="2450"] [data-aos], [data-aos][data-aos][data-aos-duration="2450"] {
  transition-duration: 2450ms;
}
body[data-aos-delay="2450"] [data-aos], [data-aos][data-aos][data-aos-delay="2450"] {
  transition-delay: 0;
}
body[data-aos-delay="2450"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2450"].aos-animate {
  transition-delay: 2450ms;
}
body[data-aos-duration="2500"] [data-aos], [data-aos][data-aos][data-aos-duration="2500"] {
  transition-duration: 2500ms;
}
body[data-aos-delay="2500"] [data-aos], [data-aos][data-aos][data-aos-delay="2500"] {
  transition-delay: 0;
}
body[data-aos-delay="2500"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2500"].aos-animate {
  transition-delay: 2500ms;
}
body[data-aos-duration="2550"] [data-aos], [data-aos][data-aos][data-aos-duration="2550"] {
  transition-duration: 2550ms;
}
body[data-aos-delay="2550"] [data-aos], [data-aos][data-aos][data-aos-delay="2550"] {
  transition-delay: 0;
}
body[data-aos-delay="2550"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2550"].aos-animate {
  transition-delay: 2550ms;
}
body[data-aos-duration="2600"] [data-aos], [data-aos][data-aos][data-aos-duration="2600"] {
  transition-duration: 2600ms;
}
body[data-aos-delay="2600"] [data-aos], [data-aos][data-aos][data-aos-delay="2600"] {
  transition-delay: 0;
}
body[data-aos-delay="2600"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2600"].aos-animate {
  transition-delay: 2600ms;
}
body[data-aos-duration="2650"] [data-aos], [data-aos][data-aos][data-aos-duration="2650"] {
  transition-duration: 2650ms;
}
body[data-aos-delay="2650"] [data-aos], [data-aos][data-aos][data-aos-delay="2650"] {
  transition-delay: 0;
}
body[data-aos-delay="2650"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2650"].aos-animate {
  transition-delay: 2650ms;
}
body[data-aos-duration="2700"] [data-aos], [data-aos][data-aos][data-aos-duration="2700"] {
  transition-duration: 2700ms;
}
body[data-aos-delay="2700"] [data-aos], [data-aos][data-aos][data-aos-delay="2700"] {
  transition-delay: 0;
}
body[data-aos-delay="2700"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2700"].aos-animate {
  transition-delay: 2700ms;
}
body[data-aos-duration="2750"] [data-aos], [data-aos][data-aos][data-aos-duration="2750"] {
  transition-duration: 2750ms;
}
body[data-aos-delay="2750"] [data-aos], [data-aos][data-aos][data-aos-delay="2750"] {
  transition-delay: 0;
}
body[data-aos-delay="2750"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2750"].aos-animate {
  transition-delay: 2750ms;
}
body[data-aos-duration="2800"] [data-aos], [data-aos][data-aos][data-aos-duration="2800"] {
  transition-duration: 2800ms;
}
body[data-aos-delay="2800"] [data-aos], [data-aos][data-aos][data-aos-delay="2800"] {
  transition-delay: 0;
}
body[data-aos-delay="2800"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2800"].aos-animate {
  transition-delay: 2800ms;
}
body[data-aos-duration="2850"] [data-aos], [data-aos][data-aos][data-aos-duration="2850"] {
  transition-duration: 2850ms;
}
body[data-aos-delay="2850"] [data-aos], [data-aos][data-aos][data-aos-delay="2850"] {
  transition-delay: 0;
}
body[data-aos-delay="2850"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2850"].aos-animate {
  transition-delay: 2850ms;
}
body[data-aos-duration="2900"] [data-aos], [data-aos][data-aos][data-aos-duration="2900"] {
  transition-duration: 2900ms;
}
body[data-aos-delay="2900"] [data-aos], [data-aos][data-aos][data-aos-delay="2900"] {
  transition-delay: 0;
}
body[data-aos-delay="2900"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2900"].aos-animate {
  transition-delay: 2900ms;
}
body[data-aos-duration="2950"] [data-aos], [data-aos][data-aos][data-aos-duration="2950"] {
  transition-duration: 2950ms;
}
body[data-aos-delay="2950"] [data-aos], [data-aos][data-aos][data-aos-delay="2950"] {
  transition-delay: 0;
}
body[data-aos-delay="2950"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2950"].aos-animate {
  transition-delay: 2950ms;
}
body[data-aos-duration="3000"] [data-aos], [data-aos][data-aos][data-aos-duration="3000"] {
  transition-duration: 3000ms;
}
body[data-aos-delay="3000"] [data-aos], [data-aos][data-aos][data-aos-delay="3000"] {
  transition-delay: 0;
}
body[data-aos-delay="3000"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="3000"].aos-animate {
  transition-delay: 3000ms;
}

body[data-aos-easing=linear] [data-aos], [data-aos][data-aos][data-aos-easing=linear] {
  transition-timing-function: cubic-bezier(0.25, 0.25, 0.75, 0.75);
}
body[data-aos-easing=ease] [data-aos], [data-aos][data-aos][data-aos-easing=ease] {
  transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
}
body[data-aos-easing=ease-in] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in] {
  transition-timing-function: cubic-bezier(0.42, 0, 1, 1);
}
body[data-aos-easing=ease-out] [data-aos], [data-aos][data-aos][data-aos-easing=ease-out] {
  transition-timing-function: cubic-bezier(0, 0, 0.58, 1);
}
body[data-aos-easing=ease-in-out] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-out] {
  transition-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
}
body[data-aos-easing=ease-in-back] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-back] {
  transition-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045);
}
body[data-aos-easing=ease-out-back] [data-aos], [data-aos][data-aos][data-aos-easing=ease-out-back] {
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
body[data-aos-easing=ease-in-out-back] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-out-back] {
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
body[data-aos-easing=ease-in-sine] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-sine] {
  transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
}
body[data-aos-easing=ease-out-sine] [data-aos], [data-aos][data-aos][data-aos-easing=ease-out-sine] {
  transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
}
body[data-aos-easing=ease-in-out-sine] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-out-sine] {
  transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
body[data-aos-easing=ease-in-quad] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-quad] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
body[data-aos-easing=ease-out-quad] [data-aos], [data-aos][data-aos][data-aos-easing=ease-out-quad] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
body[data-aos-easing=ease-in-out-quad] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-out-quad] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
body[data-aos-easing=ease-in-cubic] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-cubic] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
body[data-aos-easing=ease-out-cubic] [data-aos], [data-aos][data-aos][data-aos-easing=ease-out-cubic] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
body[data-aos-easing=ease-in-out-cubic] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-out-cubic] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
body[data-aos-easing=ease-in-quart] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-quart] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
body[data-aos-easing=ease-out-quart] [data-aos], [data-aos][data-aos][data-aos-easing=ease-out-quart] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
body[data-aos-easing=ease-in-out-quart] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-out-quart] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

/**
 * Fade animations:
 * fade
 * fade-up, fade-down, fade-left, fade-right
 * fade-up-right, fade-up-left, fade-down-right, fade-down-left
 */
[data-aos^=fade][data-aos^=fade] {
  opacity: 0;
  transition-property: opacity, transform;
}
[data-aos^=fade][data-aos^=fade].aos-animate {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

[data-aos=fade-up] {
  transform: translate3d(0, 100px, 0);
}

[data-aos=fade-down] {
  transform: translate3d(0, -100px, 0);
}

[data-aos=fade-right] {
  transform: translate3d(-100px, 0, 0);
}

[data-aos=fade-left] {
  transform: translate3d(100px, 0, 0);
}

[data-aos=fade-up-right] {
  transform: translate3d(-100px, 100px, 0);
}

[data-aos=fade-up-left] {
  transform: translate3d(100px, 100px, 0);
}

[data-aos=fade-down-right] {
  transform: translate3d(-100px, -100px, 0);
}

[data-aos=fade-down-left] {
  transform: translate3d(100px, -100px, 0);
}

/**
 * Zoom animations:
 * zoom-in, zoom-in-up, zoom-in-down, zoom-in-left, zoom-in-right
 * zoom-out, zoom-out-up, zoom-out-down, zoom-out-left, zoom-out-right
 */
[data-aos^=zoom][data-aos^=zoom] {
  opacity: 0;
  transition-property: opacity, transform;
}
[data-aos^=zoom][data-aos^=zoom].aos-animate {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

[data-aos=zoom-in] {
  transform: scale(0.6);
}

[data-aos=zoom-in-up] {
  transform: translate3d(0, 100px, 0) scale(0.6);
}

[data-aos=zoom-in-down] {
  transform: translate3d(0, -100px, 0) scale(0.6);
}

[data-aos=zoom-in-right] {
  transform: translate3d(-100px, 0, 0) scale(0.6);
}

[data-aos=zoom-in-left] {
  transform: translate3d(100px, 0, 0) scale(0.6);
}

[data-aos=zoom-out] {
  transform: scale(1.2);
}

[data-aos=zoom-out-up] {
  transform: translate3d(0, 100px, 0) scale(1.2);
}

[data-aos=zoom-out-down] {
  transform: translate3d(0, -100px, 0) scale(1.2);
}

[data-aos=zoom-out-right] {
  transform: translate3d(-100px, 0, 0) scale(1.2);
}

[data-aos=zoom-out-left] {
  transform: translate3d(100px, 0, 0) scale(1.2);
}

/**
 * Slide animations
 */
[data-aos^=slide][data-aos^=slide] {
  transition-property: transform;
}
[data-aos^=slide][data-aos^=slide].aos-animate {
  transform: translate3d(0, 0, 0);
}

[data-aos=slide-up] {
  transform: translate3d(0, 100%, 0);
}

[data-aos=slide-down] {
  transform: translate3d(0, -100%, 0);
}

[data-aos=slide-right] {
  transform: translate3d(-100%, 0, 0);
}

[data-aos=slide-left] {
  transform: translate3d(100%, 0, 0);
}

/**
 * Flip animations:
 * flip-left, flip-right, flip-up, flip-down
 */
[data-aos^=flip][data-aos^=flip] {
  backface-visibility: hidden;
  transition-property: transform;
}

[data-aos=flip-left] {
  transform: perspective(2500px) rotateY(-100deg);
}
[data-aos=flip-left].aos-animate {
  transform: perspective(2500px) rotateY(0);
}

[data-aos=flip-right] {
  transform: perspective(2500px) rotateY(100deg);
}
[data-aos=flip-right].aos-animate {
  transform: perspective(2500px) rotateY(0);
}

[data-aos=flip-up] {
  transform: perspective(2500px) rotateX(-100deg);
}
[data-aos=flip-up].aos-animate {
  transform: perspective(2500px) rotateX(0);
}

[data-aos=flip-down] {
  transform: perspective(2500px) rotateX(100deg);
}
[data-aos=flip-down].aos-animate {
  transform: perspective(2500px) rotateX(0);
}

/*# sourceMappingURL=app.css.map*/