/* Motion from supplied template, isolated to Electromobility. */
.ev-page.has-reveal [data-reveal] {
  --reveal-delay: calc(
    var(--reveal-lead-in, 0s) + var(--reveal-index, 0) * var(--reveal-stagger));

  opacity: 0;
  transition:
    opacity var(--reveal-duration) var(--ease-out-expo) var(--reveal-delay),
    translate var(--reveal-duration) var(--ease-out-expo) var(--reveal-delay),
    scale var(--reveal-duration) var(--ease-out-expo) var(--reveal-delay),
    filter var(--reveal-duration) var(--ease-out-expo) var(--reveal-delay);
  will-change: opacity, translate;
}

.ev-page.has-reveal [data-reveal].is-revealed {
  opacity: 1;
  translate: 0 0;
  scale: 1;
  filter: none;
  will-change: auto;
}
.ev-page.has-reveal [data-reveal="up"],
.ev-page.has-reveal [data-reveal=""] {
  translate: 0 var(--reveal-distance);
}

.ev-page.has-reveal [data-reveal="down"] {
  translate: 0 calc(var(--reveal-distance) * -1);
}

.ev-page.has-reveal [data-reveal="left"] {
  translate: var(--reveal-distance) 0;
}

.ev-page.has-reveal [data-reveal="right"] {
  translate: calc(var(--reveal-distance) * -1) 0;
}
.ev-page.has-reveal [data-reveal="fade"] {
  translate: none;
}
.ev-page.has-reveal [data-reveal="scale"] {
  translate: 0 var(--reveal-distance);
  scale: 0.96;
}
.ev-page.has-reveal [data-reveal="blur"] {
  translate: 0 var(--reveal-distance);
  filter: blur(8px);
}
.ev-page.has-reveal [data-reveal-group] > * {
  --reveal-stagger: var(--reveal-stagger-group);
}
.ev-page.has-reveal [data-reveal-group] > *:not([data-reveal]):not(.is-revealed) {
  opacity: 0;
  translate: 0 var(--reveal-distance);
}
.ev-page .reveal-lines {
  display: block;
}

.ev-page.has-reveal .reveal-line {
  display: block;
  overflow: hidden;
}

.ev-page.has-reveal .reveal-line > span {
  display: block;
  translate: 0 100%;
  transition: translate var(--reveal-duration-slow) var(--ease-out-expo)
    calc(var(--reveal-lead-in, 0s) + var(--reveal-index, 0) * var(--reveal-stagger-line));
}

.ev-page.has-reveal .reveal-line.is-revealed > span {
  translate: 0 0;
}
.ev-page a,
.ev-page summary,
.ev-page .tag,
.ev-page .field__input,
.ev-page .link-arrow {
  transition:
    color var(--motion-duration) var(--ease-out-expo),
    background-color var(--motion-duration) var(--ease-out-expo),
    border-color var(--motion-duration) var(--ease-out-expo),
    opacity var(--motion-duration) var(--ease-out-expo);
}
.ev-page .tag[href]:hover {
  background: var(--tag-hover-surface, var(--color-primary-200));
  color: var(--tag-hover-ink, var(--color-primary-900));
  box-shadow: inset 0 0 0 var(--border-width)
    var(--tag-hover-edge, var(--tag-edge, transparent));
}
.ev-page .card {
  transition:
    box-shadow var(--motion-duration-slow) var(--ease-out-expo),
    translate var(--motion-duration-slow) var(--ease-out-expo),
    border-color var(--motion-duration) var(--ease-out-expo);
}
.ev-page .card:has(a):hover {
  translate: 0 -4px;
  box-shadow: var(--shadow-lg);
  border-color: var(--card-border-hover, var(--color-primary-200));
}
.ev-page .card__media img,
.ev-page .card__media svg {
  transform-origin: center bottom;
  transition: scale var(--motion-duration-slow) var(--ease-out-expo);
}

.ev-page .card:has(a):hover .card__media img,
.ev-page .card:has(a):hover .card__media svg {
  scale: 1.04;
}
.ev-page .site-nav ul a::after {
  content: "";
  display: block;
  height: var(--nav-marker-height, 2px);
  width: var(--nav-marker-rest-width, 0);
  margin-inline: var(--nav-marker-align, 0);
  margin-block-start: var(--nav-marker-offset, 0);
  margin-block-end: calc(-1 * (var(--nav-marker-height, 2px) + var(--nav-marker-offset, 0px)));
  background: currentColor;
  border-radius: var(--radius-full);
  opacity: var(--nav-marker-rest-opacity, 1);
  translate: var(--nav-marker-rest-translate, none);
  transition:
    width var(--motion-duration-slow) var(--ease-out-expo),
    opacity var(--motion-duration) var(--motion-easing),
    translate var(--motion-duration-slow) var(--ease-out-expo);
}

.ev-page .site-nav ul a:hover::after,
.ev-page .site-nav ul a[aria-current]:not([aria-current="false"])::after {
  width: var(--nav-marker-width, 100%);
  opacity: 1;
  translate: none;
}
.ev-page .site-nav ul a:hover::after {
  animation: var(--nav-marker-animation, none);
}

.ev-page .site-nav ul a[aria-current]:not([aria-current="false"])::after {
  animation: none;
}
.ev-page .site-nav.is-open ul a::after {
  display: var(--nav-open-marker-display, block);
}
.ev-page .site-nav__slider {
  display: none;
}

@media (min-width: 1024px) {
  .ev-page .site-nav.has-nav-slider ul {
    position: relative;
  }
  .ev-page .site-nav.has-nav-slider ul a::after {
    display: none;
  }

  .ev-page .site-nav__slider {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    height: 2px;
    width: 0;
    background: var(--color-primary);
    border-radius: var(--radius-full);
    pointer-events: none;
    transform: translateX(0);
    transition:
      transform var(--motion-duration-slow) var(--ease-out-expo),
      width var(--motion-duration-slow) var(--ease-out-expo),
      opacity var(--motion-duration) var(--ease-out-expo);
  }
  .ev-page .site-nav__slider.is-idle {
    opacity: 0;
  }
  .ev-page .site-nav__slider.no-anim {
    transition: none;
  }
}
.ev-page .btn:hover:not(:disabled):not(.is-disabled) {
  translate: var(--btn-lift, 0 -3px);
  box-shadow: var(--btn-hover-shadow, var(--shadow-lg));
}
.ev-page .btn:active:not(:disabled):not(.is-disabled) {
  translate: var(--btn-press, 0 -1px);
  box-shadow: var(--btn-press-shadow, var(--shadow-sm));
}
.ev-page .btn--primary:hover:not(:disabled):not(.is-disabled) {
  box-shadow: var(--shadow-button-hover, var(--shadow-lg));
  animation: var(--btn-hover-animation, none);
}

.ev-page .btn--primary:active:not(:disabled):not(.is-disabled) {
  box-shadow: var(--shadow-button, var(--shadow-sm));
}
.ev-page .btn--ghost:hover:not(:disabled):not(.is-disabled) {
  box-shadow: var(--shadow-button-ghost-hover, var(--shadow-lg));
  animation: var(--btn-ghost-hover-animation, var(--btn-hover-animation, none));
}

.ev-page .btn--ghost:active:not(:disabled):not(.is-disabled) {
  box-shadow: var(--shadow-button-ghost, var(--shadow-sm));
}
.ev-page .newsletter-form__done {
  animation: ev-motion-form-done-in var(--reveal-duration) var(--ease-out-expo) both;
}

@keyframes ev-motion-form-done-in {
  from {
    opacity: 0;
    translate: 0 var(--reveal-distance);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ev-page *,
.ev-page *::before,
.ev-page *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .ev-page .marquee__track {
    animation: none !important;
  }

  .ev-page .marquee__duplicate {
    display: none;
  }

  .ev-page .marquee {
    -webkit-mask-image: none;
    mask-image: none;
  }
}
.ev-page.has-reveal .fn-tariff-grid > :not(.is-revealed) .fn-tariff__media img,
.ev-page.has-reveal .fn-tariff-grid > :not(.is-revealed) .fn-tariff__media .fn-cardback {
  translate: 0 32px;
}
.ev-page.has-reveal .fn-tariff-grid > * .fn-tariff__media img,
.ev-page.has-reveal .fn-tariff-grid > * .fn-tariff__media .fn-cardback {
  transition:
    rotate 1s var(--ease-out-expo) var(--reveal-delay, 0s),
    translate 1s var(--ease-out-expo) var(--reveal-delay, 0s);
}
.ev-page { overflow-x: clip; }
