@import url('https://fonts.googleapis.com/css2?family=Metal+Mania&display=swap');

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  --dark: #333;
  --color-white: #F1F1F1;
  font-family: 'Metal Mania', cursive;
  letter-spacing: 2px;
  --curseur: url("images/roche.png"), pointer;
}

.nav-toggler {
  position: absolute;
  z-index: 10;
  top: 30px;
  left: 30px;
  height: 50px;
  width: 30px;
  border: none;
  outline: none;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: transparent;
  display: none;
}

.line {
  position: absolute;
  display: block;
  width: 100%;
  height: 2px;
  background: #F1F1F1;
  transition: transform 0.3s ease-out,
  opacity 0.1s ease-out;
}

.l1 {
  transform: translateY(-10px);
}

.l3 {
  transform: translateY(10px);
}

.nav-toggler.active .l1 {
  transform: translateY(0px) rotate(135deg);
}

.nav-toggler.active .l2 {
  opacity: 0;
}

.nav-toggler.active .l3 {
  transform: translateY(0px) rotate(-135deg);
}

body {
  min-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(0deg, rgba(42, 72, 149, 1) 0%, rgba(11, 21, 47, 1) 100%);
}

.song_list {
  position: absolute;
  background-color: rgba(51, 51, 51, 0.7);
  color: var(--color-white);
  padding: 20px;
  left: -270px;
  top: 110px;
}

.song {
  list-style: none;
  padding: 10px;
  border-bottom: 1px solid #ccc;
  cursor: var(--curseur);
  display: block;
  transition: all 0.3s;
}

.song:hover {
  background-color: #444;
  color: #ff0000;
}

.musique {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.musique .fond {
  width: 300px;
  height: 335px;
  border-radius: 50px;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2rem;
  color: white;
  background-image: url('images/metal1.jpg');
  background-size: cover;
  border: 2px solid red;
  text-align: center;
}

.player {
  margin-top: -50px;
  position: relative;
  width: 400px;
  min-height: 80px;
  border-radius: 100px;
  padding: 1rem 2rem;
  background: var(--color-white);
  border: 2px solid red;
  box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3),
    -3px 3px 3px rgba(0, 0, 0, 0.1),
    3px -3px 3px rgba(0, 0, 0, 0.1),
    -3px -3px 3px rgba(0, 0, 0, 0.1);
}

.artiste {
  color: red;
  font-weight: 400;
  font-size: 2.5rem;
  text-align: center;
  margin-bottom: 20px;
}

/* ------------------ début boutons ----------------- */

.btns {
  position: relative;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  width: 100%;
}

.btns span {
  position: relative;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--color-white);
  cursor: var(--curseur);
  color: var(--dark);
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3),
    inset -5px -5px 5px rgba(0, 0, 0, 0.1),
    inset 5px 5px 5px rgba(0, 0, 0, 0.1);
  transition: 0.3s;
}

.btns span:hover {
  color: white;
  background: linear-gradient(283deg, rgba(255, 0, 0, 1) 0%, rgba(252, 169, 70, 1) 100%);
  box-shadow: 1px 1px 3px orangered;
}

.btns span.play_pause {
  width: 80px;
  height: 80px;
}

.btns span ion-icon {
  font-size: 1em;
}

.btns span.play_pause ion-icon {
  font-size: 2em;
}

/* ------------------ fin boutons ----------------- */

/* ------------------ début input durée de la chanson ----------------- */

.song_timer {
  margin: 15px 0px;
  display: flex;
  justify-content: space-between;
}


.current_time,
.duration_time {
  width: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--dark);
}

/* ------------------ fin input durée de la chanson ----------------- */

/* ------------------ début input volume et mute ----------------- */

.volume {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
}

.volume .mute {
  display: flex;
  font-size: 1.5rem;
  margin-right: 20px;
  cursor: var(--curseur);
  transition: 0.2s;
  color: var(--dark);
}

.volume .mute:hover {
  color: rgba(255, 69, 0);
}

input[type=range] {
  width: 70%;
  background-color: transparent;
  appearance: none;
}

input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: 10px;
  cursor: var(--curseur);
  box-shadow: 1px 1px 1px #FF0000;
  background: linear-gradient(90deg, rgba(255, 152, 0, 0.6907095601912641) 30%, rgb(255, 0, 0) 100%);
  ;
  border-radius: 3px;
  border: 1px solid #FF0000;
}

input[type=range]::-webkit-slider-thumb {
  box-shadow: 1px 1px 1px #FF0000;
  border: 1px solid #FF0000;
  height: 31px;
  width: 12px;
  border-radius: 4px;
  background: var(--dark);
  cursor: var(--curseur);
  -webkit-appearance: none;
  margin-top: -11.5px;
}

input[type=range]::-moz-range-track {
  width: 100%;
  height: 10px;
  cursor: var(--curseur);
  box-shadow: 1px 1px 1px #FF0000;
  background: linear-gradient(90deg, rgba(255, 152, 0, 0.6907095601912641) 30%, rgb(255, 0, 0) 100%);
  ;
  border-radius: 3px;
  border: 1px solid #FF0000;
}

input[type=range]::-moz-range-thumb {
  box-shadow: 1px 1px 1px #FF0000;
  border: 1px solid #FF0000;
  height: 31px;
  width: 12px;
  border-radius: 4px;
  background: var(--dark);
  cursor: var(--curseur);
}

input[type=range]::-ms-track {
  width: 100%;
  height: 10px;
  cursor: var(--curseur);
  background: transparent;
  border-color: transparent;
  color: transparent;
}

input[type=range]::-ms-fill-lower {
  background: orange;
  border: 1px solid #FF0000;
  border-radius: 6px;
  box-shadow: 1px 1px 1px #FF0000;
}

input[type=range]::-ms-fill-upper {
  background: orangered;
  border: 1px solid #FF0000;
  border-radius: 6px;
  box-shadow: 1px 1px 1px #FF0000;
}

input[type=range]::-ms-thumb {
  margin-top: 1px;
  box-shadow: 1px 1px 1px #FF0000;
  border: 1px solid #FF0000;
  height: 31px;
  width: 12px;
  border-radius: 4px;
  background: #000000;
  cursor: var(--curseur);
}

/* ------------------ fin input range ----------------- */

/* ------------------ début flammes ----------------- */

.mo-fire {
  height: auto;
  position: fixed;
  bottom: -50px;
  z-index: -1;
}

#svg-view {
  width: 252px;
  height: 125px;
  left: 0px;
}

.mo-fire svg {
  width: 100%;
  height: auto;
  position: relative;
}

.flame {
  animation-name: flameDisappear;
  animation-duration: 2s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  opacity: 0.5;
  transform-origin: 45% 45% 0;
}

.flame.one {
  animation-delay: 1s;
  animation-duration: 3s;
}

.flame.two {
  animation-duration: 5s;
  animation-delay: 1s;
}

.flame-main {
  animation-name: flameMovement;
  animation-duration: 2s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

.flame-main.one {
  animation-duration: 2.2s;
  animation-delay: 1s;
}

.flame-main.two {
  animation-duration: 2s;
  animation-delay: 1s;
}

.flame-main.three {
  animation-duration: 2.1s;
  animation-delay: 3s;
}

.flame-main.four {
  animation-duration: 3.2s;
  animation-delay: 4s;
}

.flame-main.five {
  animation-duration: 2.5s;
  animation-delay: 5s;
}

@keyframes flameMovement {
  50% {
    transform: scale(0.98, 1.0) translate(0, 2px) rotate(-1deg);
  }
}

@keyframes flameDisappear {
  0% {
    transform: translate(0) rotate(180deg);
  }

  50% {
    opacity: 1;
  }

  100% {
    transform: translate(-10px, -40px) rotate(180deg);
    opacity: 0;
  }
}

@media screen and (max-width: 950px) {
  .nav-toggler {
    display: block;
  }

  .song_list.active {
    display: block;
    left: 29px;
    top: 41px;
    z-index: 1;
  }

  .song_list { 
    display: none;
  }

  .mo-fire {
    display: none;
  }
}

/* Responsive */

@media screen and (max-width: 410px) {
  .player {
    width: 365px;
  }
}