* {
  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;
}

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

.castle span {
  position: absolute;
  z-index: 2;
}

.castle span:nth-child(1) {
  width: 100vw;
  bottom: -15vh;
  height: 15vh;
  background-color: brown;
}

.castle span:nth-child(2) {
  width: 50vw;
  height: 40vh;
  bottom: 0vh;
  background: linear-gradient(
    rgb(177, 177, 174),
    rgb(177, 177, 174),
    rgb(99, 99, 96)
  );
}

.castle span:nth-child(3) {
  z-index: 0;
  width: 25vw;
  height: 25vh;
  clip-path: polygon(100% 0%, 50% 50%, 100% 100%);
  rotate: 90deg;
  bottom: 52.9vh;
  left: 28vw;
  background-color: red;
}

.castle span:nth-child(4) {
  z-index: 0;
  width: 25vw;
  height: 25vh;
  clip-path: polygon(100% 0%, 50% 50%, 100% 100%);
  rotate: 90deg;
  bottom: 52.9vh;
  left: -3vw;
  background-color: red;
}

.castle span:nth-child(5) {
  width: 50vw;
  height: 14vh;
  border-top: 4vh dashed rgb(163, 163, 158);
}

.castle span:nth-child(6) {
  z-index: 1;
  width: 12vw;
  height: 55.2vh;
  bottom: 0vh;
  background: linear-gradient(
    rgb(177, 177, 174),
    rgb(177, 177, 174),
    rgb(99, 99, 96)
  );
}

.castle span:nth-child(7) {
  z-index: 0;
  width: 25vw;
  height: 20vh;
  clip-path: polygon(100% 0%, 50% 50%, 100% 100%);
  rotate: 90deg;
  top: -20.5vh;
  background-color: red;
}

.castle span:nth-child(8) {
  width: 10vw;
  height: 8vh;
  clip-path: polygon(100% 0%, 50% 50%, 100% 100%);
  rotate: 180deg;
  bottom: 65vh;
  left: 9.4vw;
  background-color: rgb(0, 204, 255);
}

.castle span:nth-child(9) {
  width: 10vw;
  height: 8vh;
  clip-path: polygon(100% 0%, 50% 50%, 100% 100%);
  rotate: 180deg;
  bottom: 65vh;
  left: 40.4vw;
  background-color: rgb(0, 204, 255);
}

.castle span:nth-child(10) {
  width: 4vw;
  height: 8vh;
  bottom: 45vh;
  background: linear-gradient(
    to bottom,
    blue,
    rgb(18, 34, 255),
    rgb(0, 204, 255)
  );
}

.castle span:nth-child(11) {
  z-index: 2;
  width: 5vw;
  height: 17vh;
  bottom: 0vh;
  background: linear-gradient(
    to bottom,
    blue,
    rgb(18, 34, 255),
    rgb(0, 204, 255)
  );
}

.castle span:nth-child(12) {
  width: 12vw;
  height: 14vh;
  top: 12vh;
  border-top: 3vh dashed rgb(163, 163, 158);
}
