@import url('https://fonts.googleapis.com/css2?family=Fjalla+One&family=Style+Script&display=swap');
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  background-image: linear-gradient(
    180deg,
    #7fffd4 24%,
    rgb(134, 155, 147) 95%
  );
  font-family: 'Fjalla One', sans-serif;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100vh;
  padding: 10vh 0;
  text-align: center;
}

.heading-container p {
  padding: 10px 0 30px 0;
  font-size: 13px;
}

button:focus {
  outline: 0;
}

/*-------------------------------*/
.music-container {
  margin-top: 60px;
  background-color: white;
  border-radius: 10px;
  box-shadow: 0 10px 20px 0 rgb(65, 65, 65);
  display: flex;
  position: relative;
  padding: 20px;
}

/*-------------------------------*/
.music-notes {
  color: white;
  font-size: 16px;
  display: none;
}
.note {
  text-shadow: 0 2px 7px rgb(12, 224, 252);
}
.note:first-of-type {
  position: absolute;
  left: 20px;
  top: -30px;
  transform: rotate(10deg);
}
.note:nth-of-type(2) {
  position: absolute;
  left: 0px;
  top: -45px;
  transform: rotate(-10deg);
}
.note:last-of-type {
  position: absolute;
  top: -60px;
}

.note {
  animation: notes 3s infinite;
  animation-timing-function: linear;
  opacity: 0;
}

.music-container.play .music-notes {
  display: block;
}

@keyframes notes {
  0% {
    font-size: 20px;
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    font-size: 35px;
    margin-top: -70px;
    opacity: 0;
  }
}
/*-------------------------------*/
.cover-container {
  width: 90px;
  position: relative;
  z-index: 10;
}

.cover-container::after {
  content: '';
  height: 20px;
  width: 20px;
  top: 0;
  left: 31px;
  background-color: white;
  border: solid 1px rgb(160, 159, 159);
  position: absolute;
  border-radius: 50%;
}

.cover-container img {
  box-shadow: 0 0 7px 0 rgba(65, 65, 65, 0.52);
  border-radius: 50%;
  height: 90px;
  width: inherit;
  position: absolute;
  left: -5px;
  top: -35px;
  animation: rotate 3s linear infinite;
  animation-play-state: paused;
}

.music-container.play .cover-container img {
  animation-play-state: running;
}

@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/*-------------------------------*/
.navigation-container {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: white;
}

/*hiding music info behind when it is stopped*/
.navigation-container::before {
  content: '';
  background-color: white;
  width: 220px;
  height: 63px;
  position: absolute;
  top: 0;
  right: 5px;
  border-radius: 10px;
}

.navigation-container button {
  background-color: transparent;
  border: 0;
  color: rgb(209, 209, 209);
  font-size: 16px;
  margin: 0 20px;
  cursor: pointer;
  transition: 0.3s;
  z-index: 3;
}
.navigation-container button:hover {
  color: #7fffd4;
  transition: 0.3s;
}

.navigation-container button#play {
  font-size: 21px;
}

/*-------------------------------*/
.music-info {
  position: absolute;
  text-align: left;
  padding: 8px 15px 8px 80px;
  top: 0;
  left: 20px;
  width: calc(100% - 40px);
  height: 50px;
  font-size: 13px;
  background-color: rgba(255, 255, 255, 0.4);
  opacity: 0;
  border-radius: 10px 10px 0 0;
  transform: translateY(0);
  transition: transform 0.4s ease-out, opacity 0.4s ease-out;
  z-index: 0;
}

.music-container.play .music-info {
  opacity: 1;
  transform: translateY(-50px);
  transition: transform 0.4s ease-in, opacity 0.4s ease-in;
}

.progressbar-container {
  height: 4px;
  background-color: white;
  border-radius: 3px;
  margin: 10px 0;
  cursor: pointer;
}

.progressbar {
  height: 100%;
  width: 0;
  background-color: rgb(24, 139, 128);
  border-radius: 3px;
  transition: width 0.3s linear;
}
