
body {
  background-color: #CEDEEB;
  display: flex;
  justify-content: center;
  align-items: center;
  height:100vh;
  width: 100vw;
  overflow-x: hidden; 
  overflow-y: hidden; 
  touch-action: none;
}
 
.content-container {
  display: flex;
  position: absolute;
  flex-direction: column;
  align-items: center;
  width: 100%; 
  height: 100%; 
  padding-top: 5px;
  box-sizing: border-box;
}

.piano-container {
  max-width: 95vw; 
  transform: translateX(-1%);
}

#beautiful-piano {
  display: inline-flex;
}

.shrink #beautiful-piano {
  display: flex;
}

input[type="number"] {
  width: 25px;
}

#banner {
  max-width: 800px;
  max-height: 400px;
}

#load_bg {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #CEDEEB;
  width: 100vw;
  height: 100vh; /* Use 100vh to cover the full height of the viewport */
  position: fixed;
  z-index: 9990;
  border-width : 0;
}

button{
  border-width: 2px;
  border-radius: 10px;
}

#playButton{
  background-color: #CEDEEB;
  max-width: 200px;
  max-height: 200px;
  width: 35vw;
  height: 35vw;
  position: absolute;
  top: 10%;
  margin-left: auto;
  margin-right: auto;
}

#btnimg{
  max-width: 200px;
  max-height: 200px;
  width: 30vw;
  height: 30vw;
}

.upper{
  margin: auto;
  display: flex;
  justify-content: space-between;
}

.box{margin: 5px;}

#leftbtn{
  float: left;
  padding: 0px 5px;
  border-right: 1px solid black;
  border-left: 1px solid black;
  
}

#contact {
  float: left;
  padding-right: 5px;
  border: none;
  background-color: transparent;
}

#rightbtn {
  float: left;
}

#centerarrows{
  border-left: 1px solid black;
  float: right;
  display: flex;
  justify-content: center;
  /* padding-left: 5px; */
}



#beautiful-piano :focus {
  outline:none !important;
}

#beautiful-piano {
  padding: 0;
}

#beautiful-piano li {
  list-style:none;
  float:left;
  display:inline;
  /* width: calc(min(100vw,1000px) / 14); */
  position:relative;
  border-top:2px solid #222;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.btn {
  color: #ffffff;
  background-color: #8da0c3;
  font-size: 16px;
  border: 7px  #2d63c8;
  border-radius: 14px;
  padding: 8px 8px;
  letter-spacing: 1px;
  cursor: pointer
}

#banner {
  max-width: 60vw; 
  max-height: 90vh; 
}

@media screen and (max-width: 500px) {

  #beautiful-piano li {
    width: calc(140vw / 14); /* Each key occupies 1/14th of the screen width or 30px minimum */
  }

  .btn {
    font-size: 14px;
    padding: 4px 6px;
  }
}

#orientationPopup {
  display: none; /* Start hidden, toggle this with JS */
  justify-content: center;
  align-items: center;
  margin: 20px; 
  background-color: #d7e7f4ff;
  font-family: 'Courier New', Courier, monospace;
  text-align: center;
  border-radius: 20px;
  padding: 20px;
}

@media screen and (max-width: 1000px) and (min-width: 500px) {

  .content-container {
    width: 95%; 
  }

  #beautiful-piano li a,
  #beautiful-piano li div.anchor {
    height: 100px;
  }

  #beautiful-piano li span {
    height: 80px;
  }

  /* Show key names for smaller screens */
  .piano-show-names #beautiful-piano div[data-keyname]:not(:active):not(.active):after {
    font-size: 16px; /* Adjusted font size */
    bottom: 15px; /* Adjusted bottom position */
    left: 10%; 
  }

  /* Adjusted black keys key names for smaller screens */
  .piano-show-names #beautiful-piano span[data-keyname]:not(:active):not(.active):after {
    font-size: 9px; /* Adjusted font size */
    bottom: 5px; /* Adjusted bottom position */
  }
}

@media screen and (orientation: landscape) {
  #banner {
    max-width: 60vw; /* Adjust the max-width as needed for landscape mode */
    max-height: 60vh; /* Adjust the max-height as needed for landscape mode */
  }
}



#beautiful-piano li a,#beautiful-piano li div.anchor {
  display:block;  
  height:220px;
  /* background:#fff; */
  /* background:-webkit-linear-gradient(-30deg,#f5f5f5,#fff);
  background:-moz-linear-gradient(-30deg,#f5f5f5,#fff);
  background:-ms-linear-gradient(-30deg,#f5f5f5,#fff);
  background:-o-linear-gradient(-30deg,#f5f5f5,#fff);
  background:linear-gradient(-30deg,#f5f5f5,#fff); */
  border:1px solid #ccc;
  -webkit-box-shadow:inset 0 1px 0px #fff,inset 0 -1px 0px #fff,inset 1px 0px 0px #fff,inset -1px 0px 0px #fff,0 4px 3px rgba(0,0,0,0.7);
  -moz-box-shadow:inset 0 1px 0px #fff,inset 0 -1px 0px #fff,inset 1px 0px 0px #fff,inset -1px 0px 0px #fff,0 4px 3px rgba(0,0,0,0.7);
  box-shadow:inset 0 1px 0px #fff,inset 0 -1px 0px #fff,inset 1px 0px 0px #fff,inset -1px 0px 0px #fff,0 4px 3px rgba(0,0,0,0.7);
  -webkit-border-radius:0 0 3px 3px;
  -moz-border-radius:0 0 3px 3px;
  border-radius:0 0 3px 3px;
}

#beautiful-piano li div.anchor:active, #beautiful-piano li div.anchor.active {
  -webkit-box-shadow:0 2px 2px rgba(0,0,0,0.4);
  -moz-box-shadow:0 2px 2px rgba(0,0,0,0.4);
  box-shadow:0 2px 2px rgba(0,0,0,0.4);
  position:relative;
  top:2px;
  height:216px;
}

#beautiful-piano li div.anchor:active:before, #beautiful-piano li div.anchor.active:before {
  content:"";
  width:0px;
  height:0px;
  border-width:216px 5px 0px;
  border-style:solid;
  border-color:transparent transparent transparent rgba(0,0,0,0.1);
  position:absolute;
  left:0px;
  top:0px;
}

#beautiful-piano li div.anchor:active:after, #beautiful-piano li div.anchor.active:after {
  content:"";
  width:0px;
  height:0px;
  border-width:216px 5px 0px;
  border-style:solid;
  border-color:transparent rgba(0,0,0,0.1) transparent transparent;
  position:absolute;
  right:0px;
  top:0px;
}

/* Black Tuts */
#beautiful-piano li span {
  position:absolute;
  top:0px;
  left:calc((min(140vw,1000px) / -40 ));
  width:calc(min(100vw,1000px)  / 20 );
  height:120px;
  background:#333;
  background:-webkit-linear-gradient(-20deg,#333,#000,#333);
  background:-moz-linear-gradient(-20deg,#333,#000,#333);
  background:-ms-linear-gradient(-20deg,#333,#000,#333);
  background:-o-linear-gradient(-20deg,#333,#000,#333);
  background:linear-gradient(-20deg,#333,#000,#333);
  z-index:10;
  border-width:1px 2px 7px;
  border-style:solid;
  border-color:#666 #222 #111 #555;
  -webkit-box-shadow:inset 0px -1px 2px rgba(255,255,255,0.4),0 2px 3px rgba(0,0,0,0.4);
  -moz-box-shadow:inset 0px -1px 2px rgba(255,255,255,0.4),0 2px 3px rgba(0,0,0,0.4);
  box-shadow:inset 0px -1px 2px rgba(255,255,255,0.4),0 2px 3px rgba(0,0,0,0.4);
  -webkit-border-radius:0 0 2px 2px;
  -moz-border-radius:0 0 2px 2px;
  border-radius:0 0 2px 2px;
}

#beautiful-piano li span:active, #beautiful-piano li span.active {
  border-bottom-width:2px;
  height:123px;
  -webkit-box-shadow:inset 0px -1px 1px rgba(255,255,255,0.4),0 1px 0px rgba(0,0,0,0.8),0 2px 2px rgba(0,0,0,0.4),0 -1px 0px #000;
  -moz-box-shadow:inset 0px -1px 1px rgba(255,255,255,0.4),0 1px 0px rgba(0,0,0,0.8),0 2px 2px rgba(0,0,0,0.4),0 -1px 0px #000;
  box-shadow:inset 0px -1px 1px rgba(255,255,255,0.4),0 1px 0px rgba(0,0,0,0.8),0 2px 2px rgba(0,0,0,0.4),0 -1px 0px #000;
}

/* Spinning at the begining */

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@-moz-keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  } 
}
@-webkit-keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.spin-animation {
  -webkit-animation: spin 2s cubic-bezier(0.2, 0.0, 0.2, 1.4) infinite; 
  -moz-animation: spin 2s cubic-bezier(0.2, 0.0, 0.2, 1.4) infinite; 
  animation: spin 2s cubic-bezier(0.2, 0.0, 0.2, 1.4) infinite; 
  -webkit-transform: translateZ(0); 
  /* transform-origin: center; Set the transform origin to the center */
}


/* white keys */
.piano-show-names #beautiful-piano div[data-keyname]:not(:active):not(.active):after {
  font-family: Arial, sans-serif;
  font-size: 20px;
  content: attr(data-keyname);
  position: absolute;
  bottom: 25px;
  left: 20%;
}

/* black keys */
.piano-show-names #beautiful-piano span[data-keyname]:not(:active):not(.active):after {
  color: white;
  font-family: Arial, sans-serif;
  font-size: 11px;
  content: attr(data-keyname);
  position: absolute;
  bottom: 8px;
}

.left-arrow,
.right-arrow {
  width: 35px; 
  height: 35px;
  float: center;
  display: none;
  margin-left: 5px;
  background-size: cover;
}

.left-arrow{
  background-image: url('/img/left_arrow_icon.png'); 
}

.right-arrow {
  padding-right: 10px;
  background-image: url('/img/right_arrow_icon.png'); 
} 

.contact {
  background-image: url('/img/email.png');
  width: 35px; 
  height: 35px;
  float: center;
  /* display: none; */
  /* margin-left: 5px; */
  background-size: cover;
}