@font-face {
  font-family: "Digital";
  src: url("../fonts/Led-Panel-Station-On.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "Graff";
  src: url("../fonts/kosalsayshy.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

body {
  padding: 0px;
  margin: 0;
  background-image: url("../images/tile_back.png");
  background-repeat: repeat;
  /* background: linear-gradient(to bottom, #000, #FFF 40%); */
}

/* .topBox {
  padding: 0px;
  width: 80%;
  margin: auto;
  margin-bottom: 0vh;
}

.banner {
  padding: 0px;
  color: gold;
  text-align: center;
  font-family: "Graff", Arial, Helvetica, sans-serif;
  font-weight: normal;
  font-size: 7vw;
} */

.content {
  padding: 10px;
  margin: 0;
}

.tape {
  width: 55%;
  margin-left: auto;
  margin-right: auto;
  /* margin-top: 1.5vh; */
  margin-bottom: 1.5vh;
  padding: 20px;
  border: 6px solid black;
  border-radius: 20px;
  background-image: linear-gradient(45deg, #cccccc 25%, #555555 25%);
  background-size: 10px 10px;
  box-shadow: 10px 10px 20px 0px rgba(0, 0, 0, 0.75);
}

.top_label {
  border-top: red solid 10px;
  border-bottom: red solid 10px;
  text-align: center;
  font-family: "Graff", Arial, Helvetica, sans-serif;
  font-weight: bold;
  background-color: antiquewhite;
  border-radius: 15px;
  color: #555555;
  width: 85%;
  margin: 0px auto 20px auto;
  font-size: 3vw;
  padding: 0px;
  padding-top: 10px;
}

/* .fa-solid {
  font-size: 2vw;
  padding: 0px;
} */

.transportContainer {
  display: flex;
}

.transportControls {
  width: 80%;
  margin: auto;
  display: flex;
  flex-direction: column;
}

.navigation {
  background-color: #fff;
  width: 100%;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
}

.tapeReelBox {
  width: 75%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 15px;
  padding: 20px;
  background-color: #aebcd7;
  border-radius: 90px;
}

.tape_reel-container {
  width: 100%;
  margin: auto;
  display: flex;
  gap: 1rem;
}

.img-container {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px 8px;
  background-color: #626262;
  border-radius: 180px;
}

.img-container img {
  height: 100px;
  animation: rotate 1.5s linear infinite;
  animation-play-state: paused;
}

.tape_reel-container.play .img-container img {
  animation-play-state: running;
}

@keyframes rotate {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

.progress-container {
  display: flex;
  align-items: center;
  width: 100%;
}

.progress-background {
  background-color: #ddd;
  cursor: pointer;
  width: 80%;
  height: 50px;
}

.progress {
  background-color: blue;
  height: 100%;
  width: 0%;
  transition: width 0.1s linear;
}

.currTime {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Open Sans", sans-serif;
  font-weight: bold;
  font-size: 14px;
  background-color: white;
  color: black;
  width: 20%;
  height: 50px;
}

.action-btn {
  background-color: white;
  border: 0;
  font-size: 22px;
  cursor: pointer;
  padding: 8px;
  margin: 10px 10px;
}

.action-btn:hover {
  color: red;
}

.action-btn.action-btn-big {
  font-size: 30px;
}

.action-btn.action-btn-big:hover {
  color: red;
}

.audioPlayer {
  display: none;
}

#volume-slider {
  -webkit-appearance: none;
  appearance: none;
  width: 20%;
  height: 16px;
  border-radius: 4px;
  background-color: #ddd;
  outline: none;
  margin: 0px 80px 0px 60px;
}

#volume-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #555555;
  cursor: pointer;
}

#volume-slider::-moz-range-thumb {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #555555;
  cursor: pointer;
}

/* EQ Container */
.stack2 {
  width: 60%;
  margin: auto;
  border: 6px solid black;
  border-radius: 20px;
  background-image: linear-gradient(
    135deg,
    #cccccc 20%,
    #999999 20%,
    #555555 40%
  );
  background-size: 15px 15px;
  margin-bottom: 1.5vh;
  display: flex;
  height: 200px;
  align-items: center; /* Vertically center content */
  padding: 10px;
  box-shadow: 10px 10px 20px 0px rgba(0, 0, 0, 0.75);
}

/* Visualization Section */
.eq_viz {
  width: 80%;
  background-color: black;
  border-radius: 15px;
  height: 180px;
  padding: 10px;
}

/* Sliders Section */
.eqSliders {
  width: 20%;
  color: white;
  font-family: "Open Sans", sans-serif;
  display: flex;
  justify-content: space-between; /* Space out the sliders horizontally */
  align-items: flex-end; /* Align sliders to the bottom */
}

/* Individual Slider Control */
.eqSliders div {
  background-color: #555;
  border-radius: 10px;
  opacity: 0.85;
  display: flex;
  flex-direction: column; /* Stack label above slider */
  align-items: center;
  width: 30%; /* Adjust width as needed */
}

/* Slider Label */
.eqSliders label {
  margin-bottom: 5px; /* Space between label and slider */
  font-size: 14px;
}

/* Slider Input */
.eqSliders input[type="range"] {
  writing-mode: vertical-lr;
  direction: rtl;
  height: 140px;
  width: 10px;
  cursor: pointer;
  appearance: none;
  background: transparent;
}

/* Most changes are made to the track */
.eqSliders input[type="range"]::-webkit-slider-runnable-track {
  width: 10px;
  height: 140px;
  background: #eee;
  border-radius: 7px;
}

/* Most changes are made to the thumb */
.eqSliders input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  background: #555;
  cursor: pointer;
  border: white solid 2px;
  border-radius: 50%;
  margin: -4px;
}

/* Firefox */
.eqSliders input[type="range"]::-moz-range-track {
  width: 14px;
  height: 140px;
  background: red;
  border-radius: 7px;
}

.eqSliders input[type="range"]::-moz-range-thumb {
  width: 14px;
  height: 14px;
  background: red;
  cursor: pointer;
  border-radius: 50%;
  border: none;
}

/* IE/Edge, but does not seem to work */
.eqSliders input[type="range"]::-ms-track {
  width: 14px;
  height: 140px;
  background: transparent;
  border-color: transparent;
  color: transparent;
}

.eqSliders input[type="range"]::-ms-fill-lower,
.eqSliders input[type="range"]::-ms-fill-upper {
  background: red;
  border-radius: 7px;
}

.eqSliders input[type="range"]::-ms-thumb {
  width: 14px;
  height: 14px;
  background: red;
  cursor: pointer;
  border-radius: 50%;
}

/* Additional styles for slider thumbs */
/* .eqSliders input::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 10px;
  height: 20px;
  cursor: pointer;
  background: white;
} */

/* .eqSliders input::-moz-range-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 10px;
  height: 20px;
  cursor: pointer;
  background: white;
}


.eqSliders input::-ms-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 10px;
  height: 20px;
  cursor: pointer;
  background: white;
} */

#canvas1 {
  width: 100%;
  height: 100%;
}

/* Tracklist */
.stack3 {
  width: 60%;
  margin: auto;
  border: 6px solid black;
  background-image: linear-gradient(
    225deg,
    #cccccc 20%,
    #999999 20%,
    #555555 40%
  );
  background-size: 20px 20px;
  border-radius: 20px;
  margin-bottom: 1.5vh;
  align-items: center;
  padding: 10px;
  box-shadow: 10px 10px 20px 0px rgba(0, 0, 0, 0.75);
}

.playing {
  margin: auto;
  text-align: center;
  font-family: "Digital", sans-serif;
  font-weight: bold;
  color: greenyellow;
  background-color: #000;
  font-size: 2em;
  line-height: 1.2em;
  padding-top: 10px;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
}

.tracklist {
  background-color: black;
  margin: auto;
  font-family: "Digital", sans-serif;
  color: white;
  font-size: 1.5em;
  line-height: 2em;
  text-align: center;
  cursor: pointer;
  overflow-y: scroll;
  max-height: 500px;
  padding: 10px;
  border-bottom-left-radius: 15px;
  border-bottom-right-radius: 15px;
}

.track:hover {
  background-color: white;
  border-radius: 10px;
  width: 85%;
  margin: auto;
  color: #004aad;
}

/* Reviews */
.reviewsStrip {
  display: flex;
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5vh;
  border-radius: 15px;
  background-image: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 1),
    rgba(255, 255, 255, 1)
  );
  box-shadow: 10px 10px 20px 0px rgba(0, 0, 0, 0.75);
}

.reviewContainer {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start; /* move to top of container */
  order: 2;
  width: 30%;
}

.reviewContainer h1 {
  font-family: "Raleway", sans-serif;
  color: gold;
  font-size: 1.2em;
  line-height: 2em;
  text-align: center;
  padding-left: 5px;
  padding-right: 5px;
}

.reviewContainer form {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.reviewsBox {
  order: 1;
  width: 70%;
  color: #85cdff;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 15px;
  padding: 10px;
}

::-webkit-scrollbar {
  width: 8px;
  background-color: #ddd;
  border-radius: 15px;
}

::-webkit-scrollbar-thumb {
  background-color: #555555;
  border-radius: 15px;
}

a:link,
a:visited,
a:hover {
  color: inherit;
  text-decoration: inherit;
}

a.label_link:link,
a.label_link:visited {
  color: inherit;
}

a.label_link:hover {
  color: red;
  text-decoration: underline;
}

/* For screens larger than or equal to 2500px */
@media only screen and (min-width: 2500px) {
  .top_label {
    padding-top: 20px;
  }

  .navigation {
    height: 100px;
  }

  .progress-container {
    display: flex;
    align-items: center;
    width: 100%;
  }

  .progress-background {
    background-color: #ddd;
    cursor: pointer;
    width: 80%;
    height: 80px;
  }

  .currTime {
    height: 80px;
    font-size: 26px;
  }

  .transportContainer {
    margin-top: 25px;
  }
}

/* For screens larger than 1024px and less than 1439px */
@media only screen and (min-width: 1024px) and (max-width: 1439px) {
  .tape {
    width: 80%;
  }

  .top_label {
    font-size: 2.8rem;
  }

  .img-container img {
    height: 70px;
  }

  .navigation {
    height: 70px;
  }

  .stack2 {
    width: 85%;
  }

  .stack3 {
    width: 85%;
  }

  .reviewsStrip {
    width: 95%;
  }
}

/* Screens between 640px and 1023px */
@media (min-width: 640px) and (max-width: 1023px) {
  .tape {
    width: 90%;
    margin-top: 2vh;
    margin-bottom: 2vh;
    border: 5px solid black;
  }

  .top_label {
    font-size: 2.2rem;
  }

  .img-container img {
    height: 80px;
  }

  .transportControls {
    width: 90%;
  }

  .navigation {
    height: 70px;
  }

  .tapeReelBox {
    width: 90%;
    padding: 15px;
  }

  .img-container img {
    height: 80px;
  }

  .stack2 {
    width: 95%;
    margin-bottom: 2vh;
  }

  .eqSliders div {
    margin-right: 1px;
    margin-left: 1px;
  }

  .stack3 {
    width: 95%;
    margin-bottom: 2vh;
  }

  .tracklist {
    padding: 0px;
    font-size: 1.2em;
  }

  .reviewsStrip {
    width: 95%;
  }
}

/* Screens less than 640px */
@media (max-width: 639px) {
  .topBox {
    padding-top: 0px;
  }

  .tape {
    width: 90%;
    margin-bottom: 1vh;
    padding: 10px;
    border: 4px solid black;
  }

  .top_label {
    color: black;
    margin: 0px auto 10px auto;
    font-size: 1rem;
  }

  .top_label {
    width: 90%;
    border-top: red solid 3px;
    border-bottom: red solid 3px;
    border-radius: 10px;
    font-size: 5vw;
    color: #555555;
    padding-top: 10px;
    padding-right: 4px;
    padding-bottom: 4px;
    padding-left: 4px;
  }

  .transportContainer {
    width: 90%;
    margin: auto;
  }

  .transportControls {
    width: 100%;
  }

  .navigation {
    height: 50px;
  }

  .tapeReelBox {
    width: 80%;
    padding: 8px;
  }

  .action-btn {
    font-size: 15px;
    padding: 0px;
    margin: 10px 15px;
  }

  .action-btn.action-btn-big {
    font-size: 24px;
  }

  #volume-slider {
    display: none;
  }

  .tape_reel-container {
    gap: 0.25rem;
  }

  .img-container {
    padding: 4px 4px;
  }

  .img-container img {
    height: 25px;
  }

  .progress-background {
    margin: auto;
    height: 30px;
  }

  .currTime {
    font-size: 11px;
    width: 40%;
    height: 30px;
  }

  .restack {
    display: flex;
    flex-direction: column;
  }

  .stack2 {
    order: 2;
    width: 90%;
    border: 4px solid black;
    margin-bottom: 1vh;
    padding: 5px;
  }

  .stack3 {
    order: 1;
    width: 90%;
    border: 2px solid greenyellow;
    margin-bottom: 1vh;
    background-image: none;
    border-radius: 10px;
    box-shadow: none;
    padding: 0px;
  }

  .playing {
    font-size: 1.2em;
    padding: 10px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
  }

  .eq_viz {
    width: 100%;
  }

  .eqSliders {
    display: none;
  }

  .tracklist {
    display: none;
  }

  .reviewsStrip {
    display: flex;
    flex-direction: column; /* Stack items vertically */
    width: 95%;
    background: none;
  }

  .reviewContainer {
    order: -1;
    width: 85%;
    margin: auto;
    background-color: #000;
    border-radius: 15px;
    margin-bottom: 1vh;
  }

  .reviewContainer h1 {
    font-size: 1em;
    line-height: 1em;
  }

  .reviewsBox {
    width: 90%;
    background-color: #000;
    border-radius: 15px;
    color: #85cdff;
  }

  #volume-slider {
    display: none;
  }
}
