* {
  margin: 0px;
  padding: 0px;
}

body {
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  width: auto;
  height: 100vh;
  background-color: cornflowerblue;
  font-family:
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    Oxygen,
    Ubuntu,
    Cantarell,
    "Open Sans",
    "Helvetica Neue",
    sans-serif;
}

.boat {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 50vw;
  height: 70vh;
}

.boat span {
  position: absolute;
  z-index: 1;
}

.boat span:nth-child(1) {
  z-index: 3;
  width: 100vw;
  bottom: -15vh;
  height: 35vh;
  background: linear-gradient(to left, blue, rgb(86, 86, 255), blue);
}

.boat span:nth-child(2) {
  width: 40vw;
  height: 50vh;
  bottom: -13vh;
  clip-path: polygon(100% 10%, 50% 50%, 10% 10%);

  background: linear-gradient(
    rgb(255, 255, 253),
    rgb(226, 226, 222),
    rgb(255, 255, 245)
  );
  animation: float 2s linear infinite;
}
.boat span:nth-child(3) {
  width: 1vw;
  height: 80vh;
  z-index: 0;
  background: linear-gradient(
    rgb(255, 255, 253),
    rgb(226, 226, 222),
    rgb(255, 255, 245)
  );
  animation: float 2s linear infinite;
}

@keyframes float {
  0% {
    transform: translateY(-15px);
  }
  50% {
    transform: translateY(0px);
  }
  100% {
    transform: translateY(-15px);
  }
}

.boat span:nth-child(4) {
  width: 20vw;
  height: 30vh;
  left: 5vw;
  z-index: -1;
  bottom: 40vh;
  clip-path: polygon(100% 0%, 50% 50%, 100% 100%);
  background: linear-gradient(
    rgb(255, 255, 253),
    rgb(226, 226, 222),
    rgb(255, 255, 245)
  );
  animation: float 2s linear infinite;
}
