:root {
  --curvy-border: 255px 15px 225px 15px/15px 225px 15px 255px;
  --border-design: solid 5px #080808;
  --off-white-block-background: #faf8f8;
}

/* universal stylings, stylings among element types, and html styling */

html {
  font-family: 'Gloria Hallelujah', cursive;
  min-height: 100vh;
  background: rgb(0, 0, 0);
}

* {
  margin: 0;
  box-sizing: border-box;
}

/* general stylings for all img elemnts ----------*/
img {
  border: var(--border-design);
  border-radius: var(--curvy-border);
}

/* general stylings for all buttons in the games ----*/

button {
  font-family: 'Gloria Hallelujah', cursive;
  border-style: double;
  border-width: 12px;
  border-color: black;
  border-radius: 30%;
}

button:hover {
  cursor: pointer;
  font-style: italic;
  font-weight: bold;
  background-color: #ff9999;
  border-width: 20px;
}

button:active {
  font-size: large;
}

/* BASE STYLE FOR THE ENTIRE GAME CONTAINER--------- */
.entire-container {
  display: flex;
  height: 100vh;
  width: auto;
  z-index: 1;
  background-image: url('./imgs/pokeBackground.jpg');
  background-size: 50%;
  background-position: bottom;
}

/* styling for the intro and welcome screens-------- */

.intro-screen {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 650px;
  height: 70vh;
  width: 80vw;
  max-width: 1200px;
  min-width: 700px;
  margin: 8% auto 8% auto;
  background-color: var(--off-white-block-background);
  border-radius: var(--curvy-border);
  border: solid rgb(84, 84, 84) 5px;
}

.intro-header {
  position: absolute;
  top: -11%;
  left: 16%;
  width: 70%;
  font-size: 2.5rem;
  text-align: center;
  font-family: 'Pokemon Hollow', sans-serif;
  padding: 8px;
  background-color: var(--off-white-block-background);
  border-radius: var(--curvy-border);
  border: solid rgb(84, 84, 84) 5px;
}

/* styling for prof oak image */
.prof-oak {
  height: 80%;
  width: auto;
  margin-left: 20px;
  display: block;
}

/* styling for text next to professor oak */
.intro-screen-text {
  margin-left: 3%;
  margin-right: 2%;
  /* font-size: 2.2rem; */
  opacity: 0%;
  text-align: center;
  max-height: 80%;
  overflow: scroll;
}

.intro-screen-forms {
  margin-right: 10px;
}

.intro-screen-forms > * {
  display: inline-block;
  width: fit-content;
  margin: auto;
}

/* styling for the INITIAL statements that are displayed on the screen */
.welcome-statement {
  font-size: 2.6rem;
}

/* GAME CONTAINER STYLINGS --------------------------------*/
.game-container {
  width: 100%;
  min-width: 815px;
  min-height: 100vh;
  position: relative;
  opacity: 0%;
  display: flex;
  flex-direction: column;
}

/* stylings for the top section of the page */
.header-section {
  background: linear-gradient(to right, #fa2626, #2f000c);
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-top: 10px;
  opacity: 100%;
  transition: opacity 0.5s ease-in-out;
  border-bottom: var(--border-design);
}

/* profile pic in the top left corner */
.profile-pic {
  width: 120px;
  height: auto;
  margin-left: 15px;
}

.profile {
  margin-left: 10px;
  padding: 0px 10px 0px 10px;
  text-align: center;
  background-color: var(--off-white-block-background);
  border: var(--border-design);
  border-radius: var(--curvy-border);
}

/*pokemon title header */
header {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-items: center;
}

h1 {
  margin-top: auto;
  font-family: 'Pokemon Hollow', sans-serif;
  text-align: center;
  font-size: 2rem;
  color: black;
  background-color: var(--off-white-block-background);
  border: var(--border-design);
  border-radius: var(--curvy-border);
  border-width: 5px;
  padding: 5px;
}

h2 {
  margin-bottom: auto;
  margin-top: 5px;
  font-size: 1.5rem;
  padding: 3px;
}

/* stylings for section on the top right corner wit the start button ------------------------------- */

.game-prompt-container {
  display: flex;
  flex-direction: column;
  align-self: center;
  margin-right: 20px;
  font-size: 1.3rem;
  width: 20%;
  text-align: center;
}

.game-prompt {
  background-color: var(--off-white-block-background);
  border: var(--border-design);
  border-radius: var(--curvy-border);
  margin-bottom: 15px;
}

.start-button:active {
  font-size: 1rem;
}

/* ----Stylings for the middle section of the page ------*/

/* backround of the middle section */
.pokemon-image-container {
  background: linear-gradient(
    to right,
    black 0%,
    rgb(82, 81, 81) 25%,
    black 50%,
    rgb(82, 81, 81) 75%,
    black 100%
  );
  background-size: contain;
  background-repeat: repeat-x;
  background-position: cover;
  opacity: 100%;
  transition: opacity 0.5s ease-in-out;
}

/* actual pokemon image styling */
.pokemon-image {
  background-color: var(--off-white-block-background);
  border-width: 10px;
  display: block;
  width: 250px;
  height: auto;
  margin: auto;
  margin-top: 6px;
}

/* stylings for the bottom section of the page*/
.bottom-section {
  background: linear-gradient(to right, #2f000c, #fa2626);
  border-top: var(--border-design);
  width: 100%;
  height: auto;
  opacity: 100%;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  transition: opacity 0.5s ease-in-out;
}

/* styling for the question box */
.question {
  width: 60%;
  text-align: center;
  padding: 10px;
  margin: auto;
  border: var(--border-design);
  border-radius: var(--curvy-border);
  margin-top: 6px;
  background-color: var(--off-white-block-background);
}

/* styling for the container with all the answers */
.answer-container {
  background: url('./imgs/pokeBall.jpg');
  background-position: center;
  background-repeat: no-repeat;
  background-size: 20%;
  position: relative;
  width: 85%;
  margin: 45px auto 0px auto;
  min-height: 275px;
  max-width: 1230px;
  display: grid;
  grid-template-rows: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  justify-content: center;
  align-items: center;
  column-gap: 30px;
}

.answer {
  height: 70%;
  width: 100%;
  font-size: 1.1rem;
  line-height: 1.4rem;
  overflow: scroll;
}

.answer:active {
  font-size: 1.5rem;
}

/* question for the question level display on the top left corner of the answer container */
.display-question-level {
  position: absolute;
  top: -15%;
  left: -5%;
  background-color: var(--off-white-block-background);
  border: var(--border-design);
  border-radius: var(--curvy-border);
  border-width: 4px;
  padding: 3px;
  width: 40%;
  text-align: center;
}

.timer {
  position: absolute;
  top: -15%;
  right: -5%;
  background-color: var(--off-white-block-background);
  border: var(--border-design);
  border-radius: var(--curvy-border);
  border-width: 4px;
  padding: 3px;
  width: 40%;
  text-align: center;
}

/* Footer stylings where it says "change theme"*/

footer {
  margin-bottom: 0px;
}

footer p {
  display: inline-block;
}

.color-container {
  display: inline-flex;
  gap: 10px;
}

.theme {
  height: 1rem;
  width: 1rem;
  display: inline-block;
  border: solid white 2px;
}

.theme:hover {
  border-color: grey;
  height: 1.3rem;
  width: 1.3rem;
  cursor: pointer;
}

/* Stylings for the sidebar on the right side */

/* styling for the button that displays and hides the sidebar */
.toggle-aside {
  z-index: 3;
  position: absolute;
  top: 50%;
  right: 0em;
  background-color: var(--off-white-block-background);
  border: solid black;
  padding: 3px;
}

.toggle-aside:hover {
  cursor: pointer;
  background-color: #cbc8c8;
  border-width: 8px;
  border-color: black;
}

/* actual stylings for the sidebar */
aside {
  border-left: solid rgb(114, 113, 113) 2px;
  background: url('./imgs/pokeBackground.jpg');
  background-size: contain;
  width: 20%;
  min-height: 100vh;
  min-width: 280px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  transform: translateX(0);
  opacity: 0%;
  transition: all 2s ease-in-out;
}

/* lifelines section*/
.aside-header {
  background-color: var(--off-white-block-background);
  padding-left: 5px;
  padding-right: 5px;
}

.lifelines-container {
  margin-top: 10px;
}

/* styling for each lifeline button */
.lifeline {
  background-color: var(--off-white-block-background);
  border-width: 4px;
}

.lifeline:hover {
  border-width: 12px;
}

/* styling for the different question levels */
.question-levels {
  border: var(--border-design);
  border-radius: var(--curvy-border);
  width: 90%;
  background-color: var(--off-white-block-background);
}

.level {
  text-align: center;
  padding-top: 7px;
  padding-bottom: 7px;
  border-bottom: solid #161615;
}

.lvl1 {
  border-bottom: none;
}

/* styling for the settings, instructions, reset game area */
.bottom-button-container {
  margin-top: 30px;
}

.bottom-button {
  width: fit-content;
  margin: auto;
  margin-bottom: 5px;
  border-width: 4px;
}

/* styling for the pop-up box in the middle of the screen when you click on the instructions or settings button */
.pop-up-box {
  padding-left: 10px;
  padding-right: 10px;
  z-index: 2;
  height: 60%;
  width: 65%;
  border: var(--border-design);
  border-radius: var(--curvy-border);
  background-color: var(--off-white-block-background);
  position: absolute;
  top: 20%;
  left: 18%;
}

/* stylings for the settings form in the pop-up */
.setting-selections {
  margin-top: 20px;
}

.settings-form {
  display: block;
  width: fit-content;
  margin: auto;
  font-size: 1.1rem;
  margin-top: 20px;
}

select {
  font-family: 'Gloria Hallelujah', cursive;
  text-align: center;
  display: block;
  width: 80%;
  margin: auto;
}

/* stylings for buttons in the setting AND intro screen */
.setting-selections button,
.intro-screen button {
  border: solid black 2px;
  margin: 30px auto 0px auto;
  width: 50%;
  display: block;
}

.setting-selections button:hover,
.intro-screen button:hover {
  border-width: 5px;
  background-color: rgb(173, 168, 168);
}

.setting-selections button:active,
.intro-screen button:active {
  font-size: 1rem;
}

/* styling for the X in the pop ups */
.exit-button {
  position: absolute;
  top: 2%;
  left: 1%;
  z-index: 4;
  height: 1.2rem;
  width: 1.2rem;
  margin-top: 2px;
  border: solid black 2px;
  background-color: var(--off-white-block-background);
}

.exit-button:hover {
  background-color: rgb(173, 168, 168);
  border-width: 4px;
  height: 1.5rem;
  width: 1.5rem;
  cursor: pointer;
}

/* styling for the "return to game" button */
.return-to-game {
  display: block;
  width: fit-content;
  margin: 5px auto 5px auto;
  border: solid black 3px;
}

.return-to-game:hover {
  border-width: 5px;
  background-color: rgb(173, 168, 168);
}

.return-to-game:active {
  font-size: 1rem;
}

/*-------MEDIA QUERIES ------------------------------*/
@media (min-width: 1375px) {
  .header-section {
    justify-content: space-around;
  }
  .profile-pic {
    margin-right: 40px;
    width: 125px;
  }
}

@media (min-width: 1265px) {
  h1 {
    font-size: 2.5rem;
    margin-left: 50px;
    padding: 5px;
  }
  .question {
    font-size: 1.5rem;
  }
  .display-question-level,
  .timer {
    font-size: 1.2rem;
  }
  .answer {
    font-size: 1.4rem;
    line-height: 1.6rem;
  }
}

@media (min-width: 1630px) {
  h1 {
    font-size: 3rem;
    margin-left: 50px;
    padding: 5px;
  }
  h2 {
    font-size: 2.2rem;
  }
  .profile {
    font-size: 1.4rem;
  }
  .pop-up-box p,
  .pop-up-box ul,
  .pop-up-box ol {
    font-size: 1.3rem;
  }

  .pop-up-box h3 {
    font-size: 1.5rem;
  }

  .return-to-game {
    font-size: 1.3rem;
  }

  /* setting pop-up media queries  */
  .settings-form {
    font-size: 1.4rem;
    margin-top: 10px;
  }

  .settings-form select {
    font-size: 1.3rem;
    width: 80%;
  }

  .setting-selections button {
    width: 60%;
    font-size: 1.3rem;
  }

  .setting-selections button:hover {
    border-width: 5px;
    background-color: rgb(173, 168, 168);
  }

  .setting-selections button:active {
    font-size: 1.2rem;
  }

  /* intro screen media queries */
  .intro-screen {
    font-size: 1.34rem;
  }

  .welcome-statement {
    font-size: 3rem;
  }
}

/* ----HELPER CLASSES TO BE ADDED AND REMOVED FOR EFFECTS ---*/

/* translates away the sidebar */
.translate-away {
  transform: translate(100%);
  transition: all 4s ease-in-out;
}

/* highlights the current level in the level ladder in the sidebar */
.current-level {
  background-color: #de9a8e;
  border: solid red 4px;
}

/* allows for disabling specific buttons and containers */
.disable-button {
  cursor: none;
  pointer-events: none;
}

/* allows to disable ALL buttons or disable all buttons when needed (regardless of the state of the game */
.disable-all {
  cursor: none;
  pointer-events: none;
}

/* for the answer box, when the player is playing */
.yellow-background {
  background-color: #fff9c4;
}
.green-background {
  background-color: #4caf50;
}
.red-background {
  background-color: #ff0000;
}

/* hides an element */
.display-none {
  display: none;
}

/* fades the background slightly when the pop-up shows up */
.decrease-opacity {
  opacity: 30%;
}

/* fades in and out (used for the intro screen */
.fade-in {
  opacity: 100%;
  transition: all 1s ease-in-out;
}

.fade-out {
  opacity: 0%;
  transition: all 1s ease-in-out;
}

/* strikes through for 50/50 lifeline */
.strikethrough {
  text-decoration: line-through;
  background-color: rgb(228, 62, 62);
}
