html, body {
  width: 100%;
  height: 100%;
}

body {
  display: flex;
  margin: 0;
  padding: 0;
  font-family: '-apple-system', sans-serif;
  align-items: center;
  justify-content: center;
  background-color: black;
  perspective: 100vw;
  -webkit-text-smoothing: anti-aliased;
}

digit {
  position: relative;
  width: 7vw;
  height: 11vw;
  margin: 0 0.25vw;
  -webkit-backface-visibility: hidden;
}

temperature {
    position: fixed;
    top: 75px;
    left: 150px;
    color: #e1e1e1;
    font-weight: 200;
    font-size: 17vw;
    font-family: -apple-system, BlinkMacSystemFont, sans-serif;
    -webkit-backface-visibility: hidden;
}

smalltemperature {
    position: fixed;
    color: #e1e1e1;
    font-weight: 200;
    font-size: 120px;
    font-family: -apple-system, BlinkMacSystemFont, sans-serif;
    -webkit-backface-visibility: hidden;
}

weatherDescription {
    position: fixed;
    top: 450px;
    left: 255px;
    color: #e1e1e1;
    font-weight: 200;
    font-size: 5vw;
    font-style: italic;
    font-family: -apple-system, BlinkMacSystemFont, sans-serif;
    -webkit-backface-visibility: hidden;
}

trackName {
    position: fixed;
    right: 325px;
    color: #e1e1e1;
    font-weight: bold;
    font-size: 2vw;
    font-family: -apple-system, BlinkMacSystemFont, sans-serif;
    -webkit-backface-visibility: hidden;
}

playlistName {
    position: fixed;
    right: 325px;
    color: #e1e1e1;
    font-weight: 200;
    font-size: 2vw;
    font-family: -apple-system, BlinkMacSystemFont, sans-serif;
    -webkit-backface-visibility: hidden;
}

trackArtist {
    position: fixed;
    right: 325px;
    color: #e1e1e1;
    font-weight: 200;
    font-size: 2vw;
    font-family: -apple-system, BlinkMacSystemFont, sans-serif;
    -webkit-backface-visibility: hidden;
}

.weatherIcon {
    position: fixed;
    top: 465px;
    left: 155px;
}

.trackImage {
    position: fixed;
}

embed {
    position: fixed;
    top: 150px;
    right: 150px;
    width: 700px;
    height: 420px;
}

welcome {
    position: fixed;
    top: 50px;
    left: 70px;
    color: #e1e1e1;
    font-weight: 100;
    font-size: 6vw;
    font-family: -apple-system, BlinkMacSystemFont, sans-serif;
    margin: 0px 0px 0px 0px;
    -webkit-backface-visibility: hidden;

}

time {
    margin: auto;
    position: fixed;
    color: #e1e1e1;
    font-weight: 500;
    font-size: 39vw;
    font-family: -apple-system, BlinkMacSystemFont, sans-serif;
    -webkit-backface-visibility: hidden;
}

date {
    position: fixed;
    margin: auto;
    top: 900px;
    color: #e1e1e1;
    font-weight: 200;
    font-size: 5vw;
    font-family: -apple-system, BlinkMacSystemFont, sans-serif;
    -webkit-backface-visibility: hidden;
}



/* Flip Flaps
------------------------------------------------*/
flap-top,
flap-top-flip,
flap-bottom,
flap-bottom-flip {
  box-sizing: border-box;
  position: absolute;
  display: flex;
  width: 100%;
  height: 50%;
  left: 0;
  justify-content: center;
  overflow: hidden;
  color: #e1e1e1;
  background-color: rgb(0,0,0);
  box-shadow: inset 0 1px 0 0 rgba(255,255,255,0.04);
  -webkit-backface-visibility: hidden;
}
flap-top,
flap-top-flip {
  top: 0;
  border-radius: 0.4vw 0.4vw 0 0;
}
flap-bottom,
flap-bottom-flip {
  bottom: 0;
  border-radius: 0 0 0.4vw 0.4vw;
}

flap-top-flip {
  display: none;
  transform-origin: 100% 100%;
  animation: flip-top-down 300ms ease-in;
}
flap-bottom-flip {
  display: none;
  transform-origin: 100% 0%;
  animation: flip-bottom-down 150ms ease-out;
}

flap-top > n,
flap-top-flip > n {
  top: 0;
}
flap-bottom > n,
flap-bottom-flip > n {
  bottom: 0;
}

@media screen and (min-width: 800px) {
  flap-top,
  flap-top-flip {
    transform: translateY(-1px);
  }
  flap-bottom,
  flap-bottom-flip {
    transform: translateY(1px);
  }
  flap-top > n,
  flap-top-flip > n {
    top: 1px;
  }
  flap-bottom > n,
  flap-bottom-flip > n {
    bottom: 1px;
  }
}

@media screen and (min-width: 1280px) {
  flap-top,
  flap-top-flip {
    transform: translateY(-2px);
  }
  flap-bottom,
  flap-bottom-flip {
    transform: translateY(2px);
  }
  flap-top > n,
  flap-top-flip > n {
    top: 2px;
  }
  flap-bottom > n,
  flap-bottom-flip > n {
    bottom: 2px;
  }
}

/* Number
------------------------------------------------*/
n {
  position: absolute;
  left: 0;
  width: 100%;
  height: 11vw;
  font-size: 9vw;
  font-weight: 200;
  /*line-height: 118%;*/
  text-align: center;
  font-variant-numeric: tabular-nums;
  -webkit-backface-visibility: hidden;
  transform: translate3d(0, 0, 0)
}

/* Animations
------------------------------------------------*/
@keyframes flip-top-down {
  0% {
    transform: rotateX(0);
  }
  100% {
    transform: rotateX(-90deg);
    color: black;
    background-color: black;
  }
}
@keyframes flip-bottom-down {
  0% {
    color: white;
    background-color: rgb(30,30,30);
    transform: rotateX(90deg);
  }
  100% {
    transform: rotateX(0deg);
  }
}

@media screen and (min-width: 800px) {
  @keyframes flip-top-down {
    0% {
      transform: translateY(-1px) rotateX(0);
    }
    100% {
      transform: translateY(-1px) rotateX(-90deg);
      color: black;
      background-color: black;
    }
  }
  @keyframes flip-bottom-down {
    0% {
      color: white;
      background-color: rgb(30,30,30);
      transform: translateY(1px) rotateX(90deg);
    }
    100% {
      transform: translateY(1px) rotateX(0deg);
    }
  }
}

@media screen and (min-width: 1280px) {
  @keyframes flip-top-down {
    0% {
      transform: translateY(-2px) rotateX(0);
    }
    100% {
      transform: translateY(-2px) rotateX(-90deg);
      color: black;
      background-color: black;
    }
  }
  @keyframes flip-bottom-down {
    0% {
      color: white;
      background-color: rgb(30,30,30);
      transform: translateY(2px) rotateX(90deg);
    }
    100% {
      transform: translateY(2px) rotateX(0deg);
    }
  }
}
