html, body {
  zoom: .87;
}

body {
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  font-size: 16pt;
  background-image: url("/img/background-redalert.gif");
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  margin: 0;
  position: relative;
  background: #ffcccc;
  padding: 0 100px;
  min-height: 100vh;
  overflow-x: hidden;
  overflow-y: auto;
}


/* Glowing swirling gradient that moves around the screen */
body::before {
  content: "";
  position: absolute;
  width: 200%;
  height: 100%;
  background: radial-gradient(
    circle at center,
    #ffffff 15%,
    #ffc2c2 35%,
    #ff9b9b 60%,
    #ffffff 80%
  );
  opacity: 0.7;
  filter: blur(80px);
  z-index: -1;
  animation: swirl 8s ease-in-out infinite;
}

@keyframes swirl {
  0% {
    top: -50%;
    left: -50%;
    transform: rotate(0deg) scale(1);
  }
  25% {
    top: -30%;
    left: 0%;
    transform: rotate(90deg) scale(1.1);
  }
  50% {
    top: 0%;
    left: -20%;
    transform: rotate(180deg) scale(1.05);
  }
  75% {
    top: -30%;
    left: -60%;
    transform: rotate(270deg) scale(1.15);
  }
  100% {
    top: -50%;
    left: -50%;
    transform: rotate(360deg) scale(1);
  }
}

html, body {
  /* Disable any automatic overflow styling */
  scrollbar-width: none;       /* Firefox */
  -ms-overflow-style: none;    /* IE 10+ */
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
  width: 0;
  height: 0;
}

h1{
  font-family: "Merriweather", serif;
  font-weight: 400;
  font-size: 45px;
}

h2{
  font-family: "Merriweather", serif;
  font-weight: 400;
  font-size: 35px;
  line-height: 1;
}

/* 1. Header container: space between logo and menu */
header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 40px;
  padding-bottom: 40px;
  height: 80px; /* adjust as needed */
  max-width: 1600px;
  width: 100%;
  margin: 0 auto; 
}

/* 2. Logo + “Red Alert” text */
.logo {
  display: flex;
  align-items: center;
  gap: 10px;
}

.logo img {
  height: 50px; /* scale logo */
  width: auto;
}

.logo span {
  color: #BF1724;
  font-family: 'Merriweather', serif;
  font-size: 33.846px !important;
  font-weight: 400;
}

/* 3. Nav container */
nav.menu {
  display: flex;
  align-items: center;
  gap: 30px;                 /* space between links */
}

/* 4. Top‐level links (Play, More, Share trigger) */
nav.menu > a,
.share > a {
  color: #750009;
  font-family: 'Open Sans', sans-serif;
  font-size: 33.846px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  text-decoration: none;
  cursor: pointer;
  transition: color .2s ease;
}

nav.menu > a:hover,
.share > a:hover {
  color: #BF1724;
}

/* 5. Positioning the dropdown */
.share {
  position: relative;
}

.share-open {
  position: absolute;
  top: 105%;   /* sits just below the “Share” trigger */
  right: 0;
  background-color: #750009;
  display: none;            /* hidden by default */
  flex-direction: column;
  padding: 25px 0;
  border-radius: 6px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  z-index: 100;
}

/* 6. Links inside dropdown */

.share-open a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0px 25px;
  min-width: 200px;
  color: #EEECEC;
  font-family: 'Open Sans', sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: normal;
  text-decoration: none;
  transition: color .2s ease;
}

/* 7. Hover state inside dropdown */
.share-open a:hover,
.share-open a:hover i {
  color: #F4A7AD;
}

/* 8. Utility class to show/hide dropdown */
.share.open .share-open {
  display: flex;
}

.start-quiz{
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 15rem;
  gap: 1rem;
}

button{
  font-size: 22px;
  border-radius: 200px;
  padding: 20px 40px;
  background-color: #BF1724;
  color: white;
  border: none;
  cursor: pointer;
  text-decoration: none;
}

#progress-bar {
    display: flex;
    gap: 4px;
    margin-left: 20px;
    height: 10px;
    flex-grow: 1;
    align-items: center;
  }
  
  .progress-segment {
    flex: 1;
    height: 100%;
    background-color: lightgray; /* fallback */
  }

  /* ─── 2) Two-column quiz layout ────────────────────────────────── */
  #quiz-container {
    display: flex;
    gap: 100px;
    max-width: 1600px;
    margin: 0 auto;
  }

  #quiz-container > .image-section {
    min-height: 0;
    display: flex;
    max-width: 1600px;
    flex: 0 0 40%;
    flex-direction: column;
    align-items: center; 
  }

  #quiz-container > div:first-child {
    flex: 0 0 60%;
    max-width: 60%;
  }

  /* 3) Ensure the image can grow/shrink inside that flex */
  .image-section img {
    max-height: 80%;      
    max-width: 80%;
    width: auto;
    object-fit: contain;     /* preserve aspect ratio */
    padding-top: 25px;
    padding-right: 25px;
  }

.image-section button {
  align-self: center;       /* center horizontally */
  margin-top: 20px;         /* spacing above it */
  margin-bottom: 15px;
}


/* ─── 3) Question styling ───────────────────────────────────────── */
#quiz-container h2 {
  color: #000;
  font-family: 'Merriweather', serif;
  font-weight: 400;
  margin-bottom: 38px;
}

/* ─── 4) Answer buttons ─────────────────────────────────────────── */
.answer-box {
  width: 60%;                         /* 60% of left pane */
  background: transparent;
  color: #000;
  font-family: 'Open Sans', sans-serif;
  font-size: 22px;
  font-weight: 400;
  text-align: center;
  border-radius: 35px;
  border: 2px solid #000;
  padding: 20px 20px;
  margin-bottom: 15px;
  cursor: pointer;
  position: relative;                 /* for the icons */
  transition: border-color .2s ease, color .2s ease;
  width: 100%;
}

.answer-box:hover {
  color: rgba(117, 0, 9);
  border-color: rgba(117, 0, 9);
}

.answer-box.disabled {
  pointer-events: none;
}


.answer-box.disabled:hover {
  cursor: default;
}


.answer-box i {
  margin-right: 12px;
  vertical-align: middle;
}


/* ─── 7) Accordion explanation inside button ─────────────────────── */
.answer-box .explanation {
  display: block;
  text-align: left;
  font-size: 16px;
  background: inherit;                /* inherits white / red-opacity */
  color: inherit;                    /* matches button text */
  line-height: 1.35;
}


/* ─── Tablet/Desktop-narrow (≤1000px): revert to flex, button sits 30px under image ───────────────────────────── */
@media (max-width: 1100px) {
  /* 1) Go back to your original flex split */
  #quiz-container {
    display: flex;
    gap: 20px;
    align-items: flex-start;
  }
  #quiz-container > div:first-child {
    flex: 0 0 60%;
  }
  #quiz-container > .image-section {
    flex: 0 0 40%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;  /* stack at top */
    padding-left: 20px;
  }

  /* 2) Let the image size naturally again */
  .image-section img {
    width: 100%;
    height: auto;
    object-fit: contain;
    max-height: none;
  }

  /* 3) Place the button 30px below the image */
  .image-section button {
    align-self: center;
    margin: 30px 0 0;  /* 30px top, 0 right/left/bottom */
  }
}


/*MORE PAGE*/
.more-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 1600px;
  margin: 40px auto;
  padding: 0 20px;
}

/* Info Boxes */
.info-box {
  display: flex;
  align-items: center;
  gap: 40px; 
  background: #fff;
  border-radius: 12px;
  padding: 30px;
  margin-bottom: 24px;
  box-shadow: 0 0 15px rgba(0,0,0,0.3);
}
.info-box img {
  flex: 0 0 120px;
  height: auto;
  object-fit: contain;
  float: none;
  width: 120px;
  margin: 0 0 10px 10px;
}
.info-box::after {
  content: "";
  display: table;
  clear: both;
}
.info-box p {
  flex: 1 1 auto;
  margin: 0;
  font-family: 'Open Sans', sans-serif;
  color: black;
  line-height: 1.35;
  font-size: 16px;
}
/* Quiz Summary */
.summary-question {
  margin-bottom: 10px;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow-wrap: break-word;
}
.summary-question h3 {
  font-family: 'Merriweather', serif;
  font-weight: 400;
  font-size: 24px;
  margin-bottom: 25px;
  margin-top: 0;
  color: #000;
}
.summary-question .answers {
  display: flex;
  flex-direction: column;
}
.summary-question .answer-box {
  position: relative;
  padding: 12px 20px;
  border: 1.5px solid #000;
  border-radius: 35px;
  background: transparent;
  text-align: center;
  font-size: 16px;
  cursor: default;
  width: 92% !important;
}
.summary-question .answer-box.selected.incorrect {
  background: rgba(117,0,9,0.6);
  color: #fff;
  border-style: none;
  
}
.summary-question .answer-box.correct {
  background: #750009;
  color: #fff;
  box-shadow: 0 0 15px rgba(0,0,0,0.3);
  border-style: none;
}

@media (max-width: 1200px) {

  /* MORE PAGE: stack icon over text, tighten spacing */
  .info-box {
    flex-direction: column;    /* image sits above text */
    align-items: center;       /* center image horizontally */
    gap: 20px;                 /* reduce from 40px */
    padding: 20px;             /* reduce from 30px */
  }
  .info-box p {
    font-size: 14px;
  }
  .info-box img {
    order: -1;                 /* move img before text */
    margin: 0 auto 12px;       /* center + 12px bottom gap */
    flex: 0 0 auto;            /* natural size */
    width: 120px;              /* keep fixed width */
    height: auto;
  }
  /* shrink the summary question heading */
  .summary-question h3 {
    font-size: 20px;           /* from 24px down to 20px */
    margin-bottom: 16px;
  }

  /* QUIZ SECTION: smaller question text & buttons */
  #quiz-container h2 {
    font-size: 28px;           /* from 32px down to 28px */
    margin-bottom: 24px;
  }
  .answer-box {
    font-size: 18px;           /* from 22px down to 18px */
    padding: 16px 18px;        /* slightly tighter */
    margin-bottom: 12px;       /* consistent with quiz summary */
  }
}

.more-container {
  width: 100%;
  max-width: 1600px;
  margin: 40px auto;
  padding: 0 20px;
  box-sizing: border-box;
}

.more-container .qa-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: auto;      
  gap: 40px;
}

.more-container .qa-row:nth-child(even) {
  grid-template-areas: "summary info";
}
.more-container .qa-row:nth-child(odd) {
  grid-template-areas: "info summary";
}

.more-container .qa-row .info-box {
  grid-area: info;
}
.more-container .qa-row .summary-question {
  grid-area: summary;
}

.more-container .qa-row .info-box,
.more-container .qa-row .summary-question {
  box-sizing: border-box;
  overflow-wrap: break-word; /* wrap long text */
}

.references {
  margin: 2rem auto;
  max-width: 1600px;
}

.references h2 {
  font-family: 'Merriweather', serif;
  font-size: 24px;
  color: #750009;
  margin-bottom: 1rem;
  padding-left: 3%;
}

.ref-grid {
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 2rem;  
  row-gap: .75rem;
}

.ref-link {
  color: #BF1724;
  text-decoration: underline;
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1.4;
}

.ref-link:hover {
  color: #750009;
}

body.more-page .share > a {
  font-weight: 600 !important;
}