
    .clearfix::after {
        content: "";
        display: table;
        clear: both;
      }

    *, ::after, ::before {
        box-sizing: border-box;
    }
                
    * {
        /* font-family: 'Lato', sans-serif !important; */
        /* font-family: 'baloo', sans-serif !important; */
        /* font-family: 'Sans Comic Sans', sans-serif !important; */
          /* font-family: 'Baloo 2' !important; */
          font-family: 'Baloo 2';
          font-weight: 300; 
          /* Use 300 for Thin, 400 for Regular, 500 for Medium, 700 for Bold, etc. */
      
                                                
    }


    body {
        height: 100vh;
        height: 100%;
        margin: 0;
        display: flex; flex-direction: column;
        /* background: linear-gradient(to bottom, rgba(237, 231, 231, 0), rgba(164, 209, 255, 0.257)); */

    }

    /* for small devices */
    html, body {
      touch-action: manipulation; /* Prevents double-tap to zoom */
      -webkit-user-select: none; /* For older Safari versions */
      user-select: none; /* Prevents text selection on double-tap */
    }

  
    h1 {
      margin: 10px 0;
    }
    p, ol, ul {
        font-size: 1rem; 
        line-height: 25px;
    }

    li {
        font-size: 1.25rem; 
        padding: 10px;
    }

    li a {
        padding: 10px;
    }

    p {
        margin: 4px;
    }

    h2 {
        margin: 0px;
        padding: 15px;
        font-size: 2.5rem; 
    }

    h3 {
        margin: 0px;
        padding: 10px;
        font-size: 2rem; 
    }

    /* classes */

    .display-none{
      display: none;
    }
    .grid-main, .grid-menu, .grid-score {
        /* background-image: linear-gradient(to bottom, #f4f0f0,#FFF); */
        background-color: #FFF;

    }

    .grid-footer  h3 {
      padding: 3px;  
    }
    
    /* .grid-footer  h3:first-child {
      padding-left: 22px;  
    } */

    .float-right {
        float: right;
    }

    .float-left {
        float: left;
    }

    .container-horizontal-tile-flex {
        display: flex;
        flex-direction: row;
        align-items: center;
        align-content: center;   
        /* justify-content: center;  */

        padding: 5px 0px 5px;        
        box-sizing: border-box; /* Ensure padding is included in the width/height calculation */
    }
  
    .centre-block {
      margin: 0 auto;
      /* width: 90%;  */
    }

    .centre-block-flex {
      display: flex;
      /* flex-direction: row; */
      align-items: center;
      align-content: center;  
        justify-content: center; 

    }

  .width-70-pc{
      width: 70%; 
  }    
  .width-80-pc{
      width: 80%; 
  }    
  .item-margin-left-auto {
      margin-left: auto ;
  }
  .item-margin-right-auto {
      margin-right: auto ;
  }

    .flex-justify-content-centre {
      justify-content: center; /* Center horizontally */
    }

    .flex-justify-content-flex-end {
      justify-content: flex-end;
    }
 
    .margin-left-auto {

      margin-left: auto;

    }

    .container-horizontal-tile-flex-not-centered {
        display: flex;
        flex-direction: row;
        justify-content: space-around;
        padding: 10px;      
    }

    .spiral-holder {
      display: flex;
      justify-content: space-around;
      margin-bottom: -15px; /* Adjust to position the lines closer to the container */
  }

  .spiral-line {
      width: 4px; /* Adjust thickness of the lines */
      height: 45px; /* Adjust height of the lines */
      background: #1c1a1a; /* Color of the lines */
      margin-bottom: -20px; /* Adjust to position the lines overlapping the container */
      z-index: 2;
  }

  .margin-top-30px {
    margin-top: 30px;
  }

    .container-horizontal-tile-flex-start {
        display: flex;
        flex-direction: row;
        flex-direction: wrap;
        justify-content: flex-start;
        gap: 10px; /* Optional: adds space between items */
    }

    .flex-item-footer {
      /* background-color: lightblue; */
      /* margin: 10px; */
      /* padding: 20px; */
      /* flex: 1 1 100px; flex-grow, flex-shrink, flex-basis */
    }

    .container-flex-start {
      justify-content: flex-start; /* Aligns items to the left */
      gap: 10px; /* Optional: adds space between items */
    }

    .flex-space-between {
       justify-content: space-between;
    }
    .flex-space-evenly {
        justify-content: space-evenly; 
    }

    .flex-align-start {
        align-items: flex-start;
    }

    .flex-fixed-width-200px {
      width: 200px; /* Set the fixed width */
      flex: 0 0 auto; /* Do not grow or shrink */
    }

    .flex-fixed-width-100pc {
      width: 100%; /* Set the fixed width */
      flex: 0 0 auto; /* Do not grow or shrink */
    }

    .flex-fixed-width-80pc {
        width: 80%; /* Set the fixed width */
        flex: 0 0 auto; /* Do not grow or shrink */
    }

    .overflow-y-no-strech {
      overflow-y: auto; /* Enable vertical scrolling when content overflows */
      height: 100%;
    }

    .flex-take-up-remaining-space {
      flex-grow: 1;
    }

  .padding-left-2rem {
    padding-left: 2rem;
  }

  .padding-right-2rem {
    padding-right: 2rem;
  }
    
  .container-vertical-tile-flex {
        /*background-color: #A7E6D7;*/
        display: flex;
        flex-direction: column;
        /* /* align-items: center; */
        padding: 10px 0px 5px;
        flex: 1; /* Allow it to grow and shrink as needed */

    }

    .container-vertical-tile-flex-working {
      /* background-color: #A7E6D7; */
      display: flex;
      flex-direction: column;
      padding: 10px 0px 5px;
      /* flex: 1; */
    }

    .tile-flex-end {
        align-self: flex-end;
    }

    .flex-align-end {
        /* flex-wrap: wrap; */
        display: flex;
        align-content: flex-end;
        /* align-items: flex-end; */
        overflow: scroll; 
    }

    .height-60vh {
        height: 60vh; 
    }
    .height-40vh {
        height: 40vh; 
    }
    .height-50vh {
        height: 50vh; 
    }
    .height-30vh {
        height: 30vh; 
    }

/* grid start */
.grid-header {
  grid-area: header;
}

.grid-menu {
  grid-area: menu;
  /* width: 10vw; */
  width: 100%;
}

.grid-main {
  grid-area: main;
  /* width: 70vw; */
  flex-grow: 1;


}
/* 
.grid-main, .grid-menu{
    background: linear-gradient(to bottom, rgba(237, 231, 231, 0), rgba(164, 209, 255, 0.257));

}
.grid-footer{
    background: linear-gradient(to right, rgba(237, 231, 231, 0), rgba(164, 209, 255, 0.257));
} */

/* body {
    background: linear-gradient(to bottom, rgba(237, 231, 231, 0), rgba(164, 209, 255, 0.257));

} */


.grid-footer {
  grid-area: footer;
  padding: 1em;
}
/* 
.grid-container {
  display: grid;
  grid-template-areas:
    'header header header header header header'
    'menu main main main main right'
    'menu footer footer footer footer footer';
  grid-template-columns: 10vw 1fr 10vw;
  grid-template-rows: auto 1fr auto;
  /* height: 100vh; */
  /* gap: 2px;
  overflow: hidden; */
/* } */ 

/* Ensure that grid items do not overflow the container */
/* .grid-header, .grid-menu, .grid-main, .grid-score, .grid-footer {
  overflow: hidden;
} */

.grid-container {
  display: grid;
  grid-template-areas:
    'header header header header header header'
    'menu main main main main main'
    'menu footer footer footer footer footer';
  /* grid-template-columns: 15vw 1fr 10vw; */
  grid-template-columns: 15vw 1fr auto;
  grid-template-rows: auto 1fr auto;
  gap: 2px;
  overflow: hidden;
}

/* Ensure that grid items do not overflow the container */
.grid-header, .grid-menu, .grid-main, .grid-footer {
  overflow: hidden;
}

/* Ensure the header spans the full width of the viewport */
#header {
  width: 100vw;
  background-color: #fff; /* Adjust this to your desired background color */
}

#headerLogo {
  width: 500px;  /* Adjust the width as needed */
  height: auto;; 
  /* height: 500px;  */
  padding: 10px;
  /* margin-left: 25px; */

}

#headerLogo img {
  width: 100%;
  /* margin-left: 25px; */
  height: auto;
  /* border-radius: 40%; This ensures the image remains round */
}

#headerBanner {
  margin: 0 auto;
}

#headerBanner img {
  max-width: 80%;
  height: auto;
  padding: 10px;
  margin: 0px 100px 0px 0px;
}

.img-and-text-aligned-middle-of-screen{
  /* max-width: 50%; */
  width: 600px;

  height: auto;
  padding: 5px;
}

.img-and-text-aligned-middle-of-screen img{
  padding: 5px;
  max-width: 90%; /* Ensure the image scales down properly */
  height: auto; /* Maintain the aspect ratio */
  display: block;
}

#idLearnAndPlayText{
  padding-right: 50px;
}

.img-200-px img{
  width: 200px;
  height: auto;
}
.rounded-border-img {

  border-radius: 15px;
}

.text-boy-playing-on-ipad {
  font-size: 2.25rem;
  line-height: 1.25;
}

    .grid-container > div {
        /* background-color: rgba(255, 255, 255, 0.8); */
        /* padding: 20px 0; */
        font-size: 30px;
    }

    /* grid-end */
    .grid-score  {
      text-align: center;
      padding: 5px;
      /* width: 40%; */
      height: auto;
      /* width: 20rem; */
      /* height: 20vh; Adjust as needed */
    } 

    .grid-score-inner-container{
      border: 1px solid #ccc;
      border-top-left-radius: 20px;
      border-top-right-radius: 20px;

      border-bottom-left-radius: 10px;
      border-bottom-right-radius: 10px;

      box-shadow: 10px 0 10px -5px rgba(0, 0, 0, 0.5);

      /* box-shadow: 0 10px 50px rgba(0, 0, 0, 0.1); */
    }

    /* navigation – left hand menu */
    li a.active {
        background-color: #2c20b1;
        color: white;
    }

    li a:hover:not(.active) {
        /* background-color: #2e39b3;
        background-color: #2c20b1; */
        background-color: #005f7f;

        color: white;
    }

    .nav-item {
        list-style-type: none;
        /* padding: 0px 5px; */
        padding: 10px;
        text-align: left;

    }

    .sub-nav-link {
        padding: 10px;
    }

    /* nav  */
    /* Styles for the navigation items */
.nav-item {
  position: relative;
}

/* Styles for the links */
.nav-link {
  display: block;
  padding: 12px 16px;
  text-decoration: none;
  color: #333;
  font-family: Arial, sans-serif;
  transition: background-color 0.3s, color 0.3s;
}

/* Active link styles */
.nav-link.active {
  background-color: #0099cc;
  color: #fff;
  font-weight: bold;
  border-radius: 4px;
}

/* Hover effects for links */
.nav-link:hover {
  background-color: #007bb5;
  color: #fff;
  border-radius: 4px;
}

/* Display nested menu on hover */
.nav-item:hover > .container-vertical-tile-flex {
  display: block;
}

/* Styles for sub navigation links */
.sub-nav-link .nav-link {
  padding: 10px 20px;
  font-size: 18px;
}

/* Optional: Additional style for better appearance */
.container-vertical-tile-flex .container-vertical-tile-flex .nav-link:hover {
  background-color: #005f7f;
  color: #fff;
  border-radius: 4px;
}

/* Hide all sub-menu items initially */
/* ul.container-vertical-tile-flex > li > div > ul {
  display: none;
} */

/* don't show on startup */
#maths-menu-children, #english-menu-children {
  display: none;
}
/* END of nav */


#homePageOpenBlurbs  p{
  color: black;
  font-size: 1.5rem;
  padding: 10px;
  margin: 10px;
  line-height: 1.5;
}
    /* maths buttons */
    .button-container {
        display: grid;
        grid-template-columns: repeat(3, 120px);
        grid-template-rows: repeat(3, 120px);
        gap: 10px;
        margin: 20px;
        /* font-size: 2rem; */
    }
    
    .button-container button {
        width: 120px;
        height: 120px;
        font-size: 30px;
        /* font-size: 20px; */
        cursor: pointer;
        border: 1px solid #ccc;
        border-radius: 15px;
        background-color: #fff;
        transition: background-color 0.3s;
        box-shadow: 0 5px 6px 0 rgba(0,0,0,0.24), 0 7px 20px 0 rgba(0,0,0,0.19); /* Shadow */

    }
    
    .button-container button:hover {
        background-color: #e0e0e0;
    }

   
 
    /* sight word card buttons */
    .button-container-sight-words {
      display: flex;
      justify-content: center; /* Center horizontally */
      align-items: center; /* Center vertically */
      height: 100%; /* Ensure the container can expand */
      margin: 20px;
  }
  
  .button-container-sight-words button {
      width: 420px;
      height: 500px;
      font-size: 100px;
      cursor: pointer;
      border: 5px solid #2771f1;
      border-radius: 15px;
      background-color: #fff;
      transition: background-color 0.3s;
      box-shadow: 0 5px 6px 0 rgba(0,0,0,0.24), 0 7px 20px 0 rgba(0,0,0,0.19); /* Shadow */
  }

  

  .spiral-binder-cards:hover {
    background-color: #fff;
  }

  /* back of card image of Hippo Tom */
  .card-image {
    /* display: block; */
    display: flex; /* Use flexbox */
    justify-content: center; /* Center horizontally */
    align-items: center; /* Center vertically */
    margin-left: 50px;
    width: 420px;
    height: 500px;
    border: 5px solid #3566ba;
    border-radius: 15px;
    box-shadow: 0 5px 6px 0 rgba(0,0,0,0.24), 0 7px 20px 0 rgba(0,0,0,0.19); /* Shadow */
    /* Ensure the image covers the dimensions */
    object-fit: cover; 
    /* object-fit: contain;  */

    background: linear-gradient(135deg, #e74c3c 25%, transparent 25%) -50px 0,
                linear-gradient(225deg, #e74c3c 25%, transparent 25%) -50px 0,
                linear-gradient(315deg, #e74c3c 25%, transparent 25%),
                linear-gradient(45deg, #e74c3c 25%, transparent 25%);
    background-size: 100px 100px;
    background-color: #3498db;

    z-index: 10;

    justify-content: center; /* Center horizontally */
    align-items: center; /* Center vertically */
  }
  
  #card-image-img {
    width: 340px;
    height: auto;
    
  }


  #backCardSightWordsDivDummy{
    /* display: none; */
  }

  .sightWordsCardsContainer{
      position: relative; /* Ensure the parent container is relatively positioned */
      width: 420px;
      height: 600px;
  
  }

  #backCardSightWordsDivDummy, #backCardSightWordsDiv {
    position: absolute; /* Position both divs absolutely within the parent */
    top: 0;
    left: 0;
    width: auto;  
    height: auto; 
  }

    .spiral-binder-flip-chart-background {
      background-color: #1ccac8;
      border-radius: 15px;
      /* width: 900px; */
    }

    .button-container-sight-words button:hover {
        background-color: #e0e0e0;
        
    }

  /* Disable hover effect for iPhones and iPads */
  @media (hover: none) and (pointer: coarse) {
    .button-container button:hover {
        background-color: #fff; /* Or whatever the default background color is */
    }
  }
    /* working  */
    .button-container-working-addition {
      display: flex;
      flex-direction: row;

      gap: 1px;
      margin: 1px;

      display: flex;
      flex-direction: column;
      align-items: center;
    }

      .button-container-working {
        /* display: grid; */
        /* grid-template-columns: repeat(3, 30px);
        grid-template-rows: repeat(3, 30px); */
        display: flex;
        flex-direction: row;

        gap: 1px;
        margin: 1px;
    }
    
    .button-container-working button {
        width: 40px;
        height: 40px;
        font-size: 16px;
        /* cursor: pointer; */
        border: 1px solid #ccc;
        border-radius: 5px;
        background-color: #DDD;
        /* background-color: #000; */
        transition: background-color 0.3s;
        margin: 7px;
    }

    .home-page-blurb-container-flex {

        /*background-color: #A7E6D7;*/
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
        flex-direction: row;
        align-items: stretch;
        align-content: center;   
        padding: 10px;           
        /* background-color: none; */
    }
    
    .home-page-blurb-container {
      /* flex: 1 1 30%;  */
      /* This will make each container take up 30% of the row, and allow wrapping */

      width: 90%;
      height: auto;
      font-size: 30px;
      padding: 5px;
      margin: 5px;
      text-align: center;
      border: 1px solid #696464;
      border-radius: 15px;
      background-color: #dcecff;
      background-image: linear-gradient(to bottom, #f0f9f9,rgb(255, 255, 255));

      transition: background-color 0.3s;
      box-shadow: 0 5px 6px 0 rgba(0,0,0,0.24), 0 7px 20px 0 rgba(0,0,0,0.19); /* Shadow */
    }


    .home-page-blurb-container img {
      max-width: 95%;

      width: 400px;
      height: auto;
      margin: 0 auto;
      text-align: center;
      border: 1px solid #696464;
      border-radius: 5px;
      box-shadow: 0 5px 6px 0 rgba(0,0,0,0.24), 0 7px 20px 0 rgba(0,0,0,0.19); /* Shadow */
    }

    .home-page-blurb-container p{
      font-size: 25px;
      padding: 5px;
      margin: 5px;
      color:black;
      line-height: 1.5;
    }

       /* grade buttons */
    .button-grades-container {
        /* margin: 50px; */
        padding: 10px;
    }

    .button-grades-container button {
        width: 50px;
        height: 40px;
        font-size: 16px;
        cursor: pointer;
        border: 1px solid #ccc;
        border-top-left-radius: 15px;
        border-top-right-radius: 15px;

        background-color: #fff;
        transition: background-color 0.3s;
    }
    
    .button-grades-container button:hover {
        background-color: #e0e0e0;
    }

    #user-grade {
        background-color: yellow;
    }

    /* multiply buttons */
    .button-multiply-container, .button-addition-container {
    /* margin: 50px; */
        padding: 5px;
    }

    .button-multiply-container button {
        width: 45px;
        height: 45px;
        padding: 5px;
        margin: 5px;
        font-size: 16px;
        cursor: pointer;
        border: 1px solid #ccc;
        border-radius: 5px;

        background-color: #9dfa7b;
        transition: background-color 0.3s;
    }

    .button-multiply-container button:hover {
        background-color: #e0e0e0;
    }

    .button-multiply-container button.green-background {
        background-color: #9dfa7b;
    }

    .button-multiply-container button.orange-background {
        background-color: #f5d382;
    }
    
    .button-addition-container button.green-background {
        background-color: #9dfa7b;
    }

    .button-addition-container button.orange-background {
        background-color: #f5d382;
    }

    .button-addition-container button {
      width: 100px;
      height: 45px;
      padding: 5px;
      margin: 5px;
      font-size: 16px;
      cursor: pointer;
      border: 1px solid #ccc;
      border-radius: 5px;

      /* background-color: #9dfa7b; */
      transition: background-color 0.3s;
  }

    /* header image of hippo */
    .round-div {
        float: left;
        width: 175px; /* Set the width of the div */
        height: 175px; /* Set the height of the div */
        border-radius: 50%; /* Makes the div round */
        overflow: hidden; /* Ensures the image doesn't spill out of the div */
        display: flex; /* Center the image within the div */
        justify-content: center; /* Center the image horizontally */
        align-items: center; /* Center the image vertically */
    }

    .round-div img {
        width: 100%; /* Make the image fill the div */
        height: 100%; /* Make the image fill the div */
        object-fit: cover; /* Ensures the image covers the div without distortion */
        margin: 10px;
    }

    /* colour slider */
    .slidecontainer {
        width: 33%;
      }
      
      .colour-slider {
        -webkit-appearance: none;
        width: 100%;
        height: 15px;
        border-radius: 5px;
        /* background: #d3d3d3; */
        background-image: linear-gradient(to left, red,orange,yellow,green,blue,indigo);

        outline: none;
        opacity: 0.8;
        -webkit-transition: .2s;
        transition: opacity .2s;
        margin: 0px 1.3rem;

      }
      
      .colour-slider:hover {
        opacity: 1;
      }
      
      .colour-slider::-webkit-slider-thumb {
        -webkit-appearance: none;
        appearance: none;
        width: 25px;
        height: 25px;
        border-radius: 50%;
        background: #04AA6D;
        background: #000;
        cursor: pointer;
      }
      
      .colour-slider::-moz-range-thumb {
        width: 25px;
        height: 25px;
        border-radius: 50%;
        background: #04AA6D;
        background: #000;
        cursor: pointer;
      }

      .disabled {
        opacity: 0.5; /* Makes the elements appear dull */
        pointer-events: none; /* Disables interaction with the elements */
      }
      
    /* switch buttons */
    .switch {
        position: relative;
        display: inline-block;
        width: 60px;
        height: 34px;
      }
      
      .switch input { 
        opacity: 0;
        width: 0;
        height: 0;
      }
      
      .slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ccc;
        -webkit-transition: .4s;
        transition: .4s;
      }
      
      .slider:before {
        position: absolute;
        content: "";
        height: 26px;
        width: 26px;
        left: 4px;
        bottom: 4px;
        background-color: white;
        -webkit-transition: .4s;
        transition: .4s;
      }
      
      input:checked + .slider {
        background-color: #2196F3;
      }
      
      input:focus + .slider {
        box-shadow: 0 0 1px #2196F3;
      }
      
      input:checked + .slider:before {
        -webkit-transform: translateX(26px);
        -ms-transform: translateX(26px);
        transform: translateX(26px);
      }
      
      /* Rounded sliders */
      .slider.round {
        border-radius: 34px;
      }
      
      .slider.round:before {
        border-radius: 50%;
      }

      .easier-harder {
        width: 110%;
      }

      .check-mark {
        color: rgb(74, 238, 74);
        font-weight: bold;
        margin-left: 5px;
    }

    .cross-mark {
        color: rgb(239, 29, 29);
        font-weight: bold;
        margin-left: 5px;
    }

    .play-pause-button {
      display: inline-block;
      padding: 20px 20px;
      border: none;
      background-color: transparent; 
      color: #111;
      font-size: 30px;
      font-weight: bold;
      text-align: center;
      text-decoration: none;
      cursor: pointer;
      /* border-radius: 50%; */
      transition: background-color 0.3s;
  }
  
/* Base button styles */
.forward-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  font-size: 16px;
  font-weight: bold;
  color: #fff;

  background-color: #2790cc; 

  border: none;
  border-radius: 25px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  transition: all 0.3s ease;
}

.reset-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 22px;
  font-size: 25px;
  font-weight: bold;
  color: #fff;

  background-color: #2790cc; 

  border: none;
  border-radius: 30px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  transition: all 0.3s ease;
}

.shuffle-button, .equivalence-reset-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 25px;
  margin: 5px;
  font-size: 25px;
  /* font-weight: bold; */
  color: #fff;

  background-color: #2790cc; 

  border: none;
  border-radius: 30px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  transition: all 0.3s ease;
}


.forward-button:hover, .reset-button:hover, .shuffle-button:hover, .equivalence-reset-button:hover {
  /* background: linear-gradient(45deg, #407492, #61abd1); */
  background-color: #1096e4; /* Darker background color on hover */

  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
  /* transform: translateY(-3px); */
}
 

.reset-button:hover::before {
    width: 400%;
    height: 400%;
}

.equivalence-reset-button:hover::before {
    width: 400%;
    height: 400%;
}

.skip-button-container {
 margin-left: auto;
 /* border: 1px solid black; */
 border-radius: 15px;
 /* padding: 10px; */
}

.header-container {
  display: flex;
  justify-content: center;
}


.padding-right-7px {

  padding-right: 7px;
}

/* #idShuffleText {
  font-size: 1.7rem;
  padding-right: 5px;

} */
    /* .clicked {
      background-color: lightblue;
    } */

/* 
      .easier-harder {
        padding:none !important;
      } */
  /* IDs */


  #idGSAPH2 {
    display: inline-block; /* Ensure the element can be transformed */
    opacity: 0; /* Start with opacity 0 for a smooth fade-in */
}

  #canvasOperand1, #canvasOperand2 {
    font-size: 3rem;
    /* z-index: 5; */
  }
  #canvasOperand1{
    margin-left: auto;
  }

  #canvasOperand1{
    padding-bottom: 5px;
    /* margin-bottom: 1px solid blue; */
  }

  /* .canvas-container {
    position: relative;
    width: 500px;
    height: 400px;
    border: 10px solid #ccc;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); 
    background-color: white; 
    cursor: url('https://hippotom.com/images/blue-marker-big.png') 25 25, auto; 

  } */

  .canvas-container {
    position: relative;
    width: 500px;
    height: 400px;
    border: 10px solid #ccc;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); 
    background-color: white; 
    cursor: url('https://hippotom.com/images/blue-marker-big.png') 30 30, auto;
  }

  .drawing-board.canvas-container {
    position: relative;
    width: 900px;
    height: 800px;
    border: 10px solid #ccc;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); 
    background-color: white; 
    cursor: url('https://hippotom.com/images/blue-marker-big.png') 40 30, auto;
    /* cursor: pointer; */
  }

  .canvas-container canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10; /* Ensure the canvas is on top */
  }
  .overlay-text {
      position: absolute;
      color: black;
      font-size: 2.5rem;
      /* z-index: -1; */
      font-family: monospace; /* Use a monospaced font for better alignment */
      white-space: pre; /* Preserve spaces */
      z-index: 5; /* Ensure the text is below the canvas */
      margin: 0;
  }

  #undoButton {
      top: 325px;
      left: 5px;
      border: 1px solid #CCC;
      border-radius: 5px;
      height: 40px;
      z-index: 10; /* Ensure the text is below the canvas */
      margin-top: 10px;
      padding: 5px 10px;
      font-size: 16px;
      cursor: pointer;
  }

  #undoButtonDrawingBoard {
    top: 715px;
    left: 5px;
    border: 1px solid #CCC;
    border-radius: 5px;
    height: 50px;
    z-index: 10; /* Ensure the text is below the canvas */
    margin-top: 10px;
    padding: 5px 10px;
    font-size: 16px;
    cursor: pointer;
  }
  #eraseAllDrawingBoard {
    top: 715px;
    left: 125px;
    border: 1px solid #CCC;
    border-radius: 5px;
    height: 50px;
    width: 120px;
    z-index: 10; /* Ensure the text is below the canvas */
    margin-top: 10px;
    padding: 5px 10px;
    font-size: 18px;
    cursor: pointer;
  }

  #idMainColourPickerLabel {
    top: 715px;
    left: 260px;
    /* border: 1px solid #CCC; */
    border-radius: 5px;
    /* height: 50px;
    width: 120px;  */
    z-index: 10; /* Ensure the text is below the canvas */
    margin-top: 10px;
    padding: 5px 10px;
    font-size: 18px;
    cursor: pointer;
  }

  #maincolorpicker{
    top: 710px;
    left: 390px;
    border: 1px solid #CCC;
    border-radius: 5px;
    height: 50px;
    width: 100px; 
    z-index: 10; /* Ensure the text is below the canvas */
    margin-top: 10px;
    padding: 5px 10px;
    font-size: 18px;
    cursor: pointer;
  }
  
  #canvasOperand1 {
      top: 50px;
      left: 170px;

      font-family: monospace !important; /* Use a monospaced font for better alignment */
      white-space: pre; /* Preserve spaces */
  }

  #canvasOperand2 {
      top: 100px;
      left: 170px;

      font-family: monospace !important; /* Use a monospaced font for better alignment */
      white-space: pre; /* Preserve spaces */
      border-bottom: 2px solid black;
      padding-bottom: 15px;
  }
  
  #canvasDivOperand1 {
      top: 25px;
      left: 125px;


      font-family: monospace !important; /* Use a monospaced font for better alignment */
      white-space: pre; /* Preserve spaces */
  }

  #canvasDivOperand2 {
      
      top: 75px;
      left: 50px;

      font-family: monospace !important; /* Use a monospaced font for better alignment */
      white-space: pre; /* Preserve spaces */
  }

  

  #idTimer{
    margin-left: 5px;
    width: 170px;
  }
  
  #pauseIcon {
    margin-left: 10px;
    margin-right: 1px;

    display: none;
  }

  #idButtonSkip{
    /* padding-left: 10px; */
    padding: 10px;
    margin-right: 1px;
    font-size: 35px;
  }
  
  #idTimerControlsResetBtn {
    /* padding-left: 10px; */
    padding: 10px;
    font-size: 35px;
  }

  #playPauseBtn{
    padding-left: 10px;
    padding-right: 10px;
    margin-right: 20px;
    /* font-size: 35px; */

  }

  #timer {
    font-size: 2em;
    font-weight: bold;
  }

  #idWorking button{
    padding: 5px;
    /* width: 100%; */
    margin: 5px;
  }


#idScoreboard > p {
  font-size: 1.5rem;
  margin: 0 15px;
}

.home-page-blurb-text{
  font-size: 2.25rem;
  padding-left: 5px;;
}

.height-200-px{
  height:100pc;
}
 
 #idEquation{
    font-size: 2.1rem;
  }


#idComingSoon{
  font-size: 2rem;
}
.scrollable-div {
    width: 100%;
    height: 600px;
    overflow: auto;
    border: 1px solid #ccc;

  }

  #idParaTotalScore {
    font-size: 2rem;
    border-top: solid 2px;
    width: 70%;
    padding: 10px;
    margin: 0 auto;
  }

  #tickPopupMessage {
    display: none; /* Hide the message by default */
    padding: 40px;
    font-size: 10rem;
    background-color: #4CAF50;
    color: white;
    text-align: center;
    border-radius: 15px;
    position: absolute;
    /* top: 50%;
    left: 30%; */
    top: 70vh; /* 50% of the viewport height */
    left: 50vw; /* 30% of the viewport width */
    transform: translate(-50%, -50%);

    transform: translate(-50%, -50%) scale(0.5) rotate(360deg); /* Start with a smaller scale and no rotation */
    transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out; 
    opacity: 0;
    z-index: 100;
}

#solution {
  margin-top: 10px;
}

.workingH3 {
  font-size: 1.9rem;
  padding-top: 7px;
}
.scoreboardH3 {
  font-size: 1.9rem;
  padding-top: 7px;
}
/* POPUP WINDOW */

.popup {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: center;
  z-index: 5;
}

.popup-content {
  background-color: white;
  padding: 200px;
  border-radius: 50px;
  text-align: center;
  position: relative;
}

.close-btn {
  position: absolute;
  top: 30px;
  right: 40px;
  font-size: 30px;
  cursor: pointer;
  border: solid 1px red;
  background-color: rgb(229, 71, 71);
  border-radius: 20px;
  padding:10px
}


.hamburger-bars-and-x-mark button {
  width: 5rem;
  height: 5rem;
  font-size: 30px;
  cursor: pointer;
  border: 1px solid #ccc;
  border-radius: 15px;
  /* background-color: #fff; */
  background-color: #f3eeee;
  transition: background-color 0.3s;
  box-shadow: 0 2px 2px 0 rgba(0,0,0,0.24), 0 2px 10px 0 rgba(0,0,0,0.19);
  padding: 10px;
  /* margin: 0 10px; */
  margin-left: auto; 
}

.socials button {
  width: 5rem;
  height: 5rem;
  font-size: 30px;
  cursor: pointer;
  border: 1px solid #ccc;
  border-radius: 15px;
  /* background-color: #fff; */
  background-color: #f3eeee;
  transition: background-color 0.3s;
  box-shadow: 0 2px 2px 0 rgba(0,0,0,0.24), 0 2px 10px 0 rgba(0,0,0,0.19);
  padding: 10px;
  margin: 0 10px;
}

.socials:last-child{
  margin-right: 20px;
}

#idHamburgerBars {
  display: none;
  z-index: 10;
}

#idXMark {
  display: none;
  z-index: 10;
}

#smallDeviceParagraph {
  display: none;
}
/* #leftnavmenu {
  display: none;
} */
/* *******************************************
**********************************************
**********************************************
**********************************************
**********************************************
MEDIA QUERIES FOR MOBILE AND TABLET 
**********************************************
**********************************************
**********************************************
**********************************************

*/

/* Base styles for all devices */
/* (Your existing styles here) */
@media (max-width: 1536px) {

  .img-200-px img{
    width: 170px;
    height: auto;
  }
}
@media (max-width: 1350px) {

  .img-200-px img{
    width: 150px;
    height: auto;
  }
}
@media (max-width: 1000px) {

  .img-200-px img{
    width: 100px;
    height: auto;
  }
}
@media (max-width: 942px) {
  .button-container-sight-words button {
    width: 320px;
    height: 400px;
    font-size: 70px;

  }

/* back of card image of Hippo Tom */
.card-image {
  width: 320px;
  height: 400px;
}

.sightWordsCardsContainer{
  width: 420px;
  height: 400px;

}



}


@media (max-width: 872px) {

  .img-200-px img{
    width: 60px;
    height: auto;
  }
  .container-horizontal-tile-flex-start {
    display: block;
  }

  .button-container-sight-words button {
    width: 250px;
    height: 350px;
    font-size: 50px;

  }

  .card-image, #backCardSightWordsDivDummy {
    display:none
  }


}

@media (max-width: 1400px) {
  .container-horizontal-tile-flex-not-centered {
    display: flex;
    flex-wrap: wrap;
  }

  .grid-score {
    order: 3;
    flex: 1 1 100%; /* Allow it to take full width */
    flex: 0 0 40%; /* Allow it to take full width */
    margin: 0 auto;
  }
}

/* Media Queries for Mobile Devices */
@media (max-width: 1024px) {
  .grid-container {
    grid-template-areas:
      'header'
      'main'
      'right'
      'footer'
       'menu'; 
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr auto auto auto;
    height: auto;
  }

  .grid-score {
    width: 50%;
    margin: 0 auto;
  }

  .grid-menu {
    width: 50%;

    display:block;
  }

  .grid-main {
    width: 100%;
  }

  .button-container {
    grid-template-columns: repeat(3, 110px);
    grid-template-rows: repeat(3, 110px);
    gap: 5px;
    margin: 10px;
  }

  .button-container button {
    width: 110px;
    height: 110px;
    font-size: 30px;
  }

    #idHamburgerBars {
      display: block;
    }

    #idXMark {
      display: none;
      display: block;
    }

    /* NAV MENU */
    #idHamburgerBars {
      display: block;
    }
    
    #idXMark {
      display: none;
    }

    #idNavMenuContent {
      /* display: none; */
      visibility: hidden;
      opacity: 0;

      transform: translateX(100%);
      transition: transform 400ms ease-in-out;
    }

    /* Visible state */
  #idNavMenuContent.show {
    visibility: visible;
    opacity: 1;
    transform: translateX(0);
    transition: transform 400ms ease-in-out;

  }

    .left-nav-menu-content-during-mobile-devices {
      display:block;
      background-color: #efefef;
      z-index: 101; 

      box-shadow: 0 2px 5px rgba(0,0,0,0.1);
      border-top-left-radius: 25px;
      border-bottom-left-radius: 15px;

    }

   .nav-container-all-during-mobile-devices {
    position: fixed;
    top: 0px;
    right: 5px; 
    display: block;
    /* width: 200px;  */
    /* height: 90vh;  */
    /* Full height of the viewport */
  
    /* background-color: #d3d3d3; */
    overflow-x: hidden; /* Disable horizontal scrolling */
    z-index: 100; 
    /* box-shadow: 0 2px 5px rgba(0,0,0,0.1); */
    border-top-left-radius: 25px;
    border-bottom-left-radius: 25px;
  }

  #idNavMenuContainer {
    /* border: 1px solid black; */
    height: 32vh; 
    /* height: 90vh;  */

  }

  /* end NAV MENU */


  .home-page-blurb-container-flex {

    /*background-color: #A7E6D7;*/
    /* display: block; */
    display: block;
    flex-wrap: wrap;
    justify-content: space-around;
    /* flex-direction: row; */
    /* float:left; */
    margin: 0 auto;
    width: 100%;
    align-items: stretch;
    align-content: center;   
    padding: 10px;           
    /* background-color: none; */
}


.text-boy-playing-on-ipad {
  font-size:2rem;
}

.socials {

  display: none;
}


.home-page-blurb-container {

  margin: 30px;
}

.button-container-sight-words button {

  font-size: 70px;

}


}

/* Media Queries for Mobile Devices */
@media (max-width: 768px) {
  .button-container {
    grid-template-columns: repeat(3, 80px);
    grid-template-rows: repeat(3, 80px);
    gap: 5px;
    margin: 10px;
  }

  .button-container button {
    width: 80px;
    height: 80px;
    font-size: 20px;
  }

  .socials {

    display: none;
  }

  .text-boy-playing-on-ipad {
    font-size:1.75rem;
  }
}

@media (max-width: 480px) {
  .button-container {
    grid-template-columns: repeat(3, 60px);
    grid-template-rows: repeat(3, 60px);
    gap: 5px;
    margin: 5px;
  }

  .button-container button {
    width: 60px;
    height: 60px;
    font-size: 16px;
  }

.socials {

    display: none;
  }

  .text-boy-playing-on-ipad {
    font-size:1.5rem;
  }

}

@media (max-width: 768px) {
  .home-page-blurb-container {
    flex: 1 1 45%; /* Adjust to 45% for smaller screens */
  }

  .socials {

    display: none;
  }
}

@media (max-width: 555px) {
  .home-page-blurb-container {
    flex: 1 1 100%; /* Full width on very small screens */
  }

  #headerLogo,  #idHamburgerBars, .socials {

    display: none;
  }

  #smallDeviceParagraph{
    display:block;
  }

  .text-boy-playing-on-ipad{
    font-size:1.25rem
  }

  .img-and-text-aligned-middle-of-screen{
    /* max-width: 50%; */
    width: 300px;
  
    height: auto;
    padding: 5px;
  
  }
  .socials {

    display: none;
  }

  .text-boy-playing-on-ipad {
    font-size:1.25rem;
  }

}
