@view-transition {
  navigation: auto;
}

.view-transition-image {
  view-transition-name: image-fade;
}

::view-transition-old(image-fade),
::view-transition-new(image-fade),
::view-transition-old(topper-icon-fade),
::view-transition-new(topper-icon-fade) {
  animation-duration: .5s;
  animation-timing-function: ease-in-out;
}

::view-transition-old(image-fade) {
  animation-name: imageTransitionFadeOut;
}

::view-transition-new(image-fade) {
  animation-name: imageTransitionFadeIn;
}

::view-transition-old(topper-icon-fade) {
  animation-name: imageTransitionFadeOut;
}

::view-transition-new(topper-icon-fade) {
  animation-name: imageTransitionFadeIn;
}

::view-transition-group(page-footer) {
  animation-duration: .6s;
  animation-timing-function: ease-in-out;
}

::view-transition-old(page-footer),
::view-transition-new(page-footer) {
  animation: none;
}

::view-transition-group(overview-avatar-fade),
::view-transition-group(overview-name-fade),
::view-transition-group(overview-title-fade) {
  animation-duration: .5s;
  animation-timing-function: ease-in-out;
}

::view-transition-old(overview-avatar-fade),
::view-transition-old(overview-name-fade),
::view-transition-old(overview-title-fade) {
  animation: none;
  opacity: 0;
}

::view-transition-new(overview-avatar-fade),
::view-transition-new(overview-name-fade),
::view-transition-new(overview-title-fade) {
  animation: none;
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-group(page-footer),
  ::view-transition-old(image-fade),
  ::view-transition-new(image-fade),
  ::view-transition-old(topper-icon-fade),
  ::view-transition-new(topper-icon-fade),
  ::view-transition-old(overview-avatar-fade),
  ::view-transition-new(overview-avatar-fade),
  ::view-transition-old(overview-name-fade),
  ::view-transition-new(overview-name-fade),
  ::view-transition-old(overview-title-fade),
  ::view-transition-new(overview-title-fade),
  ::view-transition-group(overview-avatar-fade),
  ::view-transition-group(overview-name-fade),
  ::view-transition-group(overview-title-fade) {
    animation: none;
  }
}

@keyframes imageTransitionFadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes imageTransitionFadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}
