* {
  box-sizing: border-box;
}

html {
  font-size: 16px;
}

body {
  margin: 0;
  height: 100vh;
  min-height: 56.25vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #dbdddd;
  font-size: 16px;
  position: relative;
}

.clip {
  width: 100%;
  height: auto;
  overflow: hidden;
  position: absolute;
  z-index: 0;
  top: 0;
}

.canvas-wrap {
  width: 100%;
  height: auto;
  aspect-ratio: 1920/1080;
  margin: auto;
  position: relative;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0%);
}

canvas {
  display: block;
  width: 100%;
  height: 100%;
}

header {
  display: block;
  width: 100%;
  height: 5vw;
  background: #ca0336 url("../images/header.svg") repeat-x top left/100% auto;
  position: absolute;
  z-index: 8;
  top: 0;
  left: 0;
  animation: slideText 10s linear infinite;
  text-indent: -9999px;
}

footer {
  display: block;
  width: 100%;
  height: 5.8854166667vw;
  background: url("../images/footer.svg") no-repeat bottom left/auto 100%;
  position: absolute;
  z-index: 8;
  bottom: 0;
  text-indent: -9999px;
}

.bunny-img {
  display: block;
  position: absolute;
  z-index: 9;
  width: 67.5vw;
  height: 15.6770833333vw;
  bottom: 5.4166666667vw;
  right: 12.2916666667vw;
}

@keyframes slideText {
  0% {
    background-position: top left 0;
  }
  100% {
    background-position: top left -100vw;
  }
}