/* general */
*,
html {
  margin: 0;
  text-decoration: none;
}
body {
  background-color: #ba2d0b;
  background-image: linear-gradient(#88ccfb, #88ccfb, #1a275f, #1a275f);
  background-attachment: fixed;
  overscroll-behavior: none;
  overflow-x: hidden;
  cursor: url(lib/mouse.svg), auto;
}

/* loader */
.loader {
  position: fixed;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  top: 0;
  left: 0;
  background-color: #242528;
  z-index: 1;
  opacity: 1;
  transition: opacity 0.5s ease-in-out;
}
.spinner {
  align-items: center;
  position: absolute;
  top: 65vh;
  left: 45vw;
  width: 8vw;
  height: 8vw;
  /* margin: -15px 0 0 -15px; */
  border: 1vw solid #ccc;
  border-top-color: #333;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* links */
a {
  cursor: url(lib/pointer.svg), auto;
}

/* clouds */
#clouds {
  left: 0;
  top: 0;
  height: 100%;
  animation: moveClouds 30s linear infinite;
}
#clouds_back {
  left: 0;
  top: 0;
  height: 100%;
  animation: moveClouds 80s linear infinite;
}
.clouds {
  /* size of screen div, cuts off img access */
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 90vh;
  overflow: hidden;
}
.clouds_back {
  /* size of screen div, cuts off img access */
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 110vh;
  overflow: hidden;
  background-color: #88ccfb;
}
@keyframes moveClouds {
  100% {
    transform: translateX(-50%);
  }
}

/* title */
.title {
  width: 100%;
  height: 80vh;
  top: 0;
  left: 20vw;
  display: flex;
  justify-content: center;
  align-items: center;
}
.title img {
  height: 27vh;
  margin: 20px;
  z-index: 2;
}

/* skyline */
#skyline {
  width: 100%;
  position: fixed;
  z-index: -1;
  top: 65vh;
}

/* building */
.building {
  width: 80%;
  margin: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
#roof {
  width: 100%;
  z-index: 1;
}

/* windows */
.windows {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;

  background-color: #f2e2ba;
  padding: 30vh 5% 95vh 5%;
  width: 60%;

  position: absolute;
  top: 85vh;
  left: 14.75vw;
}
.windows img {
  width: 100%;
  padding-bottom: 30px;
}

/* door */
.door {
  position: absolute;
  background-image: url("image/door.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
  width: 100%;
  height: 90vh;

  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.door a {
  position: absolute;
  width: 40%;
  height: 100%;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

/* stairs */
#stairs {
  /* div */
  display: flex;
  flex-direction: column;

  width: 60%;

  position: absolute;
  top: 115vh;
  left: 20vw;
}
.stairs {
  /* individuals */
  position: absolute;
  width: 50%;
  left: 45%;
}
.awning {
  position: absolute;
  width: 100%;
}

.bird {
  position: absolute;
  width: 20%;
  right: 0;
  transform: translate(0, -90%);
  overflow: hidden;
  cursor: url(lib/pointer.svg), auto;
  transition: transform 0.8s ease-in-out;
}
#bird {
  /* position: absolute; */
  width: 5vw;
  right: 20vw;
  overflow: hidden;
}

@media screen and (max-width: 1170px) {
  .title {
    flex-direction: column;
  }
  .title img {
    height: 15vh;
  }
  .windows {
    padding-top: 20vh;
  }
  .door {
    height: 80vh;
    a {
      width: 60%;
    }
  }
  #stairs {
    top: 105vh;
  }
  #bird {
    width: 8vw;
  }
  .spinner{
    width: 10vw;
    height: 10vw;
    border-width: 1.3vw;
    left: 43.7vw;
  }
}
@media screen and (max-width: 725px) {
  #scrap {
    display: none;
  }
  .windows {
    grid-template-columns: repeat(1, 1fr);
    padding-top: 10vh;
    padding-bottom: 80vh;
  }
  .door {
    height: 75vh;
    a {
      width: 70%;
    }
  }
  #stairs {
    top: 100vh;
  }
  #bird {
    width: 12vw;
  }
  .spinner{
    width: 12vw;
    height: 12vw;
    border-width: 1.7vw;
    left: 42.3vw;
  }
}
@media screen and (max-width: 530px) {
  #stairs {
    top: 98vh;
  }
  #bird {
    width: 15vw;
  }
  .door a {
    width: 80%;
  }
  .spinner{
    width: 15vw;
    height: 15vw;
    border-width: 2vw;
    left: 40.5vw;
  }
}
