*{
  box-sizing: border-box;
}

/*
  ======= HEADER STYLING =======
 */


header {
  display: grid;
  grid-template-columns: 2fr, 6fr, 2fr;
  grid-template-rows: auto;
  text-align: center;
  align-items: center;
  padding: 1vw 0 1vw 0;
  justify-content: space-around;
  position: fixed;
  top: 0;
  width: 100%;
  background-color: white;
  z-index: 2;
}

/*
======== LOGO ========
*/
.hLogo {
  grid-column: 1;
}
.homePageLogo {
  width: 30vw;
}

/*
======== NAV ========
*/

.hNav {
  grid-column: 2;
}
.hNav > a {
  padding: 0vw 1.5vw 1vw 1.5vw;
  font-size: 1.3vw;
  text-decoration: none;
  color: black;
}

.hNav a:hover {
  color: gray;
  border-top: 2px solid darkorange;
  background-color: white;
  border-radius: 10px;
}

/*
======== LANG ========
*/

.hLang {
  grid-column: 3;
  display: flex;
  flex-direction: column;
  text-align: left;
}
.hLang a {
  padding: .5vw;
  font-size: .8vw;
  text-decoration: none;
  color: black;
}

.hLang a:hover {
  color: darkblue;
  box-shadow: -2px 0 0 0 darkorange;
}


/*
======= Back to Top =======
*/
.backToTop {
  position: fixed;
  top: 80vh;
  left:90%;
  border-radius: 50%;
  width: 7vw;
  border: 3px solid black;
  transform: rotate(180deg);
  opacity: .2;
  z-index: 5;
}

.backToTop:hover {
  opacity: 1;
  cursor: pointer;
  color: darkorange;
}

.bHide {
  display: none;
}



/*
=======
Main Section
=======
*/


/* Page Heading */
    .pageHeadingImg {
      filter: blur(5px);
      opacity: .5;
      position: relative;
      object-fit: cover;
      width: 100%;
      height: 25vw;
      box-sizing: border-box;
    }

    .pageHeadTitle {
      position: absolute;
      left: 10%;
      top: 20%;
      font-size: 7vw;
      color: #001a4d;
      font-family: serif;
    }

/*
=== End of Repetitive HTML Section ===
*/

#mobileMenuBtn {display: none}


/* Page Walk Through */


.off1,
.off2,
.off3,
.off4,
.off5,
.off6 {
  opacity: 0;
}

.treeCont {
  display: grid;
  grid-template-rows: auto auto auto auto;
  width: 98%;
  min-height: 400px;
}


.treeCont h2 {
  background-color: white;
  text-align: center;
  text-transform: uppercase;
}

.quest {
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto auto;
  margin: 10px 0 10px 5px;
  padding: 10px 0 10px 5px;
  width: 90%;
}

.cont > p {
  margin: 1vw;
  padding: 1vw;
  box-shadow: 0 0 5px 2px #003366 inset;
  border-radius: 20px;
  background-color: white;
}


.questNumb {
  align-items: center;
  border-radius: 20px;
  display: flex;
  flex-direction: row;
  box-shadow: 0 0 40px 5px gray;
}
b {
  font-size: 8vw;
  text-align: center;
  padding: 2vw 4.5vw;
  border-radius: 50%;
  box-shadow: 0 0 4px 2px lightgray;
  margin: 2vw 5vw
}

svg {
  width: 95%;
  position: absolute;
  z-index: 0;
}

/*
====== First question =======
*/

.numbLeft {
  grid-row: 1;
  grid-column: 1 / 3;
  padding: 1vw 2vw;
  width: 72%;
  justify-content: flex-start;
}

.quest1 p {
  width: 60%;
  text-align: left;
}

.quest1 {
  grid-column: 2;
  grid-row: 2;
}

/*
====== Second question =======
*/

.right {
  text-align: right;
  justify-content: flex-end;
  grid-template-columns: 15% 70% ;
}
.numbRight {
  grid-row: 1;
  grid-column: 1 / 3;
  justify-content: flex-end;
  width: 90%;
}


.quest2 {
  grid-column: 2;
  grid-row: 2;
  text-align: right;
}

.quest2 p {
  width: 65%;
}



/*
====== First Explination =======
*/
.explination {
  text-align: center;
  width: 70%;
  margin: 8vw auto;
  padding: 2vw 1vw;
  border-top:2px solid darkorange;
  border-bottom:2px solid  darkorange;
}

.explination em {
  font-size: 2vw;
  color: #003366;
  padding: 5vw auto;
  margin: 3vw auto;
}

.explination > * {
  padding: 1.2vw;
  font-size: 1.5em;
}

p span {
  font-size: 2vw;
  color: darkorange;
}


#toContact {
  text-align: center;
  align-self: center;
  font-size: 4em;
  margin: 0 auto 5vw auto;
  padding: 1vw;
  box-shadow: 0 0 4px 2px lightgray;
  text-decoration: none;
  color: #003366;
  border-radius: 15px;
}

#toContact:hover {
  background-color: #003366;
  color: white;

}


/*
=====
FOOTER SECTION
======
*/

.siteFooter {
  display: grid;
  grid-template-columns: auto auto auto;
  grid-template-rows: auto;
  justify-content: space-around;
  background-color: #003366;
  color: white;
  padding: 1.5vw;
  font-size: 1.5vw;

}

.footerDetails {grid-column: 1}
.footerCredits {grid-column: 1}
.footerContact {
  grid-column: 2;
  grid-row: 1;
}
.footerLocation {
  grid-column: 3;
  grid-row: 1;
}



    /*--
    ====
    MOBILE SECTION
    ====
    --*/

@media only screen and (max-width: 600px) {

  /* Adjusting the Logo & Nav */
  header {display: none;}
  .mobileHeader {
    display: grid !important;
    grid-template-columns: 1;
    grid-template-rows: 1;
  }

  .homePageLogo {
    grid-column: 1;
    grid-row: 1;
    padding: 3vw;
    width: 100%;
  }


  /*
  ===== Nav =====
  */
  #mobileMenuBtn {
    display: block;
    width: 35px;
    position: relative;
    top: 10px;
    left: 48%;
    z-index: 2;
    /* transform: rotate(45deg); */
  }

  .off { /* Used to toggle the menu */
    display: none;
    height: auto;
  }

  .mobileMenuTab {  /* Effectively the Menu Container for mobile */
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 5px 0 10px 0;
  }

  .hNav {
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: auto auto auto auto auto;
    text-align: center;
  }
  .hNav > a {
    font-size: 2em;
    border-bottom: 2px solid rgba(0, 50, 102, .2);
  }

  .hLang {
    display: flex;
    flex-direction: row;
    justify-content: center;
  }
  .hLang > a {
    margin: 2% 5%;
    font-size: 1.1em;
  }




  /* Adjusting the Header & IMG */

  .aboutPageHeading{position: relative;}

  .pageHeadTitle {
    position: relative;
    width: 70%;
  }

  .pageHeadingImg {
    position: relative;
    top: -75px;
  }


  /* Adjusting the Main Content */
  main {
    position: relative;
  }

  .backToTop {
    background-color: #9BC9FF;
    opacity: 1;
    border-color: #9BC9FF;
  }

  .treeCont {
    position: relative;
    top: -50px;
    width: 100%;
  }
  .treeCont svg {
    top: 20px;
  }

  .quest {
    width: 100%;
  }

  /* Left Question */
  .questNumb {
    width: 90%;
  }

  .cont > p {
    width: 90%;
    padding: 15px;
  }


  .explination em {
    font-size: 15px;
    color: #003366;
    padding: 5vw auto;
    margin: 3vw auto;
  }



  /* Right Question */
  .numbRight {
    width: 95%;
  }

  .ans2 p {
    font-size: 15px;
  }

  .ans2 span {
    font-size: 15px;
  }

  #toContact {
    font-size: 1.2em;
    width: 50%;
  }




  /* Adjusting the Footer */
  footer > div > p,
  footer > div > a   {
    font-size: 2em;
  }

  .siteFooter {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    align-items: center;
  }

  .footerDetails,
  .footerCredits {
    grid-column: 1;
  }


  .footerContact,
  .footerLocation {
    grid-column: 2;
  }
  .footerContact {grid-row: 1}
  .footerLocation {grid-row: 2}

}
