@font-face {
  font-family: 'TitleFont';
  src: url(assets/fonts/Poppin-Regular.otf);
} 

@font-face {
  font-family: 'SubtitleFont';
  src: url(assets/fonts/Louis-George-Cafe.ttf);
} 

/* blur filter layer */
body::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 150vw;
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(2px); 
  z-index: 0;
  animation: fadeInBackground 1s ease-in-out forwards;
  opacity: 0;
}

body {
  background: url('assets/images/bgVideo.gif') no-repeat center center fixed;
  background-size: cover;
  position: relative;
  display: flex;
  overflow: hidden;
  animation: fadeInBackground 1s ease-in-out forwards;
}

.left-side, .right-side {
  flex: 1; /* 50% each */
  padding: 20px;
  box-sizing: border-box;
  z-index: 1;
  animation: fadeInText 0.5s ease-in-out forwards;
}

.right-side {
  display: flex;
  flex-direction: column;
  align-items: center;     /* vertical centering */
  gap: 5rem;                  /* Space between buttons */
}

.buttons {
  display: flex;
  flex-direction: column;
  justify-content: center; /* horizontal centering */
  align-items: center;     /* vertical centering */
  gap: 1rem;                  /* Space between buttons */
  transition: transform 0.5s ease;
}

#timer {
  display: flex;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  flex-direction: column;
  justify-content: center; 
  align-items: center;     
  gap: 1rem;
  width: 80%;
  transition: max-height 0.75s ease-in-out, padding 0.75s ease, opacity 0.75s ease-in-out;
}

#timer.open {
    max-height: 450px; /* enough height to show content */
    padding: 10px;
    opacity: 1;
  }

.timer-buttons button {
  background-color: rgba(112, 60, 1, 0.8);
  border: none;
  border-radius: 13px;
  color: rgb(255, 255, 254);
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  font-family: 'SubtitleFont', sans-serif;
  box-shadow: 0px 8px 5px 0px #00000090;
}

.right-side input {
  position: relative;
  font-family: 'SubtitleFont', sans-serif;
  font-size: 100px;
  background-color: rgba(0, 0, 0, 0.3);
  width: 350px;
  text-align: center;
  color: #ffffff;
  text-shadow: rgba(0, 0, 0, 0.75) 0px 0px 25px;
  margin-right: 50px;
  margin-left: 50px;
  margin-bottom:-5px;
  margin-top: 50px;
  border-radius: 13px;
  border: 2px inset #937e77;
  border-radius: 6px;
}

.buttons button {
  background-color: rgba(112, 60, 1, 0.8);
  border: none;
  border-radius: 13px;
  color: rgb(255, 255, 254);
  padding: 1rem 1.5rem;
  font-size: 2.5rem;
  font-family: 'SubtitleFont', sans-serif;
  box-shadow: 0px 8px 5px 0px #00000090;
}

.buttons.slide-down {
  transform: translateY(7.5px);
}

button:hover {
  background-color: rgb(70, 41, 7, 0.8);
}

.left-side h1 {
  position: relative;
  font-family: 'TitleFont', sans-serif;
  font-size: 55px;
  color: #ffffff;
  text-shadow: rgba(0, 0, 0, 0.4) 0px 0px 25px;
  margin: 50px;
  padding: 0;
}

.left-side p {
  position: relative;
  font-family: 'TitleFont', sans-serif;
  font-size: 30px;
  color: #ffffff;
  text-shadow: rgba(0, 0, 0, 0.4) 0px 0px 25px;
  margin: 50px;
  top: -30px;
}

#page {
  min-width: 450px;
  max-width: 550px;
  background-image: url("assets/images/page.png");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
  margin-left: 50px;
  margin-top: -20px;

  position: relative;
  font-family: 'TitleFont', sans-serif;
  font-size: 30px;
  color: #2c1d15;

  display: grid;
  align-content: start;
  grid-template-columns: 50%, auto;

  padding: 50px;
  row-gap: 20px;
}

#cafe-volume-div {
  grid-column-start: 1;
  grid-column-end: 3;
}

#spotify {
  z-index: 1;
  margin-top: 20px;
  margin-left: 50px;
  position: relative;
}

.slider {
  -webkit-appearance: none;
  appearance: none;
  width: 90%;
  height: 15px;
  border-radius: 5px;  
  background: #d3d3d3;
  outline: none;
  opacity: 0.7;
  -webkit-transition: .2s;
  transition: opacity .2s;
}

.slider:hover {
  opacity: 1;
}

.slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 25px;
  height: 25px;
  border-radius: 50%; 
  background: #401610;
  cursor: pointer;
}

#coffee-volume {
  width: 95%;
}

@keyframes fadeInBackground {
  to {
    opacity: 1;
  }
}

@keyframes fadeInText {
  0%   { transform: translateY(-50px); opacity: 0; }
  100% { transform: translateY(0); opacity: 1; }
}

@keyframes slideIn {
  0%   { transform: translateY(-50px); opacity: 1; }
  100% { transform: translateY(0); opacity: 1; }
}