/* Apply flexbox to the body for full-height layout */
:root {
  --violet-deep: #28136e;
  --violet-corner: #4021a8;
  --near-black: #080b2b;
  --void: #030515;
}

body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  height: 100vh;
  margin: 0;

  background:
    radial-gradient(
      circle at top right,
      var(--violet-corner) 0%,
      transparent 35%
    ),
    radial-gradient(
      circle at center,
      var(--violet-deep) 0%,
      var(--near-black) 55%,
      var(--void) 100%
    );
  background-attachment: fixed;
  color: var(--text);
  font-family:
    "Inter",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  min-height: 100vh;
  margin: 0; /* keep this — without it the browser's default body margin leaves a blank strip around the edge, outside the gradient */
  -webkit-font-smoothing: antialiased;
}

* {
  box-sizing: border-box;
}

img,
video {
  max-width: 100%;
  height: auto;
}

.flex-child {
  max-width: 100%;
}

/* general/universal logos */
#logo {
  width: 700px;
  height: 400px;
  margin-bottom: -150px;
  margin-top: -100px;
  margin-left: -30px;
}

#forgot-password-box {
  background-color: rgba(0, 0, 0, 0.5); /* Black with 50% transparency */
  color: white; /* Adjust text color for contrast */
  padding: 20px;
  border-radius: 5px; /* Optional styling */
  max-width: 500px; /* Limit width if needed */
  max-height: 380px; /* Limit height if needed */
  box-shadow: 0px 4px 8px rgba(213, 12, 213, 0.3); /* Add shadow */
  transition: box-shadow 0.3s ease; /* Animate shadow */
}

#forgot-password-box:hover {
  box-shadow: 0px 8px 16px rgba(2, 40, 111, 1); /* Enhanced shadow on hover */
}

/* Footer styles */
footer {
  width: 100%; /* Footer spans full width */
  text-align: center;
  padding: 10px;
  background-color: rgba(
    0,
    0,
    0,
    0.6
  ); /* Optional: semi-transparent background */
  color: white;
  font-size: 14px;
}

.content-div-parent-global {
  background-color: #f3f3f3;
  border: 1px solid #ccc;
  border-radius: 10px;
  text-align: center;
  width: 250px;
  padding: 15px 25px;
  margin-bottom: 20px; /* Spacing between the items */
  justify-content: center; /* Vertically centers the items */
  transition: transform 0.5s ease;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.content-div-parent-global:hover {
  box-shadow: 0px 8px 16px rgba(2, 40, 111, 1); /* Enhanced shadow on hover */
  transform: scale(1.1);
}

#content-div-child-global {
  background-color: rgba(0, 0, 0, 0.5); /* Black with 50% transparency */
  color: white; /* Adjust text color for contrast */
  padding: 20px;
  border-radius: 5px; /* Optional styling */
  max-width: 950px; /* Limit width if needed */
  height: 100%;
  box-shadow: 0px 4px 8px rgba(213, 12, 213, 0.3); /* Add shadow */
  transition: box-shadow 0.3s ease; /* Animate shadow */
  cursor: pointer;
  margin-bottom: 20px; /* Spacing between the items */
  text-align: center;
  justify-content: center; /* Vertically centers the items */
}

#content-div-child-global img {
  width: 100%;
  height: auto;
  display: block;
}

/* ~~~~~~~~~~~~~Responsive adjustments for smaller screens~~~~~~~~~~~~~~~ */
@media (max-width: 480px) {
  body {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    height: 100vh;
    margin: 0;

    background-image: url("../../../css/qh_body_background.svg"); /* or .png, .svg, etc. */
    background-size: cover; /* Makes the image cover the whole page */
    background-repeat: no-repeat; /* Prevents tiling */
    background-position: center; /* Centers the image */
    background-attachment: fixed; /* Optional: Keep background fixed on scroll */
  }

  * {
    box-sizing: border-box;
  }

  img,
  video {
    max-width: 100%;
    height: auto;
  }

  .flex-child {
    max-width: 100%;
  }
  /* Footer styles */
  footer {
    width: 100%; /* Footer spans full width */
    text-align: center;
    padding: 10px;
    background-color: rgba(
      0,
      0,
      0,
      0.6
    ); /* Optional: semi-transparent background */
    color: white;
    font-size: 14px;
  }
}

/* Fine-tune for medium screens - Tablet Portrait */
@media (min-width: 600px) and (max-width: 1024px) and (orientation: portrait) {
  body {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    height: 100vh;
    margin: 0;

    background-image: url("../../../css/qh_body_background.svg"); /* or .png, .svg, etc. */
    background-size: cover; /* Makes the image cover the whole page */
    background-repeat: no-repeat; /* Prevents tiling */
    background-position: center; /* Centers the image */
    background-attachment: fixed; /* Optional: Keep background fixed on scroll */
  }

  * {
    box-sizing: border-box;
  }

  #logo {
    width: 650px;
    height: 650px;
    margin-left: 10px;
    margin-top: -50px;
    margin-bottom: -200px;
  }
}
