

#preloader {
  position: fixed;
  inset: 0;
  background: #fff;
  display: grid;
  place-items: center;
  z-index: 9999;
}

.animation-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%
}

#preloader-frame {
  width: 200px;
  height: auto;
  opacity: 0;
}

#preloader-text {
  margin-top: 20px;
  opacity: 0;
  transform: translateX(-200px);
  transition: transform 0.6s cubic-bezier(.4,0,.2,1),
              opacity 0.4s ease;
  text-align: center;
  padding: 30px;
}

#preloader-text.active {
  opacity: 1;
  transform: translateX(0);
}

#preloader-text.exit {
  opacity: 0;
  transform: translateX(200px);
}

/* initially prevent scrolling */
body {
  overflow: hidden;
}

body.loaded {
  overflow-y: auto;
  overflow-x: hidden;
}



footer {
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin: 10vh 0 10vh 0;
  height: 50vh;
}

#footer-animation {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 40vh;
}


#footer-frame {
  width: 100svw;
  height: auto;
  opacity: 1;
} 

