
/* ----- SLIDE between pages -----*/

  .transition-slide {
    transition-property: opacity, transform;
    transition-duration: 250ms;
    transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
    transform: translateX(0);
    opacity: 1;
  }

  html.is-animating .transition-slide {
    opacity: 0;
    transform: translateX(-1em);
  }

  html.is-leaving .transition-slide {
    transform: translateX(1em);
  }


  html.is-animating.to-left .transition-slide {
    opacity: 0;
    transform: translateX(1em);
  }

  html.is-leaving.to-left .transition-slide {
    transform: translateX(-1em);
  }

/* ----- FADE initial animation -----*/
  .transition-fade {
    opacity: 0;
    transition-property: opacity;
    transition-duration: 250ms;
    transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  }

  .transition-fade.is-loaded {
    opacity: 1;
  }

/* ----- MULTIPLE (Cards) -----*/
  html.is-changing .transition-main {
    transition: opacity 250ms ease-in-out;
  }

  html.is-leaving .transition-main {
    transition: opacity 250ms ease-in-out;
  }

  html.is-animating .transition-main {
    opacity: 0;
  }

  .logo {
    transition: opacity 250ms, transform 250ms;
  }

  html.is-animating .logo {
    opacity: 0.3;
    transform: scale(0.8);
  }

  .grid .card {
    transition: transform 250ms, background-color 150ms;
    transition-delay: calc(var(--index, 0) * 50ms), 0ms;
  }

  html.is-rendering .grid .card {
    transition-delay: calc((var(--count, 0) - var(--index, 0)) * 10ms), 0ms;
  }

  html.is-animating .grid .card {
    transform: scale(0.8);
  }

  h1 {
    transition: transform 300ms, opacity 300ms;
  }

  html.is-animating.is-leaving h1 {
    transform: translateY(2rem);
    opacity: 0;
  }

  html.is-animating.is-leaving h4 {
    transform: translateY(2rem);
    opacity: 0;
  }

  html.is-animating.is-rendering h1 {
    transform: translateY(-2rem);
    opacity: 0;
  }

  .detail__body {
    transition: transform 400ms;
  }

  .detail__content {
    transition: transform 400ms;
  }

  html.is-animating.is-leaving .detail__body {
    transform: translateY(3rem);
  }

  html.is-animating.is-rendering .detail__body {
    transform: translateY(3rem);
  }

  html.is-animating.is-leaving .detail__content {
    transform: translateY(3rem);
  }

  html.is-animating.is-rendering .detail__content {
    transform: translateY(3rem);
  }

    .detail__body>* {
    transition: opacity 300ms, transform 300ms;
    transition-delay: calc(0ms + (2 - var(--index, 0)) * 75ms);
  }

  html.is-animating .detail__body>* {
    opacity: 0;
    transform: translateY(calc((var(--index, 0) + 1) * 2em));
    transition-delay: 0ms;
  }

  .detail__content>* {
    transition: opacity 300ms, transform 300ms;
    transition-delay: calc(0ms + (2 - var(--index, 0)) * 75ms);
  }

  html.is-animating .detail__content>* {
    opacity: 0;
    transform: translateY(calc((var(--index, 0) + 1) * 2em));
    transition-delay: 0ms;
  }




