:root {
  --green: #C0D3A8;
  --pink: #D3A8A8;
  --blue: #C7F0FF;
  --white: #f6f3e5;
  --darkred: #8b0000;
  --darkgreen: #2f4f4f;
  --darkblue: #152669;
}

html {
  overflow-x: hidden;
}

body {
  background-color: #f6f3e5;
  margin: auto;
  max-width: 100%;
}

/* Initial state: transparent */
body {
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

/* Final state: fully visible */
body.fade-in {
  opacity: 1;
}

.live-body {
  background-color: #C0D3A8;
}

.studio-body {
  background-color: #D3A8A8;


}

.post-body {
  background-color: #C7F0FF;

}

#live {
  width: 75%;
  margin: auto;
  padding-bottom: 80px;
}

#studio {
  width: 75%;
  margin: auto;
  padding-bottom: 80px;
}

#post {
  width: 75%;
  padding-bottom: 80px;
  margin: auto;
}

#index {
  margin: auto;

}


h1 {
  font-family: "Oswald", sans-serif;
  color: black;
  font-size: 100px;
  padding-top: 5rem;
}

h2 {
  font-family: "Oswald", sans-serif;
  color: darkslategray;
  font-size: 45px;
  line-height: .25;
}


a,
input,
label {
  font-family: Verdana, Geneva, Tahoma, sans-serif;
  line-height: 1.25;
  /* font-weight: 500; */
}

p {
  font-family: Verdana, Geneva, Tahoma, sans-serif;
  color: black;
  font-size: 16px;
  font-weight: 200;
  margin: 0em;

}


.index-p {
  font-family: 'Times New Roman', Times, serif;
  line-height: .25;
  font-size: 20px;
  /* font-weight: 500; */
}


/***************** Nav ****************/
.logo {
  width: 100px;
}

.logo:hover {
  opacity: .8;
}

.links {
  text-align: right;
}

li {
  list-style: none;
  text-align: right;

}

li a {
  text-decoration: none;
  color: black;
  font-family: "Crushed", sans-serif;
  line-height: 1.55em;
  letter-spacing: 5px;
  font-weight: 200;
  font-size: 20px;
  padding: 2px 10px 2px 15px;

}

.links a:hover {
  color: var(--white);
  background-color: black;
}

#studio-nav .links a:hover {
  color: var(--white);
  background-color: darkred;
}

#live-nav .links a:hover {
  color: var(--white);
  background-color: var(--darkgreen);
}

#post-nav .links a:hover {
  color: var(--white);
  background-color: var(--darkblue);
}

nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 10px;
}

/******************************* Index *******************************/
.intro {
  width: 60%;
  margin: auto;
}




/******************************* About *******************************/

#about {
  width: 60%;
  margin: auto;
  /* border: 1px black solid; */
}

/* #about h3{
    border: blue solid 2px;

  } */

.about-flex-title {
  display: flex;
  flex-direction: column;
  /* border: black solid 2px; */

}

.about-flex {
  display: flex;
  justify-content: space-evenly;
  align-items: flex-end;
  flex-direction: row;
  flex-wrap: wrap-reverse;
  margin: auto 0;
  gap: 30px;
  /* border: red solid 2px; */

}

.img-about {
  width: 300px;
  border-radius: 3%;
  /* margin-left: auto; */
  /* border-radius: 5%; */
}

.about-description {
  /* padding-right: 30px; */
  width: 500px;
  /* border: black solid 2px; */
}

#about p {
  line-height: 1.25em;
  font-size: 18px;
  font-family: Verdana, Geneva, Tahoma, sans-serif;
  padding-bottom: .5em;

}

#about a {
  color: darkslategray;
  font-size: 30px;
  padding-right: 5px;

}

#about h3 {
  color: darkslategray;
  font-size: 40px;
  font-family: "Oswald", sans-serif;
}

#about a:hover {
  color: black;
}


/******************************* Contact *******************************/

#contact {
  width: 80%;
  margin: auto;
}

#contact h2 {
  font-size: 60px;
  color: black;
}


input[type=text],
input[type=email],
select,
textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
  margin-top: 6px;
  margin-bottom: 16px;
  background-color: #f4f2ea;
  resize: none

}

input[type=submit] {
  background-color: darkslategrey;
  color: white;
  padding: 15px 18px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  font-family: Verdana, Geneva, Tahoma, sans-serif;
}

label {
  font-family: Verdana, Geneva, Tahoma, sans-serif;
}

input[type=submit]:hover {
  background-color: black;
}

.form {
  width: 500px;
  padding-top: 20px;
  margin: auto;
  padding-bottom: 50px;
}

/* .contact-flex{
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse ;
    flex-wrap: wrap;
    align-items: center;
  } */

/* .contact-img{
    width: 100px;
    height: 100px;

  } */

/******************************* Live Sound *******************************/

.live-body h3 {
  font-family: Verdana, Geneva, Tahoma, sans-serif;
  padding-top: 5px;
  font-size: 16px;
  font-weight: normal;
}


.live-bio {
  font-family: Verdana, Geneva, Tahoma, sans-serif;
  color: black;
  font-size: 20px;
  font-weight: 200;
  margin: 0em;
  padding-top: 20px;
}

.img-scroll {
  padding-top: 40px;
  height: 350px;
  width: 350px;
  margin: auto;
  display: inline;
  justify-content: flex-start;
}

.container-flex {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: center;
}

.img-livesound {
  width: 400px;
  /* Increase if necessary */

}

.performances-flex-text {
  width: 60%;
  /* Adjust to fit the layout */
}

.container-flex2 {
  padding-top: 75px;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  align-items: center;

}

.performances-flex-text2 {
  width: 60%;
  /* Adjust to fit the layout */
}

hr {
  border: none;
  background: linear-gradient(to left, var(--blue) 33.33%, var(--white)33.33%, var(--white) 66.66%, darkslategray 66.66%);
  width: 175px;
  height: 10px;
  text-align: right;
  margin: 0;
  /* margin-top: 1px; */

}

/******************************* Studio *******************************/


#studio h2 {
  /* padding-top: 100px; */
  color: var(--darkred);
}

#studio hr {
  border: none;
  background: linear-gradient(to left, #ffc0cb 33.33%, var(--white)33.33%, var(--white) 66.66%, var(--darkred) 66.66%);

  width: 175px;
  height: 10px;
  text-align: right;
  margin: 0;
  /* margin-top: 1px; */
}

#studio h3 {
  font-family: Verdana, Geneva, Tahoma, sans-serif;
  padding-top: 5px;
  font-size: 16px;
  font-weight: normal;
}



/******************************* Record Player *******************************/

.box {
  padding-top: 50px;
}

.player {
  background-color: darkred;
  width: 330px;
  height: 190px;
  border-radius: 8px;
  box-shadow: 0 8px 0 0 rgb(112, 0, 0);
  position: relative;
}

figcaption {
  font-family: "Crushed", sans-serif;
  letter-spacing: 2px;
  font-weight: 200;
  padding-top: 30px;
  text-align: center;
}

.img-play-text {
  width: 15px;
  padding: 4px 4px 0px 4px;
}

.record {
  height: 175px;
  width: 175px;
  background-color: #181312;
  border-radius: 50%;
  position: absolute;
  top: 10px;
  left: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.record:before {
  content: "";
  position: absolute;
  height: 135px;
  width: 135px;
  border: 5px solid transparent;
  border-top: 5px solid #2C2424;
  border-bottom: 5px solid #2C2424;
  border-radius: 50%;
}

.record:after {
  content: "";
  position: absolute;
  height: 95px;
  width: 95px;
  border: 5px solid transparent;
  border-top: 5px solid #2C2424;
  border-bottom: 5px solid #2C2424;
  border-radius: 50%;
}

.label {
  background-color: #181312;
  height: 15px;
  width: 15px;
  border: 20px solid pink;
  border-radius: 50%;
}

.control {
  background-color: #181312;
  height: 17px;
  width: 17px;
  border: 10px solid #2c2c2c;
  border-radius: 50%;
  position: absolute;
  top: -16px;
  left: -16px;
}

.tone-arm {
  height: 90px;
  width: 6px;
  background-color: #ffffff;
  position: absolute;
  top: 25px;
  right: 95px;
  transition: 1s;
  transform-origin: top;
}

.tone-arm:before {
  content: "";
  height: 40px;
  width: 6px;
  background-color: #ffffff;
  position: absolute;
  transform: rotate(30deg);
  bottom: -36px;
  right: 10px;
}

.tone-arm:after {
  content: "";
  position: absolute;
  height: 0;
  width: 10px;
  border-top: 18px solid #B2AEA6;
  border-left: 2px solid transparent;
  border-right: 2px solid transparent;
  transform: rotate(30deg);
  top: 108px;
  right: 12.5px;
}

.btn {
  height: 28px;
  width: 28px;
  background-color: #ED5650;
  border-radius: 50%;
  position: absolute;
  bottom: 20px;
  right: 30px;
  border: none;
  border: 3.5px solid rgb(190, 39, 42);
  animation-play-state: paused;
  outline: none;
  cursor: pointer;

}

.img-play {
  height: 10px;
}

.play {
  transform: rotate(30deg);
  transform-origin: top;
  transition: 1s;
}

.on {
  animation: rotate 3s 1s linear infinite;
}

@keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}

.slider {
  transform: rotate(-90deg);
  width: 90px;
  height: 7px;
  -webkit-appearance: none;
  background-color: rgb(190, 39, 42);
  border: 3px solid #ED5650;
  border-radius: 3px;
  outline: none;
  position: absolute;
  left: 233px;
  top: 60px;
}

.slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  background-color: white;
  width: 10px;
  height: 12px;
  cursor: pointer;
}




/******************************* Post *******************************/


#post hr {
  border: none;
  background: linear-gradient(to left, var(--darkgreen) 33.33%, var(--white)33.33%, var(--white) 66.66%, var(--darkblue) 66.66%);
}

.post-header2 {
  /* padding-top: 100px; */
  font-size: 45px;
  color: var(--darkblue);

}


.flex-post {
  display: flex;
  padding-bottom: 30px;
  justify-content: space-between;
  flex-wrap: wrap;
}

.flex-post-text {
  width: 400px;
  text-align: left;

}


.tv-border {
  background: #333;
  padding: 20px 100px 30px 20px;
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.5);
  width: 460px;
  height: 315px;
  border: #DDB6A0 solid 15px;
  z-index: 0;
  position: relative;

}

.tv-knobes {
  position: absolute;
  background: #7d7d7d;
  border: white solid 2px;
  padding: 18px;
  border-radius: 100%;
  z-index: 10;
  top: 20px;
  right: 25px;
}

.tv-knobes2 {
  position: absolute;
  /* background: radial-gradient(circle, #555, #222); */
  background: #7d7d7d;
  border: white solid 2px;
  padding: 18px;
  border-radius: 100%;
  z-index: 10;
  top: 80px;
  right: 25px;
}

iframe {
  position: absolute;
  border-radius: 10%;
  width: 460px;
  height: 315px;
  border: 5px solid #555;

}


/******************************* VINYLS *******************************/


.all-albums-container {
  height: 70vh;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  align-content: center;
  margin: auto;
  gap: 20px;
  max-width: 1300px;
}

.album-flex {
  position: relative;
  width: 250px; 
  height: 250px;
}

.img-album,
.img-vinyl {
  width: 100%;
  height: auto;
}

.img-album {
  box-shadow: 0 10px 15px 0px #a6a6a6;
  position: absolute;
  z-index: 1;
  transition: transform 0.3s ease;
  left: 0px;
}

.img-vinyl {
  left: 50px;
  position: absolute;
  z-index: 0;
  transition: transform 0.3s ease, left 0.3s ease;
  transform: rotate(-90deg);
}

.album-flex:hover .img-vinyl {
  transform: rotate(90deg);
  left: 90px;
  cursor: pointer;
}

.album-flex:hover .img-album {
  transform: translate(-10px);
  cursor: pointer;
}




/******************************* Media device resize *******************************/

/* MEDIA QUERIES FROM LARGEST TO SMALLEST */

/* Large devices (desktops, less than 1200px) */
@media (max-width: 1199.98px) {


  .album-flex {
    width: 175px;
    height: 175px;

    /* Set a fixed width for the album container */
    /* border: green 3px solid; */
  }

  .img-vinyl {
  left: 40px;
}


  .album-flex:hover .img-vinyl {
    left: 60px;
    transform: rotate(75deg);
  }
  

  /* .live-header{
    padding-top: 250px;
    padding-bottom: 25px;
    margin: 0;
    line-height: 0em;
  } */

}

/* Medium devices (tablets, less than 992px) */
@media (max-width: 991.98px) {
  .album-flex {
    /* border: yellow 3px solid; */
    width: 150px;
    height: 150px;
    /* Set a fixed width for the album container */

  }

    .img-vinyl {
  left: 35px;
}

  .album-flex:hover .img-vinyl {
    left: 50px;
  }

}

/* Small devices (landscape phones, less than 768px) */
@media (max-width: 767.98px) {

  nav{
    padding-right: 5px;
    padding-left: 10px;
  }

  .all-albums-container {
    flex-direction: column;
    height: 700px;
}

  .album-flex {
    width: 175px;
    height: 175px;
    /* Set a fixed width for the album container */
    /* border: pink 3px solid; */
  }

  .album-flex:hover .img-vinyl {
    left: 60px;
  }

  .logo {
    width: 90px;
    top: 20px;
    left: 20px;
  }

  li a {
    margin-right: 10px;
    font-size: 16px;
    line-height: 1.75em;
  }

  h1 {
    font-size: 60px;
    /* line-height: 1; */
  }

  #contact h2 {
    /* padding-top: 50px; */
    font-size: 50px;
  }

  h2 {
    font-size: 40px;
  }

  #live {
    width: 90%;
    margin: auto;
  }

  #studio {
    width: 90%;
    margin: auto;
  }

  #post {
    width: 90%;
    margin: auto;
  }

  #post h1 {
    font-size: 38px;
  }

  .live-bio {
    font-size: 18px;
  }

  p {
    font-size: 14px;
  }

  .performances-flex-text {
    width: 100%;
    /* Adjust to fit the layout */
  }

  .performances-flex-text2 {
    width: 100%;
    /* Adjust to fit the layout */
  }

  .img-scroll {
    padding-top: 20px;
    height: 300px;
    width: 300px;
    display: flex;
  }

  #about {
    width: 80%;
    margin: auto;
    /* border: 1px black solid; */
  }

  #about p {
    font-size: 16px;
    /* border: 1px black solid; */
  }


  .about-flex {
    display: flex;
    justify-content: space-around;
    padding-bottom: 50px;
    /* border: red solid 2px; */

  }

  #about h3 {
    font-size: 30px;
  }

  .container-flex2 {
    padding-top: 10px;

  }

  .form {
    width: 400px;
    padding-top: 20px;
    padding-bottom: 70px;
  }

  iframe {
    width: 340px;
    height: 200px;
  }

  .tv-border {
    width: 340px;
    height: 200px;
    background: #333;
    padding: 15px 75px 20px 15px;
    box-shadow: 0 10px 15px rgba(0, 0, 0, 0.5);
    border: #DDB6A0 solid 10px;
  }

  .flex-post {
    display: flex;
    padding-bottom: 30px;
    justify-content: center;
    gap: 50px;
    flex-wrap: wrap;
  }

  .tv-knobes {
    padding: 12px;
    top: 20px;
    right: 20px;
  }
  
  .tv-knobes2 {
    padding: 12px;
    top: 70px;
    right: 20px;
  }

  .flex-post-text {
    text-align: left;
    width: 100%;
  }



}

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 550px) {

  .logo {
    width: 75px;
    top: 20px;
    left: 20px;
  }

  li a {
    margin-right: 8px;
    font-size: 16px;
    line-height: 1.75em;
  }


  .studio-bio {
    font-size: 14px;
  }


  .live-bio {
    font-size: 14px;
  }

  p {
    font-size: 12px;
  }

  h2 {
    font-size: 30px;
  }

  h1 {
    font-size: 50px;
    /* line-height: 1; */
  }

  .img-livesound {
    width: 300px;
    /* Increase if necessary */

  }

  #contact h1 {
    padding-top: 45px;
    font-size: 50px;
  }

  .form {
    width: 300px;
    padding-top: 20px;
    padding-bottom: 70px;
  }

  iframe {
    width: 240px;
    height: 150px;
  }

  .tv-border {
    width: 240px;
    height: 150px;
    padding: 10px 50px 20px 10px;
  }


  .tv-knobes {
    padding: 7px;
    top: 20px;
    right: 13px;
  }
  
  .tv-knobes2 {
    padding: 7px;
    top: 50px;
    right: 13px;
  }
}

/* Extra large devices (large desktops)
No media query since the extra-large breakpoint has no upper bound on its width */