.g-loading-type2 {
  opacity: 1;
  visibility: visible;
  transition: opacity 1s ease-in-out, visibility 0s linear 1s;
  animation: top-loader-safety-hide 0s linear 6s forwards;
}

.g-loading-type2.is-hiding {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.g-loading-type2[hidden] {
  display: none;
}

@keyframes top-loader-safety-hide {
  to {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}

.top-page .c-visual .catchcopy {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 2s ease, transform 2s ease;
}

.top-page.is-top-ready .c-visual .catchcopy {
  opacity: 1;
  transform: translateY(0);
}

.top-page .js-animate {
  opacity: 0 !important;
  transform: translateY(48px) !important;
  transition: opacity .8s ease, transform .8s ease !important;
}

.top-page .js-animate.fly-in2 {
  transition-delay: .16s !important;
}

.top-page .js-animate.fly-in3 {
  transition-delay: .32s !important;
}

.top-page .js-animate.is-active {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.top-page .js-animate.curtain {
  position: relative;
  overflow: hidden;
}

.top-page .js-animate.curtain .c-image__src {
  clip-path: inset(0 100% 0 0);
  transition: clip-path 1s cubic-bezier(.77, 0, .18, 1) .16s;
}

.top-page .js-animate.curtain::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: #202020;
  transform: scaleX(0);
  transform-origin: left;
  pointer-events: none;
}

.top-page .js-animate.curtain.is-active .c-image__src {
  clip-path: inset(0);
}

.top-page .js-animate.curtain.is-active::after {
  animation: top-curtain-sweep 1.1s cubic-bezier(.77, 0, .18, 1);
}

@keyframes top-curtain-sweep {
  0% {
    transform: scaleX(0);
    transform-origin: left;
  }
  45% {
    transform: scaleX(1);
    transform-origin: left;
  }
  55% {
    transform: scaleX(1);
    transform-origin: right;
  }
  100% {
    transform: scaleX(0);
    transform-origin: right;
  }
}

.top-page .g-gmap iframe {
  display: block;
  width: 100%;
  min-height: 450px;
  border: 0;
}

.top-page .top-phone-cta {
  text-align: center;
}

.top-page .top-phone-cta .g-cta__mail-title {
  margin: 24px auto;
  padding: 0;
  border: 0;
  border-radius: 0;
}

@media (max-width: 991.98px) {
  .top-page #g-nav-panel.collapse {
    display: block !important;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: max-height .38s ease, opacity .28s ease, visibility 0s linear .38s;
  }

  .top-page #g-nav-panel.collapse.show {
    max-height: 520px;
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
  }

  .top-page .g-gmap iframe {
    min-height: 360px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .g-loading-type2 {
    animation-delay: .2s;
    transition: none;
  }

  .g-loading-type2 .inner {
    animation: none;
  }

  .top-page .c-visual .catchcopy,
  .top-page .js-animate,
  .top-page .js-animate.curtain .c-image__src,
  .top-page #g-nav-panel.collapse {
    transition: none !important;
  }

  .top-page .js-animate.curtain::after {
    display: none;
  }
}
