@import url('https://fonts.googleapis.com/css2?family=BBH+Sans+Hegarty&family=Playwrite+US+Modern:wght@100..400&family=Roboto+Mono:wght@100..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Creepster&family=Metal+Mania&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Berkshire+Swash&family=Great+Vibes&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Mali:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;1,200;1,300;1,400;1,500;1,600;1,700&family=Ribeye+Marrow&display=swap');
/* ^ FONTS DO NOT DELETE ^ */
h1.theme-halloween {
  font-family: 'Creepster', cursive !important;
  text-shadow: 2px 2px 3px #000 !important;
  font-weight: normal !important;
}
.theme-halloween #whatsloading {
  font-family: 'Creepster', cursive !important;
  font-weight: normal !important;
  color: #ff8a14 !important;
}
.theme-halloween #loader {
  border: 16px solid #282828 !important;B
  border-top: 16px solid #ff8a14 !important;
}
.theme-halloween #progressBar {
  background-color: #282828;
  background-image: linear-gradient(to right, #ff8a14, #ff8a14) !important;
}
.theme-halloween #head-title {
  font-family: 'Metal Mania', system-ui !important;
  font-weight: normal !important;
  font-style: normal !important;
  text-shadow: 5px 5px 5px rgba(0, 0, 0, 0.60);
  color: #520000 !important;
}
.theme-halloween #pumpkin1, .theme-halloween #pumpkin2 {
  display: block !important;
}
body.theme-halloween .menu-button {
  background-color: #ff8a14 !important;
}
body.theme-halloween .menu-button:hover {
  background-color: #ffb469 !important;
}
.theme-halloween #menu-title {
  color: #ff8a14 !important;
}


h1.theme-christmas {
  font-family: "Berkshire Swash", serif !important;
  font-weight: normal !important;
} 
.theme-christmas #whatsloading {
  font-family: "Berkshire Swash", serif !important;
  font-weight: normal !important;
  color: green;
}
.theme-christmas #loader {
  border: 16px solid indianred !important;
  border-top: 16px solid green !important;
}
.theme-christmas #progressBar {
  background-color: indianred !important;
  background-image: linear-gradient(to right, green, green) !important;
}
.theme-christmas #head-title {
  font-family: "Great Vibes", cursive !important;
  font-weight: 500 !important;
  font-style: normal !important;
}
.theme-christmas #bells, .theme-christmas #ornament {
  display: block !important;
}
.theme-christmas #menu-title {
  color: red !important;
}
.theme-christmas .menu-button {
  background-color: red !important;
  color: lightgreen !important;
}
.theme-christmas .menu-button:hover {
  background-color: indianred !important;
  color: green !important;
}


.theme-easter #egg1, .theme-easter #egg2 {
  display: block !important;
}
.theme-easter #head-title {
  font-family: "Ribeye Marrow", serif !important;
  font-weight: normal !important;
  font-style: normal !important;
}
.theme-easter #whatsloading {
  font-family: "Mali", cursive !important;
  font-weight: normal !important;
}/* #de5db1 */
h1.theme-easter {
  font-family: "Mali", cursive !important;
  font-optical-sizing: auto !important;
  font-weight: normal !important;
} 
.theme-easter #loader {
  border: 16px solid #fff3c2 !important;
  border-top: 16px solid #fad234 !important;
}
.theme-easter #progressBar {
  background-color: #fff3c2 !important;
  background-image: linear-gradient(to right, #fad234, #fad234) !important;
}
body.theme-easter .menu-button {
  background-color: #fac800 !important;
}
body.theme-easter .menu-button:hover {
  background-color: #fff3c2 !important;
}
#pumpkin1 {
  width: 79.8px;
  height: 102.4px;
  position: fixed;
  bottom: 65px;
  transform: rotate(8deg);
  right: 12px;
  display: none;
}
#pumpkin2 {
  width: 102.4px;
  height: 94.2px;
  position: fixed;
  bottom: 35px;
  transform: rotate(-5deg);
  left: 11px;
  display: none;
}
#bells {
  width: 102.4px;
  height: 84.7px;
  position: fixed;
  bottom: 35px;
  transform: rotate(-8deg);
  left: 11px;
  display: none;
}
#ornament {
  width: 85px;
  height: 102.4px;
  position: fixed;
  bottom: 65px;
  transform: rotate(8deg);
  right: 12px;
  display: none;
} /*  */
#egg1 {
  width: 80.1px;
  height: 102.4px;
  position: fixed;
  bottom: 65px;
  transform: rotate(8deg);
  right: 12px;
  display: none;
}
#egg2 {
  width: 77.7px;
  height: 102.4px;
  position: fixed;
  bottom: 35px;
  transform: rotate(-5deg);
  left: 11px;
  display: none;
}
#countdowns {
  display: flex;
  flex-direction: column;
}
p {
  font-family: 'Roboto Mono', monospace;
  font-size: 2.5vw;
  text-align: center;
  cursor: default;
  margin: 8px;
}
#Mtitle {
  font-size: 30px;
  color: lightgrey;
  text-shadow: none;
  font-weight: bolder;
  -webkit-text-stroke: 1px black;
  -moz-text-stroke: 1px black;
  text-stroke: 1px black;
}
#countdowns p:last-of-type {
  margin-bottom: 50px !important;
}
h1 {
  font-family: 'Playwrite US Modern', cursive;
  font-weight: bold;
  font-size: 3vw;
  text-align: center;
  cursor: default;
  margin-top: 12px;
  margin-bottom: 2px;
}
#countdowns h1:first-of-type {
  margin-top: 0px !important;
}
#vs {
  position: fixed;
  left: 10px;
  bottom: 10px;
  font-size: 20px;
  color: #1f1f1f;
  font-style: italic;
  font-family: 'Roboto Mono', monospace;
}
#EndSchoolT {
  color: indianred;
}
#PatricksT {
  color: darkgreen;
}
#EasterT {
  color: darkviolet;
}
#HalloweenT {
  color: darkcyan;
}
#ChristmasT {
  color: black;
}
#MonthT {
  color: teal;
}
#YearT {
  color: gold;
}
#ThanksgivingT {
  color: saddlebrown;
}
#winter {
  animation: winterflash 3s infinite linear;
}
@keyframes winterflash {
  0% { color: deepskyblue; }
  50% { color: lightblue; }
  100% { color: deepskyblue; }
}
#halloween {
  animation: halloweenflash 3s infinite linear;
}
@keyframes halloweenflash {
  0% { color: orange; }
  50% { color: yellow; }
  100% { color: orange; }
}
#patricks {
  animation: patricksflash 3s infinite linear;
}
@keyframes patricksflash {
  0% { color: darkgreen; }
  50% { color: lightgreen; }
  100% { color: darkgreen; }
}
#head-title {
  font-family: 'BBH Sans Hegarty', sans-serif;
  font-size: 8vw;
  text-align: center;
  margin: 0px;
  display: block; 
  font-weight: normal;
  font-style: normal;
  padding: 0px;
  -webkit-text-stroke: 1px white;
  -moz-text-stroke: 1px white;
  text-stroke: 1px white;
}
header {
  text-align: center; 
  width: 100%;
  order: -1;
}
body {
  background-color: white;
  margin: 0px;
  padding: 0px;
  width: 100%;
  height: 100%;
  user-select: none;
  -webkit-user-select: none; /* Chrome, Safari, Opera */
  -moz-user-select: none;    /* Firefox */
  -ms-user-select: none;     /* Edge, IE */
}
#BG {
  background:white url(background-image.png) repeat fixed;
  /*min-width: 100vw;*/
  min-height: 100vh;
  width: 100%;
  height: 100%;
}
#form {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: 5px;
  font-size: 25px;
  font-weight: bold;
  text-decoration: underline;
  animation: form 2s infinite linear;
  font-family: 'Roboto Mono', monospace;
  cursor: pointer;
}
@keyframes form {
  0% { color: blue; }
  50% { color: deepskyblue; }
  100% { color: blue; }
}
#lang-switch {
  display: none;
}
.snowflake {
  position: fixed;
  top: -15vh;
  user-select: none;
  pointer-events: none; 
  z-index: 0;
  opacity: 0.9;
}
@keyframes fallAndSpin {
  0% {
    transform: translateY(0) rotate(0deg);
  }
  100% {
    transform: translateY(125vh) rotate(360deg);
  }
}
/* ------------------------------------------------------------------------------------------------------------------------------------------------------ */
/* 1. OVERLAY (Ensures the menu covers the entire screen for focus) */
.menu-overlay {
  /* Use fixed position to cover the entire viewport */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* Center the menu container itself */
  display: flex;
  justify-content: center;
  align-items: center;
  /* Semi-transparent background to dim the content behind the menu */
  background-color: rgba(0, 0, 0, 0.7); 
  z-index: 1000; /* Ensure it's on top of everything */
}
/* 2. MENU CONTAINER (The box itself) */
.menu-container {
  /* Set the fixed width */
  width: 600px;
  /* Set the aspect ratio: 16 (width) / 4 (height) = 4 */
  aspect-ratio: 4 / 1;
  /* Background image setup */
  background-image: url('SeamlessBackground.png');
  background-size: 200px 200px;
  background-position: center;
  border: 5px solid #333;
  border-radius: 10px;
  /* Flexbox for inner content stacking and button placement */
  display: flex;
  flex-direction: column;
  justify-content: space-between; /* Pushes content and button to opposite ends */
  align-items: center; /* Centers items horizontally */
  padding: 20px;
  box-sizing: border-box;
  background-repeat: repeat;
}
/* 3. MENU CONTENT (Text Area) */
.menu-content {
  /* Allows the text content to take up the necessary vertical space */
  flex-grow: 1; 
  width: 100%;
  text-align: center;
  color: white; 
  text-shadow: 1px 1px 2px black; 
}
/* 4. BUTTON STYLES */
.menu-button {
    padding: 10px 30px;
    font-size: 1.2em;
    cursor: pointer;
    background-color: #f2e099;
    color: white;
    border: 3px outset darkgrey;
    border-radius: 5px;
    margin-top: 15px;
}
.menu-button:hover {
  background-color: #f2e6b3;
}
.menu-button:active {
  border: inset;
}
#menu-title {
  font-size: 50px;
  color: #f2e099;
  text-shadow: none;
  font-weight: bolder;
  -webkit-text-stroke: 1px black;
  -moz-text-stroke: 1px black;
  text-stroke: 1px black;
}
/* -------------------------------------------------------------------------------------------------------------------------------------------------- */
.mdy {
  position: fixed;
  left: 10px;
  bottom: 28px;
  font-size: 20px;
  color: black;
  font-weight: normal;
  cursor: pointer;
  font-family: 'Roboto Mono', monospace;
}
.mdy:hover {
  font-weight: bold;
}
h1, p {
  order: 0; /* Default order for everything */
}
@media screen and (max-width: 600px) {
  h1 {
    font-size: 5.5vw;
    margin-top: 8px;
    margin-bottom: 5px;
  }
  #whatsloading {
    display: none;
  }
  p {
    font-size: 5.5vw;
    margin: 2px;
  }
  #info-menu-overlay {
    display: none;
  }
  #pumpkin2 {
    width: 68.26666px; /* repeating */
    height: 62.8px;
  }
  #pumpkin1 {
    width: 53.2px;
    height: 68.26666px; /* repeating */
  }
  #bells {
    width: 68.26666px;
    height: 56.46666px; /* repeating */
  }
  #ornament {
    width: 56.6666px; /*repeating */
    height: 68.26666px; /* repeating */
  }
  #egg1 {
    width: 53.4px;
    height: 68.26666px; /* repeating */
  }
  #egg2 {
    width: 51.8px;
    height: 68.26666px; /* repeating */
  }
  .mdy {
    left: 8px;
    font-size: 15px;
  }
}
@media only screen and (min-width: 601px) and (max-width: 1024px) {
  h1 {
    font-size: 4vw;
    margin-top: 10px;
    margin-bottom: 8px;
  }
  #whatsloading {
    font-size: 6vh;
  }
  p {
    font-size: 3.5vw;
    margin: 10px;
  }
}